e_hwc_windows: synchronize present when below_transparent_window is unset 24/299224/1
authorChangyeon Lee <cyeon.lee@samsung.com>
Thu, 21 Sep 2023 12:51:32 +0000 (21:51 +0900)
committerchangyeon lee <cyeon.lee@samsung.com>
Fri, 22 Sep 2023 04:42:23 +0000 (04:42 +0000)
if accepted state of hwc_window is changed Device to Client
but below_transparent_obj is displayed, black frame can be shown
even if below window is shown.
for fixing it, hwc synchronize hardware and evas compositing(present)
when below_transparent_window is unset.

Change-Id: I4e2ee5643ae8c882c2ed9aa7705d21e725e639ab

src/bin/e_hwc_windows.c

index 474dfd6b1dbf41ec5d967efa65004fdb8f22e237..a9dfedc69fedbebb6f6de9a7d52eac63cfe3cd2f 100644 (file)
@@ -3014,6 +3014,8 @@ _e_hwc_windows_below_transparent_window_update(E_Hwc *hwc)
         e_hwc_window_below_transparent_obj_set(hwc->below_transparent_window, EINA_FALSE);
         e_hwc_window_unref(hwc->below_transparent_window);
         hwc->below_transparent_window = NULL;
+
+        e_hwc_windows_present_sync(hwc);
      }
 }
 
@@ -4438,6 +4440,8 @@ e_hwc_windows_present_sync(E_Hwc *hwc)
 
    e_hwc_window_queue_clear(((E_Hwc_Window *)root_target_hwc_window)->queue);
 
+   _e_hwc_windows_target_window_buffer_skip(hwc);
+
    EHWSINF("Present sync", NULL, hwc);
 
    return EINA_TRUE;