diff --git a/wayland.c b/wayland.c index b0a56f6..d2ce9c5 100644 --- a/wayland.c +++ b/wayland.c @@ -242,6 +242,7 @@ static void egl_init(struct client_state *state) { EGL_GREEN_SIZE, 8, EGL_BLUE_SIZE, 8, EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, + EGL_MIN_SWAP_INTERVAL, 0, // make sure that swapping buffers don't block the thread EGL_NONE }; @@ -433,6 +434,9 @@ void swap_buffers(struct client_state *state, struct surface *surface) { printf("going to swap buffers 🐃🐃🐃: %p, surface: %p\n", &next->data, surface); if (&next->data == surface) { printf("swapping this buffer 🐃: %p\n", &next->data); + + // Set time after eglSwapBuffers. + eglSwapInterval(state->egl_display, 0); eglSwapBuffers(state->egl_display, next->data.egl_surface); // maybe unecessary TODO maybe really bad? //wl_display_dispatch(state->wl_display);