pan/midg: Add a flag to dump internal shaders
authorBoris Brezillon <boris.brezillon@collabora.com>
Mon, 17 May 2021 12:51:11 +0000 (14:51 +0200)
committerMarge Bot <eric+marge@anholt.net>
Tue, 22 Jun 2021 14:07:33 +0000 (14:07 +0000)
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11139>

src/panfrost/midgard/midgard.h
src/panfrost/midgard/midgard_compile.c

index d553704..82778e9 100644 (file)
@@ -36,6 +36,7 @@
 #define MIDGARD_DBG_SHADERDB            0x0004
 #define MIDGARD_DBG_INORDER             0x0008
 #define MIDGARD_DBG_VERBOSE             0x0010
+#define MIDGARD_DBG_INTERNAL            0x0020
 
 extern int midgard_debug;
 
index 2d4d269..041e958 100644 (file)
@@ -60,6 +60,7 @@ static const struct debug_named_value midgard_debug_options[] = {
         {"shaderdb",  MIDGARD_DBG_SHADERDB,     "Prints shader-db statistics"},
         {"inorder",   MIDGARD_DBG_INORDER,      "Disables out-of-order scheduling"},
         {"verbose",   MIDGARD_DBG_VERBOSE,      "Dump shaders verbosely"},
+        {"internal",  MIDGARD_DBG_INTERNAL,     "Dump internal shaders"},
         DEBUG_NAMED_VALUE_END
 };
 
@@ -3108,7 +3109,8 @@ midgard_compile_shader_nir(nir_shader *nir,
 
         NIR_PASS_V(nir, pan_nir_reorder_writeout);
 
-        if ((midgard_debug & MIDGARD_DBG_SHADERS) && !nir->info.internal) {
+        if ((midgard_debug & MIDGARD_DBG_SHADERS) &&
+            ((midgard_debug & MIDGARD_DBG_INTERNAL) || !nir->info.internal)) {
                 nir_print_shader(nir, stdout);
         }
 
@@ -3228,7 +3230,8 @@ midgard_compile_shader_nir(nir_shader *nir,
         /* Report the very first tag executed */
         info->midgard.first_tag = midgard_get_first_tag_from_block(ctx, 0);
 
-        if ((midgard_debug & MIDGARD_DBG_SHADERS) && !nir->info.internal) {
+        if ((midgard_debug & MIDGARD_DBG_SHADERS) &&
+            ((midgard_debug & MIDGARD_DBG_INTERNAL) || !nir->info.internal)) {
                 disassemble_midgard(stdout, binary->data,
                                     binary->size, inputs->gpu_id,
                                     midgard_debug & MIDGARD_DBG_VERBOSE);