From 1252d63cc2ecc398dd2d36b4a77a1af212cc6cb2 Mon Sep 17 00:00:00 2001 From: Bas Nieuwenhuizen Date: Tue, 18 Oct 2022 23:56:31 +0200 Subject: [PATCH] aco: Pre-split result of bvh64_intersect_ray_amd. Avoids later moves with extractions from the vector. Reduces VALU operation in the raytrace loop by ~6%, increasing the RT performance in Q2RTX on a 6800 XT by about ~1.3%. Suggested by Georg. Part-of: --- src/amd/compiler/aco_instruction_selection.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp index e48f128..29fe8f3 100644 --- a/src/amd/compiler/aco_instruction_selection.cpp +++ b/src/amd/compiler/aco_instruction_selection.cpp @@ -6156,6 +6156,8 @@ visit_bvh64_intersect_ray_amd(isel_context* ctx, nir_intrinsic_instr* instr) mimg->dmask = 0xf; mimg->unrm = true; mimg->r128 = true; + + emit_split_vector(ctx, dst, instr->dest.ssa.num_components); } static std::vector -- 2.7.4