summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-01-04 17:56:39 -0300
committerGravatar ReinUsesLisp2021-01-04 17:56:39 -0300
commit1ccf80536739fb9a193a0a148dcd4f2deca1bfd4 (patch)
tree6a4f0b867a3fbbfaa235e09fd26e1c594472ddbf /src
parentMerge pull request #5285 from lioncash/error-str (diff)
downloadyuzu-1ccf80536739fb9a193a0a148dcd4f2deca1bfd4.tar.gz
yuzu-1ccf80536739fb9a193a0a148dcd4f2deca1bfd4.tar.xz
yuzu-1ccf80536739fb9a193a0a148dcd4f2deca1bfd4.zip
vk_rasterizer: Skip binding empty descriptor sets on compute
Fixes unit tests where compute shaders had no descriptors in the set, making Vulkan drivers crash when binding an empty set.
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
index 1c174e7ec..b6a1c5bbb 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
@@ -628,8 +628,10 @@ void RasterizerVulkan::DispatchCompute(GPUVAddr code_addr) {
628 grid_z = launch_desc.grid_dim_z, pipeline_handle, pipeline_layout, 628 grid_z = launch_desc.grid_dim_z, pipeline_handle, pipeline_layout,
629 descriptor_set](vk::CommandBuffer cmdbuf) { 629 descriptor_set](vk::CommandBuffer cmdbuf) {
630 cmdbuf.BindPipeline(VK_PIPELINE_BIND_POINT_COMPUTE, pipeline_handle); 630 cmdbuf.BindPipeline(VK_PIPELINE_BIND_POINT_COMPUTE, pipeline_handle);
631 cmdbuf.BindDescriptorSets(VK_PIPELINE_BIND_POINT_COMPUTE, pipeline_layout, DESCRIPTOR_SET, 631 if (descriptor_set) {
632 descriptor_set, {}); 632 cmdbuf.BindDescriptorSets(VK_PIPELINE_BIND_POINT_COMPUTE, pipeline_layout,
633 DESCRIPTOR_SET, descriptor_set, nullptr);
634 }
633 cmdbuf.Dispatch(grid_x, grid_y, grid_z); 635 cmdbuf.Dispatch(grid_x, grid_y, grid_z);
634 }); 636 });
635} 637}