diff --git a/src/compiler/nir/nir_intrinsics.py b/src/compiler/nir/nir_intrinsics.py index ef0975878cf..a099c53af12 100644 --- a/src/compiler/nir/nir_intrinsics.py +++ b/src/compiler/nir/nir_intrinsics.py @@ -654,6 +654,7 @@ system_value("aa_line_width", 1) # BASE=0 for global/shader, BASE=1 for local/function system_value("scratch_base_ptr", 0, bit_sizes=[32,64], indices=[BASE]) system_value("constant_base_ptr", 0, bit_sizes=[32,64]) +system_value("shared_base_ptr", 0, bit_sizes=[32,64]) # Driver-specific viewport scale/offset parameters. # diff --git a/src/compiler/nir/nir_lower_io.c b/src/compiler/nir/nir_lower_io.c index c7e0eb0a403..7061ad882fc 100644 --- a/src/compiler/nir/nir_lower_io.c +++ b/src/compiler/nir/nir_lower_io.c @@ -873,6 +873,10 @@ build_addr_for_var(nir_builder *b, nir_variable *var, base_addr = nir_load_constant_base_ptr(b, num_comps, bit_size); break; + case nir_var_mem_shared: + base_addr = nir_load_shared_base_ptr(b, num_comps, bit_size); + break; + default: unreachable("Unsupported variable mode"); }