[PATCH vkd3d 07/12] vkd3d: Call vkCmdBindDescriptorSets() only with valid descriptor set.
Józef Kucia
joseph.kucia at gmail.com
Wed Aug 15 06:57:55 CDT 2018
From: Józef Kucia <jkucia at codeweavers.com>
If the current pipeline state doesn't need any descriptors it is
perfectly valid to not have a descriptor set.
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
libs/vkd3d/command.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/libs/vkd3d/command.c b/libs/vkd3d/command.c
index 4536264a6c3b..501a06764e24 100644
--- a/libs/vkd3d/command.c
+++ b/libs/vkd3d/command.c
@@ -2188,9 +2188,12 @@ static void d3d12_command_list_update_descriptors(struct d3d12_command_list *lis
}
bindings->descriptor_table_dirty_mask = 0;
- bindings->in_use = true;
- VK_CALL(vkCmdBindDescriptorSets(list->vk_command_buffer, bind_point,
- rs->vk_pipeline_layout, rs->main_set, 1, &bindings->descriptor_set, 0, NULL));
+ if (bindings->descriptor_set)
+ {
+ VK_CALL(vkCmdBindDescriptorSets(list->vk_command_buffer, bind_point,
+ rs->vk_pipeline_layout, rs->main_set, 1, &bindings->descriptor_set, 0, NULL));
+ bindings->in_use = true;
+ }
d3d12_command_list_update_uav_counter_descriptors(list, bind_point);
}
--
2.16.4
More information about the wine-devel
mailing list