diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2021-07-18 23:00:14 +0200 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2021-07-18 23:00:14 +0200 |
commit | 7850dd0a76aa471a57cfe0e36c50f0c162831552 (patch) | |
tree | 0ddb95b64163f87e9d050967dadb91a9a0ac77e9 | |
parent | vk_compute_pass: Fix ASTC buffer setup synchronization (diff) | |
download | yuzu-7850dd0a76aa471a57cfe0e36c50f0c162831552.tar yuzu-7850dd0a76aa471a57cfe0e36c50f0c162831552.tar.gz yuzu-7850dd0a76aa471a57cfe0e36c50f0c162831552.tar.bz2 yuzu-7850dd0a76aa471a57cfe0e36c50f0c162831552.tar.lz yuzu-7850dd0a76aa471a57cfe0e36c50f0c162831552.tar.xz yuzu-7850dd0a76aa471a57cfe0e36c50f0c162831552.tar.zst yuzu-7850dd0a76aa471a57cfe0e36c50f0c162831552.zip |
-rw-r--r-- | src/video_core/renderer_vulkan/vk_compute_pass.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/video_core/renderer_vulkan/vk_compute_pass.cpp b/src/video_core/renderer_vulkan/vk_compute_pass.cpp index ce0081ef5..4181d83ee 100644 --- a/src/video_core/renderer_vulkan/vk_compute_pass.cpp +++ b/src/video_core/renderer_vulkan/vk_compute_pass.cpp @@ -411,7 +411,7 @@ void ASTCDecoderPass::Assemble(Image& image, const StagingBufferRef& map, const VkImageMemoryBarrier image_barrier{ .sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, .pNext = nullptr, - .srcAccessMask = VK_ACCESS_SHADER_WRITE_BIT, + .srcAccessMask = is_initialized ? VK_ACCESS_SHADER_WRITE_BIT : VkAccessFlags{}, .dstAccessMask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT, .oldLayout = is_initialized ? VK_IMAGE_LAYOUT_GENERAL : VK_IMAGE_LAYOUT_UNDEFINED, .newLayout = VK_IMAGE_LAYOUT_GENERAL, @@ -426,7 +426,8 @@ void ASTCDecoderPass::Assemble(Image& image, const StagingBufferRef& map, .layerCount = VK_REMAINING_ARRAY_LAYERS, }, }; - cmdbuf.PipelineBarrier(is_initialized ? VK_PIPELINE_STAGE_ALL_COMMANDS_BIT : 0, + cmdbuf.PipelineBarrier(is_initialized ? VK_PIPELINE_STAGE_ALL_COMMANDS_BIT + : VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, 0, image_barrier); cmdbuf.BindPipeline(VK_PIPELINE_BIND_POINT_COMPUTE, vk_pipeline); }); |