nir/algebraic: Add missing 16-bit extract_[iu]8 patterns
[mesa.git] / src / compiler / nir / nir_loop_analyze.c
index cb71a55f2f177050e73ba0525ed291d80f3b75f6..781dac27bb7188d9ad3e53daee077f8acd17aa30 100644 (file)
@@ -480,9 +480,12 @@ find_array_access_via_induction(loop_info_state *state,
          *array_index_out = array_index;
 
       nir_deref_instr *parent = nir_deref_instr_parent(d);
-      assert(glsl_type_is_array_or_matrix(parent->type));
-
-      return glsl_get_length(parent->type);
+      if (glsl_type_is_array_or_matrix(parent->type)) {
+         return glsl_get_length(parent->type);
+      } else {
+         assert(glsl_type_is_vector(parent->type));
+         return glsl_get_vector_elements(parent->type);
+      }
    }
 
    return 0;