From: Alyssa Rosenzweig Date: Mon, 23 Dec 2019 17:24:03 +0000 (-0500) Subject: pan/midgard: Fix disassembler cycle/quadword counting X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a8beef332dbde0bb37d68bd2a53a00f9ad0c178d;p=mesa.git 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 --- 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) {