From: Marek Olšák <marek.ol...@amd.com>

---
 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 e296b04..e18e5fd 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 bc4138c..2239d96 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -3533,15 +3533,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]);
+                               }
                        }
                }
 
-- 
2.1.4

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to