From 8724b4609996eb6369b454611e31b065f3d8d2cf Mon Sep 17 00:00:00 2001 From: Mike Reed Date: Sat, 22 Jul 2017 17:33:48 +0000 Subject: 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 > Commit-Queue: Greg Daniel 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 Commit-Queue: Mike Reed --- src/gpu/vk/GrVkCopyManager.cpp | 2 +- src/gpu/vk/GrVkGpu.cpp | 5 ++--- src/gpu/vk/GrVkGpu.h | 4 ++-- 3 files changed, 5 insertions(+), 6 deletions(-) (limited to 'src/gpu/vk') diff --git a/src/gpu/vk/GrVkCopyManager.cpp b/src/gpu/vk/GrVkCopyManager.cpp index 3851bc650a..f0dc60297b 100644 --- a/src/gpu/vk/GrVkCopyManager.cpp +++ b/src/gpu/vk/GrVkCopyManager.cpp @@ -160,7 +160,7 @@ bool GrVkCopyManager::copySurfaceAsDraw(GrVkGpu* gpu, if (gpu->vkCaps().newCBOnPipelineChange()) { // We bind a new pipeline here for the copy so we must start a new command buffer. - gpu->finishFlush(0, nullptr); + gpu->finishFlush(); } GrVkRenderTarget* rt = static_cast(dst->asRenderTarget()); diff --git a/src/gpu/vk/GrVkGpu.cpp b/src/gpu/vk/GrVkGpu.cpp index 5979ae0f49..d7094b7c18 100644 --- a/src/gpu/vk/GrVkGpu.cpp +++ b/src/gpu/vk/GrVkGpu.cpp @@ -1467,9 +1467,8 @@ void GrVkGpu::addImageMemoryBarrier(VkPipelineStageFlags srcStageMask, barrier); } -void GrVkGpu::onFinishFlush(bool insertedSemaphore) { - // Submit the current command buffer to the Queue. Whether we inserted semaphores or not does - // not effect what we do here. +void GrVkGpu::finishFlush() { + // Submit the current command buffer to the Queue this->submitCommandBuffer(kSkip_SyncQueue); } diff --git a/src/gpu/vk/GrVkGpu.h b/src/gpu/vk/GrVkGpu.h index d81c2e6c22..419e9e3ad6 100644 --- a/src/gpu/vk/GrVkGpu.h +++ b/src/gpu/vk/GrVkGpu.h @@ -125,6 +125,8 @@ public: GrVkRenderTarget*, const SkIRect& bounds); + void finishFlush() override; + GrFence SK_WARN_UNUSED_RESULT insertFence() override; bool waitFence(GrFence, uint64_t timeout) override; void deleteFence(GrFence) const override; @@ -208,8 +210,6 @@ private: GrPixelConfig config, GrBuffer* transferBuffer, size_t offset, size_t rowBytes) override; - void onFinishFlush(bool insertedSemaphores) override; - // 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 this GrVkGpu object has any semaphores in -- cgit v1.2.3