summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2020-12-17 12:30:16 -0800
committerMarge Bot <eric+marge@anholt.net>2020-12-18 02:22:45 +0000
commite4cdbeab814bdc2b468ec2375a74fc961a423213 (patch)
tree6ab7c23040bbe4bf79f4e75a88fd602ed0089d11
parentf740af27964ef148de94fd389edf736bb488bfd0 (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.txt5
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_gmem.c1
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