summaryrefslogtreecommitdiffstats
path: root/src/broadcom
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2019-01-02 17:34:11 -0800
committerEric Anholt <[email protected]>2019-01-04 15:26:19 -0800
commite1385e879d5b6e80dc5572eb987ef773431fba27 (patch)
tree93670b4ee1c1f08e1167c680569572edcfa9a439 /src/broadcom
parentbbf9ee9b18b5917632e6bb74e5859398e6cea224 (diff)
v3d: Reinstate the new shader-db output after v3d_compile() refactor.
I misplaced it in the rebase conflicts.
Diffstat (limited to 'src/broadcom')
-rw-r--r--src/broadcom/compiler/vir.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/broadcom/compiler/vir.c b/src/broadcom/compiler/vir.c
index 8cf45630c4b..2f32359f384 100644
--- a/src/broadcom/compiler/vir.c
+++ b/src/broadcom/compiler/vir.c
@@ -961,7 +961,24 @@ uint64_t *v3d_compile(const struct v3d_compiler *compiler,
v3d_set_prog_data(c, prog_data);
*out_prog_data = prog_data;
- return v3d_return_qpu_insts(c, final_assembly_size);
+
+ char *shaderdb;
+ int ret = asprintf(&shaderdb,
+ "%s shader: %d inst, %d threads, %d loops, "
+ "%d uniforms, %d:%d spills:fills",
+ vir_get_stage_name(c),
+ c->qpu_inst_count,
+ c->threads,
+ c->loops,
+ c->num_uniforms,
+ c->spills,
+ c->fills);
+ if (ret >= 0) {
+ c->debug_output(shaderdb, c->debug_output_data);
+ free(shaderdb);
+ }
+
+ return v3d_return_qpu_insts(c, final_assembly_size);
}
void