renderer-gl: Add interface to set recovering status

Expose a small recovery-state hook so the compositor and DRM backend can
coordinate renderer rebuilds without duplicating GL renderer internals.

Signed-off-by: Trigger Huang <Trigger.Huang@amd.com>
This commit is contained in:
Trigger Huang 2026-04-23 13:19:02 +08:00
parent f12af17337
commit 14e8560a58
3 changed files with 12 additions and 0 deletions

View file

@ -540,6 +540,7 @@ struct gl_renderer {
int max_combined_texture_image_units;
bool blend_state;
bool recovering;
struct wl_list dmabuf_images;
struct wl_list dmabuf_formats;

View file

@ -5730,11 +5730,20 @@ gl_renderer_setup(struct weston_compositor *ec)
return 0;
}
static void
gl_renderer_set_recovering(struct weston_compositor *ec, bool recovering)
{
struct gl_renderer *gr = get_renderer(ec);
gr->recovering = recovering;
}
WL_EXPORT struct gl_renderer_interface gl_renderer_interface = {
.display_create = gl_renderer_display_create,
.output_window_create = gl_renderer_output_window_create,
.get_supported_rendering_formats = gl_renderer_get_supported_rendering_formats,
.output_fbo_create = gl_renderer_output_fbo_create,
.output_destroy = gl_renderer_output_destroy,
.set_recovering = gl_renderer_set_recovering,
.create_fence_fd = gl_renderer_create_fence_fd,
};

View file

@ -184,6 +184,8 @@ struct gl_renderer_interface {
void (*output_destroy)(struct weston_output *output);
void (*set_recovering)(struct weston_compositor *ec, bool recovering);
/* Create fence sync FD to wait for GPU rendering.
*
* Return FD on success, -1 on failure or unsupported