e_comp: allow begin hwc even if nocomp_override is positive 75/192175/3 accepted/tizen/4.0/unified/20181112.120731 submit/tizen_4.0/20181109.044619
authorChangyeon Lee <cyeon.lee@samsung.com>
Wed, 31 Oct 2018 07:42:46 +0000 (16:42 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Thu, 8 Nov 2018 12:49:02 +0000 (21:49 +0900)
some hwc module want to use hwc even if nocomp_override is positive.
core policy of hwc set all plane to null when nocomp_override is positive.
if hwc module prepare client to plane, hwc mode is begined.

Change-Id: I7ab3fb33ec3e725e52c256d10de54408d5a9bdbe

src/bin/e_comp.c

index 8a68a37125a9a6c19866e6233b042b217b825e87..7a1ce54843c1e9c093585c9a04d2db4c9c7eb192 100644 (file)
@@ -780,6 +780,10 @@ _e_comp_hwc_prepare(void)
         output = e_output_find(zone->output_id);
         if (!output) continue;
 
+        _hwc_prepare_init(output);
+
+        if (e_comp->nocomp_override > 0) continue;
+
         vis_clist = e_comp_vis_ec_list_get(zone);
         if (!vis_clist) continue;
 
@@ -817,8 +821,6 @@ _e_comp_hwc_prepare(void)
         if ((n_vis < 1) || (n_ec < 1))
           goto nextzone;
 
-        _hwc_prepare_init(output);
-
         if (n_cur >= 1)
           n_skip = _hwc_prepare_cursor(output, n_cur, hwc_ok_clist);
 
@@ -844,7 +846,7 @@ _e_comp_hwc_usable(void)
    if (!e_comp->hwc) return EINA_FALSE;
 
    // check whether to use hwc and prepare the core assignment policy
-   if (!_e_comp_hwc_prepare()) return EINA_FALSE;
+   _e_comp_hwc_prepare();
 
    // extra policy can replace core policy
    _e_comp_hook_call(E_COMP_HOOK_PREPARE_PLANE, NULL);
@@ -935,7 +937,6 @@ _e_comp_hwc_begin(void)
    E_FREE_FUNC(e_comp->nocomp_delay_timer, ecore_timer_del);
 
    if (!e_comp->hwc) return;
-   if (e_comp->nocomp_override > 0) return;
 
    EINA_LIST_FOREACH(e_comp->zones, l, zone)
      {