summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2014-12-09 14:20:54 -0800
committerEric Anholt <[email protected]>2014-12-09 18:32:36 -0800
commitf431b4f110946a0f6e3822f870fbcd3d23c8317a (patch)
treecdd4a3962cdbc3d179dca9914de60289f453e65b /src
parentcff8c96a0d418f41e00aa97a13dc55e3ed213eb7 (diff)
vc4: Mark VPM read setup as impacting VPM reads, not writes.
Fixes assertion failures if we adjust scheduling priorities to emphasize VPM reads more.
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/vc4/vc4_qpu_schedule.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/gallium/drivers/vc4/vc4_qpu_schedule.c b/src/gallium/drivers/vc4/vc4_qpu_schedule.c
index 6bba66ad852..4bb9b3a5317 100644
--- a/src/gallium/drivers/vc4/vc4_qpu_schedule.c
+++ b/src/gallium/drivers/vc4/vc4_qpu_schedule.c
@@ -260,10 +260,16 @@ process_waddr_deps(struct schedule_state *state, struct schedule_node *n,
break;
case QPU_W_VPM:
- case QPU_W_VPMVCD_SETUP:
add_write_dep(state, &state->last_vpm, n);
break;
+ case QPU_W_VPMVCD_SETUP:
+ if (is_a)
+ add_write_dep(state, &state->last_vpm_read, n);
+ else
+ add_write_dep(state, &state->last_vpm, n);
+ break;
+
case QPU_W_SFU_RECIP:
case QPU_W_SFU_RECIPSQRT:
case QPU_W_SFU_EXP: