nouveau: Make use of NOUVEAU_DEBUG for shader disasm
authorBen Skeggs <darktama@iinet.net.au>
Tue, 26 Dec 2006 11:03:12 +0000 (22:03 +1100)
committerBen Skeggs <darktama@iinet.net.au>
Tue, 26 Dec 2006 11:03:12 +0000 (22:03 +1100)
src/mesa/drivers/dri/nouveau/nouveau_context.c
src/mesa/drivers/dri/nouveau/nouveau_context.h
src/mesa/drivers/dri/nouveau/nouveau_shader_2.c

index d68f4e77e73dfe9a72fedcdbc3670560de3433c1..3718900b62748ec6b79669041f382bb856fbcdb3 100644 (file)
@@ -63,6 +63,7 @@ int NOUVEAU_DEBUG = 0;
 
 static const struct dri_debug_control debug_control[] =
 {
+       { "shaders", DEBUG_SHADERS },
        { NULL,    0 }
 };
 
index f54ac9a7c8dd59669297688b3ea448544f34e77f..0efbcce1293415782b0b2147e33fdfbefd437f47 100644 (file)
@@ -213,5 +213,10 @@ extern void nouveauSwapBuffers(__DRIdrawablePrivate *dPriv);
 extern void nouveauCopySubBuffer(__DRIdrawablePrivate *dPriv,
                                 int x, int y, int w, int h);
 
+/* Debugging utils: */
+extern int NOUVEAU_DEBUG;
+
+#define DEBUG_SHADERS 0x00000001
+
 #endif /* __NOUVEAU_CONTEXT_H__ */
 
index b39f4668b93d834571d419232f819a40acbfe36c..2177413b66e8d46fc3a6edfbd9dfac40a0cc3df7 100644 (file)
@@ -36,6 +36,7 @@
 
 #include "program.h"
 
+#include "nouveau_context.h"
 #include "nouveau_shader.h"
 
 struct pass2_rec {
@@ -219,21 +220,23 @@ nouveau_shader_pass2(nvsPtr nvs)
    nvs->translated     = 1;
    nvs->on_hardware    = 0;
 
-#if 1
-   fflush(stdout); fflush(stderr);
-   fprintf(stderr, "----------------MESA PROGRAM\n");
-   fflush(stdout); fflush(stderr);
-   _mesa_print_program(&nvs->mesa.vp.Base);
-   fflush(stdout); fflush(stderr);
-   fprintf(stderr, "^^^^^^^^^^^^^^^^MESA PROGRAM\n");
-   fflush(stdout); fflush(stderr);
-   fprintf(stderr, "----------------NV40 PROGRAM\n");
-   fflush(stdout); fflush(stderr);
-   nvsDisasmHWShader(nvs);
-   fflush(stdout); fflush(stderr);
-   fprintf(stderr, "^^^^^^^^^^^^^^^^NV40 PROGRAM\n");
-   fflush(stdout); fflush(stderr);
-#endif
+   if (NOUVEAU_DEBUG & DEBUG_SHADERS) {
+      fflush(stdout); fflush(stderr);
+      fprintf(stderr, "----------------MESA PROGRAM target=%s, id=0x%x\n",
+           _mesa_lookup_enum_by_nr(nvs->mesa.vp.Base.Target),
+           nvs->mesa.vp.Base.Id);
+      fflush(stdout); fflush(stderr);
+      _mesa_print_program(&nvs->mesa.vp.Base);
+      fflush(stdout); fflush(stderr);
+      fprintf(stderr, "^^^^^^^^^^^^^^^^MESA PROGRAM\n");
+      fflush(stdout); fflush(stderr);
+      fprintf(stderr, "----------------NV PROGRAM\n");
+      fflush(stdout); fflush(stderr);
+      nvsDisasmHWShader(nvs);
+      fflush(stdout); fflush(stderr);
+      fprintf(stderr, "^^^^^^^^^^^^^^^^NV PROGRAM\n");
+      fflush(stdout); fflush(stderr);
+   }
 
    return GL_TRUE;
 }