clover/nir: fix mem_shared by using address_format_32bit_offset

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6325>
This commit is contained in:
Karol Herbst 2020-08-14 21:56:00 +02:00 committed by Marge Bot
parent aa8661141a
commit 384c4df23d
1 changed files with 6 additions and 3 deletions

View File

@ -134,13 +134,16 @@ module clover::nir::spirv_to_nir(const module &mod, const device &dev,
NIR_PASS_V(nir, nir_lower_vars_to_ssa);
NIR_PASS_V(nir, nir_opt_dce);
NIR_PASS_V(nir, nir_lower_explicit_io, nir_var_shader_in, nir_address_format_32bit_offset);
/* use offsets for shader_in and shared memory */
nir_variable_mode modes = (nir_variable_mode)(
nir_var_mem_global |
nir_var_shader_in |
nir_var_mem_shared);
NIR_PASS_V(nir, nir_lower_explicit_io, modes, nir_address_format_32bit_offset);
/* use global format for global memory */
nir_address_format format = nir->info.cs.ptr_size == 64 ?
nir_address_format_64bit_global : nir_address_format_32bit_global;
NIR_PASS_V(nir, nir_lower_explicit_io, modes, format);
NIR_PASS_V(nir, nir_lower_explicit_io, nir_var_mem_global, format);
NIR_PASS_V(nir, nir_lower_system_values);
if (compiler_options->lower_int64_options)