summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/vc4/vc4_qpu.h
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2014-12-01 11:48:20 -0800
committerEric Anholt <eric@anholt.net>2014-12-01 22:29:42 -0800
commit29c7cf2b2ba850cf467167548d53383e1338fd5c (patch)
treeff978d0d716844b991b5e235483efbc53f2c9e73 /src/gallium/drivers/vc4/vc4_qpu.h
parent7b0067d23a6f64cf83c42e7f11b2cd4100c569fe (diff)
downloadexternal_mesa3d-29c7cf2b2ba850cf467167548d53383e1338fd5c.zip
external_mesa3d-29c7cf2b2ba850cf467167548d53383e1338fd5c.tar.gz
external_mesa3d-29c7cf2b2ba850cf467167548d53383e1338fd5c.tar.bz2
vc4: Pair up QPU instructions when scheduling.
We've got two mostly-independent operations in each QPU instruction, so try to pack two operations together. This is fairly naive (doesn't track read and write separately in instructions, doesn't convert ADD-based MOVs into MUL-based movs, doesn't reorder across uniform loads), but does show a decent improvement on shader-db-2. total instructions in shared programs: 59583 -> 57651 (-3.24%) instructions in affected programs: 47361 -> 45429 (-4.08%)
Diffstat (limited to 'src/gallium/drivers/vc4/vc4_qpu.h')
-rw-r--r--src/gallium/drivers/vc4/vc4_qpu.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/drivers/vc4/vc4_qpu.h b/src/gallium/drivers/vc4/vc4_qpu.h
index bf41f72..eb06d1a 100644
--- a/src/gallium/drivers/vc4/vc4_qpu.h
+++ b/src/gallium/drivers/vc4/vc4_qpu.h
@@ -129,7 +129,7 @@ uint64_t qpu_a_alu2(enum qpu_op_add op, struct qpu_reg dst,
struct qpu_reg src0, struct qpu_reg src1);
uint64_t qpu_m_alu2(enum qpu_op_mul op, struct qpu_reg dst,
struct qpu_reg src0, struct qpu_reg src1);
-uint64_t qpu_inst(uint64_t add, uint64_t mul);
+uint64_t qpu_merge_inst(uint64_t a, uint64_t b);
uint64_t qpu_load_imm_ui(struct qpu_reg dst, uint32_t val);
uint64_t qpu_set_sig(uint64_t inst, uint32_t sig);
uint64_t qpu_set_cond_add(uint64_t inst, uint32_t cond);