From e47a9938d327d5c62224d58596180a22dcecff4f Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Fri, 20 Nov 2020 01:12:51 -0600 Subject: [PATCH] v3dv: Only lower local arrays of size up to 2 to if-chains Larger arrays get lowered to scratch access later, as that turns out to be faster, while the if-chain is actually faster for arrays of 2 elements. Reviewed-by: Iago Toral Quiroga Part-of: --- src/broadcom/vulkan/v3dv_pipeline.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/broadcom/vulkan/v3dv_pipeline.c b/src/broadcom/vulkan/v3dv_pipeline.c index e9a0ea777f8..80a64e2b905 100644 --- a/src/broadcom/vulkan/v3dv_pipeline.c +++ b/src/broadcom/vulkan/v3dv_pipeline.c @@ -400,8 +400,10 @@ preprocess_nir(nir_shader *nir, NIR_PASS_V(nir, nir_lower_var_copies); NIR_PASS_V(nir, nir_lower_indirect_derefs, nir_var_shader_in | - nir_var_shader_out | - nir_var_function_temp, UINT32_MAX); + nir_var_shader_out, UINT32_MAX); + + NIR_PASS_V(nir, nir_lower_indirect_derefs, + nir_var_function_temp, 2); NIR_PASS_V(nir, nir_lower_array_deref_of_vec, nir_var_mem_ubo | nir_var_mem_ssbo,