Module: Mesa Branch: main Commit: e110eac1711d958e96d385ec6c2189ff74e84d8b URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e110eac1711d958e96d385ec6c2189ff74e84d8b
Author: Rhys Perry <pendingchao...@gmail.com> Date: Wed Sep 27 18:52:43 2023 +0100 aco: insert p_end_wqm before p_jump_to_epilog Otherwise, we can transition to exact before p_jump_to_epilog, then transition to WQM again and then back to exact: p_jump_to_epilog //transitions to exact p_logical_end //transitions to wqm p_end_wqm //transitions to exact We rely on ssa elimination to clean most of this up. fossil-db (navi21): Totals from 1 (0.00% of 79330) affected shaders: Instrs: 111 -> 110 (-0.90%) CodeSize: 572 -> 568 (-0.70%) Copies: 16 -> 15 (-6.25%) Signed-off-by: Rhys Perry <pendingchao...@gmail.com> Reviewed-by: Daniel Schürmann <dan...@schuermann.dev> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25440> --- src/amd/compiler/aco_instruction_selection.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp index fe11ad16a23..82bc354ec1b 100644 --- a/src/amd/compiler/aco_instruction_selection.cpp +++ b/src/amd/compiler/aco_instruction_selection.cpp @@ -11441,6 +11441,7 @@ finish_program(isel_context* ctx) /* End WQM before: */ if (instr->isVMEM() || instr->isFlatLike() || instr->isDS() || instr->isEXP() || instr->opcode == aco_opcode::p_dual_src_export_gfx11 || + instr->opcode == aco_opcode::p_jump_to_epilog || instr->opcode == aco_opcode::p_logical_start) break;