diff --git a/src/wayland/meta-wayland-buffer.c b/src/wayland/meta-wayland-buffer.c index 40386ad79..6837ee1ca 100644 --- a/src/wayland/meta-wayland-buffer.c +++ b/src/wayland/meta-wayland-buffer.c @@ -928,13 +928,7 @@ meta_wayland_buffer_try_acquire_scanout (MetaWaylandBuffer *buffer, break; case META_WAYLAND_BUFFER_TYPE_DMA_BUF: { - MetaWaylandDmaBufBuffer *dma_buf; - - dma_buf = meta_wayland_dma_buf_from_buffer (buffer); - if (!dma_buf) - return NULL; - - scanout = meta_wayland_dma_buf_try_acquire_scanout (dma_buf, onscreen); + scanout = meta_wayland_dma_buf_try_acquire_scanout (buffer, onscreen); break; } case META_WAYLAND_BUFFER_TYPE_UNKNOWN: diff --git a/src/wayland/meta-wayland-dma-buf.c b/src/wayland/meta-wayland-dma-buf.c index f713c5968..ef8c540be 100644 --- a/src/wayland/meta-wayland-dma-buf.c +++ b/src/wayland/meta-wayland-dma-buf.c @@ -605,23 +605,32 @@ import_scanout_gbm_bo (MetaWaylandDmaBufBuffer *dma_buf, #endif CoglScanout * -meta_wayland_dma_buf_try_acquire_scanout (MetaWaylandDmaBufBuffer *dma_buf, - CoglOnscreen *onscreen) +meta_wayland_dma_buf_try_acquire_scanout (MetaWaylandBuffer *buffer, + CoglOnscreen *onscreen) { #ifdef HAVE_NATIVE_BACKEND - MetaContext *context = - meta_wayland_compositor_get_context (dma_buf->manager->compositor); - MetaBackend *backend = meta_context_get_backend (context); - MetaRenderer *renderer = meta_backend_get_renderer (backend); - MetaRendererNative *renderer_native = META_RENDERER_NATIVE (renderer); - int n_planes; + MetaWaylandDmaBufBuffer *dma_buf; + MetaContext *context; + MetaBackend *backend; + MetaRenderer *renderer; + MetaRendererNative *renderer_native; MetaDeviceFile *device_file; MetaGpuKms *gpu_kms; struct gbm_bo *gbm_bo; - gboolean use_modifier; + g_autoptr (MetaDrmBufferGbm) fb = NULL; g_autoptr (GError) error = NULL; MetaDrmBufferFlags flags; - g_autoptr (MetaDrmBufferGbm) fb = NULL; + gboolean use_modifier; + int n_planes; + + dma_buf = meta_wayland_dma_buf_from_buffer (buffer); + if (!dma_buf) + return NULL; + + context = meta_wayland_compositor_get_context (dma_buf->manager->compositor); + backend = meta_context_get_backend (context); + renderer = meta_backend_get_renderer (backend); + renderer_native = META_RENDERER_NATIVE (renderer); for (n_planes = 0; n_planes < META_WAYLAND_DMA_BUF_MAX_FDS; n_planes++) { diff --git a/src/wayland/meta-wayland-dma-buf.h b/src/wayland/meta-wayland-dma-buf.h index 1c03acb32..026e4837d 100644 --- a/src/wayland/meta-wayland-dma-buf.h +++ b/src/wayland/meta-wayland-dma-buf.h @@ -64,5 +64,5 @@ meta_wayland_dma_buf_create_source (MetaWaylandBuffer *buffer, gpointer user_data); CoglScanout * -meta_wayland_dma_buf_try_acquire_scanout (MetaWaylandDmaBufBuffer *dma_buf, - CoglOnscreen *onscreen); +meta_wayland_dma_buf_try_acquire_scanout (MetaWaylandBuffer *buffer, + CoglOnscreen *onscreen);