ir3: move feature check down in ir3_nir_max_imm_offset

We want to start using this function for non-SSBO intrinsics, so don't
bail out early.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41342>
This commit is contained in:
Job Noorman 2026-05-05 06:25:49 +02:00
parent 0703f27d6a
commit 97edf88d5f

View file

@ -376,16 +376,17 @@ ir3_nir_max_imm_offset(nir_intrinsic_instr *intrin, const void *data)
{
const struct ir3_compiler *compiler = data;
if (!compiler->info->props.has_ssbo_imm_offsets)
return 0;
switch (intrin->intrinsic) {
case nir_intrinsic_load_ssbo_ir3:
if (!compiler->info->props.has_ssbo_imm_offsets)
return 0;
if ((nir_intrinsic_access(intrin) & ACCESS_CAN_REORDER) &&
!(compiler->options.storage_8bit && intrin->def.bit_size == 8))
return 255; /* isam.v */
return 127; /* ldib.b */
case nir_intrinsic_store_ssbo_ir3:
if (!compiler->info->props.has_ssbo_imm_offsets)
return 0;
return 127; /* stib.b */
default:
return 0;