aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/v3d/v3dx_draw.c
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 /src/gallium/drivers/v3d/v3dx_draw.c
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/*
Diffstat (limited to 'src/gallium/drivers/v3d/v3dx_draw.c')
-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;
}