From: Daniel Schürmann Date: Tue, 14 Mar 2023 10:24:34 +0000 (+0100) Subject: aco: split ps_epilog args before exporting them X-Git-Tag: upstream/23.3.3~10532 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8c68aba67805f469d7432674b61f938a337db09a;p=platform%2Fupstream%2Fmesa.git aco: split ps_epilog args before exporting them This avoids some unnecessary copies from extracting from the input vectors. Part-of: --- diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp index c87cddf..6a47812 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)); }