Commit 019e3f77 by Shahbaz Youssefi Committed by Commit Bot

Vulkan: Use dst access masks to determine if barrier is needed

Src access mask may be 0 with WAR barriers. Bug: angleproject:5290 Change-Id: I798d4c36aa7d3d14db333a7e86794e13c8137f96 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2514841 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: 's avatarCharlie Lao <cclao@google.com> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
parent 61180d01
...@@ -627,7 +627,7 @@ class PipelineBarrier : angle::NonCopyable ...@@ -627,7 +627,7 @@ class PipelineBarrier : angle::NonCopyable
{} {}
~PipelineBarrier() = default; ~PipelineBarrier() = default;
bool isEmpty() const { return mImageMemoryBarriers.empty() && mMemoryBarrierSrcAccess == 0; } bool isEmpty() const { return mImageMemoryBarriers.empty() && mMemoryBarrierDstAccess == 0; }
void execute(PrimaryCommandBuffer *primary) void execute(PrimaryCommandBuffer *primary)
{ {
...@@ -639,7 +639,7 @@ class PipelineBarrier : angle::NonCopyable ...@@ -639,7 +639,7 @@ class PipelineBarrier : angle::NonCopyable
// Issue vkCmdPipelineBarrier call // Issue vkCmdPipelineBarrier call
VkMemoryBarrier memoryBarrier = {}; VkMemoryBarrier memoryBarrier = {};
uint32_t memoryBarrierCount = 0; uint32_t memoryBarrierCount = 0;
if (mMemoryBarrierSrcAccess != 0) if (mMemoryBarrierDstAccess != 0)
{ {
memoryBarrier.sType = VK_STRUCTURE_TYPE_MEMORY_BARRIER; memoryBarrier.sType = VK_STRUCTURE_TYPE_MEMORY_BARRIER;
memoryBarrier.srcAccessMask = mMemoryBarrierSrcAccess; memoryBarrier.srcAccessMask = mMemoryBarrierSrcAccess;
...@@ -663,7 +663,7 @@ class PipelineBarrier : angle::NonCopyable ...@@ -663,7 +663,7 @@ class PipelineBarrier : angle::NonCopyable
// Issue vkCmdPipelineBarrier call // Issue vkCmdPipelineBarrier call
VkMemoryBarrier memoryBarrier = {}; VkMemoryBarrier memoryBarrier = {};
uint32_t memoryBarrierCount = 0; uint32_t memoryBarrierCount = 0;
if (mMemoryBarrierSrcAccess != 0) if (mMemoryBarrierDstAccess != 0)
{ {
memoryBarrier.sType = VK_STRUCTURE_TYPE_MEMORY_BARRIER; memoryBarrier.sType = VK_STRUCTURE_TYPE_MEMORY_BARRIER;
memoryBarrier.srcAccessMask = mMemoryBarrierSrcAccess; memoryBarrier.srcAccessMask = mMemoryBarrierSrcAccess;
......
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