Mesa (staging/19.3): Revert "st/dri: assume external consumers of back buffers can write to the buffers"

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Nov 14 17:02:58 UTC 2019


Module: Mesa
Branch: staging/19.3
Commit: 36fbe5b292b824844b8c21d3f12942c559138148
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=36fbe5b292b824844b8c21d3f12942c559138148

Author: Tapani Pälli <tapani.palli at intel.com>
Date:   Tue Nov 12 17:32:56 2019 +0200

Revert "st/dri: assume external consumers of back buffers can write to the buffers"

This reverts commit 1d1b4578211dcc69cfab8879d0cdafaba1eec948.

This series caused unexpected flickering artifacts with Iris driver on
Chrome OS and EGL_EXT_image_flush_external spec has not been published
yet.

Acked-by: Eric Engestrom <eric at engestrom.ch>
Acked-by: Kristian H. Kristensen <hoegsberg at google.com>
(cherry picked from commit 7951eb146c1bb57c6d2231a9675046c535530b6a)

---

 src/gallium/state_trackers/dri/dri2.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/gallium/state_trackers/dri/dri2.c b/src/gallium/state_trackers/dri/dri2.c
index 63e90bd3df0..01646228c19 100644
--- a/src/gallium/state_trackers/dri/dri2.c
+++ b/src/gallium/state_trackers/dri/dri2.c
@@ -1108,10 +1108,10 @@ dri2_query_image_by_resource_handle(__DRIimage *image, int attrib, int *value)
       return false;
    }
 
-   usage = PIPE_HANDLE_USAGE_FRAMEBUFFER_WRITE;
-
    if (image->use & __DRI_IMAGE_USE_BACKBUFFER)
-      usage |= PIPE_HANDLE_USAGE_EXPLICIT_FLUSH;
+      usage = PIPE_HANDLE_USAGE_EXPLICIT_FLUSH;
+   else
+      usage = PIPE_HANDLE_USAGE_FRAMEBUFFER_WRITE;
 
    if (!pscreen->resource_get_handle(pscreen, NULL, image->texture,
                                      &whandle, usage))
@@ -1194,10 +1194,10 @@ dri2_query_image_by_resource_param(__DRIimage *image, int attrib, int *value)
       return false;
    }
 
-   handle_usage = PIPE_HANDLE_USAGE_FRAMEBUFFER_WRITE;
-
    if (image->use & __DRI_IMAGE_USE_BACKBUFFER)
-      handle_usage |= PIPE_HANDLE_USAGE_EXPLICIT_FLUSH;
+      handle_usage = PIPE_HANDLE_USAGE_EXPLICIT_FLUSH;
+   else
+      handle_usage = PIPE_HANDLE_USAGE_FRAMEBUFFER_WRITE;
 
    if (!dri2_resource_get_param(image, param, handle_usage, &res_param))
       return false;




More information about the mesa-commit mailing list