aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/core
diff options
context:
space:
mode:
authorGravatar Greg Daniel <egdaniel@google.com>2017-08-01 09:19:57 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-08-01 17:07:53 +0000
commit876aed8758b7109574999ffac43b1ea47f359bd7 (patch)
treee513ba5c69b28c5cb51d750c2b4af5adf2738e2e /include/core
parent7516c2775c30d04a8d2c467f18d3289d78c2b841 (diff)
Revert "Revert "Add support for semaphores to be inserted on GrContext flush""
This reverts commit 8724b4609996eb6369b454611e31b065f3d8d2cf. Reason for revert: Creating a test CL to see what happens on the bots Original change's description: > Revert "Add support for semaphores to be inserted on GrContext flush" > > This reverts commit cd1416efbc7af6f115dbaa09dce48e075d1d96ca. > > Reason for revert: speculative, to try to fix roll see gpu_tests.pixel_integration_test.PixelIntegrationTest.Pixel_GpuRasterization_ConcavePaths > > Original change's description: > > Add support for semaphores to be inserted on GrContext flush > > > > This also moves the logic of inserting semaphores down into GrDrawingManager > > and finishFlush on GrGpu. With it being on finishFlush, there should be no > > issues when the DrawingManager starts respecting the proxy passed in assuming > > it always calls finishFlush at the end (which it should). > > > > Bug: skia: > > Change-Id: I925c2a289dcbbb9159b9120878af1d34f21a2dc7 > > Reviewed-on: https://skia-review.googlesource.com/25641 > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com > > Change-Id: I9c5b9cf8c060193e1861dbb8f0c10fb11dfb5249 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/25980 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Mike Reed <reed@google.com> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reed@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: skia: Change-Id: I5edbeaa0769670ee58f362f0ccaa78319410aa6c Reviewed-on: https://skia-review.googlesource.com/26160 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
Diffstat (limited to 'include/core')
-rw-r--r--include/core/SkSurface.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/include/core/SkSurface.h b/include/core/SkSurface.h
index 4a8d81205f..a531c4229a 100644
--- a/include/core/SkSurface.h
+++ b/include/core/SkSurface.h
@@ -12,6 +12,8 @@
#include "SkImage.h"
#include "SkSurfaceProps.h"
+#include "GrTypes.h"
+
class SkCanvas;
class SkPaint;
class GrBackendRenderTarget;
@@ -329,16 +331,21 @@ public:
* If it is not initialized, a new semaphore is created and the GrBackendSemaphore object
* is initialized with that semaphore.
*
+ * The client will own and be responsible for deleting the underlying semaphores that are stored
+ * and returned in initialized GrBackendSemaphore objects. The GrBackendSemaphore objects
+ * themselves can be deleted as soon as this function returns.
+ *
* If the backend API is OpenGL only uninitialized GrBackendSemaphores are supported.
* If the backend API is Vulkan either initialized or unitialized semaphores are supported.
* If unitialized, the semaphores which are created will be valid for use only with the VkDevice
* with which they were created.
*
- * If this call returns false, the GPU backend will not have created or added any semaphores to
- * signal. Thus the array of semaphores will remain uninitialized. However, any pending surface
- * IO will still be flush.
+ * If this call returns GrSemaphoresSubmited::kNo, the GPU backend will not have created or
+ * added any semaphores to signal on the GPU. Thus the client should not have the GPU wait on
+ * any of the semaphores. However, any pending surface IO will still be flushed.
*/
- bool flushAndSignalSemaphores(int numSemaphores, GrBackendSemaphore* signalSemaphores);
+ GrSemaphoresSubmitted flushAndSignalSemaphores(int numSemaphores,
+ GrBackendSemaphore signalSemaphores[]);
/**
* Inserts a list of GPU semaphores that the current backend 3D API must wait on before