aboutsummaryrefslogtreecommitdiff
path: root/backend/backend.c
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2020-12-19 11:34:28 +0100
committerSimon Ser <contact@emersion.fr>2020-12-30 17:09:40 +0100
commit4b03bdc3ab0cb1a0296c4d48b125f15a07ca99bd (patch)
treeba92975fc0f6c3fe7d62bbf2af120ea865383e77 /backend/backend.c
parentbec1e6b149eb6a5eb470dd4eee6ba0aa57f1b590 (diff)
Remove wlr_create_renderer_func_t
This callback allowed compositors to customize the EGL config used by the renderer. However with renderer v6 EGL configs aren't used anymore. Instead, buffers are allocated via GBM and GL FBOs are rendered to. So customizing the EGL config is a no-op.
Diffstat (limited to 'backend/backend.c')
-rw-r--r--backend/backend.c42
1 files changed, 19 insertions, 23 deletions
diff --git a/backend/backend.c b/backend/backend.c
index 7df1cfbd..8163e203 100644
--- a/backend/backend.c
+++ b/backend/backend.c
@@ -87,9 +87,8 @@ static size_t parse_outputs_env(const char *name) {
return outputs;
}
-static struct wlr_backend *attempt_wl_backend(struct wl_display *display,
- wlr_renderer_create_func_t create_renderer_func) {
- struct wlr_backend *backend = wlr_wl_backend_create(display, NULL, create_renderer_func);
+static struct wlr_backend *attempt_wl_backend(struct wl_display *display) {
+ struct wlr_backend *backend = wlr_wl_backend_create(display, NULL);
if (backend == NULL) {
return NULL;
}
@@ -104,8 +103,8 @@ static struct wlr_backend *attempt_wl_backend(struct wl_display *display,
#if WLR_HAS_X11_BACKEND
static struct wlr_backend *attempt_x11_backend(struct wl_display *display,
- const char *x11_display, wlr_renderer_create_func_t create_renderer_func) {
- struct wlr_backend *backend = wlr_x11_backend_create(display, x11_display, create_renderer_func);
+ const char *x11_display) {
+ struct wlr_backend *backend = wlr_x11_backend_create(display, x11_display);
if (backend == NULL) {
return NULL;
}
@@ -120,8 +119,8 @@ static struct wlr_backend *attempt_x11_backend(struct wl_display *display,
#endif
static struct wlr_backend *attempt_headless_backend(
- struct wl_display *display, wlr_renderer_create_func_t create_renderer_func) {
- struct wlr_backend *backend = wlr_headless_backend_create(display, create_renderer_func);
+ struct wl_display *display) {
+ struct wlr_backend *backend = wlr_headless_backend_create(display);
if (backend == NULL) {
return NULL;
}
@@ -149,8 +148,7 @@ static struct wlr_backend *attempt_noop_backend(struct wl_display *display) {
}
static struct wlr_backend *attempt_drm_backend(struct wl_display *display,
- struct wlr_backend *backend, struct wlr_session *session,
- wlr_renderer_create_func_t create_renderer_func) {
+ struct wlr_backend *backend, struct wlr_session *session) {
struct wlr_device *gpus[8];
size_t num_gpus = wlr_session_find_gpus(session, 8, gpus);
struct wlr_backend *primary_drm = NULL;
@@ -158,7 +156,7 @@ static struct wlr_backend *attempt_drm_backend(struct wl_display *display,
for (size_t i = 0; i < num_gpus; ++i) {
struct wlr_backend *drm = wlr_drm_backend_create(display, session,
- gpus[i], primary_drm, create_renderer_func);
+ gpus[i], primary_drm);
if (!drm) {
wlr_log(WLR_ERROR, "Failed to create DRM backend");
continue;
@@ -176,15 +174,15 @@ static struct wlr_backend *attempt_drm_backend(struct wl_display *display,
static struct wlr_backend *attempt_backend_by_name(struct wl_display *display,
struct wlr_backend *backend, struct wlr_session **session,
- const char *name, wlr_renderer_create_func_t create_renderer_func) {
+ const char *name) {
if (strcmp(name, "wayland") == 0) {
- return attempt_wl_backend(display, create_renderer_func);
+ return attempt_wl_backend(display);
#if WLR_HAS_X11_BACKEND
} else if (strcmp(name, "x11") == 0) {
- return attempt_x11_backend(display, NULL, create_renderer_func);
+ return attempt_x11_backend(display, NULL);
#endif
} else if (strcmp(name, "headless") == 0) {
- return attempt_headless_backend(display, create_renderer_func);
+ return attempt_headless_backend(display);
} else if (strcmp(name, "noop") == 0) {
return attempt_noop_backend(display);
} else if (strcmp(name, "drm") == 0 || strcmp(name, "libinput") == 0) {
@@ -200,7 +198,7 @@ static struct wlr_backend *attempt_backend_by_name(struct wl_display *display,
if (strcmp(name, "libinput") == 0) {
return wlr_libinput_backend_create(display, *session);
} else {
- return attempt_drm_backend(display, backend, *session, create_renderer_func);
+ return attempt_drm_backend(display, backend, *session);
}
}
@@ -208,8 +206,7 @@ static struct wlr_backend *attempt_backend_by_name(struct wl_display *display,
return NULL;
}
-struct wlr_backend *wlr_backend_autocreate(struct wl_display *display,
- wlr_renderer_create_func_t create_renderer_func) {
+struct wlr_backend *wlr_backend_autocreate(struct wl_display *display) {
struct wlr_backend *backend = wlr_multi_backend_create(display);
struct wlr_multi_backend *multi = (struct wlr_multi_backend *)backend;
if (!backend) {
@@ -230,7 +227,7 @@ struct wlr_backend *wlr_backend_autocreate(struct wl_display *display,
char *name = strtok_r(names, ",", &saveptr);
while (name != NULL) {
struct wlr_backend *subbackend = attempt_backend_by_name(display,
- backend, &multi->session, name, create_renderer_func);
+ backend, &multi->session, name);
if (subbackend == NULL) {
wlr_log(WLR_ERROR, "failed to start backend '%s'", name);
wlr_session_destroy(multi->session);
@@ -255,8 +252,7 @@ struct wlr_backend *wlr_backend_autocreate(struct wl_display *display,
}
if (getenv("WAYLAND_DISPLAY") || getenv("WAYLAND_SOCKET")) {
- struct wlr_backend *wl_backend = attempt_wl_backend(display,
- create_renderer_func);
+ struct wlr_backend *wl_backend = attempt_wl_backend(display);
if (!wl_backend) {
goto error;
}
@@ -269,7 +265,7 @@ struct wlr_backend *wlr_backend_autocreate(struct wl_display *display,
const char *x11_display = getenv("DISPLAY");
if (x11_display) {
struct wlr_backend *x11_backend =
- attempt_x11_backend(display, x11_display, create_renderer_func);
+ attempt_x11_backend(display, x11_display);
if (!x11_backend) {
goto error;
}
@@ -297,8 +293,8 @@ struct wlr_backend *wlr_backend_autocreate(struct wl_display *display,
}
wlr_multi_backend_add(backend, libinput);
- struct wlr_backend *primary_drm = attempt_drm_backend(display, backend,
- multi->session, create_renderer_func);
+ struct wlr_backend *primary_drm =
+ attempt_drm_backend(display, backend, multi->session);
if (!primary_drm) {
wlr_log(WLR_ERROR, "Failed to open any DRM device");
wlr_backend_destroy(libinput);