From a7b1a93137f4441822760f1cfe261065474163ab Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Sun, 30 Nov 2014 13:25:16 -0800 Subject: [PATCH] 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. --- src/gallium/drivers/vc4/vc4_qpu_validate.c | 7 ++++--- 1 file 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; -- 2.30.2