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, | |||
| 411 | const VkImageMemoryBarrier image_barrier{ | 411 | const VkImageMemoryBarrier image_barrier{ |
| 412 | .sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, | 412 | .sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, |
| 413 | .pNext = nullptr, | 413 | .pNext = nullptr, |
| 414 | .srcAccessMask = VK_ACCESS_SHADER_WRITE_BIT, | 414 | .srcAccessMask = is_initialized ? VK_ACCESS_SHADER_WRITE_BIT : VkAccessFlags{}, |
| 415 | .dstAccessMask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT, | 415 | .dstAccessMask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT, |
| 416 | .oldLayout = is_initialized ? VK_IMAGE_LAYOUT_GENERAL : VK_IMAGE_LAYOUT_UNDEFINED, | 416 | .oldLayout = is_initialized ? VK_IMAGE_LAYOUT_GENERAL : VK_IMAGE_LAYOUT_UNDEFINED, |
| 417 | .newLayout = VK_IMAGE_LAYOUT_GENERAL, | 417 | .newLayout = VK_IMAGE_LAYOUT_GENERAL, |
| @@ -426,7 +426,8 @@ void ASTCDecoderPass::Assemble(Image& image, const StagingBufferRef& map, | |||
| 426 | .layerCount = VK_REMAINING_ARRAY_LAYERS, | 426 | .layerCount = VK_REMAINING_ARRAY_LAYERS, |
| 427 | }, | 427 | }, |
| 428 | }; | 428 | }; |
| 429 | cmdbuf.PipelineBarrier(is_initialized ? VK_PIPELINE_STAGE_ALL_COMMANDS_BIT : 0, | 429 | cmdbuf.PipelineBarrier(is_initialized ? VK_PIPELINE_STAGE_ALL_COMMANDS_BIT |
| 430 | : VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, | ||
| 430 | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, 0, image_barrier); | 431 | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, 0, image_barrier); |
| 431 | cmdbuf.BindPipeline(VK_PIPELINE_BIND_POINT_COMPUTE, vk_pipeline); | 432 | cmdbuf.BindPipeline(VK_PIPELINE_BIND_POINT_COMPUTE, vk_pipeline); |
| 432 | }); | 433 | }); |