e_plane: force render when set_counter,unset_counter are decreased 47/163747/2
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:22:20 +0000 (08:22 +0000)
Change-Id: I0f6e9f79be9d1b729ea56d495783c918b530ca39

src/bin/e_plane.c

index 0c632db..e4c00bd 100644 (file)
@@ -2384,8 +2384,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.");
@@ -2396,6 +2400,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);
      }
@@ -2408,8 +2414,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;
 
@@ -2417,6 +2427,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);
      }