wl-drm: don't store wlr_renderer

Query the formats at init time, then forget about the renderer.
This will allow wl_drm to be created with a list of formats instead
of a renderer, and will behave better after a GPU reset.
This commit is contained in:
Simon Ser 2022-12-02 14:33:02 +01:00 committed by Simon Zeni
parent c9b378d21a
commit f36a5915da
2 changed files with 26 additions and 24 deletions

View file

@ -10,6 +10,7 @@
#define WLR_TYPES_WLR_DRM_H
#include <wayland-server-protocol.h>
#include <wlr/render/drm_format_set.h>
struct wlr_renderer;
@ -30,15 +31,17 @@ struct wlr_drm_buffer {
*/
struct wlr_drm {
struct wl_global *global;
struct wlr_renderer *renderer;
char *node_name;
struct {
struct wl_signal destroy;
} events;
// private state
char *node_name;
struct wlr_drm_format_set formats;
struct wl_listener display_destroy;
struct wl_listener renderer_destroy;
};
bool wlr_drm_buffer_is_resource(struct wl_resource *resource);