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)); }
