mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-12-14 08:56:26 -05:00
backends: implement custom EGL and renderer initialization
Compositors now have more control over how the backend creates its renderer. Currently all backends create an EGL/GLES2 renderer, so the necessary attributes for creating the context are passed to a user-provided callback function. It is responsible for initializing provided wlr_egl and to return a renderer. On fail, return 0. Fixes #987
This commit is contained in:
parent
a0eb37e2ea
commit
24cf70ae96
22 changed files with 106 additions and 69 deletions
|
|
@ -284,7 +284,7 @@ int main(int argc, char *argv[]) {
|
|||
.clear_color = { 0.25f, 0.25f, 0.25f, 1 },
|
||||
.display = display,
|
||||
};
|
||||
struct wlr_backend *wlr = wlr_backend_autocreate(display);
|
||||
struct wlr_backend *wlr = wlr_backend_autocreate(display, NULL);
|
||||
if (!wlr) {
|
||||
exit(1);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -261,7 +261,7 @@ int main(int argc, char *argv[]) {
|
|||
state.layout = wlr_output_layout_create();
|
||||
clock_gettime(CLOCK_MONOTONIC, &state.ts_last);
|
||||
|
||||
struct wlr_backend *wlr = wlr_backend_autocreate(display);
|
||||
struct wlr_backend *wlr = wlr_backend_autocreate(display, NULL);
|
||||
if (!wlr) {
|
||||
exit(1);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -324,7 +324,7 @@ int main(int argc, char *argv[]) {
|
|||
.display = display
|
||||
};
|
||||
|
||||
struct wlr_backend *wlr = wlr_backend_autocreate(display);
|
||||
struct wlr_backend *wlr = wlr_backend_autocreate(display, NULL);
|
||||
if (!wlr) {
|
||||
exit(1);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -235,7 +235,7 @@ int main(int argc, char *argv[]) {
|
|||
};
|
||||
wl_list_init(&state.outputs);
|
||||
|
||||
struct wlr_backend *wlr = wlr_backend_autocreate(display);
|
||||
struct wlr_backend *wlr = wlr_backend_autocreate(display, NULL);
|
||||
if (!wlr) {
|
||||
exit(1);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@ int main() {
|
|||
.last_frame = { 0 },
|
||||
.display = display
|
||||
};
|
||||
struct wlr_backend *wlr = wlr_backend_autocreate(display);
|
||||
struct wlr_backend *wlr = wlr_backend_autocreate(display, NULL);
|
||||
if (!wlr) {
|
||||
exit(1);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -349,7 +349,7 @@ int main(int argc, char *argv[]) {
|
|||
};
|
||||
wl_list_init(&state.tablet_pads);
|
||||
wl_list_init(&state.tablet_tools);
|
||||
struct wlr_backend *wlr = wlr_backend_autocreate(display);
|
||||
struct wlr_backend *wlr = wlr_backend_autocreate(display, NULL);
|
||||
if (!wlr) {
|
||||
exit(1);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -244,7 +244,7 @@ int main(int argc, char *argv[]) {
|
|||
wl_list_init(&state.touch_points);
|
||||
wl_list_init(&state.touch);
|
||||
|
||||
struct wlr_backend *wlr = wlr_backend_autocreate(display);
|
||||
struct wlr_backend *wlr = wlr_backend_autocreate(display, NULL);
|
||||
if (!wlr) {
|
||||
exit(1);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue