projects
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
44b8eb7
)
vc4: Make sure thread end doesn't have a uniform read.
author
Eric Anholt
<eric@anholt.net>
Wed, 17 Sep 2014 00:24:03 +0000
(17:24 -0700)
committer
Eric Anholt
<eric@anholt.net>
Wed, 17 Sep 2014 21:21:24 +0000
(14:21 -0700)
Prevents regression when I start doing copy propagation on uniforms.
src/gallium/drivers/vc4/vc4_qpu_emit.c
patch
|
blob
|
history
diff --git
a/src/gallium/drivers/vc4/vc4_qpu_emit.c
b/src/gallium/drivers/vc4/vc4_qpu_emit.c
index 6c4c76d3217e1fa28508b0737e1ff180ce23008e..592fab907850c913168394e860522168a9a5b28a 100644
(file)
--- a/
src/gallium/drivers/vc4/vc4_qpu_emit.c
+++ b/
src/gallium/drivers/vc4/vc4_qpu_emit.c
@@
-528,6
+528,14
@@
vc4_generate_code(struct vc4_compile *c)
serialize_one_inst(c, qpu_NOP());
}
+ /* thread end can't have uniform read */
+ if (QPU_GET_FIELD(c->qpu_insts[c->qpu_inst_count - 1],
+ QPU_RADDR_A) == QPU_R_UNIF ||
+ QPU_GET_FIELD(c->qpu_insts[c->qpu_inst_count - 1],
+ QPU_RADDR_B) == QPU_R_UNIF) {
+ serialize_one_inst(c, qpu_NOP());
+ }
+
c->qpu_insts[c->qpu_inst_count - 1] =
qpu_set_sig(c->qpu_insts[c->qpu_inst_count - 1],
QPU_SIG_PROG_END);