Mesa (master): radeonsi: add a debug flag that disables printing ISA in shader dumps

Marek Olšák mareko at kemper.freedesktop.org
Fri Jul 31 14:51:32 UTC 2015


Module: Mesa
Branch: master
Commit: 3063c5e3d3fefdc5eed7600882bd08f56bf86db8
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3063c5e3d3fefdc5eed7600882bd08f56bf86db8

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sat Jul 25 16:15:48 2015 +0200

radeonsi: add a debug flag that disables printing ISA in shader dumps

---

 src/gallium/drivers/radeon/r600_pipe_common.c |    1 +
 src/gallium/drivers/radeon/r600_pipe_common.h |    1 +
 src/gallium/drivers/radeonsi/si_shader.c      |   20 +++++++++++---------
 3 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c
index d0162b5..75e8201 100644
--- a/src/gallium/drivers/radeon/r600_pipe_common.c
+++ b/src/gallium/drivers/radeon/r600_pipe_common.c
@@ -337,6 +337,7 @@ static const struct debug_named_value common_debug_options[] = {
 	{ "tes", DBG_TES, "Print tessellation evaluation shaders" },
 	{ "noir", DBG_NO_IR, "Don't print the LLVM IR"},
 	{ "notgsi", DBG_NO_TGSI, "Don't print the TGSI"},
+	{ "noasm", DBG_NO_ASM, "Don't print disassembled shaders"},
 
 	/* features */
 	{ "nodma", DBG_NO_ASYNC_DMA, "Disable asynchronous DMA" },
diff --git a/src/gallium/drivers/radeon/r600_pipe_common.h b/src/gallium/drivers/radeon/r600_pipe_common.h
index 72f4715..e2a60c5 100644
--- a/src/gallium/drivers/radeon/r600_pipe_common.h
+++ b/src/gallium/drivers/radeon/r600_pipe_common.h
@@ -83,6 +83,7 @@
 #define DBG_TES			(1 << 11)
 #define DBG_NO_IR		(1 << 12)
 #define DBG_NO_TGSI		(1 << 13)
+#define DBG_NO_ASM		(1 << 14)
 /* Bits 21-31 are reserved for the r600g driver. */
 /* features */
 #define DBG_NO_ASYNC_DMA	(1llu << 32)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
index dec68b3..4151e01 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -3811,15 +3811,17 @@ int si_shader_binary_read(struct si_screen *sscreen, struct si_shader *shader)
 	si_shader_binary_upload(sscreen, shader);
 
 	if (dump) {
-		if (binary->disasm_string) {
-			fprintf(stderr, "\nShader Disassembly:\n\n");
-			fprintf(stderr, "%s\n", binary->disasm_string);
-		} else {
-			fprintf(stderr, "SI CODE:\n");
-			for (i = 0; i < binary->code_size; i+=4 ) {
-				fprintf(stderr, "@0x%x: %02x%02x%02x%02x\n", i, binary->code[i + 3],
-				binary->code[i + 2], binary->code[i + 1],
-				binary->code[i]);
+		if (!(sscreen->b.debug_flags & DBG_NO_ASM)) {
+			if (binary->disasm_string) {
+				fprintf(stderr, "\nShader Disassembly:\n\n");
+				fprintf(stderr, "%s\n", binary->disasm_string);
+			} else {
+				fprintf(stderr, "SI CODE:\n");
+				for (i = 0; i < binary->code_size; i+=4 ) {
+					fprintf(stderr, "@0x%x: %02x%02x%02x%02x\n", i, binary->code[i + 3],
+					binary->code[i + 2], binary->code[i + 1],
+					binary->code[i]);
+				}
 			}
 		}
 




More information about the mesa-commit mailing list