mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-30 13:40:23 +01:00
freedreno/ir3/a6xx: fix atomic shader outputs
We also need to put in the output mov. Possibly we could just fixup the output register to read it directly from the dummy, but that is more work and I guess dEQP is probably the only time you encounter this. Fixes dEQP-GLES31.functional.shaders.opaque_type_indexing.atomic_counter.const_literal_fragment Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
parent
db1fa21374
commit
a06bb486b0
1 changed files with 8 additions and 0 deletions
|
|
@ -427,6 +427,14 @@ ir3_a6xx_fixup_atomic_dests(struct ir3 *ir, struct ir3_shader_variant *so)
|
|||
reg->instr = get_atomic_dest_mov(src);
|
||||
}
|
||||
}
|
||||
|
||||
/* we also need to fixup shader outputs: */
|
||||
for (unsigned i = 0; i < ir->noutputs; i++) {
|
||||
if (!ir->outputs[i])
|
||||
continue;
|
||||
if (is_atomic(ir->outputs[i]->opc) && (ir->outputs[i]->flags & IR3_INSTR_G))
|
||||
ir->outputs[i] = get_atomic_dest_mov(ir->outputs[i]);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue