Module: Mesa
Branch: main
Commit: 8c68aba67805f469d7432674b61f938a337db09a
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=8c68aba67805f469d7432674b61f938a337db09a

Author: Daniel Schürmann <[email protected]>
Date:   Tue Mar 14 11:24:34 2023 +0100

aco: split ps_epilog args before exporting them

This avoids some unnecessary copies from extracting from the input vectors.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22267>

---

 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 c87cddfd282..6a47812531d 100644
--- a/src/amd/compiler/aco_instruction_selection.cpp
+++ b/src/amd/compiler/aco_instruction_selection.cpp
@@ -12187,6 +12187,7 @@ select_ps_epilog(Program* program, const struct 
aco_ps_epilog_info* einfo, ac_sh
       out.enable_mrt_output_nan_fixup = (einfo->enable_mrt_output_nan_fixup >> 
i) & 1;
 
       Temp inputs = get_arg(&ctx, einfo->inputs[i]);
+      emit_split_vector(&ctx, inputs, 4);
       for (unsigned c = 0; c < 4; ++c) {
          out.values[c] = Operand(emit_extract_vector(&ctx, inputs, c, v1));
       }

Reply via email to