From: Ian Romanick Date: Tue, 25 Jan 2011 19:50:04 +0000 (-0800) Subject: ir_to_mesa: Add several assertions about sizes of arrays X-Git-Tag: 062012170305~7610 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5c2cec8337c5afc6941cd5c0bcedd27ff99b1bc7;p=profile%2Fivi%2Fmesa.git ir_to_mesa: Add several assertions about sizes of arrays Both of these assertions are triggered by the test case in bugzilla size of 0. --- diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp index 786fdfb..ee3eae6 100644 --- a/src/mesa/program/ir_to_mesa.cpp +++ b/src/mesa/program/ir_to_mesa.cpp @@ -651,6 +651,7 @@ type_size(const struct glsl_type *type) return 1; } case GLSL_TYPE_ARRAY: + assert(type->length > 0); return type_size(type->fields.array) * type->length; case GLSL_TYPE_STRUCT: size = 0; @@ -2653,6 +2654,9 @@ ir_to_mesa_visitor::copy_propagate(void) foreach_iter(exec_list_iterator, iter, this->instructions) { ir_to_mesa_instruction *inst = (ir_to_mesa_instruction *)iter.get(); + assert(inst->dst_reg.file != PROGRAM_TEMPORARY + || inst->dst_reg.index < this->next_temp); + /* First, do any copy propagation possible into the src regs. */ for (int r = 0; r < 3; r++) { ir_to_mesa_instruction *first = NULL;