aco: don't move exec writes around exec writes

Not sure if this is possible, but we should avoid it anyway.

No fossil-db changes.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22714>
This commit is contained in:
Rhys Perry 2023-04-26 15:02:22 +01:00 committed by Marge Bot
parent 65265d3e32
commit d0caa50dcd

View file

@ -560,7 +560,7 @@ perform_hazard_query(hazard_query* query, Instruction* instr, bool upwards)
if (!upwards && instr->opcode == aco_opcode::p_exit_early_if)
return hazard_fail_unreorderable;
if (query->uses_exec) {
if (query->uses_exec || query->writes_exec) {
for (const Definition& def : instr->definitions) {
if (def.isFixed() && def.physReg() == exec)
return hazard_fail_exec;