vkd3d: Prepare descriptors once for all descriptor tables.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Józef Kucia 2018-10-11 15:33:30 +02:00 committed by Alexandre Julliard
parent 3b0d20c474
commit 604fd99637

View File

@ -2220,8 +2220,6 @@ static void d3d12_command_list_update_descriptor_table(struct d3d12_command_list
descriptor = d3d12_desc_from_gpu_handle(base_descriptor);
d3d12_command_list_prepare_descriptors(list, bind_point);
descriptor_count = 0;
current_descriptor_write = descriptor_writes;
current_image_info = image_infos;
@ -2329,6 +2327,9 @@ static void d3d12_command_list_update_descriptors(struct d3d12_command_list *lis
if (!rs || !rs->pool_size_count || !rs->vk_set_layout)
return;
if (bindings->descriptor_table_dirty_mask)
d3d12_command_list_prepare_descriptors(list, bind_point);
for (i = 0; i < ARRAY_SIZE(bindings->descriptor_tables); ++i)
{
if (bindings->descriptor_table_dirty_mask & ((uint64_t)1 << i))