diff options
author | Yuqian Li <liyuqian@google.com> | 2017-08-01 17:43:30 +0000 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-08-01 17:43:41 +0000 |
commit | cc8eb60c486eaf397685c60b28998682025fee1a (patch) | |
tree | a2a9569c0936cd787f14ff8e894579ac11c2ba1c /include | |
parent | 8514ebfb19c9c50e588283541133125b5aa8a05b (diff) |
Revert "Revert "Revert "Add support for semaphores to be inserted on GrContext flush"""
This reverts commit 876aed8758b7109574999ffac43b1ea47f359bd7.
Reason for revert: the bots seem to be unhappily red with this CL
Original change's description:
> 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>
TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reed@google.com
Change-Id: I22fd6febafe70489a5fdb695c6f4263368eb423d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/29422
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/core/SkSurface.h | 15 | ||||
-rw-r--r-- | include/gpu/GrContext.h | 28 | ||||
-rw-r--r-- | include/gpu/GrTypes.h | 8 |
3 files changed, 6 insertions, 45 deletions
diff --git a/include/core/SkSurface.h b/include/core/SkSurface.h index a531c4229a..4a8d81205f 100644 --- a/include/core/SkSurface.h +++ b/include/core/SkSurface.h @@ -12,8 +12,6 @@ #include "SkImage.h" #include "SkSurfaceProps.h" -#include "GrTypes.h" - class SkCanvas; class SkPaint; class GrBackendRenderTarget; @@ -331,21 +329,16 @@ 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 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. + * 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. */ - GrSemaphoresSubmitted flushAndSignalSemaphores(int numSemaphores, - GrBackendSemaphore signalSemaphores[]); + bool flushAndSignalSemaphores(int numSemaphores, GrBackendSemaphore* signalSemaphores); /** * Inserts a list of GPU semaphores that the current backend 3D API must wait on before diff --git a/include/gpu/GrContext.h b/include/gpu/GrContext.h index 7a14a7d990..b5d2f741ef 100644 --- a/include/gpu/GrContext.h +++ b/include/gpu/GrContext.h @@ -17,7 +17,6 @@ #include "../private/GrSingleOwner.h" class GrAtlasGlyphCache; -class GrBackendSemaphore; struct GrContextOptions; class GrContextPriv; class GrContextThreadSafeProxy; @@ -253,35 +252,12 @@ public: // Misc. /** - * Call to ensure all drawing to the context has been issued to the underlying 3D API. + * Call to ensure all drawing to the context has been issued to the + * underlying 3D API. */ void flush(); /** - * Call to ensure all drawing to the context has been issued to the underlying 3D API. After - * issuing all commands, numSemaphore semaphores will be signaled by the gpu. The client passes - * in an array of numSemaphores GrBackendSemaphores. In general these GrBackendSemaphore's can - * be either initialized or not. If they are initialized, the backend uses the passed in - * semaphore. 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 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 commands to the context will still be flushed. - */ - GrSemaphoresSubmitted flushAndSignalSemaphores(int numSemaphores, - GrBackendSemaphore signalSemaphores[]); - - /** * An ID associated with this context, guaranteed to be unique. */ uint32_t uniqueID() { return fUniqueID; } diff --git a/include/gpu/GrTypes.h b/include/gpu/GrTypes.h index 68c5327a91..572aa52b74 100644 --- a/include/gpu/GrTypes.h +++ b/include/gpu/GrTypes.h @@ -705,12 +705,4 @@ enum GrGLBackendState { */ static const uint32_t kAll_GrBackendState = 0xffffffff; -// Enum used as return value when flush with semaphores so the client knows whether the -// semaphores were submitted to GPU or not. -enum class GrSemaphoresSubmitted : int { - kNo, - kYes, -}; - - #endif |