e_hwc_windows: synchronize present when below_transparent_window is unset 23/299223/1
authorChangyeon Lee <cyeon.lee@samsung.com>
Thu, 21 Sep 2023 12:51:32 +0000 (21:51 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Fri, 22 Sep 2023 04:41:47 +0000 (13:41 +0900)
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 1c80c4f..4627f6d 100644 (file)
@@ -3053,6 +3053,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);
      }
 }
 
@@ -4490,6 +4492,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;