Commit d3e7a41b by Shahbaz Youssefi Committed by Commit Bot

Vulkan: fix buffer copy barriers

Bug: angleproject:3362 Change-Id: Ibf6520fb73bb1a9b76714cddd786569789c70430 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1635752Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarCourtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
parent f52f2637
......@@ -269,11 +269,11 @@ angle::Result BufferVk::copyToBuffer(ContextVk *contextVk,
const VkBufferCopy *copies)
{
vk::CommandBuffer *commandBuffer;
ANGLE_TRY(mBuffer.recordCommands(contextVk, &commandBuffer));
ANGLE_TRY(destBuffer->recordCommands(contextVk, &commandBuffer));
commandBuffer->copyBuffer(mBuffer.getBuffer(), destBuffer->getBuffer(), copyCount, copies);
destBuffer->onRead(&mBuffer, VK_ACCESS_TRANSFER_READ_BIT);
mBuffer.onWrite(VK_ACCESS_TRANSFER_WRITE_BIT);
mBuffer.onRead(destBuffer, VK_ACCESS_TRANSFER_READ_BIT);
destBuffer->onWrite(VK_ACCESS_TRANSFER_WRITE_BIT);
return angle::Result::Continue;
}
......
......@@ -1186,11 +1186,11 @@ angle::Result BufferHelper::copyFromBuffer(ContextVk *context,
commandBuffer->pipelineBarrier(VK_PIPELINE_STAGE_ALL_COMMANDS_BIT,
VK_PIPELINE_STAGE_TRANSFER_BIT, 0, 1, &memoryBarrier, 0,
nullptr, 0, nullptr);
mCurrentWriteAccess = VK_ACCESS_TRANSFER_WRITE_BIT;
mCurrentReadAccess = 0;
}
mCurrentWriteAccess = VK_ACCESS_TRANSFER_WRITE_BIT;
mCurrentReadAccess = 0;
commandBuffer->copyBuffer(buffer, mBuffer, 1, &copyRegion);
return angle::Result::Continue;
......
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