nir: add nir_var_all enum
authorRob Clark <robdclark@gmail.com>
Mon, 19 Oct 2015 15:57:51 +0000 (11:57 -0400)
committerRob Clark <robclark@freedesktop.org>
Fri, 20 Nov 2015 01:03:32 +0000 (20:03 -0500)
Otherwise, passing -1 gets you:

  error: invalid conversion from 'int' to 'nir_variable_mode' [-fpermissive]

Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
src/glsl/nir/nir.c
src/glsl/nir/nir.h
src/glsl/nir/nir_lower_io.c
src/mesa/drivers/dri/i965/brw_nir.c

index 93c18fbaea5dac6d2195fbd63e0af4e0a7a5c1ce..dba18c96a903ff6a1d34a973dcba063fc59a39fd 100644 (file)
@@ -107,6 +107,10 @@ void
 nir_shader_add_variable(nir_shader *shader, nir_variable *var)
 {
    switch (var->data.mode) {
+   case nir_var_all:
+      assert(!"invalid mode");
+      break;
+
    case nir_var_local:
       assert(!"nir_shader_add_variable cannot be used for local variables");
       break;
index e9d722eed7ec49cbda18378998d16ba0e4603339..09eb712c06a40008370f7bf7f580889ef30b611e 100644 (file)
@@ -82,6 +82,7 @@ typedef struct {
 } nir_state_slot;
 
 typedef enum {
+   nir_var_all = -1,
    nir_var_shader_in,
    nir_var_shader_out,
    nir_var_global,
index 00a3145831010f5d1fbd359140256032366eddf0..5683e69d865450a947aa08f08372fe63082de51a 100644 (file)
@@ -197,7 +197,7 @@ nir_lower_io_block(nir_block *block, void *void_state)
 
       nir_variable_mode mode = intrin->variables[0]->var->data.mode;
 
-      if (state->mode != -1 && state->mode != mode)
+      if (state->mode != nir_var_all && state->mode != mode)
          continue;
 
       if (mode != nir_var_shader_in &&
index 7896f29803b59e70d083c5ec2a5bb80022df9ea7..bd91254f5bfb817cd774579791c79f785ba4b22d 100644 (file)
@@ -290,7 +290,7 @@ brw_create_nir(struct brw_context *brw,
    nir_assign_var_locations(&nir->uniforms,
                             &nir->num_uniforms,
                             is_scalar ? type_size_scalar : type_size_vec4);
-   OPT_V(nir_lower_io, -1, is_scalar ? type_size_scalar : type_size_vec4);
+   OPT_V(nir_lower_io, nir_var_all, is_scalar ? type_size_scalar : type_size_vec4);
 
    OPT(nir_remove_dead_variables);