Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit b5576b6

Browse files
mspangCommit Bot
authored andcommitted
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/+/2068906 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Michael Spang <spang@chromium.org>
1 parent a741abb commit b5576b6

File tree

1 file changed

+1
-2
lines changed

1 file changed

+1
-2
lines changed

src/libANGLE/renderer/vulkan/ContextVk.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,7 @@ void InitializeSubmitInfo(VkSubmitInfo *submitInfo,
126126

127127
if (waitSemaphoreStageMasks->size() < waitSemaphores.size())
128128
{
129-
waitSemaphoreStageMasks->resize(waitSemaphores.size(),
130-
VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT);
129+
waitSemaphoreStageMasks->resize(waitSemaphores.size(), VK_PIPELINE_STAGE_ALL_COMMANDS_BIT);
131130
}
132131

133132
submitInfo->waitSemaphoreCount = static_cast<uint32_t>(waitSemaphores.size());

0 commit comments

Comments
 (0)