freedreno/a6xx: Emit a WFI after event writes flushing CCU.
authorEmma Anholt <emma@anholt.net>
Wed, 18 Aug 2021 17:08:15 +0000 (10:08 -0700)
committerMarge Bot <eric+marge@anholt.net>
Tue, 7 Sep 2021 18:14:30 +0000 (18:14 +0000)
commitedfff331b3241d1c18d5c589fcdf75728089c886
treec90ba536a47d0b311e4a1b112514ebc245445979
parent69e96cfc0d0b3f93b3fe2b2f60c7deff35eae769
freedreno/a6xx: Emit a WFI after event writes flushing CCU.

Following on from !12475, do the same CCU workaround for freedreno as
turnip is doing, so that we flush CCU correctly for when color/depth is
next read under a different cache domain from where it was written.

Fixes instability (particularly if the GPU is clocked up) on
dEQP-GLES3.functional.fbo.blit.depth_stencil.depth32f_stencil8* in bypass
mode on a630.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11481>
src/freedreno/ci/deqp-freedreno-a630-flakes.txt
src/gallium/drivers/freedreno/a6xx/fd6_blitter.c
src/gallium/drivers/freedreno/a6xx/fd6_draw.c
src/gallium/drivers/freedreno/a6xx/fd6_emit.c
src/gallium/drivers/freedreno/a6xx/fd6_gmem.c