e_hwc_windows: fix getting stuck compositing in explicit fence sync 05/256805/1 accepted/tizen/unified/20210414.040528 submit/tizen/20210413.094849
authorChangyeon Lee <cyeon.lee@samsung.com>
Tue, 13 Apr 2021 09:15:56 +0000 (18:15 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Tue, 13 Apr 2021 09:28:08 +0000 (18:28 +0900)
do not release display buffer to queue if window isn't updated

Change-Id: I5d242478b8d092bd06d2ebcea74495b0e3089aa4

src/bin/e_hwc_windows.c

index 508be36930f40f96f257000d565dc89effe871f6..6044ad6e320fcbf71e8d6a03532b8a3f22a495a2 100644 (file)
@@ -3111,7 +3111,8 @@ _e_hwc_windows_release_fence_fd_update(E_Hwc *hwc)
    EINA_SAFETY_ON_NULL_RETURN(target_hwc_window);
 
    hwc_window = (E_Hwc_Window *)target_hwc_window;
-   if ((hwc_window->display.buffer.tsurface) && (hwc_window->display.buffer.queue))
+   if ((hwc_window->display.buffer.tsurface) && (hwc_window->display.buffer.queue) &&
+       (hwc_window->display.buffer.tsurface != hwc_window->commit.buffer.tsurface))
      {
         comp_info = _e_hwc_windows_buffer_comp_info_get(hwc_window->display.buffer.tsurface);
         EINA_SAFETY_ON_NULL_RETURN(comp_info);