diff --git a/src/freedreno/ir3/ir3.c b/src/freedreno/ir3/ir3.c index 2c0e0f2137f..7d97500ded5 100644 --- a/src/freedreno/ir3/ir3.c +++ b/src/freedreno/ir3/ir3.c @@ -1884,11 +1884,13 @@ ir3_valid_flags(struct ir3_instruction *instr, unsigned n, unsigned flags) /* disallow immediates in anything but the SSBO slot argument for * cat6 instructions: */ - if (is_global_a3xx_atomic(instr->opc) && (n != 0)) + if ((is_global_a3xx_atomic(instr->opc) || + is_bindless_atomic(instr->opc)) && + (n != 0)) { return false; + } - if (is_local_atomic(instr->opc) || is_global_a6xx_atomic(instr->opc) || - is_bindless_atomic(instr->opc)) + if (is_local_atomic(instr->opc) || is_global_a6xx_atomic(instr->opc)) return false; if (instr->opc == OPC_STG && (n == 2))