Module: Mesa
Branch: gallium-0.1
Commit: dccf951be0db8e9ac0e25b1a9ecba937e2c2efcd
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=dccf951be0db8e9ac0e25b1a9ecba937e2c2efcd

Author: José Fonseca <jfons...@vmware.com>
Date:   Wed Sep  2 10:36:48 2009 +0100

tgsi: Ensure number of srcs/dsts match the expected.

---

 src/gallium/auxiliary/tgsi/tgsi_ureg.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/src/gallium/auxiliary/tgsi/tgsi_ureg.c 
b/src/gallium/auxiliary/tgsi/tgsi_ureg.c
index cb50ab0..63f6da1 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_ureg.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_ureg.c
@@ -29,6 +29,7 @@
 #include "pipe/p_context.h"
 #include "pipe/p_state.h"
 #include "tgsi/tgsi_ureg.h"
+#include "tgsi/tgsi_info.h"
 #include "tgsi/tgsi_dump.h"
 #include "util/u_memory.h"
 #include "util/u_math.h"
@@ -654,6 +655,17 @@ ureg_insn(struct ureg_program *ureg,
    unsigned insn, i;
    boolean saturate;
 
+#ifdef DEBUG
+   {
+      const struct tgsi_opcode_info *info = tgsi_get_opcode_info( opcode );
+      assert(info);
+      if(info) {
+         assert(nr_dst == info->num_dst);
+         assert(nr_src == info->num_src);
+      }
+   }
+#endif
+   
    saturate = nr_dst ? dst[0].Saturate : FALSE;
 
    insn = ureg_emit_insn( ureg, opcode, saturate, nr_dst, nr_src );

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to