tgsi: Workaround debug output buffer size limitations.
authorMichal Krol <michal@tungstengraphics.com>
Mon, 18 Aug 2008 20:21:32 +0000 (22:21 +0200)
committerMichal Krol <michal@tungstengraphics.com>
Mon, 18 Aug 2008 22:44:11 +0000 (00:44 +0200)
src/gallium/auxiliary/tgsi/tgsi_dump.c

index 4309d1bc76f740b980fe1bb80913d261b0f2614c..a168c9492805dbabbc0374ddce207f8585a11605 100644 (file)
@@ -518,8 +518,23 @@ tgsi_dump(
    uint flags )
 {
    static char str[4096];
-   
+   uint len;
+   char *p = str;
+
    tgsi_dump_str(tokens, flags, str, sizeof(str));
-   
-   debug_printf("%s", str);
+
+   /* Workaround output buffer size limitations.
+    */
+   len = strlen( str );
+   while (len > 256) {
+      char piggy_bank;
+
+      piggy_bank = p[256];
+      p[256] = '\0';
+      debug_printf( "%s", p );
+      p[256] = piggy_bank;
+      p += 256;
+      len -= 256;
+   }
+   debug_printf( "%s", p );
 }