summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2018-12-26 12:54:58 -0800
committerEric Anholt <[email protected]>2018-12-30 08:05:11 -0800
commitf9bdce99668b62da6ae34e584cfea6f47b402687 (patch)
treeb1f504bc023999354f02d3f976b06123087ce22d
parentb36757448dd79a062347c377d4f65b94bfcfaad3 (diff)
v3d: Add a note for a potential performance win on multop/umul24.
Noticed while debugging a testcase.
-rw-r--r--src/broadcom/compiler/vir_to_qpu.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/broadcom/compiler/vir_to_qpu.c b/src/broadcom/compiler/vir_to_qpu.c
index 60d39063d53..c66bb84b3fc 100644
--- a/src/broadcom/compiler/vir_to_qpu.c
+++ b/src/broadcom/compiler/vir_to_qpu.c
@@ -241,6 +241,10 @@ v3d_generate_code_block(struct v3d_compile *c,
src[i] = temp_registers[index];
break;
case QFILE_UNIF:
+ /* XXX perf: If the last ldunif we emitted was
+ * the same uniform value, skip it. Common
+ * for multop/umul24 sequences.
+ */
if (!emitted_ldunif) {
new_ldunif_instr(qinst, i);
c->num_uniforms++;