diff options
author | Greg Daniel <egdaniel@google.com> | 2017-08-01 09:19:57 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-08-01 17:07:53 +0000 |
commit | 876aed8758b7109574999ffac43b1ea47f359bd7 (patch) | |
tree | e513ba5c69b28c5cb51d750c2b4af5adf2738e2e /include/core | |
parent | 7516c2775c30d04a8d2c467f18d3289d78c2b841 (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.h | 15 |
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 |