summaryrefslogtreecommitdiffstats
path: root/src/panfrost/midgard/disassemble.c
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2019-12-23 12:24:03 -0500
committerAlyssa Rosenzweig <[email protected]>2019-12-24 16:55:46 +0000
commita8beef332dbde0bb37d68bd2a53a00f9ad0c178d (patch)
tree24d25402617091903963f46a30acdab2fb1c2513 /src/panfrost/midgard/disassemble.c
parent0cc6e33537a51cba97e5b51d11161b7438c562dc (diff)
pan/midgard: Fix disassembler cycle/quadword counting
Due to the succeeding break we would fall into some off-by-one errors. These should be resolved now. Signed-off-by: Alyssa Rosenzweig <[email protected]>
Diffstat (limited to 'src/panfrost/midgard/disassemble.c')
-rw-r--r--src/panfrost/midgard/disassemble.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/panfrost/midgard/disassemble.c b/src/panfrost/midgard/disassemble.c
index 0b4dc72be9f..cfce1110318 100644
--- a/src/panfrost/midgard/disassemble.c
+++ b/src/panfrost/midgard/disassemble.c
@@ -1543,6 +1543,12 @@ disassemble_midgard(uint8_t *code, size_t size, unsigned gpu_id, gl_shader_stage
break;
}
+ /* We are parsing per bundle anyway. Add before we start
+ * breaking out so we don't miss the final bundle. */
+
+ midg_stats.bundle_count++;
+ midg_stats.quadword_count += num_quad_words;
+
if (prefetch_flag && midgard_word_types[tag] == midgard_word_type_alu)
break;
@@ -1550,10 +1556,6 @@ disassemble_midgard(uint8_t *code, size_t size, unsigned gpu_id, gl_shader_stage
unsigned next = (words[i] & 0xF0) >> 4;
- /* We are parsing per bundle anyway */
- midg_stats.bundle_count++;
- midg_stats.quadword_count += num_quad_words;
-
/* Break based on instruction prefetch flag */
if (i < num_words && next == 1) {