virgl: add debug-switch to output TGSI
authorErik Faye-Lund <erik.faye-lund@collabora.com>
Mon, 20 Aug 2018 11:46:32 +0000 (12:46 +0100)
committerErik Faye-Lund <erik.faye-lund@collabora.com>
Tue, 28 Aug 2018 12:13:43 +0000 (14:13 +0200)
This is quite useful for debugging shader-transpiling issues in
virglrenderer.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-By: Gert Wollny <gert.wollny@collabora.com>
src/gallium/drivers/virgl/virgl_encode.c
src/gallium/drivers/virgl/virgl_screen.c
src/gallium/drivers/virgl/virgl_screen.h

index a13c3982ec3f6e5c818dc90bd1502a6d6eccd423..bcb14d8939a547cc749187cee9b9a84d37e28d82 100644 (file)
@@ -274,6 +274,9 @@ int virgl_encode_shader_state(struct virgl_context *ctx,
    if (bret == false)
       return -1;
 
+   if (virgl_debug & VIRGL_DEBUG_TGSI)
+      debug_printf("TGSI:\n---8<---\n%s\n---8<---\n", str);
+
    shader_len = strlen(str) + 1;
 
    left_bytes = shader_len;
index a57c5b9df1ffcbdea4ce3d0734be42a700f3f191..dd97b3d3f96d09792474c18433ecad15f0d1272b 100644 (file)
@@ -39,6 +39,7 @@
 int virgl_debug = 0;
 static const struct debug_named_value debug_options[] = {
    { "verbose", VIRGL_DEBUG_VERBOSE, NULL },
+   { "tgsi", VIRGL_DEBUG_TGSI, NULL },
    DEBUG_NAMED_VALUE_END
 };
 DEBUG_GET_ONCE_FLAGS_OPTION(virgl_debug, "VIRGL_DEBUG", debug_options, 0)
index 8334d162424775d81cec5da00a94ba1d8e32f79a..719f5166d785b7848d1a5882acb3e4b2b06b73f0 100644 (file)
@@ -28,6 +28,7 @@
 #include "virgl_winsys.h"
 
 #define VIRGL_DEBUG_VERBOSE 1
+#define VIRGL_DEBUG_TGSI    2
 extern int virgl_debug;
 
 struct virgl_screen {