Mesa (master): Revert "v3d: Disable PIPE_CAP_BLIT_BASED_TEXTURE_TRANSFER."

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Apr 26 19:44:09 UTC 2019


Module: Mesa
Branch: master
Commit: 971a13d8050a37a19060f560833b63609c0e70d6
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=971a13d8050a37a19060f560833b63609c0e70d6

Author: Eric Anholt <eric at anholt.net>
Date:   Tue Apr 23 11:10:56 2019 -0700

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;




More information about the mesa-commit mailing list