diff options
| -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);          });  | 
