glsl: Clarify "mask" variable in add_interface_variables().
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 29 Mar 2016 18:37:48 +0000 (11:37 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Sat, 2 Apr 2016 04:58:25 +0000 (21:58 -0700)
This is a bitfield of which stages refer to a variable.  It is not used
to mask off bits.  In fact, it's used to contribute additional bits.

Rename it and tidy a bit of the logic.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>
src/compiler/glsl/linker.cpp

index 52df52c244e85da2a0a484b1678e03d43401768b..3f06e3b26615c5f74db1a543c7195be728af54eb 100644 (file)
@@ -3525,7 +3525,7 @@ add_interface_variables(struct gl_shader_program *shProg,
 
    foreach_in_list(ir_instruction, node, ir) {
       ir_variable *var = node->as_variable();
-      uint8_t mask = 0;
+      uint8_t stages = 0;
 
       if (!var || var->data.how_declared == ir_var_hidden)
          continue;
@@ -3544,7 +3544,7 @@ add_interface_variables(struct gl_shader_program *shProg,
          /* Mark special built-in inputs referenced by the vertex stage so
           * that they are considered active by the shader queries.
           */
-         mask = (1 << (MESA_SHADER_VERTEX));
+         stages = (1 << (MESA_SHADER_VERTEX));
          /* FALLTHROUGH */
       case ir_var_shader_in:
          if (programInterface != GL_PROGRAM_INPUT)
@@ -3574,9 +3574,9 @@ add_interface_variables(struct gl_shader_program *shProg,
       if (!sha_v)
          return false;
 
-      if (!add_program_resource(shProg, programInterface, sha_v,
-                                build_stageref(shProg, sha_v->name,
-                                               sha_v->mode) | mask))
+      stages |= build_stageref(shProg, sha_v->name, sha_v->mode);
+
+      if (!add_program_resource(shProg, programInterface, sha_v, stages))
          return false;
    }
    return true;