summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/v3d
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2019-04-23 11:10:56 -0700
committerEric Anholt <[email protected]>2019-04-26 12:42:30 -0700
commit971a13d8050a37a19060f560833b63609c0e70d6 (patch)
tree264cf48bb3366b693706909bb6c3ed99ec34f851 /src/gallium/drivers/v3d
parent49071b2e3ff2a34b817483d38d286c04c8fa39cf (diff)
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).
Diffstat (limited to 'src/gallium/drivers/v3d')
-rw-r--r--src/gallium/drivers/v3d/v3d_screen.c10
1 files changed, 9 insertions, 1 deletions
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;