Commit b5576b67 by Michael Spang Committed by Commit Bot

Vulkan: Fix pipeline stage when waiting on a semaphore

Using VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT in pWaitDstStageMask doesn't create a dependency, since no memory is accessed during that stage. Switch to VK_PIPELINE_STAGE_ALL_COMMANDS_BIT to synchronize all accesses. This fixes flickering observed in WebGL on ARM GPUs when composited using Vulkan in Chromium. Bug: angleproject:4422 Change-Id: I37da461c03dbf52f8658408b159c2b173cccd0b3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2068906Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Michael Spang <spang@chromium.org>
parent a741abb9
...@@ -126,8 +126,7 @@ void InitializeSubmitInfo(VkSubmitInfo *submitInfo, ...@@ -126,8 +126,7 @@ void InitializeSubmitInfo(VkSubmitInfo *submitInfo,
if (waitSemaphoreStageMasks->size() < waitSemaphores.size()) if (waitSemaphoreStageMasks->size() < waitSemaphores.size())
{ {
waitSemaphoreStageMasks->resize(waitSemaphores.size(), waitSemaphoreStageMasks->resize(waitSemaphores.size(), VK_PIPELINE_STAGE_ALL_COMMANDS_BIT);
VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT);
} }
submitInfo->waitSemaphoreCount = static_cast<uint32_t>(waitSemaphores.size()); submitInfo->waitSemaphoreCount = static_cast<uint32_t>(waitSemaphores.size());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment