diff --git a/libweston/renderer-gl/gl-renderer-internal.h b/libweston/renderer-gl/gl-renderer-internal.h index 8cdfb7a99..344dca361 100644 --- a/libweston/renderer-gl/gl-renderer-internal.h +++ b/libweston/renderer-gl/gl-renderer-internal.h @@ -542,6 +542,7 @@ struct gl_renderer { bool blend_state; bool recovering; + struct wl_list dma_bufs; struct wl_list shm_bufs; struct wl_list dmabuf_images; struct wl_list dmabuf_formats; diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c index bbb683823..61c32a69d 100644 --- a/libweston/renderer-gl/gl-renderer.c +++ b/libweston/renderer-gl/gl-renderer.c @@ -4304,6 +4304,7 @@ gl_renderer_import_dmabuf(struct weston_compositor *ec, if (!gb) return false; + wl_list_insert(&gr->dma_bufs, &gb->link); linux_dmabuf_buffer_set_user_data(dmabuf, gb, gl_renderer_destroy_dmabuf); @@ -5545,6 +5546,7 @@ gl_renderer_display_create(struct weston_compositor *ec, ec->renderer = &gr->base; wl_signal_init(&gr->destroy_signal); + wl_list_init(&gr->dma_bufs); wl_list_init(&gr->shm_bufs); if (gl_renderer_init_context(ec, options) < 0)