aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2019-12-23 11:48:23 -0500
committerAlyssa Rosenzweig <[email protected]>2019-12-24 16:55:46 +0000
commitead35f586c0f3ff4eecf35c7c16739c16f8cca53 (patch)
tree4f70b398bd322ba9ee1e3e854664c1185fd10982
parent09671c8d68a0c72892a5ecac93414eb8350aa9b6 (diff)
pan/decode: Skip COMPUTE in blobber-db
The blob uses COMPUTE jobs for some internal purposes. These are essentially free but panfrost doesn't use them, so it messes up the numbering. Just filter them out. Signed-off-by: Alyssa Rosenzweig <[email protected]>
-rw-r--r--src/panfrost/pandecode/decode.c33
1 files changed, 19 insertions, 14 deletions
diff --git a/src/panfrost/pandecode/decode.c b/src/panfrost/pandecode/decode.c
index 27245e39df4..36f529494c5 100644
--- a/src/panfrost/pandecode/decode.c
+++ b/src/panfrost/pandecode/decode.c
@@ -1878,20 +1878,25 @@ pandecode_shader_disassemble(mali_ptr shader_ptr, int shader_no, int type,
MESA_SHADER_FRAGMENT : MESA_SHADER_VERTEX);
}
- /* Print shader-db stats */
-
- unsigned nr_threads =
- (stats.work_count <= 4) ? 4 :
- (stats.work_count <= 8) ? 2 :
- 1;
-
- printf("shader%d - %s shader: "
- "%u inst, %u bundles, %u quadwords, "
- "%u registers, %u threads, 0 loops\n\n\n",
- shader_id++,
- shader_type_for_job(type),
- stats.instruction_count, stats.bundle_count, stats.quadword_count,
- stats.work_count, nr_threads);
+ /* Print shader-db stats. Skip COMPUTE jobs since they are used for
+ * driver-internal purposes with the blob and interfere */
+
+ bool should_shaderdb = type != JOB_TYPE_COMPUTE;
+
+ if (should_shaderdb) {
+ unsigned nr_threads =
+ (stats.work_count <= 4) ? 4 :
+ (stats.work_count <= 8) ? 2 :
+ 1;
+
+ printf("shader%d - %s shader: "
+ "%u inst, %u bundles, %u quadwords, "
+ "%u registers, %u threads, 0 loops\n\n\n",
+ shader_id++,
+ shader_type_for_job(type),
+ stats.instruction_count, stats.bundle_count, stats.quadword_count,
+ stats.work_count, nr_threads);
+ }
return stats;