From a4e60ccb56f339d3a20463b14ae4b3e124771f1a Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Mon, 20 Aug 2018 12:46:32 +0100 Subject: [PATCH] virgl: add debug-switch to output TGSI This is quite useful for debugging shader-transpiling issues in virglrenderer. Signed-off-by: Erik Faye-Lund Reviewed-By: Gert Wollny --- src/gallium/drivers/virgl/virgl_encode.c | 3 +++ src/gallium/drivers/virgl/virgl_screen.c | 1 + src/gallium/drivers/virgl/virgl_screen.h | 1 + 3 files changed, 5 insertions(+) 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 { -- 2.30.2