rusticl/kernel: only handle function_temp memory before lowering printf
authorKarol Herbst <git@karolherbst.de>
Mon, 31 Jul 2023 10:19:22 +0000 (12:19 +0200)
committerMarge Bot <emma+marge@anholt.net>
Tue, 1 Aug 2023 10:08:23 +0000 (10:08 +0000)
There was no need to handle the other variable modes. This also fixes
double accounting of shared memory.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9058
Fixes: 5795ee0e083 ("rusticl: translate spirv to nir and first steps to kernel arg handling")
Signed-off-by: Karol Herbst <git@karolherbst.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24398>

src/gallium/frontends/rusticl/core/kernel.rs

index f46992a..d3c287b 100644 (file)
@@ -400,12 +400,7 @@ fn lower_and_optimize_nir_pre_inputs(dev: &Device, nir: &mut NirShader, lib_clc:
     nir.pass0(nir_dedup_inline_samplers);
     nir.pass2(
         nir_lower_vars_to_explicit_types,
-        nir_variable_mode::nir_var_uniform
-            | nir_variable_mode::nir_var_function_temp
-            | nir_variable_mode::nir_var_shader_temp
-            | nir_variable_mode::nir_var_mem_shared
-            | nir_variable_mode::nir_var_mem_generic
-            | nir_variable_mode::nir_var_mem_global,
+        nir_variable_mode::nir_var_function_temp,
         Some(glsl_get_cl_type_size_align),
     );
 
@@ -603,8 +598,10 @@ fn lower_and_optimize_nir_late(
         nir_lower_vars_to_explicit_types,
         nir_variable_mode::nir_var_mem_shared
             | nir_variable_mode::nir_var_function_temp
+            | nir_variable_mode::nir_var_shader_temp
             | nir_variable_mode::nir_var_uniform
-            | nir_variable_mode::nir_var_mem_global,
+            | nir_variable_mode::nir_var_mem_global
+            | nir_variable_mode::nir_var_mem_generic,
         Some(glsl_get_cl_type_size_align),
     );