vc4: Make sure thread end doesn't have a uniform read.

Prevents regression when I start doing copy propagation on uniforms.
This commit is contained in:
Eric Anholt 2014-09-16 17:24:03 -07:00
parent 44b8eb743d
commit 79be2cc383
1 changed files with 8 additions and 0 deletions

View File

@ -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);