e_plane_renderer: call evas_norender if client is set to fb target plane 17/194417/2 accepted/tizen/5.0/unified/20181205.063335 submit/tizen_5.0/20181204.101211
authorChangyeon Lee <cyeon.lee@samsung.com>
Tue, 4 Dec 2018 06:03:39 +0000 (15:03 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Tue, 4 Dec 2018 10:10:05 +0000 (10:10 +0000)
input event need to render call even if rendering of compositing
isn't needed. so e_plane_renderer call evas_norender.

Change-Id: Icd8185a9d65cf47e45ae0f26a1172e7a46d83cbc

src/bin/e_plane.c
src/bin/e_plane_renderer.c
src/bin/e_plane_renderer.h

index 21232b4d5a56d6a85420982005981be73eef89dd..51b7d2b3836cba1fdae0deb573b1d4ccab0afe5b 100644 (file)
@@ -1762,13 +1762,23 @@ e_plane_render(E_Plane *plane)
 
    renderer = plane->renderer;
    if (!renderer) return EINA_TRUE;
-   if (plane->ec) return EINA_TRUE;
    if (plane->is_external) return EINA_TRUE;
 
-   if (!e_plane_renderer_render(renderer, plane->is_fb))
+   if (plane->ec)
      {
-        ERR("fail to e_plane_renderer_render");
-        return EINA_FALSE;
+        if (!e_plane_renderer_norender(renderer, plane->is_fb))
+          {
+             ERR("fail to e_plane_renderer_norender");
+             return EINA_FALSE;
+          }
+     }
+   else
+     {
+        if (!e_plane_renderer_render(renderer, plane->is_fb))
+          {
+             ERR("fail to e_plane_renderer_render");
+             return EINA_FALSE;
+          }
      }
 
    return EINA_TRUE;
index fe0153608322c1ae0ff235c4fb6d12c57cee454d..581a53419d335c7d73ac0711a7df4002af85949a 100644 (file)
@@ -1670,6 +1670,17 @@ e_plane_renderer_render(E_Plane_Renderer *renderer, Eina_Bool is_fb)
    return EINA_TRUE;
 }
 
+EINTERN Eina_Bool
+e_plane_renderer_norender(E_Plane_Renderer *renderer, Eina_Bool is_fb)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(renderer, EINA_FALSE);
+
+   if (is_fb)
+     evas_norender(renderer->evas);
+
+   return EINA_TRUE;
+}
+
 EINTERN Eina_Bool
 e_plane_renderer_activate(E_Plane_Renderer *renderer, E_Client *ec)
 {
index df5ebc1fef82cc69ff35e0717468d72424d1bc5b..a553004cb7142776a6b45a02d7a295ee2370d8ca 100644 (file)
@@ -67,6 +67,7 @@ EINTERN void                       e_plane_renderer_shutdown(void);
 EINTERN E_Plane_Renderer          *e_plane_renderer_new(E_Plane *plane);
 EINTERN void                       e_plane_renderer_del(E_Plane_Renderer *renderer);
 EINTERN Eina_Bool                  e_plane_renderer_render(E_Plane_Renderer *renderer, Eina_Bool is_fb);
+EINTERN Eina_Bool                  e_plane_renderer_norender(E_Plane_Renderer *renderer, Eina_Bool is_fb);
 EINTERN Eina_Bool                  e_plane_renderer_activate(E_Plane_Renderer *renderer, E_Client *ec);
 EINTERN Eina_Bool                  e_plane_renderer_deactivate(E_Plane_Renderer *renderer);
 EINTERN Eina_Bool                  e_plane_renderer_reserved_activate(E_Plane_Renderer *renderer, E_Client *ec);