mesa: State tracker now checks for faulty shaders on debug
authorJakob Bornecrantz <jakob@tungstengraphics.com>
Tue, 16 Sep 2008 14:17:46 +0000 (16:17 +0200)
committerJakob Bornecrantz <jakob@tungstengraphics.com>
Tue, 16 Sep 2008 14:20:19 +0000 (16:20 +0200)
src/mesa/state_tracker/st_mesa_to_tgsi.c

index 5ec9fddd7f4cc10e4c517c7bb10586d57927d24f..e822c8ac61bbd40e1bc709d6e801784de6f9322a 100644 (file)
 #include "tgsi/tgsi_parse.h"
 #include "tgsi/tgsi_build.h"
 #include "tgsi/tgsi_util.h"
+#include "tgsi/tgsi_dump.h"
+#include "tgsi/tgsi_sanity.h"
 #include "st_mesa_to_tgsi.h"
 #include "shader/prog_instruction.h"
 #include "shader/prog_parameter.h"
-
+#include "pipe/p_debug.h"
 
 /*
  * Map mesa register file to TGSI register file.
@@ -980,5 +982,14 @@ tgsi_translate_mesa_program(
          maxTokens - ti );
    }
 
+#if DEBUG
+   if(!tgsi_sanity_check(tokens)) {
+      //debug_printf("Due to sanity check failure the following shader program is invalid\n");
+      tgsi_dump(tokens, 0);
+
+      assert(0);
+   }
+#endif
+
    return ti;
 }