e_plane: force render when set_counter,unset_counter are decreased 45/163745/2 accepted/tizen/4.0/unified/20171213.153246 submit/tizen_4.0/20171213.082705
authorChangyeon Lee <cyeon.lee@samsung.com>
Wed, 13 Dec 2017 07:56:48 +0000 (16:56 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Wed, 13 Dec 2017 08:21:53 +0000 (08:21 +0000)
Change-Id: I0f6e9f79be9d1b729ea56d495783c918b530ca39

src/bin/e_plane.c

index bd48ae1e2e05784b39a30278d314128378b86700..bafdce198a25cc96548fda045786e3e8048e7892 100644 (file)
@@ -2158,8 +2158,12 @@ e_plane_unset_try_set(E_Plane *plane, Eina_Bool set)
 EINTERN Eina_Bool
 e_plane_unset_commit_check(E_Plane *plane, Eina_Bool fb_commit)
 {
+   E_Plane *fb_target = NULL;
+
    EINA_SAFETY_ON_NULL_RETURN_VAL(plane, EINA_FALSE);
 
+   fb_target = e_output_fb_target_get(plane->output);
+
    if (!e_plane_is_unset_try(plane))
      {
         WRN("Plane is not unset_try.");
@@ -2170,6 +2174,8 @@ e_plane_unset_commit_check(E_Plane *plane, Eina_Bool fb_commit)
      {
         plane->unset_counter--;
 
+        if (fb_target) e_plane_renderer_ecore_evas_force_render(fb_target->renderer);
+
         if (plane_trace_debug)
           ELOGF("E_PLANE", "Plane(%p) Check unset_commit. unset_counter(%d)", NULL, NULL, plane, plane->unset_counter);
      }
@@ -2182,8 +2188,12 @@ e_plane_unset_commit_check(E_Plane *plane, Eina_Bool fb_commit)
 EINTERN Eina_Bool
 e_plane_set_commit_check(E_Plane *plane, Eina_Bool fb_commit)
 {
+   E_Plane *fb_target = NULL;
+
    EINA_SAFETY_ON_NULL_RETURN_VAL(plane, EINA_FALSE);
 
+   fb_target = e_output_fb_target_get(plane->output);
+
    if (!plane->ec) return EINA_TRUE;
    if (!plane->set_counter) return EINA_TRUE;
 
@@ -2191,6 +2201,8 @@ e_plane_set_commit_check(E_Plane *plane, Eina_Bool fb_commit)
      {
         plane->set_counter--;
 
+        if (fb_target) e_plane_renderer_ecore_evas_force_render(fb_target->renderer);
+
         if (plane_trace_debug)
           ELOGF("E_PLANE", "Plane(%p) Check set counter. set_counter(%d)", NULL, NULL, plane, plane->set_counter);
      }