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

Author: Kenneth Graunke <[email protected]>
Date:   Mon Sep  5 12:03:29 2011 -0700

glsl/ir_reader: Make sure constants have the right number of components.

The list of numbers in (constant type (<numbers>)) needs to contain
exactly type->components() numbers (16 for a mat4, 3 for a vec3, etc.)

Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>

---

 src/glsl/ir_reader.cpp |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/glsl/ir_reader.cpp b/src/glsl/ir_reader.cpp
index 22009ee..10bf72a 100644
--- a/src/glsl/ir_reader.cpp
+++ b/src/glsl/ir_reader.cpp
@@ -820,6 +820,11 @@ ir_reader::read_constant(s_expression *expr)
       }
       ++k;
    }
+   if (k != type->components()) {
+      ir_read_error(values, "expected %d constant values, found %d",
+                   type->components(), k);
+      return NULL;
+   }
 
    return new(mem_ctx) ir_constant(type, &data);
 }

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to