e_comp_screen: turn off the hwc policy when the deactive is set. 10/160910/2
authorSooChan Lim <sc1.lim@samsung.com>
Mon, 20 Nov 2017 12:56:11 +0000 (21:56 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Tue, 21 Nov 2017 01:06:14 +0000 (01:06 +0000)
When the deactive is set,
1. make the composite mode(E_OUTPUT_HWC_MODE_NO)
2. do not apply the hwc policy

Change-Id: Iae12aeaa4b298088470611b21ded11712b9903b3

src/bin/e_comp.c
src/bin/e_info_server.c
src/bin/e_output_hwc.c

index 9c60f6c393a594507fbeaa3909c2512f3f44f24a..07325b40c5abde68c40f29b557f620c344c07e4c 100644 (file)
@@ -1253,7 +1253,7 @@ e_comp_hwc_deactive_set(Eina_Bool set)
    output = e_comp_screen_primary_output_get(e_comp->e_comp_screen);
    EINA_SAFETY_ON_NULL_RETURN(output);
 
-   e_output_hwc_deactive_set(output->output_hwc, EINA_TRUE);
+   e_output_hwc_deactive_set(output->output_hwc, set);
 }
 
 /* get the deactive value to the only primary output */
index 4926069a0dd7b759bb61faf16ecbae62a25a0fc6..d367a33148c90c23a18a47ad62fe1dc497b6cd4d 100644 (file)
@@ -3972,10 +3972,7 @@ e_info_server_cb_hwc(const Eldbus_Service_Interface *iface EINA_UNUSED, const El
    if (onoff == 1)
      e_comp_hwc_deactive_set(EINA_FALSE);
    else if (onoff == 0)
-     {
-        e_comp_hwc_end("in runtime by e_info..");
-        e_comp_hwc_deactive_set(EINA_TRUE);
-     }
+     e_comp_hwc_deactive_set(EINA_TRUE);
 
    return reply;
 }
index dae3df8757fa889f638199afc32b2add5cce6d5b..8e7c98a99e849ce4b7ef971c9071321759f0dfbd 100644 (file)
@@ -663,6 +663,13 @@ e_output_hwc_apply(E_Output_Hwc *output_hwc)
    EINA_SAFETY_ON_NULL_RETURN(output_hwc);
    EINA_SAFETY_ON_NULL_RETURN(output_hwc->output);
 
+   if (e_output_hwc_deactive_get(output_hwc))
+     {
+        if (output_hwc->hwc_mode != E_OUTPUT_HWC_MODE_NO)
+          e_output_hwc_end(output_hwc, "deactive set.");
+        return;
+     }
+
    if (!_e_output_hwc_usable(output_hwc))
      {
         e_output_hwc_end(output_hwc, __FUNCTION__);