nir: Mark deref UBO and SSBO access as non-scalar
authorJason Ekstrand <jason.ekstrand@intel.com>
Mon, 21 Jan 2019 22:35:25 +0000 (16:35 -0600)
committerJason Ekstrand <jason.ekstrand@intel.com>
Tue, 22 Jan 2019 00:41:47 +0000 (18:41 -0600)
Fixes: 63b9aa2e2574 "spirv: Add support for using derefs for..."
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/compiler/nir/nir_lower_phis_to_scalar.c

index 3d7155c..41ae19e 100644 (file)
@@ -86,7 +86,9 @@ is_phi_src_scalarizable(nir_phi_src *src,
       case nir_intrinsic_load_deref: {
          nir_deref_instr *deref = nir_src_as_deref(src_intrin->src[0]);
          return deref->mode == nir_var_shader_in ||
-                deref->mode == nir_var_uniform;
+                deref->mode == nir_var_uniform ||
+                deref->mode == nir_var_mem_ubo ||
+                deref->mode == nir_var_mem_ssbo;
       }
 
       case nir_intrinsic_interp_deref_at_centroid: