vkd3d: Also match the UAV counter register space in d3d12_command_list_update_descriptor_table().

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2020-06-17 17:04:15 +04:30 committed by Alexandre Julliard
parent f0ce8aaf92
commit 57973b4252
3 changed files with 4 additions and 1 deletions

View File

@ -2682,7 +2682,8 @@ static void d3d12_command_list_update_descriptor_table(struct d3d12_command_list
{
for (k = 0; k < state->uav_counter_count; ++k)
{
if (state->uav_counters[k].register_index == register_idx)
if (state->uav_counters[k].register_space == range->register_space
&& state->uav_counters[k].register_index == register_idx)
{
VkBufferView vk_counter_view = descriptor->magic == VKD3D_DESCRIPTOR_MAGIC_UAV
? descriptor->u.view->vk_counter_view : VK_NULL_HANDLE;

View File

@ -646,6 +646,7 @@ static HRESULT d3d12_root_signature_init_root_descriptor_tables(struct d3d12_roo
table->ranges[j].descriptor_count = range->NumDescriptors;
table->ranges[j].binding = vk_binding;
table->ranges[j].descriptor_magic = vkd3d_descriptor_magic_from_d3d12(range->RangeType);
table->ranges[j].register_space = range->RegisterSpace;
table->ranges[j].base_register_idx = range->BaseShaderRegister;
}
}

View File

@ -658,6 +658,7 @@ struct d3d12_root_descriptor_table_range
uint32_t binding;
uint32_t descriptor_magic;
unsigned int register_space;
unsigned int base_register_idx;
};