summaryrefslogtreecommitdiffstats
path: root/src/glsl
diff options
context:
space:
mode:
authorTimothy Arceri <[email protected]>2015-12-15 16:23:29 +1100
committerTimothy Arceri <[email protected]>2016-01-07 09:06:26 +1100
commit47dde2bd45eb5053042a20f70c6f0b7a86ebf1b1 (patch)
tree6e3fd7dd8b3ffb6ce7624bf63ec0b42a906ef99e /src/glsl
parentac6e2c2056469226fdeefb96bee632546f45a0fb (diff)
glsl: don't try adding built-ins to explicit locations bitmask
Reviewed-by: Anuj Phogat <[email protected]> Reviewed-by: Edward O'Callaghan <[email protected]>
Diffstat (limited to 'src/glsl')
-rw-r--r--src/glsl/link_varyings.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/glsl/link_varyings.cpp b/src/glsl/link_varyings.cpp
index 1da0c9e5527..8763cc5b07d 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;