e_hwc_window: delete frame in render update if hwc_window don't set recover buffer 49/223949/1
authorChangyeon Lee <cyeon.lee@samsung.com>
Tue, 4 Feb 2020 12:11:25 +0000 (21:11 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Wed, 5 Feb 2020 07:19:10 +0000 (16:19 +0900)
hwc_window don't set recover buffer means client doesn't need compositing.
if add frame in render update, buffer is referenced and naitve surface is set.
so delete frame in render update if hwc_window don't set recover buffer

Change-Id: I2bd03f00c17112a5bad6b76f0508ea9a98fb3b93

src/bin/e_hwc_window.c

index 34605b8092b34beb2cfb335517f235812db1d13d..3f5ce7e2d44ca80dd89db19e91f8f6242116ee15 100644 (file)
@@ -1951,9 +1951,13 @@ _e_hwc_window_rendered_window_set(E_Hwc_Window *hwc_window, Eina_Bool set)
                   e_comp_object_damage(ec->frame, 0, 0, ec->w, ec->h);
                   e_comp_object_dirty(ec->frame);
                   e_comp_object_render(ec->frame);
+                  e_comp_object_redirected_set(ec->frame, EINA_TRUE);
+               }
+             else
+               {
+                  e_comp_object_redirected_set(ec->frame, EINA_TRUE);
+                  e_comp_object_render_update_del(ec->frame);
                }
-
-             e_comp_object_redirected_set(ec->frame, EINA_TRUE);
 
              EHWTRACE("Redirect -- {%s}",
                       hwc_window->ec, hwc_window->hwc, hwc_window, e_hwc_window_name_get(hwc_window));