aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2018-06-13 12:58:22 -0700
committerEric Anholt <[email protected]>2018-06-14 16:52:25 -0700
commit6784aa9870f688c0b4a2544b20fe223ec02365b1 (patch)
treecb6bdf3f21efa02967d5f2a2231516c5b78ed5e2
parent9080642449233b3421c2d140f75a3924277b7335 (diff)
v3d: Don't set the first_ez_state to DISABLED if after only UNDECIDED draws.
We need to have the RCL start with EZ enabled, since those undecided draws had EZ enabled. But we do need to update from UNDECIDED to LT or GT as necessary still. Fixes many simulator assertion fails in deqp fragment_ops/interaction/basic_shader/*
-rw-r--r--src/gallium/drivers/v3d/v3dx_draw.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/v3d/v3dx_draw.c b/src/gallium/drivers/v3d/v3dx_draw.c
index c89ebda2aad..97127a1b69b 100644
--- a/src/gallium/drivers/v3d/v3dx_draw.c
+++ b/src/gallium/drivers/v3d/v3dx_draw.c
@@ -371,7 +371,8 @@ v3d_update_job_ez(struct v3d_context *v3d, struct v3d_job *job)
job->ez_state = VC5_EZ_DISABLED;
}
- if (job->first_ez_state == VC5_EZ_UNDECIDED)
+ if (job->first_ez_state == VC5_EZ_UNDECIDED &&
+ (job->ez_state != VC5_EZ_DISABLED || job->draw_calls_queued == 0))
job->first_ez_state = job->ez_state;
}