aco: use new disable_wqm for mimg

Foz-DB GFX1201:
Totals from 88 (0.11% of 80251) affected shaders:
Instrs: 81954 -> 82218 (+0.32%); split: -0.02%, +0.34%
CodeSize: 451824 -> 452880 (+0.23%); split: -0.02%, +0.25%
Latency: 308818 -> 308746 (-0.02%); split: -0.05%, +0.02%
VClause: 1324 -> 1318 (-0.45%)
Copies: 2795 -> 2784 (-0.39%)
PreSGPRs: 4029 -> 4035 (+0.15%)
SALU: 6563 -> 6809 (+3.75%); split: -0.15%, +3.90%

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35970>
This commit is contained in:
Georg Lehmann
2025-07-06 21:21:00 +02:00
committed by Marge Bot
parent 922f559c3c
commit 0e66f2b2cc
8 changed files with 56 additions and 31 deletions
+5 -5
View File
@@ -62,11 +62,7 @@ struct exec_ctx {
bool
needs_exact(aco_ptr<Instruction>& instr)
{
if (instr->isMIMG()) {
return instr->mimg().disable_wqm;
} else {
return instr->isEXP() || instr->opcode == aco_opcode::p_dual_src_export_gfx11;
}
return instr->isEXP() || instr->opcode == aco_opcode::p_dual_src_export_gfx11;
}
WQMState
@@ -420,6 +416,8 @@ remove_disable_wqm(Instruction* instr)
instr->mtbuf().disable_wqm = false;
} else if (instr->isFlatLike()) {
instr->flatlike().disable_wqm = false;
} else if (instr->isMIMG()) {
instr->mimg().disable_wqm = false;
}
/* Remove the two masks so that the assembler doesn't need to handle them. */
@@ -843,6 +841,8 @@ instr_disables_wqm(Instruction* instr)
return instr->mtbuf().disable_wqm;
} else if (instr->isFlatLike()) {
return instr->flatlike().disable_wqm;
} else if (instr->isMIMG()) {
return instr->mimg().disable_wqm;
}
return false;