From aa29075493220890e8e6b23fa5db0193dc92e1e1 Mon Sep 17 00:00:00 2001 From: Trigger Huang Date: Fri, 24 Apr 2026 13:56:26 +0800 Subject: [PATCH] renderer-gl: Save all the DMA buffers Save all the DMA buffers for restore. Signed-off-by: Trigger Huang --- libweston/renderer-gl/gl-renderer-internal.h | 1 + libweston/renderer-gl/gl-renderer.c | 2 ++ 2 files changed, 3 insertions(+) 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)