From 92831412d95a1af33829d83a4d5cd0e33f5e3494 Mon Sep 17 00:00:00 2001 From: Andreas Baierl Date: Wed, 23 Sep 2020 16:59:19 +0200 Subject: [PATCH] lima: set clear depth value to 0x00ffffff as default According to the specs, the initial depth value for a depth buffer clear is 1. Use 0x00ffffff like the blob does. We can remove setting this value in lima_clear, because it's set during job creation now. Fixes the following dEQP tests: dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb565_depth_component16 dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb5_a1_depth_component16 dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb4_depth_component16 dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgba_depth_component16 dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgb_depth_component16 Reviewed-by: Vasily Khoruzhick Signed-off-by: Andreas Baierl Part-of: --- src/gallium/drivers/lima/lima_draw.c | 3 +-- src/gallium/drivers/lima/lima_job.c | 2 ++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/lima/lima_draw.c b/src/gallium/drivers/lima/lima_draw.c index 8b7a8680011..8737e5efaf5 100644 --- a/src/gallium/drivers/lima/lima_draw.c +++ b/src/gallium/drivers/lima/lima_draw.c @@ -175,8 +175,7 @@ lima_clear(struct pipe_context *pctx, unsigned buffers, const struct pipe_scisso clear->depth = util_pack_z(PIPE_FORMAT_Z24X8_UNORM, depth); if (zsbuf) zsbuf->reload &= ~PIPE_CLEAR_DEPTH; - } else - clear->depth = 0x00ffffff; + } if (buffers & PIPE_CLEAR_STENCIL) { clear->stencil = stencil; diff --git a/src/gallium/drivers/lima/lima_job.c b/src/gallium/drivers/lima/lima_job.c index 6d260f69812..bd56d29a377 100644 --- a/src/gallium/drivers/lima/lima_job.c +++ b/src/gallium/drivers/lima/lima_job.c @@ -100,6 +100,8 @@ lima_job_create(struct lima_context *ctx) s->damage_rect.minx = s->damage_rect.miny = 0xffff; s->damage_rect.maxx = s->damage_rect.maxy = 0; + s->clear.depth = 0x00ffffff; + for (int i = 0; i < 2; i++) { util_dynarray_init(s->gem_bos + i, s); util_dynarray_init(s->bos + i, s);