diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp index c25c8e553db..7e614071bb0 100644 --- a/src/amd/compiler/aco_instruction_selection.cpp +++ b/src/amd/compiler/aco_instruction_selection.cpp @@ -6600,7 +6600,6 @@ void visit_atomic_ssbo(isel_context *ctx, nir_intrinsic_instr *instr) void visit_get_ssbo_size(isel_context *ctx, nir_intrinsic_instr *instr) { Temp rsrc = get_ssa_temp(ctx, instr->src[0].ssa); - rsrc = emit_extract_vector(ctx, rsrc, 0, RegClass(rsrc.type(), 1)); Temp index = convert_pointer_to_64_bit(ctx, rsrc); Builder bld(ctx->program, ctx->block); diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index fd5f519486e..973e2a33e5d 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -500,6 +500,7 @@ radv_shader_compile_to_nir(struct radv_device *device, .push_const_addr_format = nir_address_format_logical, .shared_addr_format = nir_address_format_32bit_offset, .frag_coord_is_sysval = true, + .use_deref_buffer_array_length = true, .debug = { .func = radv_spirv_nir_debug, .private_data = &spirv_debug_data,