diff options
author | 2017-06-16 09:45:32 -0400 | |
---|---|---|
committer | 2017-06-16 14:22:34 +0000 | |
commit | a5cb781c17c09e01655defd0a84b431996b6a015 (patch) | |
tree | d80676c7c69155d0d3eb3cc6e128296b83f8688b /src/gpu/vk/GrVkGpu.h | |
parent | 610842af9eec6b49258311b96485447476305faa (diff) |
Revert "Revert "Add API for flushing surfaces with gpu semaphores""
This reverts commit 7292231905c34ed290ba479338f26b56ae2a7792.
This change relands the original plus the follow on change:
https://skia-review.googlesource.com/20059.
Additionally it adds a blacklist for the mac intel bots which
don't see to respect the added fences on the GPU.
Original change's description:
> Revert "Add API for flushing surfaces with gpu semaphores"
>
> This reverts commit 66366c697853e906d961ae691e2bc5209cdcfa62.
>
> Reason for revert: Failing test on mac bots
>
> Original change's description:
> > Add API for flushing surfaces with gpu semaphores
> >
> > BUG=skia:
> >
> > Change-Id: Ia4bfef784cd5f2516ceccafce958be18a86f91d1
> > Reviewed-on: https://skia-review.googlesource.com/11488
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Reviewed-by: Forrest Reiling <freiling@google.com>
>
> TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com,brianosman@google.com,freiling@google.com
>
> Change-Id: I75633a2732d2d48b1926f9ad818a9f1a9196d211
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/20063
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com,brianosman@google.com,freiling@google.com
Change-Id: I4dc6c0e1deb0398eeb165a34f0a26af7a58259f1
Reviewed-on: https://skia-review.googlesource.com/20141
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Diffstat (limited to 'src/gpu/vk/GrVkGpu.h')
-rw-r--r-- | src/gpu/vk/GrVkGpu.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/gpu/vk/GrVkGpu.h b/src/gpu/vk/GrVkGpu.h index f81daea336..236b34a3c1 100644 --- a/src/gpu/vk/GrVkGpu.h +++ b/src/gpu/vk/GrVkGpu.h @@ -131,7 +131,9 @@ public: bool waitFence(GrFence, uint64_t timeout) override; void deleteFence(GrFence) const override; - sk_sp<GrSemaphore> SK_WARN_UNUSED_RESULT makeSemaphore() override; + sk_sp<GrSemaphore> SK_WARN_UNUSED_RESULT makeSemaphore(bool isOwned) override; + sk_sp<GrSemaphore> wrapBackendSemaphore(const GrBackendSemaphore& semaphore, + GrWrapOwnership ownership) override; void insertSemaphore(sk_sp<GrSemaphore> semaphore, bool flush) override; void waitSemaphore(sk_sp<GrSemaphore> semaphore) override; @@ -208,12 +210,11 @@ private: // Ends and submits the current command buffer to the queue and then creates a new command // buffer and begins it. If sync is set to kForce_SyncQueue, the function will wait for all - // work in the queue to finish before returning. If the signalSemaphore is not VK_NULL_HANDLE, - // we will signal the semaphore at the end of this command buffer. If this GrVkGpu object has - // any semaphores in fSemaphoresToWaitOn, we will add those wait semaphores to this command - // buffer when submitting. - void submitCommandBuffer(SyncQueue sync, - const GrVkSemaphore::Resource* signalSemaphore = nullptr); + // work in the queue to finish before returning. If this GrVkGpu object has any semaphores in + // fSemaphoreToSignal, we will add those signal semaphores to the submission of this command + // buffer. If this GrVkGpu object has any semaphores in fSemaphoresToWaitOn, we will add those + // wait semaphores to the submission of this command buffer. + void submitCommandBuffer(SyncQueue sync); void internalResolveRenderTarget(GrRenderTarget* target, bool requiresSubmit); @@ -267,6 +268,7 @@ private: GrVkPrimaryCommandBuffer* fCurrentCmdBuffer; SkSTArray<1, const GrVkSemaphore::Resource*> fSemaphoresToWaitOn; + SkSTArray<1, const GrVkSemaphore::Resource*> fSemaphoresToSignal; VkPhysicalDeviceMemoryProperties fPhysDevMemProps; |