vkd3d: Zero the pipeline state UAV counter view array when the state is invalidated. (Valgrind)

Otherwise a comparison with uninitialised data occurs in
d3d12_command_list_update_descriptor_table() if virtual heaps are used.
This commit is contained in:
Conor McCarthy 2024-10-22 14:55:44 +10:00 committed by Henri Verbeet
parent 1113d24a70
commit 4889c71857
Notes: Henri Verbeet 2024-10-22 20:56:11 +02:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1208

View File

@ -2005,6 +2005,8 @@ static void d3d12_command_list_invalidate_bindings(struct d3d12_command_list *li
vkd3d_array_reserve((void **)&bindings->vk_uav_counter_views, &bindings->vk_uav_counter_views_size, vkd3d_array_reserve((void **)&bindings->vk_uav_counter_views, &bindings->vk_uav_counter_views_size,
state->uav_counters.binding_count, sizeof(*bindings->vk_uav_counter_views)); state->uav_counters.binding_count, sizeof(*bindings->vk_uav_counter_views));
memset(bindings->vk_uav_counter_views, 0,
state->uav_counters.binding_count * sizeof(*bindings->vk_uav_counter_views));
bindings->uav_counters_dirty = true; bindings->uav_counters_dirty = true;
} }
} }