panfrost/midgard: Include shader size for shader-db
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Tue, 9 Jul 2019 18:16:57 +0000 (11:16 -0700)
committerAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Wed, 10 Jul 2019 13:45:20 +0000 (06:45 -0700)
It's easy to forget about, but shader size does matter for things like
i-cache, so let's include it in the analysis.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
src/gallium/drivers/panfrost/midgard/midgard_compile.c

index 1e09e46218c5100252e7e1017f57e3c08a6b6b1f..a06318a5d93af7bda8d3c0e94b2acbb791a7efe0 100644 (file)
@@ -2859,7 +2859,7 @@ midgard_compile_shader_nir(nir_shader *nir, midgard_program *program, bool is_bl
                disassemble_midgard(program->compiled.data, program->compiled.size);
 
         if (midgard_debug & MIDGARD_DBG_SHADERDB) {
-                unsigned nr_bundles = 0, nr_ins = 0;
+                unsigned nr_bundles = 0, nr_ins = 0, nr_quadwords = 0;
 
                 /* Count instructions and bundles */
 
@@ -2870,6 +2870,8 @@ midgard_compile_shader_nir(nir_shader *nir, midgard_program *program, bool is_bl
                 mir_foreach_block(ctx, block) {
                         nr_bundles += util_dynarray_num_elements(
                                         &block->bundles, midgard_bundle);
+
+                        nr_quadwords += block->quadword_count;
                 }
 
                 /* Calculate thread count. There are certain cutoffs by
@@ -2885,11 +2887,11 @@ midgard_compile_shader_nir(nir_shader *nir, midgard_program *program, bool is_bl
                 /* Dump stats */
 
                 fprintf(stderr, "shader%d - %s shader: "
-                                "%u inst, %u bundles, "
+                                "%u inst, %u bundles, %u quadwords, "
                                 "%u registers, %u threads, %u loops\n",
                                 SHADER_DB_COUNT++,
                                 gl_shader_stage_name(ctx->stage),
-                                nr_ins, nr_bundles,
+                                nr_ins, nr_bundles, nr_quadwords,
                                 nr_registers, nr_threads,
                                 ctx->loop_count);
         }