summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/virgl
diff options
context:
space:
mode:
authorErik Faye-Lund <[email protected]>2018-08-20 12:46:32 +0100
committerErik Faye-Lund <[email protected]>2018-08-28 14:13:43 +0200
commita4e60ccb56f339d3a20463b14ae4b3e124771f1a (patch)
tree0bc7f44ab495c4c441d4451cb84b1fb901e205fd /src/gallium/drivers/virgl
parent4ab06cc56e66118c4834ed8bbeed05e727bc34f7 (diff)
virgl: add debug-switch to output TGSI
This is quite useful for debugging shader-transpiling issues in virglrenderer. Signed-off-by: Erik Faye-Lund <[email protected]> Reviewed-By: Gert Wollny <[email protected]>
Diffstat (limited to 'src/gallium/drivers/virgl')
-rw-r--r--src/gallium/drivers/virgl/virgl_encode.c3
-rw-r--r--src/gallium/drivers/virgl/virgl_screen.c1
-rw-r--r--src/gallium/drivers/virgl/virgl_screen.h1
3 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/virgl/virgl_encode.c b/src/gallium/drivers/virgl/virgl_encode.c
index a13c3982ec3..bcb14d8939a 100644
--- a/src/gallium/drivers/virgl/virgl_encode.c
+++ b/src/gallium/drivers/virgl/virgl_encode.c
@@ -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;
diff --git a/src/gallium/drivers/virgl/virgl_screen.c b/src/gallium/drivers/virgl/virgl_screen.c
index a57c5b9df1f..dd97b3d3f96 100644
--- a/src/gallium/drivers/virgl/virgl_screen.c
+++ b/src/gallium/drivers/virgl/virgl_screen.c
@@ -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)
diff --git a/src/gallium/drivers/virgl/virgl_screen.h b/src/gallium/drivers/virgl/virgl_screen.h
index 8334d162424..719f5166d78 100644
--- a/src/gallium/drivers/virgl/virgl_screen.h
+++ b/src/gallium/drivers/virgl/virgl_screen.h
@@ -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 {