summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKarol Herbst <kherbst@redhat.com>2020-08-16 17:43:18 +0200
committerMarge Bot <eric+marge@anholt.net>2020-09-01 18:47:30 +0000
commitd421af3a99374da72c1e661c15d9a46177b745d0 (patch)
tree4217878ca0840d2558e2059e71e32648725cb8c7 /src
parent8e259dad4cf4848883d1e349c6fdd2f3ed1fdcdc (diff)
clover/nir: Lower function_temp to scratch.
Signed-off-by: Karol Herbst <kherbst@redhat.com> Reviewed-by: Jesse Natalie <jenatali@microsoft.com> Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6433>
Diffstat (limited to 'src')
-rw-r--r--src/gallium/frontends/clover/nir/invocation.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/gallium/frontends/clover/nir/invocation.cpp b/src/gallium/frontends/clover/nir/invocation.cpp
index 8d53f594c44..6801b607feb 100644
--- a/src/gallium/frontends/clover/nir/invocation.cpp
+++ b/src/gallium/frontends/clover/nir/invocation.cpp
@@ -226,7 +226,8 @@ module clover::nir::spirv_to_nir(const module &mod, const device &dev,
offset += glsl_get_cl_size(var->type);
}
- NIR_PASS_V(nir, nir_lower_vars_to_explicit_types, nir_var_mem_shared,
+ NIR_PASS_V(nir, nir_lower_vars_to_explicit_types,
+ nir_var_mem_shared | nir_var_function_temp,
glsl_get_cl_type_size_align);
/* use offsets for uniform and shared memory */
@@ -236,9 +237,14 @@ module clover::nir::spirv_to_nir(const module &mod, const device &dev,
NIR_PASS_V(nir, nir_lower_explicit_io, nir_var_mem_shared,
spirv_options.shared_addr_format);
+ NIR_PASS_V(nir, nir_lower_explicit_io, nir_var_function_temp,
+ spirv_options.temp_addr_format);
+
NIR_PASS_V(nir, nir_lower_explicit_io, nir_var_mem_global,
spirv_options.global_addr_format);
+ NIR_PASS_V(nir, nir_remove_dead_variables, nir_var_all, NULL);
+
if (compiler_options->lower_int64_options)
NIR_PASS_V(nir, nir_lower_int64);