From: Marek Olšák Date: Tue, 17 Sep 2019 22:22:08 +0000 (-0400) Subject: gallium/vl: don't set PIPE_HANDLE_USAGE_EXPLICIT_FLUSH X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f52afdf67274d58951124b20a42fe932a5deda4d;p=mesa.git 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 --- 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;