diff --git a/src/broadcom/compiler/nir_to_vir.c b/src/broadcom/compiler/nir_to_vir.c index 6ec20f8de08..4759f3b0e6b 100644 --- a/src/broadcom/compiler/nir_to_vir.c +++ b/src/broadcom/compiler/nir_to_vir.c @@ -324,6 +324,7 @@ ntq_add_pending_tmu_flush(struct v3d_compile *c, c->tmu.flush[c->tmu.flush_count].dest = dest; c->tmu.flush[c->tmu.flush_count].component_mask = component_mask; c->tmu.flush_count++; + c->tmu.total_count++; if (c->disable_tmu_pipelining) ntq_flush_tmu(c); diff --git a/src/broadcom/compiler/v3d_compiler.h b/src/broadcom/compiler/v3d_compiler.h index e803ba222bc..cc23376f514 100644 --- a/src/broadcom/compiler/v3d_compiler.h +++ b/src/broadcom/compiler/v3d_compiler.h @@ -645,6 +645,7 @@ struct v3d_compile { uint8_t component_mask; } flush[MAX_TMU_QUEUE_SIZE]; uint32_t flush_count; + uint32_t total_count; } tmu; /** @@ -919,6 +920,7 @@ struct v3d_prog_data { uint32_t spill_size; uint32_t tmu_spills; uint32_t tmu_fills; + uint32_t tmu_count; uint32_t qpu_read_stalls; diff --git a/src/broadcom/compiler/vir.c b/src/broadcom/compiler/vir.c index d253be2935a..02f2aacf3e0 100644 --- a/src/broadcom/compiler/vir.c +++ b/src/broadcom/compiler/vir.c @@ -855,6 +855,7 @@ v3d_set_prog_data(struct v3d_compile *c, prog_data->spill_size = c->spill_size; prog_data->tmu_spills = c->spills; prog_data->tmu_fills = c->fills; + prog_data->tmu_count = c->tmu.total_count; prog_data->qpu_read_stalls = c->qpu_inst_stalled_count; prog_data->compile_strategy_idx = c->compile_strategy_idx; prog_data->tmu_dirty_rcl = c->tmu_dirty_rcl;