Browse Source

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 <alyssa.rosenzweig@collabora.com>
master
Alyssa Rosenzweig 5 years ago
parent
commit
a8beef332d
1 changed files with 6 additions and 4 deletions
  1. 6
    4
      src/panfrost/midgard/disassemble.c

+ 6
- 4
src/panfrost/midgard/disassemble.c View File

@@ -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) {

Loading…
Cancel
Save