From 971a13d8050a37a19060f560833b63609c0e70d6 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 23 Apr 2019 11:10:56 -0700 Subject: [PATCH] Revert "v3d: Disable PIPE_CAP_BLIT_BASED_TEXTURE_TRANSFER." This reverts commit ccce9409470c1053c40c822d759b9bd417062bc0, leaving a note as to why we had to (corruption in chromium, breaking some GLES3.1 tests). --- src/gallium/drivers/v3d/v3d_screen.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/v3d/v3d_screen.c b/src/gallium/drivers/v3d/v3d_screen.c index 0405882b6ff..6a2dc15179d 100644 --- a/src/gallium/drivers/v3d/v3d_screen.c +++ b/src/gallium/drivers/v3d/v3d_screen.c @@ -142,7 +142,15 @@ v3d_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return 0; case PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER: - return 0; + /* XXX perf: we don't want to emit these extra blits for + * glReadPixels(), since we still have to do an uncached read + * from the GPU of the result after waiting for the TFU blit + * to happen. However, disabling this introduces instability + * in + * dEQP-GLES31.functional.image_load_store.early_fragment_tests.* + * and corruption in chromium's rendering. + */ + return 1; case PIPE_CAP_COMPUTE: return screen->has_csd && screen->devinfo.ver >= 41; -- 2.30.2