freedreno: Work around UBWC flakiness.
authorEric Anholt <eric@anholt.net>
Mon, 23 Mar 2020 21:55:50 +0000 (14:55 -0700)
committerMarge Bot <eric+marge@anholt.net>
Mon, 30 Mar 2020 21:48:59 +0000 (21:48 +0000)
commit92afe94d28b8e6cb016fdbb59e415ec7257f5512
tree1f00397c3816921cbddfa32cd41a27d68f64d0d6
parentd0b3ccb06076c921e60afbf0810b3b50bbce39e4
freedreno: Work around UBWC flakiness.

In trying to track down the new failure in #2670, I found that I could get
the flaky test set down to 4 tests, and dropping any remaining test
wouldn't trigger the failure (a bad 8x4 block in the middle of
dEQP-GLES3.functional.fbo.msaa.4_samples.r16f's render target).  Disabling
gmem or bypass didn't help, and adding lots of CCU flushing didn't help.
What did help was disabling blitting, or this memset to initialize the
UBWC area after we (presumably) pull a BO out of the BO cache.  My guess
is that the 2D blitter can't handle some rare set of state in the flags
buffer and emits some garbage.

I've run 8 gles3 and 7 gles31 runs with this branch now so hopefully I've got the4 right set of flakes marked for removal.

Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2670
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4290>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4290>
.gitlab-ci/deqp-freedreno-a630-skips.txt
src/gallium/drivers/freedreno/freedreno_resource.c