e_hwc_window: delete frame in render update if hwc_window don't set recover buffer 82/223882/3
authorChangyeon Lee <cyeon.lee@samsung.com>
Tue, 4 Feb 2020 12:11:25 +0000 (21:11 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Fri, 7 Feb 2020 09:16:16 +0000 (09:16 +0000)
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 62c6a10623e0e9f3a7f9f6110591001e454e678f..37f4a222852f4a41ffa8b860af8cb0724bdfe73f 100644 (file)
@@ -2014,9 +2014,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));