From 20b22efdcb72ddadb1a64e6f4dcf4f1fe4ec5b29 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Mon, 17 May 2021 14:51:11 +0200 Subject: [PATCH] pan/midg: Add a flag to dump internal shaders Signed-off-by: Boris Brezillon Reviewed-by: Alyssa Rosenzweig Part-of: --- src/panfrost/midgard/midgard.h | 1 + src/panfrost/midgard/midgard_compile.c | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/panfrost/midgard/midgard.h b/src/panfrost/midgard/midgard.h index d553704f29f..82778e9df51 100644 --- a/src/panfrost/midgard/midgard.h +++ b/src/panfrost/midgard/midgard.h @@ -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; diff --git a/src/panfrost/midgard/midgard_compile.c b/src/panfrost/midgard/midgard_compile.c index 2d4d2697947..041e9586953 100644 --- a/src/panfrost/midgard/midgard_compile.c +++ b/src/panfrost/midgard/midgard_compile.c @@ -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);