Mesa (master): clover/nir: Use nir_var_mem_constant for __constant memory

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Sep 1 21:03:16 UTC 2020


Module: Mesa
Branch: master
Commit: 26a4c8f375e66e8e2ddf2bbde205baa929578599
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=26a4c8f375e66e8e2ddf2bbde205baa929578599

Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Wed Aug 19 11:34:21 2020 -0500

clover/nir: Use nir_var_mem_constant for __constant memory

Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6379>

---

 src/gallium/frontends/clover/nir/invocation.cpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/gallium/frontends/clover/nir/invocation.cpp b/src/gallium/frontends/clover/nir/invocation.cpp
index c916190f3a2..92465143333 100644
--- a/src/gallium/frontends/clover/nir/invocation.cpp
+++ b/src/gallium/frontends/clover/nir/invocation.cpp
@@ -140,10 +140,12 @@ module clover::nir::spirv_to_nir(const module &mod, const device &dev,
       spirv_options.shared_addr_format = nir_address_format_32bit_offset;
       spirv_options.global_addr_format = nir_address_format_32bit_global;
       spirv_options.temp_addr_format = nir_address_format_32bit_offset;
+      spirv_options.constant_addr_format = nir_address_format_32bit_global;
    } else {
       spirv_options.shared_addr_format = nir_address_format_32bit_offset_as_64bit;
       spirv_options.global_addr_format = nir_address_format_64bit_global;
       spirv_options.temp_addr_format = nir_address_format_32bit_offset_as_64bit;
+      spirv_options.constant_addr_format = nir_address_format_64bit_global;
    }
    spirv_options.caps.address = true;
    spirv_options.caps.float64 = true;
@@ -152,7 +154,6 @@ module clover::nir::spirv_to_nir(const module &mod, const device &dev,
    spirv_options.caps.int64 = true;
    spirv_options.caps.kernel = true;
    spirv_options.caps.int64_atomics = dev.has_int64_atomics();
-   spirv_options.constant_as_global = true;
    spirv_options.debug.func = &debug_function;
    spirv_options.debug.private_data = &r_log;
 
@@ -234,6 +235,8 @@ module clover::nir::spirv_to_nir(const module &mod, const device &dev,
       NIR_PASS_V(nir, nir_lower_explicit_io, nir_var_uniform,
                  nir_address_format_32bit_offset);
 
+      NIR_PASS_V(nir, nir_lower_explicit_io, nir_var_mem_constant,
+                 spirv_options.constant_addr_format);
       NIR_PASS_V(nir, nir_lower_explicit_io, nir_var_mem_shared,
                  spirv_options.shared_addr_format);
 



More information about the mesa-commit mailing list