summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2014-11-30 13:25:16 -0800
committerEric Anholt <[email protected]>2014-12-01 11:00:23 -0800
commita7b1a93137f4441822760f1cfe261065474163ab (patch)
treef6da4ee8328064dc53f6da5e0daf22da5e242e0f /src
parent2d5784c8254b4a0e3e04dd0f1e46ab1eb85612dd (diff)
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.
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/vc4/vc4_qpu_validate.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/gallium/drivers/vc4/vc4_qpu_validate.c b/src/gallium/drivers/vc4/vc4_qpu_validate.c
index 8fe5f41fcf2..16de82ae7b9 100644
--- a/src/gallium/drivers/vc4/vc4_qpu_validate.c
+++ b/src/gallium/drivers/vc4/vc4_qpu_validate.c
@@ -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;