diff options
author | Tapani Pälli <tapani.palli@intel.com> | 2019-11-12 17:32:56 +0200 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2019-11-14 08:43:32 -0800 |
commit | 36fbe5b292b824844b8c21d3f12942c559138148 (patch) | |
tree | 8f1da49377243e6f8b5aed37da7ab3811a5bb223 /src | |
parent | 9445d96d5cce7aaa7c2b4c41735d85866da765e6 (diff) |
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@engestrom.ch>
Acked-by: Kristian H. Kristensen <hoegsberg@google.com>
(cherry picked from commit 7951eb146c1bb57c6d2231a9675046c535530b6a)
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/state_trackers/dri/dri2.c | 12 |
1 files 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; |