backend: remove wlr_backend_get_renderer

master
Simon Zeni 3 years ago
parent d1ebd52ab2
commit fdf3169b41

@ -45,9 +45,6 @@ void wlr_backend_init(struct wlr_backend *backend,
void wlr_backend_finish(struct wlr_backend *backend) { void wlr_backend_finish(struct wlr_backend *backend) {
wlr_signal_emit_safe(&backend->events.destroy, backend); wlr_signal_emit_safe(&backend->events.destroy, backend);
if (backend->has_own_renderer) {
wlr_renderer_destroy(backend->renderer);
}
} }
bool wlr_backend_start(struct wlr_backend *backend) { bool wlr_backend_start(struct wlr_backend *backend) {
@ -69,36 +66,6 @@ void wlr_backend_destroy(struct wlr_backend *backend) {
} }
} }
static bool backend_create_renderer(struct wlr_backend *backend) {
if (backend->renderer != NULL) {
return true;
}
backend->renderer = wlr_renderer_autocreate(backend);
if (backend->renderer == NULL) {
return false;
}
backend->has_own_renderer = true;
return true;
}
struct wlr_renderer *wlr_backend_get_renderer(struct wlr_backend *backend) {
if (backend->impl->get_renderer) {
return backend->impl->get_renderer(backend);
}
if (backend_get_buffer_caps(backend) != 0) {
// If the backend is capable of presenting buffers, automatically create
// the renderer if necessary.
if (!backend_create_renderer(backend)) {
wlr_log(WLR_ERROR, "Failed to create backend renderer");
return NULL;
}
return backend->renderer;
}
return NULL;
}
struct wlr_session *wlr_backend_get_session(struct wlr_backend *backend) { struct wlr_session *wlr_backend_get_session(struct wlr_backend *backend) {
if (backend->impl->get_session) { if (backend->impl->get_session) {
return backend->impl->get_session(backend); return backend->impl->get_session(backend);

@ -25,11 +25,6 @@ struct wlr_backend {
/** Raised when new outputs are added, passed the wlr_output */ /** Raised when new outputs are added, passed the wlr_output */
struct wl_signal new_output; struct wl_signal new_output;
} events; } events;
// Private state
bool has_own_renderer;
struct wlr_renderer *renderer;
}; };
/** /**
@ -49,10 +44,6 @@ bool wlr_backend_start(struct wlr_backend *backend);
* automatically when the wl_display is destroyed. * automatically when the wl_display is destroyed.
*/ */
void wlr_backend_destroy(struct wlr_backend *backend); void wlr_backend_destroy(struct wlr_backend *backend);
/**
* Obtains the wlr_renderer reference this backend is using.
*/
struct wlr_renderer *wlr_backend_get_renderer(struct wlr_backend *backend);
/** /**
* Obtains the wlr_session reference from this backend if there is any. * Obtains the wlr_session reference from this backend if there is any.
* Might return NULL for backends that don't use a session. * Might return NULL for backends that don't use a session.

@ -16,7 +16,6 @@
struct wlr_backend_impl { struct wlr_backend_impl {
bool (*start)(struct wlr_backend *backend); bool (*start)(struct wlr_backend *backend);
void (*destroy)(struct wlr_backend *backend); void (*destroy)(struct wlr_backend *backend);
struct wlr_renderer *(*get_renderer)(struct wlr_backend *backend);
struct wlr_session *(*get_session)(struct wlr_backend *backend); struct wlr_session *(*get_session)(struct wlr_backend *backend);
clockid_t (*get_presentation_clock)(struct wlr_backend *backend); clockid_t (*get_presentation_clock)(struct wlr_backend *backend);
int (*get_drm_fd)(struct wlr_backend *backend); int (*get_drm_fd)(struct wlr_backend *backend);

Loading…
Cancel
Save