summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2015-01-12 09:14:41 +1300
committerEric Anholt <[email protected]>2015-01-15 22:19:25 +1300
commit0289a2620152528555cf9d37edf1616de47fea06 (patch)
treef7bf276361b31a952da9fd9aa8302719520f4bc6
parent772c47aefe96694c5f3fa354bd6792d137824700 (diff)
vc4: No turning unpack arguments into small immediates.
Since unpack only happens on things read from the A register file, we have to leave them as something that can be allocated to A (temp or uniform).
-rw-r--r--src/gallium/drivers/vc4/vc4_opt_small_immediates.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/vc4/vc4_opt_small_immediates.c b/src/gallium/drivers/vc4/vc4_opt_small_immediates.c
index 8b98ce3f182..74304b99888 100644
--- a/src/gallium/drivers/vc4/vc4_opt_small_immediates.c
+++ b/src/gallium/drivers/vc4/vc4_opt_small_immediates.c
@@ -79,6 +79,9 @@ qir_opt_small_immediates(struct vc4_compile *c)
continue;
}
+ if (qir_src_needs_a_file(inst))
+ continue;
+
uint32_t imm = c->uniform_data[src.index];
uint32_t small_imm = qpu_encode_small_immediate(imm);
if (small_imm == ~0)