st/nir: Use nir_src_as_uint for tokens
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 14 Dec 2018 16:56:16 +0000 (10:56 -0600)
committerJason Ekstrand <jason.ekstrand@intel.com>
Sun, 16 Dec 2018 21:07:28 +0000 (15:07 -0600)
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/mesa/state_tracker/st_nir_lower_builtin.c

index 195dc40b2effa0e00e7e9386ec2c6bd521fc1303..ab74d3183dc49336410e92b8dd43e9da3e1aaef3 100644 (file)
@@ -107,10 +107,6 @@ get_variable(lower_builtin_state *state, nir_deref_path *path,
    memcpy(tokens, element->tokens, sizeof(tokens));
 
    if (path->path[idx]->deref_type == nir_deref_type_array) {
-      nir_const_value *c = nir_src_as_const_value(path->path[idx]->arr.index);
-
-      assert(c);
-
       /* we need to fixup the array index slot: */
       switch (tokens[0]) {
       case STATE_MODELVIEW_MATRIX:
@@ -123,7 +119,7 @@ get_variable(lower_builtin_state *state, nir_deref_path *path,
       case STATE_TEXGEN:
       case STATE_TEXENV_COLOR:
       case STATE_CLIPPLANE:
-         tokens[1] = c->u32[0];
+         tokens[1] = nir_src_as_uint(path->path[idx]->arr.index);
          break;
       }
    }