From: Eric Anholt Date: Wed, 13 Jun 2018 19:58:22 +0000 (-0700) Subject: v3d: Don't set the first_ez_state to DISABLED if after only UNDECIDED draws. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6784aa9870f688c0b4a2544b20fe223ec02365b1;p=mesa.git 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/* --- 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; }