1
0
Fork 0

wayland/dma-buf: Take MetaWaylandBuffer in try_acquire_scanout

And do some minor variable order cleanup while on it.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3559>
This commit is contained in:
Robert Mader 2023-12-19 22:48:39 +01:00
parent 03c3b642bd
commit 03a98343d2
3 changed files with 22 additions and 19 deletions

View file

@ -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:

View file

@ -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++)
{

View file

@ -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);