Mesa (master): ir_to_mesa: Add several assertions about sizes of arrays

Ian Romanick idr at kemper.freedesktop.org
Tue Jan 25 21:41:32 UTC 2011


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

Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Tue Jan 25 11:50:04 2011 -0800

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.

---

 src/mesa/program/ir_to_mesa.cpp |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

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;




More information about the mesa-commit mailing list