clients/simple-egl: call eglSwapInterval after eglMakeCurrent

If weston-simple-egl is run with the "-b" flag, it will attempt to set
the swap interval to 0 during create_surface. However, at that point, it
will not have made its EGLContext current yet, causing the
eglSwapInterval call to have no effect. To fix this, wait until the
EGLContext has been made current in init_gl before updating the swap
interval.

Signed-off-by: Erik Kurzinger <ekurzinger@nvidia.com>
dev
Erik Kurzinger 2 years ago
parent 646cc1b389
commit 8f1ca8204a
  1. 6
      clients/simple-egl.c

@ -303,6 +303,9 @@ init_gl(struct window *window)
window->egl_surface, window->display->egl.ctx); window->egl_surface, window->display->egl.ctx);
assert(ret == EGL_TRUE); assert(ret == EGL_TRUE);
if (!window->frame_sync)
eglSwapInterval(window->display->egl.dpy, 0);
frag = create_shader(window, frag_shader_text, GL_FRAGMENT_SHADER); frag = create_shader(window, frag_shader_text, GL_FRAGMENT_SHADER);
vert = create_shader(window, vert_shader_text, GL_VERTEX_SHADER); vert = create_shader(window, vert_shader_text, GL_VERTEX_SHADER);
@ -491,9 +494,6 @@ create_surface(struct window *window)
window->wait_for_configure = true; window->wait_for_configure = true;
wl_surface_commit(window->surface); wl_surface_commit(window->surface);
if (!window->frame_sync)
eglSwapInterval(display->egl.dpy, 0);
} }
static void static void

Loading…
Cancel
Save