summaryrefslogtreecommitdiff
path: root/src/mesa/program
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2010-08-26 11:23:09 -0700
committerEric Anholt <eric@anholt.net>2010-08-26 11:23:09 -0700
commit264ba1ab88f273dc92add8018f24edcdd67fa5e5 (patch)
tree4344990e6e230d474530547e516164cdd741da4b /src/mesa/program
parent2db7bb9c665d13fd067109b1171eedd92764791d (diff)
ir_to_mesa: Don't assume that an ir_dereference_array is of a variable.
Fixes: glsl-array-bounds-02 (software) glsl-array-bounds-04 glsl-array-bounds-06 (software) glsl-array-bounds-08
Diffstat (limited to 'src/mesa/program')
-rw-r--r--src/mesa/program/ir_to_mesa.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp
index 7fb5974946..948f09a851 100644
--- a/src/mesa/program/ir_to_mesa.cpp
+++ b/src/mesa/program/ir_to_mesa.cpp
@@ -1382,7 +1382,8 @@ ir_to_mesa_visitor::visit(ir_dereference_array *ir)
return;
}
- if (strncmp(var->name, "gl_", 3) == 0 && var->mode == ir_var_uniform &&
+ if (var &&
+ strncmp(var->name, "gl_", 3) == 0 && var->mode == ir_var_uniform &&
!var->type->is_matrix()) {
ir_dereference_record *record = NULL;
if (ir->array->ir_type == ir_type_dereference_record)