Mesa (master): glsl: don' t try adding built-ins to explicit locations bitmask

Timothy Arceri tarceri at kemper.freedesktop.org
Wed Jan 6 22:06:40 UTC 2016


Module: Mesa
Branch: master
Commit: 47dde2bd45eb5053042a20f70c6f0b7a86ebf1b1
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=47dde2bd45eb5053042a20f70c6f0b7a86ebf1b1

Author: Timothy Arceri <timothy.arceri at collabora.com>
Date:   Tue Dec 15 16:23:29 2015 +1100

glsl: don't try adding built-ins to explicit locations bitmask

Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Edward O'Callaghan <eocallaghan at alterapraxis.com>

---

 src/glsl/link_varyings.cpp |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/glsl/link_varyings.cpp b/src/glsl/link_varyings.cpp
index 1da0c9e..8763cc5 100644
--- a/src/glsl/link_varyings.cpp
+++ b/src/glsl/link_varyings.cpp
@@ -1518,7 +1518,9 @@ reserved_varying_slot(struct gl_shader *stage, ir_variable_mode io_mode)
    foreach_in_list(ir_instruction, node, stage->ir) {
       ir_variable *const var = node->as_variable();
 
-      if (var == NULL || var->data.mode != io_mode || !var->data.explicit_location)
+      if (var == NULL || var->data.mode != io_mode ||
+          !var->data.explicit_location ||
+          var->data.location < VARYING_SLOT_VAR0)
          continue;
 
       var_slot = var->data.location - VARYING_SLOT_VAR0;




More information about the mesa-commit mailing list