gallium/vl: don't set PIPE_HANDLE_USAGE_EXPLICIT_FLUSH
authorMarek Olšák <marek.olsak@amd.com>
Tue, 17 Sep 2019 22:22:08 +0000 (18:22 -0400)
committerMarek Olšák <marek.olsak@amd.com>
Tue, 24 Sep 2019 23:23:30 +0000 (19:23 -0400)
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>
src/gallium/auxiliary/vl/vl_winsys_dri3.c

index 56649654011121cbc5ae96d044a1b3ca9382b0dc..45a979e1bf6196d9c341138708ec2591d5f25fd6 100644 (file)
@@ -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;