From d6dc0ea5ae81b36f359ff3a653928910be2266a5 Mon Sep 17 00:00:00 2001 From: Faith Ekstrand Date: Fri, 7 Nov 2025 23:55:03 -0500 Subject: [PATCH] panvk: Split var copies and lower local vars early These two passes are a prerequisite for basically anything that optimizes on variables. Reviewed-by: Lars-Ivar Hesselberg Simonsen Reviewed-by: Christoph Pillmayer Part-of: --- src/panfrost/vulkan/panvk_vX_shader.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/panfrost/vulkan/panvk_vX_shader.c b/src/panfrost/vulkan/panvk_vX_shader.c index 386d799a9de..66b3ec74e76 100644 --- a/src/panfrost/vulkan/panvk_vX_shader.c +++ b/src/panfrost/vulkan/panvk_vX_shader.c @@ -407,6 +407,9 @@ panvk_preprocess_nir(struct vk_physical_device *vk_pdev, NIR_PASS(_, nir, lower_layer_writes); #endif + NIR_PASS(_, nir, nir_lower_global_vars_to_local); + NIR_PASS(_, nir, nir_split_var_copies); + NIR_PASS(_, nir, nir_lower_indirect_derefs, nir_var_shader_in | nir_var_shader_out, UINT32_MAX);