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>
(cherry picked from commit d0caa50dcd)
This commit is contained in:
Rhys Perry 2023-04-26 15:02:22 +01:00 committed by Eric Engestrom
parent 78f568bdc6
commit f24980f741
2 changed files with 2 additions and 2 deletions

View file

@ -1084,7 +1084,7 @@
"description": "aco: don't move exec writes around exec writes",
"nominated": true,
"nomination_type": 0,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null
},

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;