aboutsummaryrefslogtreecommitdiff
path: root/backend/headless
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2018-03-20 23:10:42 +0100
committeremersion <contact@emersion.fr>2018-03-21 07:37:09 +0100
commit3581573bdcbe3c905eae83af53cccbcdd52edad2 (patch)
tree41290d6330facfe127b0a9ab4107bff364dc1967 /backend/headless
parent95e86e675a7eef326958ab9047ff4ca0d0182cfc (diff)
render/gles2: make wlr_renderer_begin take viewport size
This allows raw GL calls outside wlr_renderer to be removed.
Diffstat (limited to 'backend/headless')
-rw-r--r--backend/headless/output.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/backend/headless/output.c b/backend/headless/output.c
index 6ce8fc35..4746d2f2 100644
--- a/backend/headless/output.c
+++ b/backend/headless/output.c
@@ -1,8 +1,8 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
-#include <GLES2/gl2.h>
#include <stdlib.h>
#include <wlr/interfaces/wlr_output.h>
+#include <wlr/render/wlr_renderer.h>
#include <wlr/util/log.h>
#include "backend/headless.h"
#include "util/signal.h"
@@ -120,16 +120,14 @@ struct wlr_output *wlr_headless_add_output(struct wlr_backend *wlr_backend,
snprintf(wlr_output->name, sizeof(wlr_output->name), "HEADLESS-%d",
wl_list_length(&backend->outputs) + 1);
- if (!eglMakeCurrent(output->backend->egl.display,
- output->egl_surface, output->egl_surface,
- output->backend->egl.context)) {
- wlr_log(L_ERROR, "eglMakeCurrent failed: %s", egl_error());
+ if (!wlr_egl_make_current(&output->backend->egl, output->egl_surface,
+ NULL)) {
goto error;
}
- glViewport(0, 0, wlr_output->width, wlr_output->height);
- glClearColor(1.0, 1.0, 1.0, 1.0);
- glClear(GL_COLOR_BUFFER_BIT);
+ wlr_renderer_begin(backend->renderer, wlr_output->width, wlr_output->height);
+ wlr_renderer_clear(backend->renderer, (float[]){ 1.0, 1.0, 1.0, 1.0 });
+ wlr_renderer_end(backend->renderer);
struct wl_event_loop *ev = wl_display_get_event_loop(backend->display);
output->frame_timer = wl_event_loop_add_timer(ev, signal_frame, output);