diff options
author | Eric Anholt <eric@anholt.net> | 2020-12-17 12:30:16 -0800 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2020-12-18 02:22:45 +0000 |
commit | e4cdbeab814bdc2b468ec2375a74fc961a423213 (patch) | |
tree | 6ab7c23040bbe4bf79f4e75a88fd602ed0089d11 | |
parent | f740af27964ef148de94fd389edf736bb488bfd0 (diff) |
freedreno/a6xx: Flush depth at the end of bypass rendering, too.
We apparently don't have anything else making sure that it's flushed in
between use as a render target and use as a texture source, so bypass-mode
depth texture sampling could get stale data.
Fixes consistent (as far as I could see) failures in FD_MESA_DEBUG=nogmem
on:
dEQP-GLES31.functional.texture.multisample.samples_*.use_texture_depth_2d
dEQP-GLES31.functional.stencil_texturing.render.depth24_stencil8_draw
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8146>
-rw-r--r-- | .gitlab-ci/deqp-freedreno-a630-flakes.txt | 5 | ||||
-rw-r--r-- | src/gallium/drivers/freedreno/a6xx/fd6_gmem.c | 1 |
2 files changed, 1 insertions, 5 deletions
diff --git a/.gitlab-ci/deqp-freedreno-a630-flakes.txt b/.gitlab-ci/deqp-freedreno-a630-flakes.txt index 58c77cb678f..88ab1c1ea5a 100644 --- a/.gitlab-ci/deqp-freedreno-a630-flakes.txt +++ b/.gitlab-ci/deqp-freedreno-a630-flakes.txt @@ -25,11 +25,6 @@ dEQP-GLES31.functional.ssbo.atomic.compswap.mediump_uint # Non-sysmem flakes dEQP-VK.pipeline.spec_constant.compute.composite.matrix.mat3x2 -# Sysmem flakes -dEQP-GLES31.functional.texture.multisample.samples_3.use_texture_depth_2d -dEQP-GLES31.functional.texture.multisample.samples_4.use_texture_depth_2d_array -dEQP-GLES31.functional.stencil_texturing.render.depth24_stencil8_draw - # Fails NIR_VALIDATE so probably flaky dEQP-VK.memory_model.write_after_read.core11.u32.coherent.fence_fence.atomicwrite.workgroup.payload_nonlocal.workgroup.guard_local.buffer.comp diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_gmem.c b/src/gallium/drivers/freedreno/a6xx/fd6_gmem.c index c7105b05274..ed1d3c4af45 100644 --- a/src/gallium/drivers/freedreno/a6xx/fd6_gmem.c +++ b/src/gallium/drivers/freedreno/a6xx/fd6_gmem.c @@ -1435,6 +1435,7 @@ fd6_emit_sysmem_fini(struct fd_batch *batch) fd6_emit_lrz_flush(ring); fd6_event_write(batch, ring, PC_CCU_FLUSH_COLOR_TS, true); + fd6_event_write(batch, ring, PC_CCU_FLUSH_DEPTH_TS, true); } void |