diff options
author | Alyssa Rosenzweig <[email protected]> | 2019-12-23 11:48:23 -0500 |
---|---|---|
committer | Alyssa Rosenzweig <[email protected]> | 2019-12-24 16:55:46 +0000 |
commit | ead35f586c0f3ff4eecf35c7c16739c16f8cca53 (patch) | |
tree | 4f70b398bd322ba9ee1e3e854664c1185fd10982 | |
parent | 09671c8d68a0c72892a5ecac93414eb8350aa9b6 (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.c | 33 |
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; |