summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2019-09-17 18:22:08 -0400
committerMarek Olšák <marek.olsak@amd.com>2019-09-24 19:23:30 -0400
commitf52afdf67274d58951124b20a42fe932a5deda4d (patch)
tree33dc40b6ef10c6a2f614ffc2dd672b9b22c1fb7f
parent783fae2a1fcb61c92717921108cad7ef78daa36a (diff)
gallium/vl: don't set PIPE_HANDLE_USAGE_EXPLICIT_FLUSH
because vl doesn't call flush_resource and I wasn't able to find all places where flush_resource needs to be called. This fixes corrupted / unflushed surfaces with fullscreen videos on Raven. Cc: 19.1 19.2 <mesa-stable@lists.freedesktop.org>
-rw-r--r--src/gallium/auxiliary/vl/vl_winsys_dri3.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/gallium/auxiliary/vl/vl_winsys_dri3.c b/src/gallium/auxiliary/vl/vl_winsys_dri3.c
index 56649654011..45a979e1bf6 100644
--- a/src/gallium/auxiliary/vl/vl_winsys_dri3.c
+++ b/src/gallium/auxiliary/vl/vl_winsys_dri3.c
@@ -221,7 +221,6 @@ dri3_alloc_back_buffer(struct vl_dri3_screen *scrn)
int buffer_fd, fence_fd;
struct pipe_resource templ, *pixmap_buffer_texture;
struct winsys_handle whandle;
- unsigned usage;
buffer = CALLOC_STRUCT(vl_dri3_buffer);
if (!buffer)
@@ -271,10 +270,8 @@ dri3_alloc_back_buffer(struct vl_dri3_screen *scrn)
}
memset(&whandle, 0, sizeof(whandle));
whandle.type= WINSYS_HANDLE_TYPE_FD;
- usage = PIPE_HANDLE_USAGE_EXPLICIT_FLUSH;
scrn->base.pscreen->resource_get_handle(scrn->base.pscreen, NULL,
- pixmap_buffer_texture, &whandle,
- usage);
+ pixmap_buffer_texture, &whandle, 0);
buffer_fd = whandle.handle;
buffer->pitch = whandle.stride;
buffer->width = templ.width0;