summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Brezillon <boris.brezillon@collabora.com>2021-05-17 14:51:11 +0200
committerMarge Bot <eric+marge@anholt.net>2021-06-22 14:07:33 +0000
commit20b22efdcb72ddadb1a64e6f4dcf4f1fe4ec5b29 (patch)
tree707a50a1702793011cc3bbde10500aa126499580
parent773bc1188bcc62b5badd0f6191df079b51cc49ea (diff)
pan/midg: Add a flag to dump internal shaders
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>
-rw-r--r--src/panfrost/midgard/midgard.h1
-rw-r--r--src/panfrost/midgard/midgard_compile.c7
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);