mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 17:30:12 +01:00
vc4: Make sure that we don't overwrite the signal for PROG_END.
We should have already emitted a NOP due to the last instruction being a TLB or VPM write. However, if you disable dead code elimination then you might get dead code at the end, and that dead code might have the signal bits set to something non-default, at which point you die in assertion failure.
This commit is contained in:
parent
44de03b0f8
commit
1387e722cd
1 changed files with 8 additions and 0 deletions
|
|
@ -510,6 +510,14 @@ vc4_generate_code(struct vc4_context *vc4, struct vc4_compile *c)
|
|||
if (qpu_inst_is_tlb(c->qpu_insts[c->qpu_inst_count - 1]))
|
||||
qpu_serialize_one_inst(c, qpu_NOP());
|
||||
|
||||
/* Make sure there's no existing signal set (like for a small
|
||||
* immediate)
|
||||
*/
|
||||
if (QPU_GET_FIELD(c->qpu_insts[c->qpu_inst_count - 1],
|
||||
QPU_SIG) != QPU_SIG_NONE) {
|
||||
qpu_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);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue