e_hwc_windows: don' call sync callback if hwc needs re_evaluate 87/247187/2
authorChangyeon Lee <cyeon.lee@samsung.com>
Fri, 6 Nov 2020 10:06:05 +0000 (19:06 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Mon, 9 Nov 2020 06:00:53 +0000 (06:00 +0000)
transition of hwc can be set false even if hwc_commit is needed.

Change-Id: I528deaebf748e6c6e2f09981c5d1611c61767848

src/bin/e_hwc.h
src/bin/e_hwc_windows.c

index d085c07f4a972bb0fe8e6efe0e38ef4fea925495..9ec0809f1a7cd1bb3abf978943908ebb8a161966 100644 (file)
@@ -108,6 +108,7 @@ struct _E_Hwc
    int                  num_visible_windows;
    Eina_Bool            device_state_available;
    Eina_Bool            transition;
+   Eina_Bool            re_evaluate;
    Eina_Bool            property_changed;
 
    /* capabilities */
index 5ae94c93d3786a3d183cec70d99a7e248b48d895..3a4b469c51f87d72674bf73e31c6efac9c2f1cd8 100644 (file)
@@ -2682,12 +2682,15 @@ _e_hwc_windows_evaluate(E_Hwc *hwc, E_Output_Display_Mode display_mode)
      }
 
    hwc->transition = EINA_FALSE;
+   hwc->re_evaluate = EINA_FALSE;
 
    return EINA_TRUE;
 
 re_evaluate:
    EHWSTRACE("======= HWC NOT Accept Validation Yet !! =======", NULL, hwc);
 
+   hwc->re_evaluate = EINA_TRUE;
+
    return EINA_FALSE;
 }
 
@@ -3255,7 +3258,7 @@ e_hwc_windows_commit(E_Hwc *hwc, E_Output_Display_Mode display_mode)
    e_comp_wl_tizen_hwc_committed();
 
 update_done:
-   if (!hwc->transition)
+   if (!hwc->re_evaluate)
      _e_hwc_windows_sync_callback_call(hwc);
 
    return EINA_TRUE;