[evas gl] does not use frame callback on gl backend 12/85612/2
authorJoogab Yun <joogab.yun@samsung.com>
Fri, 26 Aug 2016 06:09:12 +0000 (15:09 +0900)
committerGerrit Code Review <gerrit@review.vlan103.tizen.org>
Fri, 2 Sep 2016 04:38:43 +0000 (21:38 -0700)
          because evas wait so long for frame callback after
eglSwapBuffers.
          This cause the performance decline.
          but It is still necessary in the sw backend for render sync
          so, I modified only gl backend

Change-Id: I4c5d4d1f169e936a7ef0901d54d3782ba1f7c624

src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index fcba9a2..1d32ac0
@@ -1727,10 +1727,13 @@ _ecore_evas_wl_common_render_flush_pre(void *data, Evas *evas EINA_UNUSED, void
    if (!ee->visible) return;
 
    wdata = ee->engine.data;
-   wdata->anim_callback =
-     wl_surface_frame(ecore_wl_window_surface_get(wdata->win));
-   wl_callback_add_listener(wdata->anim_callback, &_anim_listener, ee);
-   ecore_evas_manual_render_set(ee, 1);
+   if (ee->can_async_render)
+      {
+         wdata->anim_callback =
+               wl_surface_frame(ecore_wl_window_surface_get(wdata->win));
+         wl_callback_add_listener(wdata->anim_callback, &_anim_listener, ee);
+         ecore_evas_manual_render_set(ee, 1);
+      }
 
    if ((wdata) && (wdata->wm_rot.done) &&
        (!ee->prop.wm_rot.manual_mode.set))