vc4: Fix assertion about SFU versus texturing.

We're supposed to be checking that nothing else writes r4, which is done
by the TMU result collection signal, not the coordinate setup.

Avoids a regression when QPU instruction scheduling is introduced.
This commit is contained in:
Eric Anholt 2014-11-30 13:25:16 -08:00
parent 2d5784c825
commit a7b1a93137

View file

@ -202,12 +202,13 @@ vc4_qpu_validate(uint64_t *insts, uint32_t num_inst)
int last_sfu_inst = -10;
for (int i = 0; i < num_inst - 1; i++) {
uint64_t inst = insts[i];
uint32_t sig = QPU_GET_FIELD(inst, QPU_SIG);
assert(i - last_sfu_inst > 2 ||
(!writes_sfu(inst) &&
!writes_reg(inst, QPU_W_TMU0_S) &&
!writes_reg(inst, QPU_W_TMU1_S) &&
QPU_GET_FIELD(inst, QPU_SIG) != QPU_SIG_COLOR_LOAD));
sig != QPU_SIG_LOAD_TMU0 &&
sig != QPU_SIG_LOAD_TMU1 &&
sig != QPU_SIG_COLOR_LOAD));
if (writes_sfu(inst))
last_sfu_inst = i;