diff options
author | Eric Anholt <[email protected]> | 2014-12-01 11:48:20 -0800 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2014-12-01 22:29:42 -0800 |
commit | 29c7cf2b2ba850cf467167548d53383e1338fd5c (patch) | |
tree | ff978d0d716844b991b5e235483efbc53f2c9e73 /src/gallium/drivers/vc4/vc4_qpu.h | |
parent | 7b0067d23a6f64cf83c42e7f11b2cd4100c569fe (diff) |
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.h | 2 |
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 bf41f72c34b..eb06d1a0720 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); |