summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-07-18 17:59:31 -0300
committerGravatar ReinUsesLisp2021-07-18 17:59:31 -0300
commita3ce26ae01fa042d17dece8bab12935772fd8897 (patch)
treeb3d4ba24d80b6e1e7e17daff54dc01b38e673f8f
parentMerge pull request #6647 from lat9nq/specify-system-path (diff)
downloadyuzu-a3ce26ae01fa042d17dece8bab12935772fd8897.tar.gz
yuzu-a3ce26ae01fa042d17dece8bab12935772fd8897.tar.xz
yuzu-a3ce26ae01fa042d17dece8bab12935772fd8897.zip
vk_compute_pass: Fix ASTC buffer setup synchronization
-rw-r--r--src/video_core/renderer_vulkan/vk_compute_pass.cpp28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/video_core/renderer_vulkan/vk_compute_pass.cpp b/src/video_core/renderer_vulkan/vk_compute_pass.cpp
index 205cd3b05..ce0081ef5 100644
--- a/src/video_core/renderer_vulkan/vk_compute_pass.cpp
+++ b/src/video_core/renderer_vulkan/vk_compute_pass.cpp
@@ -374,20 +374,20 @@ void ASTCDecoderPass::MakeDataBuffer() {
374 374
375 scheduler.Record([src = staging_ref.buffer, offset = staging_ref.offset, dst = *data_buffer, 375 scheduler.Record([src = staging_ref.buffer, offset = staging_ref.offset, dst = *data_buffer,
376 TOTAL_BUFFER_SIZE](vk::CommandBuffer cmdbuf) { 376 TOTAL_BUFFER_SIZE](vk::CommandBuffer cmdbuf) {
377 cmdbuf.CopyBuffer(src, dst, 377 static constexpr VkMemoryBarrier write_barrier{
378 VkBufferCopy{ 378 .sType = VK_STRUCTURE_TYPE_MEMORY_BARRIER,
379 .srcOffset = offset, 379 .pNext = nullptr,
380 .dstOffset = 0, 380 .srcAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT,
381 .size = TOTAL_BUFFER_SIZE, 381 .dstAccessMask = VK_ACCESS_SHADER_READ_BIT,
382 }); 382 };
383 cmdbuf.PipelineBarrier( 383 const VkBufferCopy copy{
384 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, 0, 384 .srcOffset = offset,
385 VkMemoryBarrier{ 385 .dstOffset = 0,
386 .sType = VK_STRUCTURE_TYPE_MEMORY_BARRIER, 386 .size = TOTAL_BUFFER_SIZE,
387 .pNext = nullptr, 387 };
388 .srcAccessMask = 0, 388 cmdbuf.CopyBuffer(src, dst, copy);
389 .dstAccessMask = VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT, 389 cmdbuf.PipelineBarrier(VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT,
390 }); 390 0, write_barrier);
391 }); 391 });
392} 392}
393 393