derekf pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=44c69195d318c7680e7aa9f33d978117c5c8f0e5
commit 44c69195d318c7680e7aa9f33d978117c5c8f0e5 Author: Derek Foreman <[email protected]> Date: Tue Jan 3 17:07:54 2017 -0600 wayland_egl: Stop setting swap interval to 0 We have some "vsync" variable cargo culted from somewhere that is never properly set, so is always 0 because it's in a calloced structure. It's then used to set eglSwapInterval() to 0 always, which results in mesa using wl_display_sync() instead of wl_surface_frame() for its frame ready callback mechanism. Remove it entirely and use the sensible default swapinterval. --- src/modules/evas/engines/wayland_common/Evas_Engine_Wayland.h | 1 - src/modules/evas/engines/wayland_egl/evas_wl_main.c | 7 ------- 2 files changed, 8 deletions(-) diff --git a/src/modules/evas/engines/wayland_common/Evas_Engine_Wayland.h b/src/modules/evas/engines/wayland_common/Evas_Engine_Wayland.h index f2b4e51..9a6b964 100644 --- a/src/modules/evas/engines/wayland_common/Evas_Engine_Wayland.h +++ b/src/modules/evas/engines/wayland_common/Evas_Engine_Wayland.h @@ -27,7 +27,6 @@ struct _Evas_Engine_Info_Wayland Evas_Engine_Render_Mode render_mode; Evas *evas; - Eina_Bool vsync : 1; Eina_Bool indirect : 1; Eina_Bool www_avail : 1; diff --git a/src/modules/evas/engines/wayland_egl/evas_wl_main.c b/src/modules/evas/engines/wayland_egl/evas_wl_main.c index da0da95..a42ee32 100644 --- a/src/modules/evas/engines/wayland_egl/evas_wl_main.c +++ b/src/modules/evas/engines/wayland_egl/evas_wl_main.c @@ -516,13 +516,6 @@ eng_outbuf_flush(Outbuf *ob, Tilebuf_Rect *surface_damage, Tilebuf_Rect *buffer_ eng_window_use(ob); glsym_evas_gl_common_context_done(ob->gl_context); - if (!ob->vsync) - { - if (ob->info->vsync) eglSwapInterval(ob->egl_disp, 1); - else eglSwapInterval(ob->egl_disp, 0); - ob->vsync = EINA_TRUE; - } - if ((glsym_eglSwapBuffersWithDamage) && (surface_damage) && (ob->swap_mode != MODE_FULL)) { --
