diff --git a/src/panfrost/bifrost/bir.c b/src/panfrost/bifrost/bir.c index fa45ee7d1f1..6433726c80b 100644 --- a/src/panfrost/bifrost/bir.c +++ b/src/panfrost/bifrost/bir.c @@ -86,7 +86,10 @@ bi_count_staging_registers(const bi_instr *ins) unsigned bi_count_read_registers(const bi_instr *ins, unsigned s) { - if (s == 0 && bi_opcode_props[ins->op].sr_read) + /* PATOM_C reads 1 but writes 2 */ + if (s == 0 && ins->op == BI_OPCODE_PATOM_C_I32) + return 1; + else if (s == 0 && bi_opcode_props[ins->op].sr_read) return bi_count_staging_registers(ins); else return 1;