Skip to content
This repository has been archived by the owner on Nov 1, 2021. It is now read-only.

Commit

Permalink
Merge pull request #794 from emersion/renderer-untie-backend
Browse files Browse the repository at this point in the history
Untie wlr_backend from wlr_renderer
  • Loading branch information
ddevault authored Apr 1, 2018
2 parents 1b258ff + 33a2eb4 commit b60e31e
Show file tree
Hide file tree
Showing 10 changed files with 16 additions and 12 deletions.
2 changes: 1 addition & 1 deletion backend/drm/renderer.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ bool wlr_drm_renderer_init(struct wlr_drm_backend *drm,
goto error_gbm;
}

renderer->wlr_rend = wlr_gles2_renderer_create(&drm->backend);
renderer->wlr_rend = wlr_gles2_renderer_create(&renderer->egl);
if (!renderer->wlr_rend) {
wlr_log(L_ERROR, "Failed to create WLR renderer");
goto error_egl;
Expand Down
2 changes: 1 addition & 1 deletion backend/headless/backend.c
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ struct wlr_backend *wlr_headless_backend_create(struct wl_display *display) {
return NULL;
}

backend->renderer = wlr_gles2_renderer_create(&backend->backend);
backend->renderer = wlr_gles2_renderer_create(&backend->egl);
if (backend->renderer == NULL) {
wlr_log(L_ERROR, "Failed to create renderer");
}
Expand Down
2 changes: 1 addition & 1 deletion backend/wayland/backend.c
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ struct wlr_backend *wlr_wl_backend_create(struct wl_display *display, const char
backend->remote_display, NULL, WL_SHM_FORMAT_ARGB8888);
wlr_egl_bind_display(&backend->egl, backend->local_display);

backend->renderer = wlr_gles2_renderer_create(&backend->backend);
backend->renderer = wlr_gles2_renderer_create(&backend->egl);
if (backend->renderer == NULL) {
wlr_log_errno(L_ERROR, "Could not create renderer");
}
Expand Down
2 changes: 1 addition & 1 deletion backend/x11/backend.c
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,7 @@ struct wlr_backend *wlr_x11_backend_create(struct wl_display *display,
goto error_event;
}

x11->renderer = wlr_gles2_renderer_create(&x11->backend);
x11->renderer = wlr_gles2_renderer_create(&x11->egl);
if (x11->renderer == NULL) {
wlr_log(L_ERROR, "Failed to create renderer");
goto error_egl;
Expand Down
3 changes: 2 additions & 1 deletion examples/output-layout.c
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,8 @@ int main(int argc, char *argv[]) {
compositor.keyboard_key_cb = handle_keyboard_key;
compositor_init(&compositor);

state.renderer = wlr_gles2_renderer_create(compositor.backend);
struct wlr_egl *egl = wlr_backend_get_egl(compositor.backend);
state.renderer = wlr_gles2_renderer_create(egl);
state.cat_texture = wlr_texture_from_pixels(state.renderer,
WL_SHM_FORMAT_ABGR8888, cat_tex.width * 4, cat_tex.width, cat_tex.height,
cat_tex.pixel_data);
Expand Down
3 changes: 2 additions & 1 deletion examples/rotation.c
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,8 @@ int main(int argc, char *argv[]) {
compositor.keyboard_key_cb = handle_keyboard_key;
compositor_init(&compositor);

state.renderer = wlr_gles2_renderer_create(compositor.backend);
struct wlr_egl *egl = wlr_backend_get_egl(compositor.backend);
state.renderer = wlr_gles2_renderer_create(egl);
if (!state.renderer) {
wlr_log(L_ERROR, "Could not start compositor, OOM");
exit(EXIT_FAILURE);
Expand Down
3 changes: 2 additions & 1 deletion examples/tablet.c
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,8 @@ int main(int argc, char *argv[]) {
};
compositor_init(&compositor);

state.renderer = wlr_gles2_renderer_create(compositor.backend);
struct wlr_egl *egl = wlr_backend_get_egl(compositor.backend);
state.renderer = wlr_gles2_renderer_create(egl);
if (!state.renderer) {
wlr_log(L_ERROR, "Could not start compositor, OOM");
exit(EXIT_FAILURE);
Expand Down
3 changes: 2 additions & 1 deletion examples/touch.c
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,8 @@ int main(int argc, char *argv[]) {
};
compositor_init(&compositor);

state.renderer = wlr_gles2_renderer_create(compositor.backend);
struct wlr_egl *egl = wlr_backend_get_egl(compositor.backend);
state.renderer = wlr_gles2_renderer_create(egl);
if (!state.renderer) {
wlr_log(L_ERROR, "Could not start compositor, OOM");
exit(EXIT_FAILURE);
Expand Down
3 changes: 2 additions & 1 deletion include/wlr/render/gles2.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#include <wlr/render/wlr_renderer.h>

struct wlr_egl;
struct wlr_renderer *wlr_gles2_renderer_create(struct wlr_backend *backend);

struct wlr_renderer *wlr_gles2_renderer_create(struct wlr_egl *egl);

#endif
5 changes: 2 additions & 3 deletions render/gles2/renderer.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
#include <stdlib.h>
#include <wayland-server-protocol.h>
#include <wayland-util.h>
#include <wlr/backend.h>
#include <wlr/render/egl.h>
#include <wlr/render/interface.h>
#include <wlr/render/wlr_renderer.h>
Expand Down Expand Up @@ -400,15 +399,15 @@ extern const GLchar tex_fragment_src_rgba[];
extern const GLchar tex_fragment_src_rgbx[];
extern const GLchar tex_fragment_src_external[];

struct wlr_renderer *wlr_gles2_renderer_create(struct wlr_backend *backend) {
struct wlr_renderer *wlr_gles2_renderer_create(struct wlr_egl *egl) {
struct wlr_gles2_renderer *renderer =
calloc(1, sizeof(struct wlr_gles2_renderer));
if (renderer == NULL) {
return NULL;
}
wlr_renderer_init(&renderer->wlr_renderer, &renderer_impl);

renderer->egl = wlr_backend_get_egl(backend);
renderer->egl = egl;
wlr_egl_make_current(renderer->egl, EGL_NO_SURFACE, NULL);

renderer->exts_str = (const char*) glGetString(GL_EXTENSIONS);
Expand Down

0 comments on commit b60e31e

Please sign in to comment.