Józef Kucia : vkd3d: Call vkCmdBindDescriptorSets() only with valid descriptor set.
Module: vkd3d Branch: master Commit: ef999e1e2bc2f0efd7e6d777e932ae8817f04827 URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=ef999e1e2bc2f0efd7e6d777... Author: Józef Kucia <jkucia(a)codeweavers.com> Date: Wed Aug 15 13:57:55 2018 +0200 vkd3d: Call vkCmdBindDescriptorSets() only with valid descriptor set. 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(a)codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- 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 4536264..501a067 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); }
participants (1)
-
Alexandre Julliard