backend: remove wlr_backend_get_renderer
This commit is contained in:
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…
Reference in New Issue