From: Eric Anholt Date: Thu, 26 Aug 2010 18:23:09 +0000 (-0700) Subject: ir_to_mesa: Don't assume that an ir_dereference_array is of a variable. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=264ba1ab88f273dc92add8018f24edcdd67fa5e5;p=mesa.git 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 --- diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp index 7fb59749467..948f09a851c 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)