On Fri, 3 Dec 2021 at 09:59, Conor McCarthy cmccarthy@codeweavers.com wrote:
@@ -8903,6 +8883,23 @@ static void vkd3d_dxbc_compiler_emit_uav_counter_instruction(struct vkd3d_dxbc_c } else {
if (resource_symbol->info.resource.uav_counter_array)
{
const struct vkd3d_symbol_descriptor_array_data *array_data;
uint32_t index_id;
index_id = vkd3d_dxbc_compiler_get_descriptor_index(compiler, &src->reg,
resource_symbol->info.resource.uav_counter_array,
resource_symbol->info.resource.uav_counter_base_idx,
resource_symbol->info.resource.resource_type_info->resource_type);
array_data = &resource_symbol->info.resource.uav_counter_array->info.descriptor_array;
ptr_type_id = vkd3d_spirv_get_op_type_pointer(builder, array_data->storage_class,
array_data->contained_type_id);
counter_id = vkd3d_spirv_build_op_access_chain(builder, ptr_type_id, counter_id, &index_id, 1);
}
Should that apply to the "ssbo_uavs" path above as well?