From 6784aa9870f688c0b4a2544b20fe223ec02365b1 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 13 Jun 2018 12:58:22 -0700 Subject: [PATCH] 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/* --- src/gallium/drivers/v3d/v3dx_draw.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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; } -- 2.11.0