Remove E_Plane 63/317163/1
authorChangyeon Lee <cyeon.lee@samsung.com>
Mon, 2 Sep 2024 09:54:24 +0000 (18:54 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Thu, 5 Sep 2024 04:40:37 +0000 (13:40 +0900)
Change-Id: I3d2ecd1a8b9ef306d74275ac527f68268d5e35c0

33 files changed:
src/bin/Makefile.mk
src/bin/compmgr/e_comp.c
src/bin/compmgr/e_comp_intern.h
src/bin/core/e_comp_cfdata.c
src/bin/debug/e_info_client.c
src/bin/debug/e_info_server.c
src/bin/displaymgr/e_display.c
src/bin/displaymgr/e_hwc.c
src/bin/displaymgr/e_hwc_intern.h
src/bin/displaymgr/e_hwc_planes_intern.h [deleted file]
src/bin/displaymgr/e_hwc_window.c
src/bin/displaymgr/e_hwc_windows.c
src/bin/displaymgr/e_output.c
src/bin/displaymgr/e_output_intern.h
src/bin/displaymgr/video/e_video_hwc.c
src/bin/displaymgr/video/e_video_hwc_intern.h
src/bin/displaymgr/video/e_video_hwc_planes.c [deleted file]
src/bin/e_comp_screen.c
src/bin/server/e_comp_wl.c
src/bin/server/e_comp_wl_tizen_hwc.c
src/bin/server/e_eom.c
src/bin/server/e_explicit_sync.c
src/bin/server/e_screen_rotation.c
src/include/e_client.h
src/include/e_comp.h
src/include/e_comp_cfdata.h
src/include/e_hwc.h
src/include/e_hwc_planes.h [deleted file]
src/include/e_includes.h
src/include/e_output.h
src/include/e_plane.h [deleted file]
src/include/e_plane_renderer.h [deleted file]
src/include/e_types.h

index 8121fd8..193ed8b 100644 (file)
@@ -74,10 +74,8 @@ src/include/e_module.h \
 src/include/e_object.h \
 src/include/e_output.h \
 src/include/e_pixmap.h \
-src/include/e_plane.h \
 src/include/e_pointer.h \
 src/include/e_prefix.h \
-src/include/e_plane_renderer.h \
 src/include/e_screensaver.h \
 src/include/e_theme.h \
 src/include/e_utils.h \
@@ -89,7 +87,6 @@ src/include/e_comp_wl.h \
 src/include/e_hwc.h \
 src/include/e_hwc_windows.h \
 src/include/e_hwc_window.h \
-src/include/e_hwc_planes.h \
 src/include/e_explicit_sync.h \
 src/include/e_egl_sync.h \
 src/include/e_info_server_input.h \
@@ -257,15 +254,11 @@ src/bin/compmgr/e_alpha_mask_rect.c \
 src/bin/displaymgr/e_display.c \
 src/bin/displaymgr/e_output.c \
 src/bin/displaymgr/e_scale.c \
-src/bin/displaymgr/e_plane_renderer.c \
-src/bin/displaymgr/e_plane.c \
 src/bin/displaymgr/e_hwc.c \
-src/bin/displaymgr/e_hwc_planes.c \
 src/bin/displaymgr/e_hwc_windows.c \
 src/bin/displaymgr/e_hwc_window.c \
 src/bin/displaymgr/e_hwc_window_queue.c \
 src/bin/displaymgr/video/e_video_hwc.c \
-src/bin/displaymgr/video/e_video_hwc_planes.c \
 src/bin/displaymgr/video/e_video_hwc_windows.c \
 src/bin/displaymgr/video/e_video_external.c \
 src/bin/displaymgr/video/e_video_fallback.c \
index 093558a..45c65ae 100644 (file)
@@ -12,7 +12,6 @@
 #include "e_zone_intern.h"
 #include "e_config_intern.h"
 #include "e_screensaver_intern.h"
-#include "e_hwc_planes_intern.h"
 #include "e_server_intern.h"
 #include "e_display_intern.h"
 
@@ -327,12 +326,6 @@ e_comp_init(void)
 
    if (e_comp->hwc)
      {
-        if (conf->hwc_reuse_cursor_buffer) e_comp->hwc_reuse_cursor_buffer = EINA_TRUE;
-
-        if (conf->hwc_use_multi_plane) e_comp_hwc_multi_plane_set(EINA_TRUE);
-        if (conf->hwc_sync_mode_change) e_comp->hwc_sync_mode_change = EINA_TRUE;
-        if (conf->hwc_use_detach) e_comp->hwc_use_detach = EINA_TRUE;
-        if (conf->hwc_ignore_primary) e_comp->hwc_ignore_primary = EINA_TRUE;
         if (conf->hwc_send_redraw_request) e_comp->hwc_send_redraw_request = EINA_TRUE;
      }
 
@@ -535,16 +528,11 @@ static void
 _e_comp_hwc_comp_override_set(Eina_Bool set)
 {
    E_Output *primary_output;
-   E_Hwc *hwc;
 
    primary_output = e_display_primary_output_get();
    EINA_SAFETY_ON_NULL_RETURN(primary_output);
 
-   hwc = primary_output->hwc;
-   EINA_SAFETY_ON_NULL_RETURN(hwc);
-
-   if (hwc->hwc_policy == E_HWC_POLICY_WINDOWS)
-     e_hwc_windows_comp_override_set(primary_output->hwc, set);
+   e_hwc_windows_comp_override_set(primary_output->hwc, set);
 }
 
 E_API void
@@ -826,37 +814,14 @@ e_comp_hook_del(E_Comp_Hook *ch)
 EINTERN Eina_Bool
 e_comp_is_on_overlay(E_Client *ec)
 {
-   Eina_List *l, *ll;
-   E_Output *eout;
-   E_Plane *ep;
    E_Hwc_Window *hwc_window;
-   E_Zone *zone;
 
    EINA_SAFETY_ON_TRUE_RETURN_VAL(!ec, EINA_FALSE);
-   zone = e_comp_zone_find_by_ec(ec);
-   EINA_SAFETY_ON_TRUE_RETURN_VAL(!zone, EINA_FALSE);
-   EINA_SAFETY_ON_TRUE_RETURN_VAL(!zone->output_id, EINA_FALSE);
-
-   eout = e_output_find(zone->output_id);
-   if (!eout) return EINA_FALSE;
 
-   if (e_hwc_policy_get(eout->hwc) == E_HWC_POLICY_PLANES)
-     {
-        if (!e_hwc_mode_get(eout->hwc)) return EINA_FALSE;
-
-        EINA_LIST_FOREACH_SAFE(eout->planes, l, ll, ep)
-          {
-             E_Client *overlay_ec = ep->ec;
-             if (overlay_ec == ec) return EINA_TRUE;
-          }
-     }
-   else
-     {
-        hwc_window = ec->hwc_window;
-        if (!hwc_window) return EINA_FALSE;
+   hwc_window = ec->hwc_window;
+   if (!hwc_window) return EINA_FALSE;
 
-        if (e_hwc_window_is_on_hw_overlay(hwc_window)) return EINA_TRUE;
-     }
+   if (e_hwc_window_is_on_hw_overlay(hwc_window)) return EINA_TRUE;
 
    return EINA_FALSE;
 }
@@ -1321,42 +1286,6 @@ e_comp_hwc_is_prefer_gbm(void)
    return e_comp->hwc_prefer_gbm;
 }
 
-/* get the hwc_ignore_primary value */
-EINTERN Eina_Bool
-e_comp_hwc_ignore_primary(void)
-{
-   EINA_SAFETY_ON_NULL_RETURN_VAL(e_comp, EINA_FALSE);
-
-   return e_comp->hwc_ignore_primary;
-}
-
-/* get the hwc_use_detach value */
-EINTERN Eina_Bool
-e_comp_hwc_use_detach(void)
-{
-   EINA_SAFETY_ON_NULL_RETURN_VAL(e_comp, EINA_FALSE);
-
-   return e_comp->hwc_use_detach;
-}
-
-/* get the hwc_reuse_cursor_buffer value */
-EINTERN Eina_Bool
-e_comp_hwc_reuse_cursor_buffer(void)
-{
-   EINA_SAFETY_ON_NULL_RETURN_VAL(e_comp, EINA_FALSE);
-
-   return e_comp->hwc_reuse_cursor_buffer;
-}
-
-/* get the hwc_sync_mode_change value */
-EINTERN Eina_Bool
-e_comp_hwc_sync_mode_change(void)
-{
-   EINA_SAFETY_ON_NULL_RETURN_VAL(e_comp, EINA_FALSE);
-
-   return e_comp->hwc_sync_mode_change;
-}
-
 /* set the deactive value to the only primary output */
 EINTERN void
 e_comp_hwc_deactive_set(Eina_Bool set)
@@ -1381,30 +1310,6 @@ e_comp_hwc_deactive_get(void)
    return e_hwc_deactive_get(primary_output->hwc);
 }
 
-/* set the multi_plane value to the only primary output */
-EINTERN void
-e_comp_hwc_multi_plane_set(Eina_Bool set)
-{
-   E_Output *primary_output = NULL;
-
-   primary_output = e_display_primary_output_get();
-   EINA_SAFETY_ON_NULL_RETURN(primary_output);
-
-   e_hwc_planes_multi_plane_set(primary_output->hwc, EINA_TRUE);
-}
-
-/* get the multi_plane value to the only primary output */
-EINTERN Eina_Bool
-e_comp_hwc_multi_plane_get(void)
-{
-   E_Output *primary_output = NULL;
-
-   primary_output = e_display_primary_output_get();
-   EINA_SAFETY_ON_NULL_RETURN_VAL(primary_output, EINA_FALSE);
-
-   return e_hwc_planes_multi_plane_get(primary_output->hwc);
-}
-
 /* end the hwc policy at the primary output */
 EINTERN void
 e_comp_hwc_end(const char *location)
@@ -1418,10 +1323,7 @@ e_comp_hwc_end(const char *location)
    hwc = primary_output->hwc;
    EINA_SAFETY_ON_NULL_RETURN(hwc);
 
-   if (hwc->hwc_policy == E_HWC_POLICY_PLANES)
-     e_hwc_planes_end(primary_output->hwc, location);
-   else if (hwc->hwc_policy == E_HWC_POLICY_WINDOWS)
-     e_hwc_windows_client_type_override(primary_output->hwc);
+   e_hwc_windows_client_type_override(primary_output->hwc);
 }
 
 EINTERN void
@@ -1443,17 +1345,10 @@ e_comp_hwc_client_end(E_Client *ec, const char *location)
    hwc = output->hwc;
    EINA_SAFETY_ON_NULL_RETURN(hwc);
 
-   if (hwc->hwc_policy == E_HWC_POLICY_PLANES)
-     {
-        e_hwc_planes_client_end(output->hwc, ec, location);
-     }
-   else if (hwc->hwc_policy == E_HWC_POLICY_WINDOWS)
-     {
-        hwc_window = ec->hwc_window;
-        EINA_SAFETY_ON_NULL_RETURN(hwc_window);
+   hwc_window = ec->hwc_window;
+   EINA_SAFETY_ON_NULL_RETURN(hwc_window);
 
-        e_hwc_window_client_type_override(hwc_window);
-     }
+   e_hwc_window_client_type_override(hwc_window);
 }
 
 EINTERN Eina_Bool
index 908e674..e129876 100644 (file)
@@ -44,22 +44,14 @@ EINTERN Eina_Bool     e_comp_socket_init(const char *name);
 EINTERN Eina_Bool     e_comp_hwc_is_configured(void);
 EINTERN Eina_Bool     e_comp_hwc_send_redraw_request(void);
 EINTERN Eina_Bool     e_comp_hwc_is_prefer_gbm(void);
-EINTERN Eina_Bool     e_comp_hwc_ignore_primary(void);
-EINTERN Eina_Bool     e_comp_hwc_use_detach(void);
-EINTERN Eina_Bool     e_comp_hwc_reuse_cursor_buffer(void);
-EINTERN Eina_Bool     e_comp_hwc_sync_mode_change(void);
 
 EINTERN void          e_comp_hwc_deactive_set(Eina_Bool set);
 EINTERN Eina_Bool     e_comp_hwc_deactive_get(void);
-EINTERN void          e_comp_hwc_multi_plane_set(Eina_Bool set);
-EINTERN Eina_Bool     e_comp_hwc_multi_plane_get(void);
 EINTERN void          e_comp_hwc_client_end(E_Client *ec, const char *location);
 EINTERN void          e_comp_hwc_end(const char *location);
 
 EINTERN Eina_Bool     e_comp_util_client_is_fullscreen(const E_Client *ec);
 
-EINTERN void          e_comp_hook_call(E_Comp_Hook_Point hookpoint, void *data EINA_UNUSED);
-
 EINTERN Eina_Bool     e_comp_client_zone_is_displaying(E_Client *ec);
 EINTERN void          e_comp_idler_before(void);
 EINTERN void          e_comp_visibility_calculation_set(Eina_Bool set);
index b7ad297..ed919de 100644 (file)
@@ -53,12 +53,7 @@ e_comp_cfdata_edd_init(E_Config_DD **conf_edd, E_Config_DD **match_edd)
    E_CONFIG_VAL(D, T, nocomp_use_timer, UCHAR);
    E_CONFIG_VAL(D, T, nocomp_begin_timeout, DOUBLE);
    E_CONFIG_VAL(D, T, hwc, UCHAR);
-   E_CONFIG_VAL(D, T, hwc_use_multi_plane, UCHAR);
    E_CONFIG_VAL(D, T, hwc_deactive, UCHAR);
-   E_CONFIG_VAL(D, T, hwc_reuse_cursor_buffer, UCHAR);
-   E_CONFIG_VAL(D, T, hwc_sync_mode_change, UCHAR);
-   E_CONFIG_VAL(D, T, hwc_ignore_primary, UCHAR);
-   E_CONFIG_VAL(D, T, hwc_use_detach, UCHAR);
    E_CONFIG_VAL(D, T, hwc_send_redraw_request, UCHAR);
    E_CONFIG_VAL(D, T, hwc_prefer_gbm, UCHAR);
    E_CONFIG_VAL(D, T, use_native_type_buffer, UCHAR);
@@ -129,12 +124,7 @@ e_comp_cfdata_config_new(void)
    cfg->nocomp_use_timer = 0;
    cfg->nocomp_begin_timeout = 2.0;
    cfg->hwc = 0;
-   cfg->hwc_use_multi_plane = 0;
    cfg->hwc_deactive = 0;
-   cfg->hwc_reuse_cursor_buffer = 0;
-   cfg->hwc_sync_mode_change = 0;
-   cfg->hwc_ignore_primary = 0;
-   cfg->hwc_use_detach = 0;
    cfg->hwc_send_redraw_request = 0;
    cfg->hwc_prefer_gbm = 0;
    cfg->use_native_type_buffer = 0;  // 1 if use_native(wl_buffer), 0 if use_tbm(tbm_surface)
index b827347..a5cf34c 100644 (file)
@@ -20,7 +20,7 @@ typedef struct _E_Info_Client
    Eldbus_Object     *obj;
 
    /* topvwins */
-   int                use_gl, use_hwc, use_multi_layer, hwc, hwc_windows;
+   int                use_gl, use_hwc, hwc;
    int                use_buffer_flush, deiconify_approve;
    int                config_engine;
    const char        *engine;
@@ -30,9 +30,6 @@ typedef struct _E_Info_Client
    Eina_List         *mode_list;
    int               gl;
 
-   /* pending_commit */
-   Eina_List         *pending_commit_list;
-
    /* layer fps */
    Eina_List         *fps_list;
 
@@ -72,7 +69,7 @@ typedef struct _E_Win_Info
    int          focused;
    int          hwc;        // hwc enable/disable
    int          hwc_policy; // hwc policy
-   int          pl_zpos;    // hwc value : (hwc_windows: hwc window state) (hwc_planes: zpos of the plane)
+   int          pl_zpos;    // hwc value : (hwc_windows: hwc window state)
    Ecore_Window parent_id;
    const char  *layer_name; // layer name
    Eina_Bool has_input_region;
@@ -92,14 +89,6 @@ typedef struct output_mode_info
    const char *name;
 } E_Info_Output_Mode;
 
-typedef struct _E_Pending_Commit_Info
-{
-   unsigned int plane;
-   int zpos;
-   unsigned int data;
-   unsigned int tsurface;
-} E_Pending_Commit_Info;
-
 typedef struct _E_Fps_Info
 {
    E_Info_Fps_Type type;
@@ -571,7 +560,7 @@ _cb_window_info_get(const Eldbus_Message *msg)
    res = eldbus_message_error_get(msg, &name, &text);
    EINA_SAFETY_ON_TRUE_GOTO(res, finish);
 
-   res = eldbus_message_arguments_get(msg, "iia("VALUE_TYPE_FOR_TOPVWINS")", &e_info_client.hwc, &e_info_client.hwc_windows, &array);
+   res = eldbus_message_arguments_get(msg, "ia("VALUE_TYPE_FOR_TOPVWINS")", &e_info_client.hwc, &array);
    EINA_SAFETY_ON_FALSE_GOTO(res, finish);
 
    _e_win_info_make_array(array);
@@ -615,9 +604,9 @@ _cb_vwindow_info_get(const Eldbus_Message *msg)
    res = eldbus_message_error_get(msg, &name, &text);
    EINA_SAFETY_ON_TRUE_GOTO(res, finish);
 
-   res = eldbus_message_arguments_get(msg, "iiiiisiiia("VALUE_TYPE_FOR_TOPVWINS")",
-                                      &e_info_client.use_gl, &e_info_client.use_hwc, &e_info_client.use_multi_layer,
-                                      &e_info_client.hwc, &e_info_client.hwc_windows,
+   res = eldbus_message_arguments_get(msg, "iiisiiia("VALUE_TYPE_FOR_TOPVWINS")",
+                                      &e_info_client.use_gl, &e_info_client.use_hwc,
+                                      &e_info_client.hwc,
                                       &engine, &e_info_client.config_engine,
                                       &e_info_client.use_buffer_flush, &e_info_client.deiconify_approve,
                                       &array);
@@ -1119,7 +1108,7 @@ _cb_vec_info_get(const Eldbus_Message *msg)
    res = eldbus_message_error_get(msg, &name, &text);
    EINA_SAFETY_ON_TRUE_GOTO(res, finish);
 
-   res = eldbus_message_arguments_get(msg, "iia("VALUE_TYPE_FOR_TOPVWINS")", &e_info_client.hwc, &e_info_client.hwc_windows, &array);
+   res = eldbus_message_arguments_get(msg, "ia("VALUE_TYPE_FOR_TOPVWINS")", &e_info_client.hwc, &array);
    EINA_SAFETY_ON_FALSE_GOTO(res, finish);
 
    _e_win_info_make_array(array);
@@ -1158,10 +1147,7 @@ _e_info_client_proc_ec_list_info(Eina_Bool check_visible)
      printf("--------------------------------------------[ topvwins ]------------------------------------------------------------------------------\n");
    else
      printf("--------------------------------------------[ topwins  ]------------------------------------------------------------------------------\n");
-   if (e_info_client.hwc_windows)
-     printf(" No   Win_ID    RcsID    PID  T    w     h       x      y  L Zone Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  HWC_ST  Parent   TP    Title\n");
-   else
-     printf(" No   Win_ID    RcsID    PID  T    w     h       x      y  L Zone Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  PL@ZPos Parent   TP    Title\n");
+   printf(" No   Win_ID    RcsID    PID  T    w     h       x      y  L Zone Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  HWC_ST  Parent   TP    Title\n");
    printf("--------------------------------------------------------------------------------------------------------------------------------------\n");
 
    if (!e_info_client.win_list)
@@ -1186,32 +1172,14 @@ _e_info_client_proc_ec_list_info(Eina_Bool check_visible)
 
         if (win->hwc >= 0)
           {
-             if (win->hwc_policy == E_HWC_POLICY_WINDOWS) // hwc windows
-               {
-                  switch(win->pl_zpos)
-                    {
-                     case E_HWC_WINDOW_STATE_NONE:   snprintf(tmp, sizeof(tmp), "  NO  "); break;
-                     case E_HWC_WINDOW_STATE_CLIENT: snprintf(tmp, sizeof(tmp), "  CL  "); break;
-                     case E_HWC_WINDOW_STATE_DEVICE: snprintf(tmp, sizeof(tmp), "  DV  "); break;
-                     case E_HWC_WINDOW_STATE_VIDEO:  snprintf(tmp, sizeof(tmp), "  VD  "); break;
-                     case E_HWC_WINDOW_STATE_CURSOR: snprintf(tmp, sizeof(tmp), "  CS  "); break;
-                     default:                        snprintf(tmp, sizeof(tmp), "  -  "); break;
-                    }
-               }
-             else // hwc planes
+             switch(win->pl_zpos)
                {
-                  if ((!win->iconic) && (win->frame_visible))
-                    {
-                       if (win->pl_zpos == -999)
-                         snprintf(tmp, sizeof(tmp), " - ");
-                       else
-                         {
-                            if (win->hwc) snprintf(tmp, sizeof(tmp), "hwc@%i", win->pl_zpos);
-                            else snprintf(tmp, sizeof(tmp), "comp@%i", win->pl_zpos);
-                         }
-                    }
-                  else
-                    snprintf(tmp, sizeof(tmp), " - ");
+                case E_HWC_WINDOW_STATE_NONE:   snprintf(tmp, sizeof(tmp), "  NO  "); break;
+                case E_HWC_WINDOW_STATE_CLIENT: snprintf(tmp, sizeof(tmp), "  CL  "); break;
+                case E_HWC_WINDOW_STATE_DEVICE: snprintf(tmp, sizeof(tmp), "  DV  "); break;
+                case E_HWC_WINDOW_STATE_VIDEO:  snprintf(tmp, sizeof(tmp), "  VD  "); break;
+                case E_HWC_WINDOW_STATE_CURSOR: snprintf(tmp, sizeof(tmp), "  CS  "); break;
+                default:                        snprintf(tmp, sizeof(tmp), "  -  "); break;
                }
           }
         else
@@ -1263,13 +1231,7 @@ _e_info_client_proc_topvwins_info(int argc, char **argv)
    if (e_info_client.use_hwc)
      {
         if (e_info_client.hwc)
-          {
-             printf("HWC:  ");
-             if (e_info_client.hwc_windows)
-               printf("hwc windows policy\n");
-             else
-               printf("hwc planes policy and multiple plane is %s\n", e_info_client.use_multi_layer ? "on":"off");
-          }
+          printf("HWC:  hwc windows policy\n");
         else
           printf("HWC:  off");
      }
@@ -1300,10 +1262,7 @@ _e_info_client_proc_topvwins_info(int argc, char **argv)
 
         printf("%d Top level windows in evas object list\n", eina_list_count(e_info_client.win_list));
         printf("--------------------------------------[ topvwins ]----------------------------------------------------------------------------------\n");
-        if (e_info_client.hwc_windows)
-          printf(" No   Win_ID    RcsID    PID     w     h       x      y  L Zone Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  HWC_ST  Parent   TP    Title\n");
-        else
-          printf(" No   Win_ID    RcsID    PID     w     h       x      y  L Zone Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  PL@ZPos Parent   TP    Title\n");
+        printf(" No   Win_ID    RcsID    PID     w     h       x      y  L Zone Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  HWC_ST  Parent   TP    Title\n");
         printf("------------------------------------------------------------------------------------------------------------------------------------\n");
 
         if (!e_info_client.win_list)
@@ -1330,32 +1289,14 @@ _e_info_client_proc_topvwins_info(int argc, char **argv)
 
              if (win->hwc >= 0)
                {
-                  if (win->hwc_policy == E_HWC_POLICY_WINDOWS) // hwc windows
-                    {
-                       switch(win->pl_zpos)
-                         {
-                          case E_HWC_WINDOW_STATE_NONE:   snprintf(tmp, sizeof(tmp), "  NO  "); break;
-                          case E_HWC_WINDOW_STATE_CLIENT: snprintf(tmp, sizeof(tmp), "  CL  "); break;
-                          case E_HWC_WINDOW_STATE_DEVICE: snprintf(tmp, sizeof(tmp), "  DV  "); break;
-                          case E_HWC_WINDOW_STATE_VIDEO:  snprintf(tmp, sizeof(tmp), "  VD  "); break;
-                          case E_HWC_WINDOW_STATE_CURSOR: snprintf(tmp, sizeof(tmp), "  CS  "); break;
-                          default:                        snprintf(tmp, sizeof(tmp), "  -  "); break;
-                         }
-                    }
-                  else // hwc planes
+                  switch(win->pl_zpos)
                     {
-                       if ((!win->iconic) && (win->frame_visible))
-                         {
-                            if (win->pl_zpos == -999)
-                              snprintf(tmp, sizeof(tmp), " - ");
-                            else
-                              {
-                                 if (win->hwc) snprintf(tmp, sizeof(tmp), "hwc@%i", win->pl_zpos);
-                                 else snprintf(tmp, sizeof(tmp), "comp@%i", win->pl_zpos);
-                              }
-                         }
-                       else
-                         snprintf(tmp, sizeof(tmp), " - ");
+                     case E_HWC_WINDOW_STATE_NONE:   snprintf(tmp, sizeof(tmp), "  NO  "); break;
+                     case E_HWC_WINDOW_STATE_CLIENT: snprintf(tmp, sizeof(tmp), "  CL  "); break;
+                     case E_HWC_WINDOW_STATE_DEVICE: snprintf(tmp, sizeof(tmp), "  DV  "); break;
+                     case E_HWC_WINDOW_STATE_VIDEO:  snprintf(tmp, sizeof(tmp), "  VD  "); break;
+                     case E_HWC_WINDOW_STATE_CURSOR: snprintf(tmp, sizeof(tmp), "  CS  "); break;
+                     default:                        snprintf(tmp, sizeof(tmp), "  -  "); break;
                     }
                }
              else
@@ -1404,10 +1345,7 @@ _e_info_client_proc_topwins_info(int argc, char **argv)
 
    printf("%d Top level windows\n", eina_list_count(e_info_client.win_list));
    printf("--------------------------------------[ topwins  ]----------------------------------------------------------------------------------\n");
-   if (e_info_client.hwc_windows)
-     printf(" No   Win_ID    RcsID    PID     w     h       x      y   L Zone Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  HWC_ST  Parent   TP    Title\n");
-   else
-     printf(" No   Win_ID    RcsID    PID     w     h       x      y   L Zone Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  PL@ZPos Parent   TP    Title\n");
+   printf(" No   Win_ID    RcsID    PID     w     h       x      y   L Zone Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  HWC_ST  Parent   TP    Title\n");
    printf("------------------------------------------------------------------------------------------------------------------------------------\n");
 
    if (!e_info_client.win_list)
@@ -1432,32 +1370,14 @@ _e_info_client_proc_topwins_info(int argc, char **argv)
 
         if (win->hwc >= 0)
           {
-             if (win->hwc_policy == E_HWC_POLICY_WINDOWS) // hwc windows
-               {
-                  switch(win->pl_zpos)
-                    {
-                     case E_HWC_WINDOW_STATE_NONE:   snprintf(tmp, sizeof(tmp), "  NO  "); break;
-                     case E_HWC_WINDOW_STATE_CLIENT: snprintf(tmp, sizeof(tmp), "  CL  "); break;
-                     case E_HWC_WINDOW_STATE_DEVICE: snprintf(tmp, sizeof(tmp), "  DV  "); break;
-                     case E_HWC_WINDOW_STATE_VIDEO:  snprintf(tmp, sizeof(tmp), "  VD  "); break;
-                     case E_HWC_WINDOW_STATE_CURSOR: snprintf(tmp, sizeof(tmp), "  CS  "); break;
-                     default:                        snprintf(tmp, sizeof(tmp), "  -  "); break;
-                    }
-               }
-             else // hwc planes
+             switch(win->pl_zpos)
                {
-                  if ((!win->iconic) && (win->frame_visible))
-                    {
-                       if (win->pl_zpos == -999)
-                         snprintf(tmp, sizeof(tmp), " - ");
-                       else
-                         {
-                            if (win->hwc) snprintf(tmp, sizeof(tmp), "hwc@%i", win->pl_zpos);
-                            else snprintf(tmp, sizeof(tmp), "comp@%i", win->pl_zpos);
-                         }
-                    }
-                  else
-                    snprintf(tmp, sizeof(tmp), " - ");
+                case E_HWC_WINDOW_STATE_NONE:   snprintf(tmp, sizeof(tmp), "  NO  "); break;
+                case E_HWC_WINDOW_STATE_CLIENT: snprintf(tmp, sizeof(tmp), "  CL  "); break;
+                case E_HWC_WINDOW_STATE_DEVICE: snprintf(tmp, sizeof(tmp), "  DV  "); break;
+                case E_HWC_WINDOW_STATE_VIDEO:  snprintf(tmp, sizeof(tmp), "  VD  "); break;
+                case E_HWC_WINDOW_STATE_CURSOR: snprintf(tmp, sizeof(tmp), "  CS  "); break;
+                default:                        snprintf(tmp, sizeof(tmp), "  -  "); break;
                }
           }
         else
@@ -3314,114 +3234,6 @@ arg_err:
 
 }
 
-static void
-_e_info_client_proc_show_plane_state(int argc, char **argv)
-{
-   if (!_e_info_client_eldbus_message("show_plane_state", NULL))
-     return;
-
-   printf("e20 print planes state with eina_log\n");
-}
-
-static E_Pending_Commit_Info *
-_e_pending_commit_info_new(unsigned int plane, int zpos, unsigned int data, unsigned int tsurface)
-{
-   E_Pending_Commit_Info *pending_commit = NULL;
-
-   pending_commit = E_NEW(E_Pending_Commit_Info, 1);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(pending_commit, NULL);
-
-   pending_commit->plane = plane;
-   pending_commit->zpos = zpos;
-   pending_commit->data = data;
-   pending_commit->tsurface = tsurface;
-
-   return pending_commit;
-}
-
-static void
-_e_pending_commit_info_free(E_Pending_Commit_Info *pending_commit)
-{
-   E_FREE(pending_commit);
-}
-
-static void
-_cb_pending_commit_info_get(const Eldbus_Message *msg)
-{
-   const char *name = NULL, *text = NULL;
-   Eldbus_Message_Iter *array, *eldbus_msg;
-   Eina_Bool res;
-
-   res = eldbus_message_error_get(msg, &name, &text);
-   EINA_SAFETY_ON_TRUE_GOTO(res, finish);
-
-   res = eldbus_message_arguments_get(msg, "a("VALUE_TYPE_FOR_PENDING_COMMIT")", &array);
-   EINA_SAFETY_ON_FALSE_GOTO(res, finish);
-
-   while (eldbus_message_iter_get_and_next(array, 'r', &eldbus_msg))
-     {
-        E_Pending_Commit_Info *pending_commit = NULL;
-        unsigned int plane, tsurface, data;
-        int zpos;
-        res = eldbus_message_iter_arguments_get(eldbus_msg,
-                                                VALUE_TYPE_FOR_PENDING_COMMIT,
-                                                &plane,
-                                                &zpos,
-                                                &data,
-                                                &tsurface);
-        if (!res)
-          {
-             printf("Failed to get pending_commit info\n");
-             continue;
-          }
-
-        pending_commit = _e_pending_commit_info_new(plane, zpos, data, tsurface);
-        if (!pending_commit) continue;
-
-        e_info_client.pending_commit_list = eina_list_append(e_info_client.pending_commit_list, pending_commit);
-     }
-
-finish:
-   if ((name) || (text))
-     {
-        printf("errname:%s errmsg:%s\n", name, text);
-     }
-}
-
-static void
-_e_info_client_proc_show_pending_commit(int argc, char **argv)
-{
-   Eina_List *l;
-   int i = 0;
-   E_Pending_Commit_Info *pending_commit;
-
-   if (!_e_info_client_eldbus_message("show_pending_commit", _cb_pending_commit_info_get))
-     return;
-
-   printf("----------------------------[ pending commit ]-----------------------------------\n");
-   printf(" No          Plane          Zpos          Data          tsurface\n");
-   printf("---------------------------------------------------------------------------------\n");
-
-   if (!e_info_client.pending_commit_list)
-     {
-        printf("no peding commit\n");
-        return;
-     }
-
-   EINA_LIST_FOREACH(e_info_client.pending_commit_list, l, pending_commit)
-     {
-        i++;
-        printf("%3d        %12zx   %5d         %12zx  %12zx\n",
-               i,
-               (uintptr_t)pending_commit->plane,
-               pending_commit->zpos,
-               (uintptr_t)pending_commit->data,
-               (uintptr_t)pending_commit->tsurface);
-     }
-
-   E_FREE_LIST(e_info_client.pending_commit_list, _e_pending_commit_info_free);
-}
-
 static E_Fps_Info *
 _e_fps_info_new(E_Info_Fps_Type type, const char *output, int zpos, unsigned int window, double fps)
 {
@@ -4201,45 +4013,17 @@ _e_info_client_cb_wininfo(const Eldbus_Message *msg)
           res_id, pid, x, y, w, h, border_size, alpha ? 32 : 24,
           focused, opaque, obscured, iconic, visible ? "Visible" : "Not visible",
           frame_visible, redirected ? "yes" : "no", layer_name);
-   if (e_info_client.hwc_windows)
-     printf("   HWC_ST:");
-   else
-     printf("   PL@ZPos:");
+   printf("   HWC_ST:");
    if (e_info_client.hwc)
      {
-        if (e_info_client.hwc_windows) // hwc windows
+        switch(pl_zpos)
           {
-             switch(pl_zpos)
-               {
-                case E_HWC_WINDOW_STATE_NONE:   printf("  NO  "); break;
-                case E_HWC_WINDOW_STATE_CLIENT: printf("  CL  "); break;
-                case E_HWC_WINDOW_STATE_DEVICE: printf("  DV  "); break;
-                case E_HWC_WINDOW_STATE_VIDEO:  printf("  VD  "); break;
-                case E_HWC_WINDOW_STATE_CURSOR: printf("  CS  "); break;
-                default:                        printf("  -  "); break;
-               }
-          }
-        else                           // hwc planes
-          {
-             if (hwc >= 0)
-               {
-                  if ((!iconic) && (frame_visible))
-                    {
-                       if (pl_zpos == -999)
-                         printf(" - ");
-                       else
-                         {
-                            if (hwc) printf(" hwc@%i\n", pl_zpos);
-                            else printf(" comp@%i\n", pl_zpos);
-                         }
-                    }
-                  else
-                    printf(" - \n");
-               }
-             else
-               {
-                  printf(" - \n");
-               }
+           case E_HWC_WINDOW_STATE_NONE:   printf("  NO  "); break;
+           case E_HWC_WINDOW_STATE_CLIENT: printf("  CL  "); break;
+           case E_HWC_WINDOW_STATE_DEVICE: printf("  DV  "); break;
+           case E_HWC_WINDOW_STATE_VIDEO:  printf("  VD  "); break;
+           case E_HWC_WINDOW_STATE_CURSOR: printf("  CS  "); break;
+           default:                        printf("  -  "); break;
           }
      }
    else
@@ -5482,9 +5266,9 @@ _cb_view_info_get(const Eldbus_Message *msg)
    res = eldbus_message_error_get(msg, &name, &text);
    EINA_SAFETY_ON_TRUE_GOTO(res, finish);
 
-   res = eldbus_message_arguments_get(msg, "iiiiisiiia("VALUE_TYPE_FOR_TOPVWINS")",
-                                      &e_info_client.use_gl, &e_info_client.use_hwc, &e_info_client.use_multi_layer,
-                                      &e_info_client.hwc, &e_info_client.hwc_windows,
+   res = eldbus_message_arguments_get(msg, "iiisiiia("VALUE_TYPE_FOR_TOPVWINS")",
+                                      &e_info_client.use_gl, &e_info_client.use_hwc,
+                                      &e_info_client.hwc,
                                       &engine, &e_info_client.config_engine,
                                       &e_info_client.use_buffer_flush, &e_info_client.deiconify_approve,
                                       &array);
@@ -5525,13 +5309,7 @@ _e_info_client_proc_view_info(int argc, char **argv)
    if (e_info_client.use_hwc)
      {
         if (e_info_client.hwc)
-          {
-             printf("HWC:  ");
-             if (e_info_client.hwc_windows)
-               printf("hwc windows policy\n");
-             else
-               printf("hwc planes policy and multiple plane is %s\n", e_info_client.use_multi_layer ? "on":"off");
-          }
+          printf("HWC:  hwc windows policy\n");
         else
           printf("HWC:  off");
      }
@@ -5562,10 +5340,7 @@ _e_info_client_proc_view_info(int argc, char **argv)
 
         printf("%d Top level windows in view tree\n", eina_list_count(e_info_client.win_list));
         printf("--------------------------------------[ topvwins ]----------------------------------------------------------------------------------\n");
-        if (e_info_client.hwc_windows)
-          printf(" No   Win_ID    RcsID    PID     w     h       x      y  L Zone Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  HWC_ST  Parent   TP    Title\n");
-        else
-          printf(" No   Win_ID    RcsID    PID     w     h       x      y  L Zone Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  PL@ZPos Parent   TP    Title\n");
+        printf(" No   Win_ID    RcsID    PID     w     h       x      y  L Zone Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  HWC_ST  Parent   TP    Title\n");
         printf("------------------------------------------------------------------------------------------------------------------------------------\n");
 
         if (!e_info_client.win_list)
@@ -5592,32 +5367,14 @@ _e_info_client_proc_view_info(int argc, char **argv)
 
              if (win->hwc >= 0)
                {
-                  if (win->hwc_policy == E_HWC_POLICY_WINDOWS) // hwc windows
-                    {
-                       switch(win->pl_zpos)
-                         {
-                          case E_HWC_WINDOW_STATE_NONE:   snprintf(tmp, sizeof(tmp), "  NO  "); break;
-                          case E_HWC_WINDOW_STATE_CLIENT: snprintf(tmp, sizeof(tmp), "  CL  "); break;
-                          case E_HWC_WINDOW_STATE_DEVICE: snprintf(tmp, sizeof(tmp), "  DV  "); break;
-                          case E_HWC_WINDOW_STATE_VIDEO:  snprintf(tmp, sizeof(tmp), "  VD  "); break;
-                          case E_HWC_WINDOW_STATE_CURSOR: snprintf(tmp, sizeof(tmp), "  CS  "); break;
-                          default:                        snprintf(tmp, sizeof(tmp), "  -  "); break;
-                         }
-                    }
-                  else // hwc planes
+                  switch(win->pl_zpos)
                     {
-                       if ((!win->iconic) && (win->frame_visible))
-                         {
-                            if (win->pl_zpos == -999)
-                              snprintf(tmp, sizeof(tmp), " - ");
-                            else
-                              {
-                                 if (win->hwc) snprintf(tmp, sizeof(tmp), "hwc@%i", win->pl_zpos);
-                                 else snprintf(tmp, sizeof(tmp), "comp@%i", win->pl_zpos);
-                              }
-                         }
-                       else
-                         snprintf(tmp, sizeof(tmp), " - ");
+                     case E_HWC_WINDOW_STATE_NONE:   snprintf(tmp, sizeof(tmp), "  NO  "); break;
+                     case E_HWC_WINDOW_STATE_CLIENT: snprintf(tmp, sizeof(tmp), "  CL  "); break;
+                     case E_HWC_WINDOW_STATE_DEVICE: snprintf(tmp, sizeof(tmp), "  DV  "); break;
+                     case E_HWC_WINDOW_STATE_VIDEO:  snprintf(tmp, sizeof(tmp), "  VD  "); break;
+                     case E_HWC_WINDOW_STATE_CURSOR: snprintf(tmp, sizeof(tmp), "  CS  "); break;
+                     default:                        snprintf(tmp, sizeof(tmp), "  -  "); break;
                     }
                }
              else
@@ -7093,18 +6850,6 @@ static ProcInfo procs_to_printinfo[] =
       _e_info_client_proc_output_mode
    },
    {
-      "show_plane_state",
-      NULL,
-      "Print state of plane",
-      _e_info_client_proc_show_plane_state
-   },
-   {
-      "show_pending_commit",
-      NULL,
-      "Print state of pending commit",
-      _e_info_client_proc_show_pending_commit
-   },
-   {
       "fps",
       FPS_USAGE,
       "Print FPS in every sec per",
index 9a855f0..a350c30 100644 (file)
@@ -235,10 +235,6 @@ e_info_server_hook_call(E_Info_Server_Hook_Point hookpoint)
 static void
 _e_info_server_ec_hwc_info_get(E_Client *ec, int *hwc, int *hwc_policy, int *pl_zpos)
 {
-   Eina_List *l;
-   E_Output *eout;
-   E_Zone *zone;
-   E_Plane *ep;
    E_Hwc_Window *hwc_window = NULL;
 
    *hwc = -1;
@@ -249,37 +245,12 @@ _e_info_server_ec_hwc_info_get(E_Client *ec, int *hwc, int *hwc_policy, int *pl_
 
    *hwc = 0;
 
-   zone = e_comp_zone_find_by_ec(ec);
-   if (!zone) return;
-   eout = e_output_find(zone->output_id);
-   if (!eout) return;
-
-   *hwc_policy = e_hwc_policy_get(eout->hwc);
-
-   if (*hwc_policy == E_HWC_POLICY_PLANES)
-     {
-        EINA_LIST_FOREACH(eout->planes, l, ep)
-          {
-             if (e_plane_is_fb_target(ep))
-               *pl_zpos = ep->zpos;
-
-             if (ep->ec == ec)
-               {
-                  *hwc = 1;
-                  *pl_zpos = ep->zpos;
-                  break;
-               }
-          }
-     }
-   else
-     {
-        if (!ec->hwc_window) return;
-        hwc_window = ec->hwc_window;
-        if (e_hwc_window_is_on_hw_overlay(hwc_window))
-          *hwc = 1;
+   if (!ec->hwc_window) return;
+   hwc_window = ec->hwc_window;
+   if (e_hwc_window_is_on_hw_overlay(hwc_window))
+     *hwc = 1;
 
-        *pl_zpos = e_hwc_window_accepted_state_get(hwc_window);
-     }
+   *pl_zpos = e_hwc_window_accepted_state_get(hwc_window);
 }
 
 static Eldbus_Message *
@@ -530,21 +501,6 @@ _msg_clients_append(Eldbus_Message_Iter *iter, Eina_Bool is_visible)
    eldbus_message_iter_container_close(iter, array_of_ec);
 }
 
-static int
-_e_info_server_is_hwc_windows()
-{
-   E_Output *primary_output;
-
-   primary_output = e_display_primary_output_get();
-   if (!primary_output)
-      return 0;
-
-   if (e_hwc_policy_get(primary_output->hwc) == E_HWC_POLICY_WINDOWS)
-     return 1;
-
-   return 0;
-}
-
 /* Method Handlers */
 static Eldbus_Message *
 _e_info_server_cb_window_info_get(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eldbus_Message *msg)
@@ -554,9 +510,7 @@ _e_info_server_cb_window_info_get(const Eldbus_Service_Interface *iface EINA_UNU
 
    eldbus_message_iter_basic_append(iter, 'i', e_comp_gl_get());
    eldbus_message_iter_basic_append(iter, 'i', e_comp_config_get()->hwc);
-   eldbus_message_iter_basic_append(iter, 'i', e_comp_config_get()->hwc_use_multi_plane);
    eldbus_message_iter_basic_append(iter, 'i', e_comp->hwc);
-   eldbus_message_iter_basic_append(iter, 'i', _e_info_server_is_hwc_windows());
    eldbus_message_iter_basic_append(iter, 's', ecore_evas_engine_name_get(e_comp->ee));
    eldbus_message_iter_basic_append(iter, 'i', e_comp_config_get()->engine);
    eldbus_message_iter_basic_append(iter, 'i', e_config->use_buffer_flush);
@@ -575,7 +529,6 @@ _e_info_server_cb_ec_info_get(const Eldbus_Service_Interface *iface EINA_UNUSED,
    Eldbus_Message_Iter *iter = eldbus_message_iter_get(reply);
 
    eldbus_message_iter_basic_append(iter, 'i', e_comp->hwc);
-   eldbus_message_iter_basic_append(iter, 'i', _e_info_server_is_hwc_windows());
 
    _msg_ecs_append(iter, EINA_TRUE);
 
@@ -588,7 +541,6 @@ _e_info_server_cb_all_ec_info_get(const Eldbus_Service_Interface *iface EINA_UNU
    Eldbus_Message_Iter *iter = eldbus_message_iter_get(reply);
 
    eldbus_message_iter_basic_append(iter, 'i', e_comp->hwc);
-   eldbus_message_iter_basic_append(iter, 'i', _e_info_server_is_hwc_windows());
 
    _msg_ecs_append(iter, EINA_FALSE);
 
@@ -603,7 +555,6 @@ _e_info_server_cb_all_window_info_get(const Eldbus_Service_Interface *iface EINA
    Eldbus_Message_Iter *iter = eldbus_message_iter_get(reply);
 
    eldbus_message_iter_basic_append(iter, 'i', e_comp->hwc);
-   eldbus_message_iter_basic_append(iter, 'i', _e_info_server_is_hwc_windows());
 
    _msg_clients_append(iter, EINA_FALSE);
 
@@ -4523,7 +4474,6 @@ e_info_server_cb_hwc_trace_message(const Eldbus_Service_Interface *iface EINA_UN
 
    if (onoff == 0 || onoff == 1)
      {
-        e_plane_hwc_trace_debug(onoff);
         e_hwc_windows_trace_debug(onoff);
      }
 
@@ -4649,81 +4599,6 @@ e_info_server_cb_exsync_trace_message(const Eldbus_Service_Interface *iface EINA
    return reply;
 }
 
-static Eldbus_Message *
-e_info_server_cb_show_plane_state(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eldbus_Message *msg)
-{
-   Eina_List *output_l, *plane_l;
-   E_Output *output = NULL;
-   E_Plane *plane = NULL;
-   Eldbus_Message *reply = eldbus_message_method_return_new(msg);
-
-   EINA_LIST_FOREACH(e_display_outputs_get(), output_l, output)
-     {
-        if (!output) continue;
-
-        EINA_LIST_FOREACH(output->planes, plane_l, plane)
-          {
-             if (!plane) continue;
-
-             e_plane_show_state(plane);
-          }
-     }
-
-   return reply;
-}
-
-static void
-_msg_show_pending_commit_append(Eldbus_Message_Iter *iter)
-{
-   Eina_List *output_l, *plane_l, *data_l;
-   Eldbus_Message_Iter *array_of_pending_commit;
-   E_Output *output = NULL;
-   E_Plane *plane = NULL;
-   E_Plane_Commit_Data *data = NULL;
-
-   eldbus_message_iter_arguments_append(iter, "a("VALUE_TYPE_FOR_PENDING_COMMIT")", &array_of_pending_commit);
-
-   EINA_LIST_FOREACH(e_display_outputs_get(), output_l, output)
-     {
-        if (!output) continue;
-
-        EINA_LIST_FOREACH(output->planes, plane_l, plane)
-          {
-             if (!plane) continue;
-
-             EINA_LIST_FOREACH(plane->commit_data_list, data_l, data)
-               {
-                  Eldbus_Message_Iter* struct_of_pending_commit;
-
-                  if (!data) continue;
-
-                  eldbus_message_iter_arguments_append(array_of_pending_commit, "("VALUE_TYPE_FOR_PENDING_COMMIT")", &struct_of_pending_commit);
-
-                  eldbus_message_iter_arguments_append
-                    (struct_of_pending_commit, VALUE_TYPE_FOR_PENDING_COMMIT,
-                      (uintptr_t)plane,
-                      plane->zpos,
-                      (uintptr_t)data,
-                      (uintptr_t)data->tsurface);
-
-                  eldbus_message_iter_container_close(array_of_pending_commit, struct_of_pending_commit);
-               }
-          }
-     }
-
-   eldbus_message_iter_container_close(iter, array_of_pending_commit);
-}
-
-static Eldbus_Message *
-e_info_server_cb_show_pending_commit(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eldbus_Message *msg)
-{
-   Eldbus_Message *reply = eldbus_message_method_return_new(msg);
-
-   _msg_show_pending_commit_append(eldbus_message_iter_get(reply));
-
-   return reply;
-}
-
 static E_Client *
 _e_info_server_find_client_by_win_id(uint64_t win_id)
 {
@@ -4771,11 +4646,10 @@ _msg_client_fps_append(Eldbus_Message_Iter *iter, E_Client *ec)
 static void
 _msg_output_fps_append(Eldbus_Message_Iter *iter)
 {
-   Eina_List *output_l, *plane_l, *hwc_l;
+   Eina_List *output_l, *hwc_l;
    Eldbus_Message_Iter *array_of_fps;
    E_Hwc_Window *hwc_window = NULL;
    E_Output *output = NULL;
-   E_Plane *plane = NULL;
    double fps = 0.0;
    char output_name[30];
 
@@ -4789,70 +4663,42 @@ _msg_output_fps_append(Eldbus_Message_Iter *iter)
 
         if (output->hwc)
           {
-             if (e_hwc_policy_get(output->hwc) == E_HWC_POLICY_WINDOWS)
+             if (e_hwc_windows_fps_get(output->hwc, &fps))
                {
-                  if (e_hwc_windows_fps_get(output->hwc, &fps))
-                    {
-                       Eldbus_Message_Iter* struct_of_fps;
-
-                       eldbus_message_iter_arguments_append(array_of_fps, "("VALUE_TYPE_FOR_FPS")", &struct_of_fps);
-
-                       eldbus_message_iter_arguments_append
-                           (struct_of_fps, VALUE_TYPE_FOR_FPS,
-                             E_INFO_FPS_TYPE_OUTPUT,
-                             output_name,
-                             -999,
-                             0,
-                             fps);
-
-                       eldbus_message_iter_container_close(array_of_fps, struct_of_fps);
-                    }
-
-                  EINA_LIST_FOREACH(output->hwc->hwc_windows, hwc_l, hwc_window)
-                    {
-                       E_Hwc_Window_State state;
-                       Eldbus_Message_Iter* struct_of_fps;
+                  Eldbus_Message_Iter* struct_of_fps;
 
-                       if(!hwc_window) continue;
-
-                       state = e_hwc_window_accepted_state_get(hwc_window);
-                       if ((state == E_HWC_WINDOW_STATE_CLIENT) || (state == E_HWC_WINDOW_STATE_NONE)) continue;
-                       if (!e_hwc_window_fps_get(hwc_window, &fps)) continue;
-
-                       eldbus_message_iter_arguments_append(array_of_fps, "("VALUE_TYPE_FOR_FPS")", &struct_of_fps);
-
-                       eldbus_message_iter_arguments_append
-                           (struct_of_fps, VALUE_TYPE_FOR_FPS,
-                             hwc_window->is_target ? E_INFO_FPS_TYPE_HWC_COMP : E_INFO_FPS_TYPE_HWC_WIN,
-                             output_name,
-                             hwc_window->zpos,
-                             hwc_window->is_target ? 0 : e_client_util_win_get(hwc_window->ec),
-                             fps);
-
-                       eldbus_message_iter_container_close(array_of_fps, struct_of_fps);
-                    }
+                  eldbus_message_iter_arguments_append(array_of_fps, "("VALUE_TYPE_FOR_FPS")", &struct_of_fps);
+                  eldbus_message_iter_arguments_append
+                      (struct_of_fps, VALUE_TYPE_FOR_FPS,
+                        E_INFO_FPS_TYPE_OUTPUT,
+                        output_name,
+                        -999,
+                        0,
+                        fps);
+                  eldbus_message_iter_container_close(array_of_fps, struct_of_fps);
                }
-             else
+
+             EINA_LIST_FOREACH(output->hwc->hwc_windows, hwc_l, hwc_window)
                {
-                  EINA_LIST_FOREACH(output->planes, plane_l, plane)
-                    {
-                        if (!plane) continue;
-                        if (!e_plane_fps_get(plane, &fps)) continue;
+                  E_Hwc_Window_State state;
+                  Eldbus_Message_Iter* struct_of_fps;
 
-                        Eldbus_Message_Iter* struct_of_fps;
+                  if(!hwc_window) continue;
 
-                        eldbus_message_iter_arguments_append(array_of_fps, "("VALUE_TYPE_FOR_FPS")", &struct_of_fps);
+                  state = e_hwc_window_accepted_state_get(hwc_window);
+                  if ((state == E_HWC_WINDOW_STATE_CLIENT) || (state == E_HWC_WINDOW_STATE_NONE)) continue;
 
-                        eldbus_message_iter_arguments_append
-                          (struct_of_fps, VALUE_TYPE_FOR_FPS,
-                            E_INFO_FPS_TYPE_LAYER,
-                            output_name,
-                            plane->zpos,
-                            0,
-                            plane->fps);
+                  if (!e_hwc_window_fps_get(hwc_window, &fps)) continue;
 
-                        eldbus_message_iter_container_close(array_of_fps, struct_of_fps);
-                    }
+                  eldbus_message_iter_arguments_append(array_of_fps, "("VALUE_TYPE_FOR_FPS")", &struct_of_fps);
+                  eldbus_message_iter_arguments_append
+                      (struct_of_fps, VALUE_TYPE_FOR_FPS,
+                        hwc_window->is_target ? E_INFO_FPS_TYPE_HWC_COMP : E_INFO_FPS_TYPE_HWC_WIN,
+                        output_name,
+                        hwc_window->zpos,
+                        hwc_window->is_target ? 0 : e_client_util_win_get(hwc_window->ec),
+                        fps);
+                  eldbus_message_iter_container_close(array_of_fps, struct_of_fps);
                }
           }
         else
@@ -6686,9 +6532,7 @@ _e_info_server_cb_view_info_get(const Eldbus_Service_Interface *iface EINA_UNUSE
 
    eldbus_message_iter_basic_append(iter, 'i', e_comp_gl_get());
    eldbus_message_iter_basic_append(iter, 'i', e_comp_config_get()->hwc);
-   eldbus_message_iter_basic_append(iter, 'i', e_comp_config_get()->hwc_use_multi_plane);
    eldbus_message_iter_basic_append(iter, 'i', e_comp->hwc);
-   eldbus_message_iter_basic_append(iter, 'i', _e_info_server_is_hwc_windows());
    eldbus_message_iter_basic_append(iter, 's', ecore_evas_engine_name_get(e_comp->ee));
    eldbus_message_iter_basic_append(iter, 'i', e_comp_config_get()->engine);
    eldbus_message_iter_basic_append(iter, 'i', e_config->use_buffer_flush);
@@ -7535,10 +7379,10 @@ _e_info_server_cb_key_elapsed_time(const Eldbus_Service_Interface *iface EINA_UN
 
 //{ "method_name", arguments_from_client, return_values_to_client, _method_cb, ELDBUS_METHOD_FLAG },
 static const Eldbus_Method methods[] = {
-   { "get_window_info", NULL, ELDBUS_ARGS({"iiiiisiiia("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}), _e_info_server_cb_window_info_get, 0 },
-   { "get_ec_info", NULL, ELDBUS_ARGS({"iia("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}),_e_info_server_cb_ec_info_get, 0 },
-   { "get_all_ec_info", NULL, ELDBUS_ARGS({"iia("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}),_e_info_server_cb_all_ec_info_get, 0 },
-   { "get_all_window_info", NULL, ELDBUS_ARGS({"iia("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}), _e_info_server_cb_all_window_info_get, 0 },
+   { "get_window_info", NULL, ELDBUS_ARGS({"iiisiiia("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}), _e_info_server_cb_window_info_get, 0 },
+   { "get_ec_info", NULL, ELDBUS_ARGS({"ia("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}),_e_info_server_cb_ec_info_get, 0 },
+   { "get_all_ec_info", NULL, ELDBUS_ARGS({"ia("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}),_e_info_server_cb_all_ec_info_get, 0 },
+   { "get_all_window_info", NULL, ELDBUS_ARGS({"ia("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}), _e_info_server_cb_all_window_info_get, 0 },
    { "get_zone_info", NULL, ELDBUS_ARGS({"("VALUE_TYPE_FOR_ZONE")", "array of zone"}), _e_info_server_cb_zone_info_get, 0 },
    { "compobjs", NULL, ELDBUS_ARGS({"a("SIGNATURE_COMPOBJS_CLIENT")", "array of comp objs"}), _e_info_server_cb_compobjs, 0 },
    { "subsurface", NULL, ELDBUS_ARGS({"a("SIGNATURE_SUBSURFACE")", "array of ec"}), _e_info_server_cb_subsurface, 0 },
@@ -7570,8 +7414,6 @@ static const Eldbus_Method methods[] = {
    { "trace_message_damage", ELDBUS_ARGS({"i", "trace_message_damage"}), NULL, e_info_server_cb_damage_trace_message, 0},
    { "trace_message_blur", ELDBUS_ARGS({"i", "trace_message_damage"}), NULL, e_info_server_cb_blur_trace_message, 0},
    { "hwc", ELDBUS_ARGS({"i", "hwc"}), NULL, e_info_server_cb_hwc, 0},
-   { "show_plane_state", NULL, NULL, e_info_server_cb_show_plane_state, 0},
-   { "show_pending_commit", NULL, ELDBUS_ARGS({"a("VALUE_TYPE_FOR_PENDING_COMMIT")", "array of pending commit"}), e_info_server_cb_show_pending_commit, 0},
    { "get_fps_info", ELDBUS_ARGS({"s", "fps request"}), ELDBUS_ARGS({"a("VALUE_TYPE_FOR_FPS")", "array of fps"}), _e_info_server_cb_fps_info_get, 0},
    { "get_keymap", NULL, ELDBUS_ARGS({"hi", "keymap fd"}), _e_info_server_cb_keymap_info_get, 0},
    { "effect_control", ELDBUS_ARGS({"i", "effect_control"}), NULL, e_info_server_cb_effect_control, 0},
@@ -7611,7 +7453,7 @@ static const Eldbus_Method methods[] = {
    { "input_region", ELDBUS_ARGS({"siiii", "options"}), ELDBUS_ARGS({"a(iiii)", "path"}), _e_info_server_cb_input_region, 0},
    { "hwc_wins", ELDBUS_ARGS({"i", "option"}), ELDBUS_ARGS({"as", "hwc wins info"}), _e_info_server_cb_hwc_wins_info_get, 0 },
    { "screen_info", ELDBUS_ARGS({"i", "option"}), ELDBUS_ARGS({"as", "screen info"}), _e_info_server_cb_screen_info_get, 0 },
-   { "view_info", NULL, ELDBUS_ARGS({"iiiiisiiia("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}), _e_info_server_cb_view_info_get, 0 },
+   { "view_info", NULL, ELDBUS_ARGS({"iiisiiia("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}), _e_info_server_cb_view_info_get, 0 },
    { "focus_policy_ext_set", ELDBUS_ARGS({"i", "option"}), ELDBUS_ARGS({"bi", "isChanged and result"}), _e_info_server_cb_focus_policy_ext_set, 0 },
    { "focus_history", NULL, ELDBUS_ARGS({"a(ubbbs)", "history array"}), _e_info_server_cb_focus_history, 0 },
    { "init_device", ELDBUS_ARGS({"us", "device information"}), ELDBUS_ARGS({"s", "result message"}), _e_info_server_cb_init_device, 0},
index daeee84..133d8d7 100644 (file)
@@ -1,7 +1,6 @@
 #include "e_display_intern.h"
 #include "e_hwc_intern.h"
 #include "e_hwc_windows_intern.h"
-#include "e_hwc_planes_intern.h"
 #include "e_utils_intern.h"
 #include "e_scale_intern.h"
 #include "e_comp_screen_intern.h"
@@ -63,57 +62,6 @@ _e_display_dpms_to_string(E_OUTPUT_DPMS dpms)
      }
 }
 
-static tdm_layer *
-_e_display_video_tdm_layer_get(tdm_output *output)
-{
-   int i, count = 0;
-#ifdef CHECKING_PRIMARY_ZPOS
-   int primary_idx = 0, primary_zpos = 0;
-   tdm_layer *primary_layer;
-#endif
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(output, NULL);
-
-   tdm_output_get_layer_count(output, &count);
-   for (i = 0; i < count; i++)
-     {
-        tdm_layer *layer = tdm_output_get_layer(output, i, NULL);
-        tdm_layer_capability capabilities = 0;
-        EINA_SAFETY_ON_NULL_RETURN_VAL(layer, NULL);
-
-        tdm_layer_get_capabilities(layer, &capabilities);
-        if (capabilities & TDM_LAYER_CAPABILITY_VIDEO)
-          return layer;
-     }
-
-#ifdef CHECKING_PRIMARY_ZPOS
-   tdm_output_get_primary_index(output, &primary_idx);
-   primary_layer = tdm_output_get_layer(output, primary_idx, NULL);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(primary_layer, NULL);
-   tdm_layer_get_zpos(primary_layer, &primary_zpos);
-#endif
-
-   for (i = 0; i < count; i++)
-     {
-        tdm_layer *layer = tdm_output_get_layer(output, i, NULL);
-        tdm_layer_capability capabilities = 0;
-        EINA_SAFETY_ON_NULL_RETURN_VAL(layer, NULL);
-
-        tdm_layer_get_capabilities(layer, &capabilities);
-        if (capabilities & TDM_LAYER_CAPABILITY_OVERLAY)
-          {
-#ifdef CHECKING_PRIMARY_ZPOS
-             int zpos = 0;
-             tdm_layer_get_zpos(layer, &zpos);
-             if (zpos >= primary_zpos) continue;
-#endif
-             return layer;
-          }
-     }
-
-   return NULL;
-}
-
 static E_Output *
 _e_display_eoutput_get_by_toutput(tdm_output *output)
 {
@@ -127,24 +75,6 @@ _e_display_eoutput_get_by_toutput(tdm_output *output)
    return NULL;
 }
 
-static char *
-_layer_cap_to_str(tdm_layer_capability caps, tdm_layer_capability cap)
-{
-   if (caps & cap)
-     {
-        if (cap == TDM_LAYER_CAPABILITY_CURSOR) return "cursor ";
-        else if (cap == TDM_LAYER_CAPABILITY_PRIMARY) return "primary ";
-        else if (cap == TDM_LAYER_CAPABILITY_OVERLAY) return "overlay ";
-        else if (cap == TDM_LAYER_CAPABILITY_GRAPHIC) return "graphics ";
-        else if (cap == TDM_LAYER_CAPABILITY_VIDEO) return "video ";
-        else if (cap == TDM_LAYER_CAPABILITY_TRANSFORM) return "transform ";
-        else if (cap == TDM_LAYER_CAPABILITY_RESEVED_MEMORY) return "reserved_memory ";
-        else if (cap == TDM_LAYER_CAPABILITY_NO_CROP) return "no_crop ";
-        else return "unknown";
-     }
-   return "";
-}
-
 static void
 _display_output_mode_change_cb(tdm_output *toutput, unsigned int index, void *user_data)
 {
@@ -316,7 +246,6 @@ _display_deinit_outputs(E_Display *display)
    e_hwc_ecore_evas_deinit();
    e_hwc_deinit();
    e_hwc_windows_deinit();
-   e_hwc_planes_deinit();
 
    e_output_shutdown();
 }
@@ -360,12 +289,6 @@ _e_display_init_outputs(E_Display *display)
         goto fail;
      }
 
-   if (!e_hwc_planes_init())
-     {
-        ERR("e_hwc_planes_init failed");
-        goto fail;
-     }
-
    if (!e_hwc_windows_init())
      {
         ERR("e_hwc_windows_init failed");
@@ -718,7 +641,6 @@ e_display_available_video_formats_get(const tbm_format **formats, int *count)
 {
    E_Output *output;
    tdm_output *toutput;
-   tdm_layer *layer;
    tdm_error error;
 
    *count = 0;
@@ -739,28 +661,11 @@ e_display_available_video_formats_get(const tbm_format **formats, int *count)
    if (!output)
      return EINA_FALSE;
 
-   if (e_hwc_policy_get(output->hwc) != E_HWC_POLICY_WINDOWS)
-     {
-        /* get the first suitable layer */
-        layer = _e_display_video_tdm_layer_get(toutput);
-        if (layer)
-          {
-             tdm_layer_get_available_formats(layer, formats, count);
-          }
-        else
-          {
-             *formats = sw_formats;
-             *count = NUM_SW_FORMAT;
-          }
-     }
-   else
+   error = tdm_hwc_get_video_supported_formats(output->hwc->thwc, formats, count);
+   if (error != TDM_ERROR_NONE)
      {
-        error = tdm_hwc_get_video_supported_formats(output->hwc->thwc, formats, count);
-        if (error != TDM_ERROR_NONE)
-          {
-             *formats = sw_formats;
-             *count = NUM_SW_FORMAT;
-          }
+        *formats = sw_formats;
+        *count = NUM_SW_FORMAT;
      }
 
    return EINA_TRUE;
@@ -797,13 +702,8 @@ e_display_hwc_info_debug(void)
 
    E_Display *display = g_display;
    E_Output *output = NULL;
-   E_Plane *plane = NULL;
    Eina_List *l_o, *ll_o;
-   Eina_List *l_l, *ll_l;
-   tdm_output_conn_status conn_status;
    int output_idx = 0;
-   tdm_layer_capability layer_capabilities;
-   char layer_cap[4096] = {0, };
    int i;
    const tdm_prop *tprops;
    int count;
@@ -811,63 +711,32 @@ e_display_hwc_info_debug(void)
    INF("HWC: HWC Information ==========================================================");
    EINA_LIST_FOREACH_SAFE(display->outputs, l_o, ll_o, output)
      {
-        tdm_error err = TDM_ERROR_NONE;
-
         if (!output) continue;
 
-        if (e_hwc_policy_get(output->hwc) == E_HWC_POLICY_PLANES)
+        /* TODO: construct debug info for outputs managed by the hwc-wins */
+        INF("HWC: HWC Output(%d) managed by hwc-wins.", ++output_idx);
+
+        if (!e_hwc_windows_get_available_properties(output->hwc, &tprops, &count))
           {
-             err = tdm_output_get_conn_status(output->toutput, &conn_status);
-             if (err != TDM_ERROR_NONE) continue;
-             if (conn_status == TDM_OUTPUT_CONN_STATUS_DISCONNECTED) continue;
-
-             INF("HWC: HWC Output(%d):(x, y, w, h)=(%d, %d, %d, %d) Information.",
-                 ++output_idx,
-                 output->config.geom.x, output->config.geom.y, output->config.geom.w, output->config.geom.h);
-             INF("HWC:  num_layers=%d", output->plane_count);
-             EINA_LIST_FOREACH_SAFE(output->planes, l_l, ll_l, plane)
-               {
-                   if (!plane) continue;
-                   /* FIXME: hwc extension doesn't provide thing like layer */
-                   tdm_layer_get_capabilities(plane->tlayer, &layer_capabilities);
-                   snprintf(layer_cap, sizeof(layer_cap), "%s%s%s%s%s%s%s%s",
-                            _layer_cap_to_str(layer_capabilities, TDM_LAYER_CAPABILITY_CURSOR),
-                            _layer_cap_to_str(layer_capabilities, TDM_LAYER_CAPABILITY_PRIMARY),
-                            _layer_cap_to_str(layer_capabilities, TDM_LAYER_CAPABILITY_OVERLAY),
-                            _layer_cap_to_str(layer_capabilities, TDM_LAYER_CAPABILITY_GRAPHIC),
-                            _layer_cap_to_str(layer_capabilities, TDM_LAYER_CAPABILITY_VIDEO),
-                            _layer_cap_to_str(layer_capabilities, TDM_LAYER_CAPABILITY_TRANSFORM),
-                            _layer_cap_to_str(layer_capabilities, TDM_LAYER_CAPABILITY_RESEVED_MEMORY),
-                            _layer_cap_to_str(layer_capabilities, TDM_LAYER_CAPABILITY_NO_CROP));
-                   INF("HWC:  index=%d zpos=%d ec=%p %s",
-                       plane->index, plane->zpos,
-                       plane->ec?plane->ec:NULL,
-                       layer_cap);
-               }
+             ERR("e_hwc_windows_get_video_available_properties failed");
+             return;
           }
-        else
-          {
-             /* TODO: construct debug info for outputs managed by the hwc-wins */
-             INF("HWC: HWC Output(%d) managed by hwc-wins.", ++output_idx);
 
-             if (!e_hwc_windows_get_available_properties(output->hwc, &tprops, &count))
-               {
-                  ERR("e_hwc_windows_get_video_available_properties failed");
-                  return;
-               }
-             INF(">>>>>>>> Available UI props : count = %d", count);
-             for (i = 0; i < count; i++)
-               INF("   [%d] %s, %u", i, tprops[i].name, tprops[i].id);
+        INF(">>>>>>>> Available UI props : count = %d", count);
 
-             if (!e_hwc_windows_get_video_available_properties(output->hwc, &tprops, &count))
-               {
-                  ERR("e_hwc_windows_get_video_available_properties failed");
-                  return;
-               }
-             INF(">>>>>>>> Available VIDEO props : count = %d", count);
-             for (i = 0; i < count; i++)
-               INF("   [%d] %s, %u", i, tprops[i].name, tprops[i].id);
+        for (i = 0; i < count; i++)
+          INF("   [%d] %s, %u", i, tprops[i].name, tprops[i].id);
+
+        if (!e_hwc_windows_get_video_available_properties(output->hwc, &tprops, &count))
+          {
+             ERR("e_hwc_windows_get_video_available_properties failed");
+             return;
           }
+
+        INF(">>>>>>>> Available VIDEO props : count = %d", count);
+
+        for (i = 0; i < count; i++)
+          INF("   [%d] %s, %u", i, tprops[i].name, tprops[i].id);
      }
    INF("HWC: =========================================================================");
 }
index 9984e5d..a1d3ac3 100644 (file)
@@ -1,5 +1,4 @@
 #include "e_hwc_windows_intern.h"
-#include "e_hwc_planes_intern.h"
 #include "e_hwc_intern.h"
 #include "e_utils_intern.h"
 #include "e_comp_screen_intern.h"
@@ -34,15 +33,6 @@ E_API int E_EVENT_HWC_DEACTIVE = -1;
 
 static int E_EVENT_HWC_PROPERTY_CHANGED = -1;
 
-static int _e_hwc_intercept_hooks_delete = 0;
-static int _e_hwc_intercept_hooks_walking = 0;
-
-static Eina_Inlist *_e_hwc_intercept_hooks[] =
-{
-   [E_HWC_INTERCEPT_HOOK_PREPARE_PLANE] = NULL,
-   [E_HWC_INTERCEPT_HOOK_END_ALL_PLANE] = NULL,
-};
-
 static int _e_hwc_hooks_delete = 0;
 static int _e_hwc_hooks_walking = 0;
 
@@ -52,73 +42,6 @@ static Eina_Inlist *_e_hwc_hooks[] =
 };
 
 static void
-_e_hwc_intercept_hooks_clean(void)
-{
-   Eina_Inlist *l;
-   E_Hwc_Intercept_Hook *ch;
-   unsigned int x;
-
-   for (x = 0; x < E_HWC_INTERCEPT_HOOK_LAST; x++)
-     EINA_INLIST_FOREACH_SAFE(_e_hwc_intercept_hooks[x], l, ch)
-       {
-          if (!ch->delete_me) continue;
-          _e_hwc_intercept_hooks[x] = eina_inlist_remove(_e_hwc_intercept_hooks[x], EINA_INLIST_GET(ch));
-          free(ch);
-       }
-}
-
-EINTERN Eina_Bool
-e_hwc_intercept_hook_call(E_Hwc_Intercept_Hook_Point hookpoint, E_Hwc *hwc)
-{
-   E_Hwc_Intercept_Hook *ch;
-   Eina_Bool ret = EINA_TRUE;
-
-   _e_hwc_intercept_hooks_walking++;
-   EINA_INLIST_FOREACH(_e_hwc_intercept_hooks[hookpoint], ch)
-     {
-        if (ch->delete_me) continue;
-        if (!(ch->func(ch->data, hwc)))
-          {
-             ret = EINA_FALSE;
-             break;
-          }
-     }
-   _e_hwc_intercept_hooks_walking--;
-   if ((_e_hwc_intercept_hooks_walking == 0) && (_e_hwc_intercept_hooks_delete > 0))
-     _e_hwc_intercept_hooks_clean();
-
-   return ret;
-}
-
-E_API E_Hwc_Intercept_Hook *
-e_hwc_intercept_hook_add(E_Hwc_Intercept_Hook_Point hookpoint, E_Hwc_Intercept_Hook_Cb func, const void *data)
-{
-   E_Hwc_Intercept_Hook *ch;
-
-   EINA_SAFETY_ON_TRUE_RETURN_VAL(hookpoint >= E_HWC_INTERCEPT_HOOK_LAST, NULL);
-   ch = E_NEW(E_Hwc_Intercept_Hook, 1);
-   if (!ch) return NULL;
-   ch->hookpoint = hookpoint;
-   ch->func = func;
-   ch->data = (void*)data;
-   _e_hwc_intercept_hooks[hookpoint] = eina_inlist_append(_e_hwc_intercept_hooks[hookpoint], EINA_INLIST_GET(ch));
-   return ch;
-}
-
-E_API void
-e_hwc_intercept_hook_del(E_Hwc_Intercept_Hook *ch)
-{
-   ch->delete_me = 1;
-   if (_e_hwc_intercept_hooks_walking == 0)
-    {
-        _e_hwc_intercept_hooks[ch->hookpoint] = eina_inlist_remove(_e_hwc_intercept_hooks[ch->hookpoint], EINA_INLIST_GET(ch));
-        free(ch);
-     }
-   else
-     _e_hwc_intercept_hooks_delete++;
-}
-
-static void
 _e_hwc_hooks_clean(void)
 {
    Eina_Inlist *l;
@@ -474,23 +397,11 @@ e_hwc_ecore_evas_init(void)
         e_main_ts(buf);
      }
 
-   if (hwc->hwc_policy == E_HWC_POLICY_WINDOWS)
-     {
-        if (!e_hwc_windows_ecore_evas_set(hwc, ee))
-          {
-             ERR("fail to e_hwc_windows_ecore_evas_set");
-             e_hwc_ecore_evas_deinit();
-             return EINA_FALSE;
-          }
-     }
-   else
+   if (!e_hwc_windows_ecore_evas_set(hwc, ee))
      {
-        if (!e_hwc_planes_ecore_evas_set(hwc, ee))
-          {
-             ERR("fail to e_hwc_planes_ecore_evas_set");
-             e_hwc_ecore_evas_deinit();
-             return EINA_FALSE;
-          }
+        ERR("fail to e_hwc_windows_ecore_evas_set");
+        e_hwc_ecore_evas_deinit();
+        return EINA_FALSE;
      }
 
    return EINA_TRUE;
@@ -526,52 +437,35 @@ e_hwc_new(E_Output *output, Eina_Bool primary_output)
 
    hwc->commit_fence_fd = -1;
 
-   /*
-    * E20 has two hwc policy options.
-    * 1. One is the E_HWC_POLICY_PLANES.
-    *   - E20 decides the hwc policy with the E_Planes associated with the tdm_layers.
-    *   - E20 manages how to set the surface(buffer) of the ec to the E_Plane.
-    * 2. Another is the E_HWC_POLICY_WIDNOWS.
-    *   - The tdm-backend decides the hwc policy with the E_Hwc_Windows associated with the tdm_hwc_window.
-    *   - E20 asks to verify the composition types of the E_Hwc_Window of the ec.
-    */
-   if (!output->tdm_hwc)
+   hwc->hwc_policy = E_HWC_POLICY_WINDOWS;
+   EHINF("Use the HWC WINDOWS Policy.", hwc);
+
+   hwc->thwc = tdm_output_get_hwc(output->toutput, &error);
+   if (!hwc->thwc)
      {
-        hwc->hwc_policy = E_HWC_POLICY_PLANES;
-        EHINF("Use the HWC PLANES Policy.", hwc);
+        EHERR("tdm_output_get_hwc failed", hwc);
+        goto fail;
      }
-   else
-     {
-        hwc->hwc_policy = E_HWC_POLICY_WINDOWS;
-        EHINF("Use the HWC WINDOWS Policy.", hwc);
-
-        hwc->thwc = tdm_output_get_hwc(output->toutput, &error);
-        if (!hwc->thwc)
-          {
-             EHERR("tdm_output_get_hwc failed", hwc);
-             goto fail;
-          }
-
-        error = tdm_hwc_get_capabilities(hwc->thwc, &hwc_caps);
-        if (error != TDM_ERROR_NONE)
-          {
-             EHERR("fail to tdm_hwc_get_capabilities", hwc);
-             goto fail;
-          }
 
-        /* hwc video capabilities */
-        if (hwc_caps & TDM_HWC_CAPABILITY_VIDEO_STREAM)
-          hwc->tdm_hwc_video_stream = EINA_TRUE;
-        if (hwc_caps & TDM_HWC_CAPABILITY_VIDEO_SCALE)
-          hwc->tdm_hwc_video_scale = EINA_TRUE;
-        if (hwc_caps & TDM_HWC_CAPABILITY_VIDEO_TRANSFORM)
-          hwc->tdm_hwc_video_transform = EINA_TRUE;
-        if (hwc_caps & TDM_HWC_CAPABILITY_VIDEO_SCANOUT)
-          hwc->tdm_hwc_video_scanout = EINA_TRUE;
-        if (hwc_caps & TDM_HWC_CAPABILITY_FENCE)
-          hwc->tdm_hwc_fence = EINA_TRUE;
+   error = tdm_hwc_get_capabilities(hwc->thwc, &hwc_caps);
+   if (error != TDM_ERROR_NONE)
+     {
+        EHERR("fail to tdm_hwc_get_capabilities", hwc);
+        goto fail;
      }
 
+   /* hwc video capabilities */
+   if (hwc_caps & TDM_HWC_CAPABILITY_VIDEO_STREAM)
+     hwc->tdm_hwc_video_stream = EINA_TRUE;
+   if (hwc_caps & TDM_HWC_CAPABILITY_VIDEO_SCALE)
+     hwc->tdm_hwc_video_scale = EINA_TRUE;
+   if (hwc_caps & TDM_HWC_CAPABILITY_VIDEO_TRANSFORM)
+     hwc->tdm_hwc_video_transform = EINA_TRUE;
+   if (hwc_caps & TDM_HWC_CAPABILITY_VIDEO_SCANOUT)
+     hwc->tdm_hwc_video_scanout = EINA_TRUE;
+   if (hwc_caps & TDM_HWC_CAPABILITY_FENCE)
+     hwc->tdm_hwc_fence = EINA_TRUE;
+
    tdm_output_get_available_size(output->toutput,
                                  &hwc->output_available.min_w,
                                  &hwc->output_available.min_h,
@@ -582,25 +476,22 @@ e_hwc_new(E_Output *output, Eina_Bool primary_output)
    /* set the pirmary_output */
    hwc->primary_output = primary_output;
 
-   if (e_hwc_policy_get(hwc) == E_HWC_POLICY_WINDOWS)
+   /* create the target_window to the hwc */
+   hwc->target_hwc_window = e_hwc_windows_target_window_new(hwc, EINA_FALSE);
+   if (!hwc->target_hwc_window)
+     {
+        EHERR("e_hwc_windows_target_window_new failed", hwc);
+        goto fail;
+     }
+
+   if (primary_output)
      {
-        /* create the target_window to the hwc */
-        hwc->target_hwc_window = e_hwc_windows_target_window_new(hwc, EINA_FALSE);
-        if (!hwc->target_hwc_window)
+        hwc->root_target_hwc_window = e_hwc_windows_target_window_new(hwc, EINA_TRUE);
+        if (!hwc->root_target_hwc_window)
           {
              EHERR("e_hwc_windows_target_window_new failed", hwc);
              goto fail;
           }
-
-        if (primary_output)
-          {
-             hwc->root_target_hwc_window = e_hwc_windows_target_window_new(hwc, EINA_TRUE);
-             if (!hwc->root_target_hwc_window)
-               {
-                  EHERR("e_hwc_windows_target_window_new failed", hwc);
-                  goto fail;
-               }
-          }
      }
 
    /* default active hwc */
@@ -622,19 +513,16 @@ e_hwc_del(E_Hwc *hwc)
 
    if (!hwc) return;
 
-   if (e_hwc_policy_get(hwc) == E_HWC_POLICY_WINDOWS)
+   if (hwc->target_hwc_window)
      {
-        if (hwc->target_hwc_window)
-          {
-             e_hwc_windows_target_window_del(hwc->target_hwc_window);
-             hwc->target_hwc_window = NULL;
-          }
+        e_hwc_windows_target_window_del(hwc->target_hwc_window);
+        hwc->target_hwc_window = NULL;
+     }
 
-        if (hwc->root_target_hwc_window)
-          {
-             e_hwc_windows_target_window_del(hwc->root_target_hwc_window);
-             hwc->root_target_hwc_window = NULL;
-          }
+   if (hwc->root_target_hwc_window)
+     {
+        e_hwc_windows_target_window_del(hwc->root_target_hwc_window);
+        hwc->root_target_hwc_window = NULL;
      }
 
    e_hwc_window_queue_buffer_reference(&hwc->pp_update.queue_buffer_ref, NULL);
@@ -683,9 +571,6 @@ e_hwc_deactive_set(E_Hwc *hwc, Eina_Bool set)
 
    if (hwc->hwc_deactive == set) return;
 
-   if (e_hwc_policy_get(hwc) == E_HWC_POLICY_PLANES)
-     e_hwc_planes_end(hwc, __FUNCTION__);
-
    hwc->hwc_deactive = set;
 
    if (set)
@@ -764,12 +649,6 @@ e_hwc_tbm_surface_queue_get(E_Hwc *hwc)
 {
    EINA_SAFETY_ON_NULL_RETURN_VAL(hwc, NULL);
 
-   if (e_hwc_policy_get(hwc) != E_HWC_POLICY_WINDOWS)
-   {
-      EHERR("fail to get target_buffer_queue. It is not E_HWC_POLICY_WINDOWS>", hwc);
-      return NULL;
-   }
-
    return hwc->target_buffer_queue;
 }
 
@@ -778,12 +657,6 @@ e_hwc_gbm_surface_get(E_Hwc *hwc, int *width, int *height, int *format)
 {
    EINA_SAFETY_ON_NULL_RETURN_VAL(hwc, NULL);
 
-   if (e_hwc_policy_get(hwc) != E_HWC_POLICY_WINDOWS)
-     {
-        EHERR("fail to get target_buffer_queue. It is not E_HWC_POLICY_WINDOWS", hwc);
-        return NULL;
-     }
-
    if (width) *width = hwc->gsurface_width;
    if (height) *height = hwc->gsurface_height;
    if (format) *format = hwc->gsurface_format;
@@ -1033,44 +906,14 @@ e_client_hwc_property_set(E_Client *ec, unsigned int id, hwc_value value)
 EINTERN Eina_Bool
 e_client_hwc_on_plane(E_Client *ec)
 {
-   E_Output *output = NULL;
-   E_Plane *plane = NULL;
-   E_Client *plane_ec = NULL;
    E_Hwc_Window *hwc_window;
-   E_Zone *zone;
-   Eina_List *l = NULL;
-   Eina_Bool ret = EINA_FALSE;
 
    EINA_SAFETY_ON_NULL_RETURN_VAL(ec, EINA_FALSE);
-   zone = e_comp_zone_find_by_ec(ec);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(zone, EINA_FALSE);
-
-   output = e_output_find(zone->output_id);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(output, EINA_FALSE);
-
-   if (e_hwc_policy_get(output->hwc) == E_HWC_POLICY_PLANES)
-     {
-        EINA_SAFETY_ON_NULL_RETURN_VAL(output, EINA_FALSE);
-
-        EINA_LIST_FOREACH(output->planes, l, plane)
-          {
-              plane_ec = e_plane_ec_get(plane);
-              if (plane_ec == ec)
-                {
-                   ret = EINA_TRUE;
-                   break;
-                }
-          }
-     }
-   else
-     {
-        hwc_window = ec->hwc_window;
-        EINA_SAFETY_ON_NULL_RETURN_VAL(hwc_window, EINA_FALSE);
 
-        ret = e_hwc_window_is_on_hw_overlay(hwc_window);
-     }
+   hwc_window = ec->hwc_window;
+   EINA_SAFETY_ON_NULL_RETURN_VAL(hwc_window, EINA_FALSE);
 
-   return ret;
+   return e_hwc_window_is_on_hw_overlay(hwc_window);
 }
 
 E_API Eina_Bool
@@ -1092,7 +935,6 @@ e_hwc_sync_callback_add(E_Hwc *hwc, E_Hwc_Sync_Done_Cb cb, void *data)
    E_Hwc_Sync_Callback *sync_callback;
 
    EINA_SAFETY_ON_NULL_RETURN_VAL(hwc, NULL);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(hwc->hwc_policy == E_HWC_POLICY_WINDOWS, NULL);
 
    sync_callback = E_NEW(E_Hwc_Sync_Callback, 1);
    EINA_SAFETY_ON_NULL_RETURN_VAL(sync_callback, NULL);
@@ -1150,7 +992,6 @@ e_client_hwc_presentation_callback_add(E_Client *ec, E_Hwc_Presentation_Done_Cb
    EINA_SAFETY_ON_NULL_RETURN_VAL(hwc_window, NULL);
    hwc = hwc_window->hwc;
    EINA_SAFETY_ON_NULL_RETURN_VAL(hwc, NULL);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(hwc->hwc_policy == E_HWC_POLICY_WINDOWS, NULL);
 
    callback = E_NEW(E_Hwc_Presentation_Callback, 1);
    EINA_SAFETY_ON_NULL_RETURN_VAL(callback, NULL);
@@ -1306,19 +1147,3 @@ e_hwc_hwc_policy_get(E_Hwc *hwc)
 
    return hwc->hwc_policy;
 }
-
-E_API void
-e_hwc_hwc_use_multi_plane_set(E_Hwc *hwc, Eina_Bool set)
-{
-   EINA_SAFETY_ON_NULL_RETURN(hwc);
-
-   hwc->hwc_use_multi_plane = set;
-}
-
-E_API Eina_Bool
-e_hwc_hwc_use_multi_plane_get(E_Hwc *hwc)
-{
-   EINA_SAFETY_ON_NULL_RETURN_VAL(hwc, EINA_FALSE);
-
-   return hwc->hwc_use_multi_plane;
-}
index 8b317f2..78c375a 100644 (file)
@@ -13,15 +13,6 @@ struct _E_Hwc_Hook
    unsigned char delete_me : 1;
 };
 
-struct _E_Hwc_Intercept_Hook
-{
-   EINA_INLIST;
-   E_Hwc_Intercept_Hook_Point  hookpoint;
-   E_Hwc_Intercept_Hook_Cb     func;
-   void                       *data;
-   unsigned char               delete_me : 1;
-};
-
 struct _E_Hwc_Sync_Callback
 {
    E_Hwc                      *hwc;
@@ -50,7 +41,6 @@ EINTERN E_Hwc      *e_hwc_new(E_Output *output, Eina_Bool primary_output);
 EINTERN void        e_hwc_del(E_Hwc *hwc);
 EINTERN Eina_Bool   e_hwc_client_is_above_hwc(E_Client *ec, E_Client *hwc_ec);
 EINTERN int         e_hwc_output_index_get(E_Hwc *hwc);
-EINTERN Eina_Bool   e_client_hwc_on_plane(E_Client *ec);
 
 EINTERN void        e_hwc_norender_push(E_Hwc *hwc);
 EINTERN void        e_hwc_norender_pop(E_Hwc *hwc);
@@ -62,8 +52,6 @@ EINTERN void                 *e_hwc_gbm_surface_get(E_Hwc *hwc, int *width, int
 EINTERN E_Hwc_Hook *e_hwc_hook_add(E_Hwc_Hook_Point hookpoint, E_Hwc_Hook_Cb func, const void *data);
 EINTERN void        e_hwc_hook_del(E_Hwc_Hook *ch);
 
-EINTERN Eina_Bool   e_hwc_intercept_hook_call(E_Hwc_Intercept_Hook_Point hookpoint, E_Hwc *hwc);
-
 EINTERN Eina_Bool   e_hwc_sync_callback_call(E_Hwc_Sync_Callback *sync_callback);
 
 EINTERN Eina_Bool   e_hwc_presentation_callback_call(E_Hwc_Presentation_Callback *callback);
diff --git a/src/bin/displaymgr/e_hwc_planes_intern.h b/src/bin/displaymgr/e_hwc_planes_intern.h
deleted file mode 100644 (file)
index 16c31a7..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef E_HWC_PLANES_INTERN_H
-#define E_HWC_PLANES_INTERN_H
-
-#include "e_intern.h"
-#include "e_hwc_planes.h"
-
-/* used by e_hwc */
-EINTERN Eina_Bool  e_hwc_planes_init(void);
-EINTERN void       e_hwc_planes_deinit(void);
-
-EINTERN void       e_hwc_planes_client_end(E_Hwc *hwc, E_Client *ec, const char *location);
-EINTERN void       e_hwc_planes_apply(E_Hwc *hwc);
-
-EINTERN void       e_hwc_planes_multi_plane_set(E_Hwc *hwc, Eina_Bool set);
-EINTERN Eina_Bool  e_hwc_planes_multi_plane_get(E_Hwc *hwc);
-
-EINTERN Eina_Bool  e_hwc_planes_mirror_set(E_Hwc *hwc, E_Hwc *src_hwc, Eina_Rectangle *rect);
-EINTERN void       e_hwc_planes_mirror_unset(E_Hwc *hwc);
-EINTERN Eina_Bool  e_hwc_planes_presentation_update(E_Hwc *hwc, E_Client *ec);
-EINTERN Eina_Bool  e_hwc_planes_external_commit(E_Hwc *hwc);
-
-EINTERN Eina_Bool  e_hwc_planes_ecore_evas_set(E_Hwc *hwc, Ecore_Evas *ee);
-
-#endif
index e90771d..9fdf0e3 100644 (file)
@@ -1188,11 +1188,6 @@ _e_hwc_window_client_cb_del(void *data EINA_UNUSED, E_Client *ec)
    output = e_output_find(zone->output_id);
    EINA_SAFETY_ON_NULL_RETURN(output);
 
-   /* If an e_client belongs to the e_output managed by hwc_plane policy,
-    * there's no need to deal with hwc_windows. */
-   if (e_hwc_policy_get(output->hwc) == E_HWC_POLICY_PLANES)
-     return;
-
    if (e_hwc_window_is_video(hwc_window)) return;
 
    e_hwc_window_restriction_set(hwc_window, E_HWC_WINDOW_RESTRICTION_DELETED);
@@ -1221,10 +1216,6 @@ _e_hwc_window_client_cb_transform_change(void *data EINA_UNUSED, E_Client *ec)
    output = e_output_find(zone->output_id);
    EINA_SAFETY_ON_NULL_RETURN(output);
 
-   /* If an e_client belongs to the e_output managed by hwc_plane policy,
-    * there's no need to deal with hwc_windows. */
-   if (e_hwc_policy_get(output->hwc) == E_HWC_POLICY_PLANES) return;
-
    if (_e_hwc_window_client_transform_restriction_check(ec, output))
      e_hwc_window_restriction_set(hwc_window, E_HWC_WINDOW_RESTRICTION_TRANSFORM);
    else
@@ -1281,11 +1272,6 @@ _e_hwc_window_client_cb_zone_set(void *data, int type, void *event)
    output = e_output_find(zone->output_id);
    EINA_SAFETY_ON_NULL_RETURN_VAL(output, ECORE_CALLBACK_PASS_ON);
 
-   /* If an e_client belongs to the e_output managed by hwc_plane policy,
-    * there's no need to deal with hwc_windows. */
-   if (e_hwc_policy_get(output->hwc) == E_HWC_POLICY_PLANES)
-     return ECORE_CALLBACK_PASS_ON;
-
    if (e_object_is_del(E_OBJECT(ec)))
      return ECORE_CALLBACK_PASS_ON;
 
index fabc970..37ee5f7 100644 (file)
@@ -3281,9 +3281,6 @@ e_hwc_windows_ecore_evas_set(E_Hwc *hwc, Ecore_Evas *ee)
 
    EINA_SAFETY_ON_NULL_RETURN_VAL(hwc, EINA_FALSE);
 
-   if (e_hwc_policy_get(hwc) == E_HWC_POLICY_PLANES)
-     return EINA_FALSE;
-
    target_hwc_window = hwc->root_target_hwc_window;
    EINA_SAFETY_ON_NULL_RETURN_VAL(target_hwc_window, EINA_FALSE);
 
@@ -3346,9 +3343,6 @@ e_hwc_windows_target_window_new(E_Hwc *hwc, Eina_Bool is_root_target)
    EINA_SAFETY_ON_NULL_RETURN_VAL(hwc, NULL);
    EINA_SAFETY_ON_NULL_RETURN_VAL(hwc->thwc, NULL);
 
-   if (e_hwc_policy_get(hwc) == E_HWC_POLICY_PLANES)
-     return NULL;
-
    target_hwc_window = E_OBJECT_ALLOC(E_Hwc_Window_Target, E_HWC_WINDOW_TYPE, _e_hwc_windows_target_window_free);
    EINA_SAFETY_ON_NULL_RETURN_VAL(target_hwc_window, NULL);
 
@@ -4060,7 +4054,6 @@ e_hwc_windows_present_sync(E_Hwc *hwc)
    Eina_List *l;
 
    EINA_SAFETY_ON_NULL_RETURN_VAL(hwc, EINA_FALSE);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(hwc->hwc_policy == E_HWC_POLICY_WINDOWS, EINA_FALSE);
 
    root_target_hwc_window = _e_hwc_windows_root_target_hwc_window_get(hwc);
    EINA_SAFETY_ON_NULL_RETURN_VAL(root_target_hwc_window, EINA_FALSE);
index cd21a80..bc523db 100644 (file)
@@ -9,7 +9,6 @@
 #include "e_input_device_intern.h"
 #include "e_error_intern.h"
 #include "e_hwc_windows_intern.h"
-#include "e_hwc_planes_intern.h"
 #include "e_hwc_intern.h"
 #include "e_comp_wl_video_buffer_intern.h"
 #include "e_zone_intern.h"
@@ -572,8 +571,6 @@ _e_output_zoom_touch_rect_get(E_Output *output)
 static void
 _e_output_zoom_rotate(E_Output *output)
 {
-   E_Plane *ep = NULL;
-   Eina_List *l;
    int w, h;
 
    EINA_SAFETY_ON_NULL_RETURN(output);
@@ -586,34 +583,14 @@ _e_output_zoom_rotate(E_Output *output)
    EOINF("zoom_rect rotate(x:%d,y:%d) (w:%d,h:%d)",
          output, output->zoom_conf.rect.x, output->zoom_conf.rect.y,
          output->zoom_conf.rect.w, output->zoom_conf.rect.h);
+   e_hwc_windows_zoom_set(output->hwc, &output->zoom_conf.rect);
 
-   if (e_hwc_policy_get(output->hwc) == E_HWC_POLICY_PLANES)
-     {
-        EINA_LIST_FOREACH(output->planes, l, ep)
-          {
-             if (!e_plane_is_fb_target(ep)) continue;
-
-             e_plane_zoom_set(ep, &output->zoom_conf.rect);
-             break;
-          }
-
-        if (!_e_output_zoom_touch_set(output))
-          EOERR("fail _e_output_zoom_touch_set", output);
-
-        /* update the ecore_evas */
-        _e_output_render_update(output);
-     }
-   else
-     {
-        e_hwc_windows_zoom_set(output->hwc, &output->zoom_conf.rect);
-
-        if (!_e_output_zoom_touch_set(output))
-          EOERR("fail _e_output_zoom_touch_set", output);
+   if (!_e_output_zoom_touch_set(output))
+     EOERR("fail _e_output_zoom_touch_set", output);
 
-        /* update the ecore_evas */
-        if (e_hwc_windows_pp_commit_possible_check(output->hwc))
-          _e_output_render_update(output);
-     }
+   /* update the ecore_evas */
+   if (e_hwc_windows_pp_commit_possible_check(output->hwc))
+     _e_output_render_update(output);
 }
 
 EINTERN void
@@ -915,66 +892,6 @@ _e_output_cb_output_change(tdm_output *toutput,
      }
 }
 
-static Eina_Bool
-_e_output_fb_over_plane_check(E_Output *output)
-{
-   Eina_List *p_l;
-   E_Plane *ep, *fb;
-   Eina_Bool check = EINA_FALSE;
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(output, EINA_FALSE);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(output->planes, EINA_FALSE);
-
-   fb = e_output_default_fb_target_get(output);
-
-   EINA_LIST_REVERSE_FOREACH(output->planes, p_l, ep)
-     {
-        if (!ep) continue;
-
-        if (ep == fb)
-          break;
-
-        if (ep->display_info.tsurface)
-          check = EINA_TRUE;
-     }
-
-   return check;
-}
-
-static void
-_e_output_update_fps()
-{
-   static double time = 0.0;
-   static double lapse = 0.0;
-   static int cframes = 0;
-   static int flapse = 0;
-
-   if (e_comp->calc_fps)
-     {
-        double dt;
-        double tim = ecore_time_get();
-
-        dt = tim - e_comp->frametimes[0];
-        e_comp->frametimes[0] = tim;
-
-        time += dt;
-        cframes++;
-
-        if (lapse == 0.0)
-          {
-             lapse = tim;
-             flapse = cframes;
-          }
-        else if ((tim - lapse) >= 0.5)
-          {
-             e_comp->fps = (cframes - flapse) / (tim - lapse);
-             lapse = tim;
-             flapse = cframes;
-             time = 0.0;
-          }
-     }
-}
-
 EINTERN Eina_Bool
 e_output_init(void)
 {
@@ -1007,18 +924,6 @@ _output_type_to_str(tdm_output_type output_type)
    else return "Unknown";
 }
 
-static int
-_e_output_cb_planes_sort(const void *d1, const void *d2)
-{
-   E_Plane *plane1 = (E_Plane *)d1;
-   E_Plane *plane2 = (E_Plane *)d2;
-
-   if (!plane1) return(1);
-   if (!plane2) return(-1);
-
-   return (plane1->zpos - plane2->zpos);
-}
-
 static tdm_capture *
 _e_output_tdm_capture_create(E_Output *output, tdm_capture_capability cap)
 {
@@ -1675,131 +1580,6 @@ _e_output_capture_showing_rect_get(Eina_Rectangle *out_rect, Eina_Rectangle *dst
 }
 
 static Eina_Bool
-_e_output_capture_src_crop_get(E_Output *output, tdm_layer *layer, Eina_Rectangle *fit, Eina_Rectangle *showing_rect)
-{
-   tdm_info_layer info;
-   tdm_error error = TDM_ERROR_NONE;
-   const tdm_output_mode *mode = NULL;
-   float ratio_x, ratio_y;
-   Eina_Rectangle out_rect;
-   Eina_Rectangle dst_rect;
-
-   fit->x = 0;
-   fit->y = 0;
-   fit->w = 0;
-   fit->h = 0;
-
-   error = tdm_output_get_mode(output->toutput, &mode);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(error == TDM_ERROR_NONE, EINA_FALSE);
-
-   out_rect.x = 0;
-   out_rect.y = 0;
-   out_rect.w = mode->hdisplay;
-   out_rect.h = mode->vdisplay;
-
-   error = tdm_layer_get_info(layer, &info);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(error == TDM_ERROR_NONE, EINA_FALSE);
-
-   dst_rect.x = info.dst_pos.x;
-   dst_rect.y = info.dst_pos.y;
-   dst_rect.w = info.dst_pos.w;
-   dst_rect.h = info.dst_pos.h;
-
-   _e_output_capture_showing_rect_get(&out_rect, &dst_rect, showing_rect);
-
-   fit->x = info.src_config.pos.x;
-   fit->y = info.src_config.pos.y;
-
-   if (info.transform % 2 == 0)
-     {
-        ratio_x = (float)info.src_config.pos.w / dst_rect.w;
-        ratio_y = (float)info.src_config.pos.h / dst_rect.h;
-
-        fit->w = showing_rect->w * ratio_x;
-        fit->h = showing_rect->h * ratio_y;
-     }
-   else
-     {
-        ratio_x = (float)info.src_config.pos.w / dst_rect.h;
-        ratio_y = (float)info.src_config.pos.h / dst_rect.w;
-
-        fit->w = showing_rect->h * ratio_x;
-        fit->h = showing_rect->w * ratio_y;
-     }
-
-   return EINA_TRUE;
-}
-
-static void
-_e_output_capture_dst_crop_get(E_Output *output, E_Comp_Wl_Video_Buf *tmp, E_Comp_Wl_Video_Buf *dst, tdm_layer *layer,
-                               int w, int h, Eina_Rectangle *pos, Eina_Rectangle *showing_pos,
-                               Eina_Rectangle *dst_crop, int rotate)
-{
-   tdm_info_layer info;
-   tdm_error error = TDM_ERROR_NONE;
-
-   dst_crop->x = 0;
-   dst_crop->y = 0;
-   dst_crop->w = 0;
-   dst_crop->h = 0;
-
-   error = tdm_layer_get_info(layer, &info);
-   EINA_SAFETY_ON_FALSE_RETURN(error == TDM_ERROR_NONE);
-
-   if (info.src_config.pos.w == w && info.src_config.pos.h == h &&
-       pos->x == 0 && pos->y == 0 && pos->w == tmp->width && pos->h == tmp->height)
-     {
-        dst_crop->x = pos->x;
-        dst_crop->y = pos->y;
-        dst_crop->w = pos->w;
-        dst_crop->h = pos->h;
-     }
-   else if ((w == pos->w) && (h == pos->h) && (showing_pos->w == pos->w) && (showing_pos->h == pos->h))
-     {
-        dst_crop->x = info.dst_pos.x + pos->x;
-        dst_crop->y = info.dst_pos.y + pos->y;
-        dst_crop->w = info.dst_pos.w;
-        dst_crop->h = info.dst_pos.h;
-     }
-   else if (rotate == 0)
-     {
-        dst_crop->x = showing_pos->x * pos->w / w + pos->x;
-        dst_crop->y = showing_pos->y * pos->h / h + pos->y;
-        dst_crop->w = showing_pos->w * pos->w / w;
-        dst_crop->h = showing_pos->h * pos->h / h;
-     }
-   else if (rotate == 90)
-     {
-        dst_crop->x = (h - showing_pos->y - showing_pos->h) * pos->w / h + pos->x;
-        dst_crop->y = showing_pos->x * pos->h / w + pos->y;
-        dst_crop->w = showing_pos->h * pos->w / h;
-        dst_crop->h = showing_pos->w * pos->h / w;
-     }
-   else if (rotate == 180)
-     {
-        dst_crop->x = (w - showing_pos->x - showing_pos->w) * pos->w / w + pos->x;
-        dst_crop->y = (h - showing_pos->y - showing_pos->h) * pos->h / h + pos->y;
-        dst_crop->w = showing_pos->w * pos->w / w;
-        dst_crop->h = showing_pos->h * pos->h / h;
-     }
-   else if (rotate == 270)
-     {
-        dst_crop->x = showing_pos->y * pos->w / h + pos->x;
-        dst_crop->y = (w - showing_pos->x - showing_pos->w) * pos->h / w + pos->y;
-        dst_crop->w = showing_pos->h * pos->w / h;
-        dst_crop->h = showing_pos->w * pos->h / w;
-     }
-   else
-     {
-        dst_crop->x = pos->x;
-        dst_crop->y = pos->y;
-        dst_crop->w = pos->w;
-        dst_crop->h = pos->h;
-        EOERR("get_cropinfo: unknown case error", output);
-     }
-}
-
-static Eina_Bool
 _e_output_capture_src_crop_get_hwc_window(E_Output *output, E_Hwc_Window *hwc_window, Eina_Rectangle *fit, Eina_Rectangle *showing_rect)
 {
    tdm_error error = TDM_ERROR_NONE;
@@ -1915,18 +1695,6 @@ _e_output_capture_dst_crop_get_hwc_window(E_Output *output, E_Hwc_Window *hwc_wi
 }
 
 static int
-_e_output_layer_sort_cb(const void *d1, const void *d2)
-{
-   E_Output_Layer *e_layer_1 = (E_Output_Layer *)d1;
-   E_Output_Layer *e_layer_2 = (E_Output_Layer *)d2;
-
-   if (!e_layer_1) return(1);
-   if (!e_layer_2) return(-1);
-
-   return (e_layer_1->zpos - e_layer_2->zpos);
-}
-
-static int
 _e_output_cb_hwc_window_sort(const void *d1, const void *d2)
 {
    E_Hwc_Window *hwc_window1 = (E_Hwc_Window *)d1;
@@ -2050,126 +1818,6 @@ _e_output_vbuf_capture_hwc_window(E_Output *output, E_Comp_Wl_Video_Buf *vbuf, i
 }
 
 static Eina_Bool
-_e_output_vbuf_capture(E_Output *output, E_Comp_Wl_Video_Buf *vbuf, int rotate, Eina_Bool rotate_check)
-{
-   tdm_error error = TDM_ERROR_NONE;
-   int width = 0, height = 0;
-   int i, count;
-   E_Output_Layer *e_layer = NULL;
-   Eina_List *layers = NULL;
-   Eina_List *l;
-   Eina_Bool ret = EINA_FALSE;
-
-   e_output_size_get(output, &width, &height);
-   if (width == 0 || height == 0)
-     return ret;
-
-   error = tdm_output_get_layer_count(output->toutput, &count);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(error == TDM_ERROR_NONE, ret);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(count >= 0, ret);
-
-   for (i = 0; i < count; i++)
-     {
-        int zpos;
-        tdm_layer *layer;
-        E_Output_Layer *e_layer = E_NEW(E_Output_Layer, 1);
-        EINA_SAFETY_ON_NULL_GOTO(e_layer, release);
-
-        layers = eina_list_append(layers, e_layer);
-
-        layer = tdm_output_get_layer(output->toutput, i, &error);
-        EINA_SAFETY_ON_FALSE_GOTO(error == TDM_ERROR_NONE, release);
-
-        tdm_layer_get_zpos(layer, &zpos);
-        e_layer->layer = layer;
-        e_layer->zpos = zpos;
-     }
-   layers = eina_list_sort(layers, eina_list_count(layers), _e_output_layer_sort_cb);
-
-   EINA_LIST_FOREACH(layers, l, e_layer)
-     {
-        E_Comp_Wl_Video_Buf *tmp = NULL;
-        tdm_layer *layer;
-        tdm_layer_capability capability;
-        tbm_surface_h tsurface = NULL, capturable_tsurface = NULL;
-        Eina_Rectangle showing_pos = {0, };
-        Eina_Rectangle dst_pos = {0, };
-        Eina_Rectangle src_crop = {0, };
-        Eina_Rectangle dst_crop = {0, };
-        Eina_Bool ret;
-
-        if (!e_layer) continue;
-
-        if (e_layer->zpos < 0) continue;
-        layer = e_layer->layer;
-
-        error = tdm_layer_get_capabilities(layer, &capability);
-        EINA_SAFETY_ON_FALSE_GOTO(error == TDM_ERROR_NONE, release);
-
-        if (capability & TDM_LAYER_CAPABILITY_VIDEO)
-          continue;
-
-        tsurface = tdm_layer_get_displaying_buffer(layer, &error);
-        if (tsurface == NULL)
-          continue;
-
-        capturable_tsurface = e_comp_wl_tbm_capturable_buffer_get(tsurface);
-        if (!capturable_tsurface) continue;
-
-        tmp = e_comp_wl_video_buffer_create_tbm(tsurface);
-        if (tmp == NULL)
-          {
-             tbm_surface_internal_unref(capturable_tsurface);
-             continue;
-          }
-
-        ret = _e_output_capture_src_crop_get(output, layer, &src_crop, &showing_pos);
-        if (ret == EINA_FALSE)
-          {
-             tbm_surface_internal_unref(capturable_tsurface);
-             e_comp_wl_video_buffer_unref(tmp);
-             continue;
-          }
-
-        ret = _e_output_capture_position_get(output, vbuf->width, vbuf->height, &dst_pos, rotate_check);
-        if (ret == EINA_FALSE)
-          {
-             tbm_surface_internal_unref(capturable_tsurface);
-             e_comp_wl_video_buffer_unref(tmp);
-             continue;
-          }
-
-        _e_output_capture_dst_crop_get(output, tmp, vbuf, layer, width, height,
-                                       &dst_pos, &showing_pos, &dst_crop, rotate);
-
-        e_comp_wl_video_buffer_convert(tmp, vbuf,
-                                       src_crop.x, src_crop.y, src_crop.w, src_crop.h,
-                                       dst_crop.x, dst_crop.y, dst_crop.w, dst_crop.h,
-                                       EINA_TRUE, rotate, 0, 0);
-
-        tbm_surface_internal_unref(capturable_tsurface);
-        e_comp_wl_video_buffer_unref(tmp);
-     }
-
-   ret = EINA_TRUE;
-
-release:
-   if (layers)
-     {
-        E_Output_Layer *e_layer = NULL;
-        Eina_List *l, *ll;
-
-        EINA_LIST_FOREACH_SAFE(layers, l, ll, e_layer)
-          {
-             E_FREE(e_layer);
-          }
-        eina_list_free(layers);
-     }
-
-   return ret;
-}
-
-static Eina_Bool
 _e_output_capture(E_Output *output, tbm_surface_h tsurface, Eina_Bool auto_rotate)
 {
    E_Comp_Wl_Video_Buf *vbuf = NULL;
@@ -2184,10 +1832,7 @@ _e_output_capture(E_Output *output, tbm_surface_h tsurface, Eina_Bool auto_rotat
 
    rotated = _e_output_capture_transform_check(output, auto_rotate, &transform);
 
-   if (e_hwc_policy_get(output->hwc) == E_HWC_POLICY_WINDOWS)
-     ret = _e_output_vbuf_capture_hwc_window(output, vbuf, transform, rotated);
-   else
-     ret = _e_output_vbuf_capture(output, vbuf, transform, rotated);
+   ret = _e_output_vbuf_capture_hwc_window(output, vbuf, transform, rotated);
 
    e_comp_wl_video_buffer_unref(vbuf);
 
@@ -2234,158 +1879,6 @@ _e_output_external_rect_get(E_Output *output, int src_w, int src_h, int dst_w, i
      _e_output_center_rect_get(src_w, src_h, dst_w, dst_h, rect);
 }
 
-static Eina_Bool
-_e_output_planes_commit(E_Output *output)
-{
-   E_Plane *plane = NULL, *fb_target = NULL;
-   Eina_List *l;
-   Eina_Bool fb_commit = EINA_FALSE;
-
-   fb_target = e_output_fb_target_get(output);
-
-   /* fetch the fb_target at first */
-   fb_commit = e_plane_fetch(fb_target);
-   // TODO: to be fixed. check fps of fb_target currently.
-   if (fb_commit) _e_output_update_fps();
-
-   if (output->zoom_conf.unset_skip == EINA_TRUE)
-     {
-        output->zoom_conf.unset_skip = EINA_FALSE;
-        if (output->dpms != E_OUTPUT_DPMS_OFF)
-          {
-             e_output_zoom_rotating_check(output);
-             if (!e_plane_pp_commit(fb_target))
-               EOERR("fail to e_plane_pp_commit", output);
-             return EINA_TRUE;
-          }
-     }
-
-   /* set planes */
-   EINA_LIST_FOREACH(output->planes, l, plane)
-     {
-        /* skip the fb_target fetch because we do this previously */
-        if (e_plane_is_fb_target(plane)) continue;
-
-        /* if the plane is the candidate to unset,
-           set the plane to be unset_try */
-        if (e_plane_is_unset_candidate(plane))
-          e_plane_unset_try_set(plane, EINA_TRUE);
-
-        /* if the plane is trying to unset,
-         * 1. if fetching the fb is not available, continue.
-         * 2. if fetching the fb is available, verify the unset commit check.  */
-        if (e_plane_is_unset_try(plane))
-          {
-            if (!e_plane_unset_commit_check(plane, fb_commit))
-              continue;
-          }
-
-        if (!e_plane_set_commit_check(plane, fb_commit)) continue;
-
-        /* fetch the surface to the plane */
-        if (!e_plane_fetch(plane)) continue;
-
-        if (e_plane_is_unset_try(plane))
-          e_plane_unset_try_set(plane, EINA_FALSE);
-     }
-
-   EINA_LIST_FOREACH(output->planes, l, plane)
-     {
-        if (e_plane_is_fetch_retry(plane))
-          {
-             if (!e_plane_fetch(plane)) continue;
-             if (e_plane_is_fb_target(plane))
-               {
-                  fb_commit = EINA_TRUE;
-                  _e_output_update_fps();
-               }
-          }
-     }
-
-   EINA_LIST_FOREACH(output->planes, l, plane)
-     {
-        if (e_plane_is_unset_try(plane)) continue;
-
-        if ((output->dpms == E_OUTPUT_DPMS_OFF) || output->fake_config)
-          {
-             if (!e_plane_offscreen_commit(plane))
-               EOERR("fail to e_plane_offscreen_commit", output);
-          }
-        else
-          {
-             if ((output->zoom_set) && e_plane_is_fb_target(plane))
-               {
-                  e_output_zoom_rotating_check(output);
-                  if (!e_plane_pp_commit(plane))
-                    EOERR("fail to e_plane_pp_commit", output);
-               }
-             else
-               {
-                  if (!e_plane_commit(plane))
-                    EOERR("fail to e_plane_commit", output);
-               }
-          }
-     }
-
-   return EINA_TRUE;
-
-}
-
-static Eina_Bool
-_e_output_planes_init(E_Output *output)
-{
-   E_Plane *plane = NULL;
-   E_Plane *default_fb = NULL;
-   tdm_output *toutput = output->toutput;
-   int num_layers, i;
-
-   tdm_output_get_layer_count(toutput, &num_layers);
-   if (num_layers < 1)
-     {
-        EOERR("fail to get tdm_output_get_layer_count\n", output);
-        goto fail;
-     }
-   output->plane_count = num_layers;
-   EOINF("num_planes %i", output, output->plane_count);
-
-   if (!e_plane_init())
-     {
-        EOERR("fail to e_plane_init.", output);
-        goto fail;
-     }
-
-   for (i = 0; i < output->plane_count; i++)
-     {
-        plane = e_plane_new(output, i);
-        if (!plane)
-          {
-             EOERR("fail to create the e_plane.", output);
-             goto fail;
-          }
-        output->planes = eina_list_append(output->planes, plane);
-     }
-
-   output->planes = eina_list_sort(output->planes, eina_list_count(output->planes), _e_output_cb_planes_sort);
-
-   default_fb = e_output_default_fb_target_get(output);
-   if (!default_fb)
-     {
-        EOERR("fail to get default_fb_target plane", output);
-        goto fail;
-     }
-
-   if (!e_plane_fb_target_set(default_fb, EINA_TRUE))
-     {
-        EOERR("fail to set fb_target plane", output);
-        goto fail;
-     }
-
-   return EINA_TRUE;
-
-fail:
-   return EINA_FALSE;
-}
-
 EINTERN E_Output *
 e_output_new1(int index)
 {
@@ -2452,14 +1945,10 @@ e_output_new1(int index)
         goto fail;
      }
 
-   /* The E20 works the hwc_windows policy when tdm_output supports hwc capability e20.
-    * The E_Plane, E_Plane_Renderer resource is not used in E20.
-    */
    if (output_caps & TDM_OUTPUT_CAPABILITY_HWC)
      output->tdm_hwc = EINA_TRUE;
    else
-     if (!_e_output_planes_init(output))
-       goto fail;
+     goto fail;
 
    if (output_caps & TDM_OUTPUT_CAPABILITY_ASYNC_DPMS)
      output->dpms_async = EINA_TRUE;
@@ -2481,7 +1970,6 @@ fail:
 EINTERN void
 e_output_del(E_Output *output)
 {
-   E_Plane *plane;
    E_Output_Mode *m;
 
    if (!output) return;
@@ -2491,8 +1979,6 @@ e_output_del(E_Output *output)
 
    if (output->hwc) e_hwc_del(output->hwc);
 
-   e_plane_shutdown();
-
    if (output->id) free(output->id);
    if (output->info.screen) free(output->info.screen);
    if (output->info.name) free(output->info.name);
@@ -2502,8 +1988,6 @@ e_output_del(E_Output *output)
 
    EINA_LIST_FREE(output->info.modes, m) free(m);
 
-   EINA_LIST_FREE(output->planes, plane) e_plane_free(plane);
-
    free(output);
 }
 
@@ -2949,15 +2433,6 @@ e_output_dpms_set(E_Output *output, E_OUTPUT_DPMS val)
           }
      }
 
-   if (val == E_OUTPUT_DPMS_OFF)
-     {
-        E_Plane *ep;
-        EINA_LIST_FOREACH(output->planes, l, ep)
-          {
-             e_plane_dpms_off(ep);
-          }
-     }
-
    if (val == E_OUTPUT_DPMS_ON) hookpoint = E_OUTPUT_INTERCEPT_HOOK_DPMS_ON;
    else if (val == E_OUTPUT_DPMS_STANDBY) hookpoint = E_OUTPUT_INTERCEPT_HOOK_DPMS_STANDBY;
    else if (val == E_OUTPUT_DPMS_SUSPEND) hookpoint = E_OUTPUT_INTERCEPT_HOOK_DPMS_SUSPEND;
@@ -3068,33 +2543,16 @@ e_output_fake_config_set(E_Output *output, int w, int h)
 EINTERN Eina_Bool
 e_output_render(E_Output *output)
 {
-   E_Plane *plane = NULL;
-   Eina_List *l;
-
    EINA_SAFETY_ON_NULL_RETURN_VAL(output, EINA_FALSE);
 
-   if (e_hwc_policy_get(output->hwc) == E_HWC_POLICY_PLANES)
-     {
-        EINA_LIST_REVERSE_FOREACH(output->planes, l, plane)
-          {
-             if (!e_plane_render(plane))
-               {
-                   EOERR("fail to e_plane_render.", output);
-                   return EINA_FALSE;
-               }
-          }
-     }
-   else
-     {
-        /* render the only primary output */
-        if (output != e_display_primary_output_get())
-          return EINA_TRUE;
+   /* render the only primary output */
+   if (output != e_display_primary_output_get())
+     return EINA_TRUE;
 
-        if (!e_hwc_windows_render(output->hwc))
-          {
-             EOERR("fail to e_hwc_windows_render.", output);
-             return EINA_FALSE;
-          }
+   if (!e_hwc_windows_render(output->hwc))
+     {
+        EOERR("fail to e_hwc_windows_render.", output);
+        return EINA_FALSE;
      }
 
   return EINA_TRUE;
@@ -3116,55 +2574,22 @@ e_output_commit(E_Output *output)
 
    primary_output = e_display_primary_output_get();
    EINA_SAFETY_ON_NULL_RETURN_VAL(primary_output, EINA_FALSE);
-
-   if (e_hwc_policy_get(output->hwc) == E_HWC_POLICY_PLANES)
+   if (output == primary_output)
      {
-        e_hwc_planes_apply(output->hwc);
-
-        if (output == primary_output)
-          {
-             if (!_e_output_planes_commit(output))
-               {
-                   EOERR("fail to _e_output_commit.", output);
-                   return EINA_FALSE;
-               }
-          }
-        else
-          {
-             display_mode = e_output_display_mode_get(output);
-
-             /* output donot care about the external_commit
-                when tdm has the mirror capability */
-             if (display_mode == E_OUTPUT_DISPLAY_MODE_MIRROR &&
-                 output->tdm_mirror)
-               return EINA_TRUE;
-
-             if (!e_hwc_planes_external_commit(output->hwc))
-               {
-                  EOERR("fail e_hwc_planes_external_commit", output);
-                  return EINA_FALSE;
-               }
-          }
+        if (output->zoom_set)
+          e_output_zoom_rotating_check(output);
      }
-   else
-     {
-        if (output == primary_output)
-          {
-             if (output->zoom_set)
-               e_output_zoom_rotating_check(output);
-          }
 
-        display_mode = e_output_display_mode_get(output);
+   display_mode = e_output_display_mode_get(output);
 
-        /* The output do not commit when tdm has the mirror capability */
-        if (display_mode == E_OUTPUT_DISPLAY_MODE_MIRROR && output->tdm_mirror)
-          return EINA_TRUE;
+   /* The output do not commit when tdm has the mirror capability */
+   if (display_mode == E_OUTPUT_DISPLAY_MODE_MIRROR && output->tdm_mirror)
+     return EINA_TRUE;
 
-        if (!e_hwc_windows_commit(output->hwc, display_mode))
-          {
-             EOERR("fail e_hwc_windows_commit", output);
-             return EINA_FALSE;
-          }
+   if (!e_hwc_windows_commit(output->hwc, display_mode))
+     {
+        EOERR("fail e_hwc_windows_commit", output);
+        return EINA_FALSE;
      }
 
    _e_output_force_render_unset(output);
@@ -3195,155 +2620,6 @@ e_output_find(const char *id)
    return NULL;
 }
 
-E_API const Eina_List *
-e_output_planes_get(E_Output *output)
-{
-   EINA_SAFETY_ON_NULL_RETURN_VAL(output, NULL);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(output->planes, NULL);
-
-   return output->planes;
-}
-
-EINTERN void
-e_output_util_planes_print(void)
-{
-   Eina_List *l, *ll, *p_l;
-   E_Output * output = NULL;
-
-   EINA_LIST_FOREACH_SAFE(e_display_outputs_get(), l, ll, output)
-     {
-        E_Plane *plane;
-        E_Client *ec;
-
-        if (!output || !output->planes) continue;
-
-        if (e_hwc_policy_get(output->hwc) == E_HWC_POLICY_PLANES)
-          {
-             fprintf(stderr, "HWC in %s .. \n", output->id);
-             fprintf(stderr, "HWC \tzPos \t on_plane \t\t\t\t on_prepare \t \n");
-
-             EINA_LIST_REVERSE_FOREACH(output->planes, p_l, plane)
-               {
-                  ec = plane->ec;
-                  if (ec) fprintf(stderr, "HWC \t[%d]%s\t %s (%8p)",
-                                  plane->zpos,
-                                  plane->is_primary ? "--" : "  ",
-                                  ec->icccm.title, ec->frame);
-
-                  ec = plane->prepare_ec;
-                  if (ec) fprintf(stderr, "\t\t\t %s (%8p)",
-                                  ec->icccm.title, ec->frame);
-                  fputc('\n', stderr);
-               }
-             fputc('\n', stderr);
-          }
-     }
-}
-
-EINTERN Eina_Bool
-e_output_is_fb_composing(E_Output *output)
-{
-   Eina_List *p_l;
-   E_Plane *ep;
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(output, EINA_FALSE);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(output->planes, EINA_FALSE);
-
-   EINA_LIST_FOREACH(output->planes, p_l, ep)
-     {
-        if (e_plane_is_fb_target(ep))
-          {
-             if(ep->ec == NULL) return EINA_TRUE;
-          }
-     }
-
-   return EINA_FALSE;
-}
-
-EINTERN Eina_Bool
-e_output_is_fb_full_compositing(E_Output *output)
-{
-   Eina_List *p_l;
-   E_Plane *ep;
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(output, EINA_FALSE);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(output->planes, EINA_FALSE);
-
-   EINA_LIST_FOREACH(output->planes, p_l, ep)
-     if(ep->ec) return EINA_FALSE;
-
-   return EINA_TRUE;
-}
-
-EINTERN E_Plane *
-e_output_fb_target_get(E_Output *output)
-{
-   Eina_List *p_l;
-   E_Plane *ep;
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(output, EINA_FALSE);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(output->planes, EINA_FALSE);
-
-   EINA_LIST_FOREACH(output->planes, p_l, ep)
-     {
-        if (e_plane_is_fb_target(ep))
-          return ep;
-     }
-
-   return NULL;
-}
-
-EINTERN E_Plane *
-e_output_default_fb_target_get(E_Output *output)
-{
-   Eina_List *p_l;
-   E_Plane *ep;
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(output, EINA_FALSE);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(output->planes, EINA_FALSE);
-
-   if (e_comp->hwc_ignore_primary)
-     {
-        /* find lowest zpos graphic type layer */
-        EINA_LIST_FOREACH(output->planes, p_l, ep)
-          {
-             Eina_Bool available_rgb = EINA_FALSE;
-             const tbm_format *formats;
-             int count, i;
-
-             if (e_plane_type_get(ep) != E_PLANE_TYPE_GRAPHIC) continue;
-
-             if (!e_plane_available_formats_get(ep, &formats, &count))
-                continue;
-
-             for (i = 0; i < count; i++)
-               {
-                  if (formats[i] == TBM_FORMAT_ARGB8888 ||
-                      formats[i] == TBM_FORMAT_XRGB8888)
-                    {
-                       available_rgb = EINA_TRUE;
-                       break;
-                    }
-               }
-
-             if (!available_rgb) continue;
-
-             return ep;
-          }
-     }
-   else
-     {
-        /* find primary layer */
-        EINA_LIST_FOREACH(output->planes, p_l, ep)
-          {
-             if (ep->is_primary)
-               return ep;
-          }
-     }
-
-   return NULL;
-}
-
 E_API E_Output *
 e_output_find_by_index(int index)
 {
@@ -3359,28 +2635,9 @@ e_output_find_by_index(int index)
    return NULL;
 }
 
-E_API E_Plane *
-e_output_plane_get_by_zpos(E_Output *output, int zpos)
-{
-   Eina_List *p_l;
-   E_Plane *ep;
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(output, EINA_FALSE);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(output->planes, EINA_FALSE);
-
-   EINA_LIST_FOREACH(output->planes, p_l, ep)
-     {
-        if (ep->zpos == zpos)
-          return ep;
-     }
-
-   return NULL;
-}
-
 EINTERN Eina_Bool
 e_output_zoom_set(E_Output *output, double zoomx, double zoomy, int cx, int cy)
 {
-   E_Plane *ep = NULL;
    int w, h;
    int angle = 0;
    E_Output *primary_output = NULL;
@@ -3431,44 +2688,15 @@ e_output_zoom_set(E_Output *output, double zoomx, double zoomy, int cx, int cy)
    _e_output_zoom_coordinate_cal(output);
    _e_output_zoom_touch_rect_get(output);
 
-   if (e_hwc_policy_get(output->hwc) == E_HWC_POLICY_PLANES)
+   if (!e_hwc_windows_zoom_set(output->hwc, &output->zoom_conf.rect))
      {
-        ep = e_output_fb_target_get(output);
-        EINA_SAFETY_ON_NULL_RETURN_VAL(ep, EINA_FALSE);
-
-        if (!output->zoom_set)
-          {
-             if (_e_output_fb_over_plane_check(output))
-               output->zoom_conf.unset_skip = EINA_TRUE;
-          }
-
-        e_hwc_planes_multi_plane_set(output->hwc, EINA_FALSE);
-
-        if (!e_plane_zoom_set(ep, &output->zoom_conf.rect))
-          {
-             EOERR("e_plane_zoom_set failed.", output);
-             output->zoom_conf.unset_skip = EINA_FALSE;
-             e_hwc_planes_multi_plane_set(output->hwc, EINA_TRUE);
-
-             return EINA_FALSE;
-          }
-
-        /* update the ecore_evas */
-        if (e_plane_pp_commit_possible_check(ep))
-          _e_output_render_update(output);
+        EOERR("e_hwc_windows_zoom_set failed.", output);
+        return EINA_FALSE;
      }
-   else
-     {
-        if (!e_hwc_windows_zoom_set(output->hwc, &output->zoom_conf.rect))
-          {
-             EOERR("e_hwc_windows_zoom_set failed.", output);
-             return EINA_FALSE;
-          }
 
-        /* update the ecore_evas */
-        if (e_hwc_windows_pp_commit_possible_check(output->hwc))
-          _e_output_render_update(output);
-     }
+   /* update the ecore_evas */
+   if (e_hwc_windows_pp_commit_possible_check(output->hwc))
+     _e_output_render_update(output);
 
    if (!_e_output_zoom_touch_set(output))
      EOERR("fail _e_output_zoom_touch_set", output);
@@ -3515,8 +2743,6 @@ e_output_zoom_get(E_Output *output, double *zoomx, double *zoomy, int *cx, int *
 EINTERN void
 e_output_zoom_unset(E_Output *output)
 {
-   E_Plane *ep = NULL;
-
    EINA_SAFETY_ON_NULL_RETURN(output);
 
    if (!output->zoom_set) return;
@@ -3527,17 +2753,7 @@ e_output_zoom_unset(E_Output *output)
    if (!_e_output_zoom_touch_unset(output))
      EOERR("fail _e_output_zoom_touch_unset", output);
 
-   if (e_hwc_policy_get(output->hwc) == E_HWC_POLICY_PLANES)
-     {
-        ep = e_output_fb_target_get(output);
-        if (ep) e_plane_zoom_unset(ep);
-
-        e_hwc_planes_multi_plane_set(output->hwc, EINA_TRUE);
-     }
-   else
-     {
-        e_hwc_windows_zoom_unset(output->hwc);
-     }
+   e_hwc_windows_zoom_unset(output->hwc);
 
    output->zoom_conf.zoomx = 0;
    output->zoom_conf.zoomy = 0;
@@ -3858,7 +3074,6 @@ e_output_external_mode_change(E_Output *output, E_Output_Mode *mode)
    Eina_List *l;
    Eina_Bool found = EINA_FALSE;
    E_Output *primary_output = NULL;
-   E_Plane *ep = NULL;
    int w, h, p_w, p_h;
 
    EINA_SAFETY_ON_NULL_RETURN_VAL(output, EINA_FALSE);
@@ -3900,18 +3115,6 @@ e_output_external_mode_change(E_Output *output, E_Output_Mode *mode)
 
    EOINF("mode change output: (%dx%d)", output, w, h);
 
-   if (e_hwc_policy_get(output->hwc) == E_HWC_POLICY_PLANES)
-     {
-        ep = e_output_fb_target_get(output);
-        EINA_SAFETY_ON_NULL_RETURN_VAL(ep, EINA_FALSE);
-
-        e_plane_external_reset(ep, &output->zoom_conf.rect);
-     }
-   else
-     {
-        /* TODO: HWC Windows */;
-     }
-
    _e_output_render_update(primary_output);
 
    EOINF("e_output_external_reset done.(%dx%d)", output, mode->w, mode->h);
@@ -3953,21 +3156,10 @@ e_output_mirror_set(E_Output *output, E_Output *src_output)
 
         _e_output_external_rect_get(src_output, p_w, p_h, w, h, &output->zoom_conf.rect);
 
-        if (e_hwc_policy_get(output->hwc) == E_HWC_POLICY_PLANES)
-          {
-             if (!e_hwc_planes_mirror_set(output->hwc, src_output->hwc, &output->zoom_conf.rect))
-               {
-                  EOERR("e_hwc_planes_mirror_set failed.", output);
-                  return EINA_FALSE;
-               }
-          }
-        else
+        if (!e_hwc_windows_mirror_set(output->hwc, src_output->hwc))
           {
-             if (!e_hwc_windows_mirror_set(output->hwc, src_output->hwc))
-               {
-                  EOERR("e_hwc_windows_mirror_set failed.", output);
-                  return EINA_FALSE;
-               }
+             EOERR("e_hwc_windows_mirror_set failed.", output);
+             return EINA_FALSE;
           }
      }
 
@@ -4014,34 +3206,16 @@ e_output_mirror_unset(E_Output *output)
      }
    else
      {
-        if (e_hwc_policy_get(output->hwc) == E_HWC_POLICY_PLANES)
-          e_hwc_planes_mirror_unset(output->hwc);
-        else
-          e_hwc_windows_mirror_unset(output->hwc);
+        e_hwc_windows_mirror_unset(output->hwc);
      }
 }
 
 EINTERN Eina_Bool
 e_output_presentation_update(E_Output *output, E_Client *ec)
 {
-   E_Hwc *hwc;
-
    EINA_SAFETY_ON_FALSE_RETURN_VAL(output, EINA_FALSE);
    EINA_SAFETY_ON_FALSE_RETURN_VAL(ec, EINA_FALSE);
 
-   hwc = output->hwc;
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(hwc, EINA_FALSE);
-
-   if (e_hwc_policy_get(hwc) == E_HWC_POLICY_PLANES)
-     {
-        if (!e_hwc_planes_presentation_update(hwc, ec))
-          {
-             EOERR("e_hwc_planes_presentation_update fails.", output);
-             return EINA_FALSE;
-          }
-        EOINF("e_output_presentation_update done: E_OUTPUT_DISPLAY_MODE_PRESENTATION", output);
-     }
-
    _e_output_display_mode_set(output, E_OUTPUT_DISPLAY_MODE_PRESENTATION);
 
    output->external_set = EINA_TRUE;
@@ -4069,31 +3243,24 @@ e_output_presentation_unset(E_Output *output)
 
    _e_output_display_mode_set(output, E_OUTPUT_DISPLAY_MODE_NONE);
 
-   if (e_hwc_policy_get(hwc) == E_HWC_POLICY_PLANES)
-     {
-        e_hwc_planes_presentation_update(hwc, NULL);
-     }
-   else
+   if (output->presentation_ec)
      {
-        if (output->presentation_ec)
-          {
-             primary_output = e_display_primary_output_get();
-             EINA_SAFETY_ON_NULL_GOTO(primary_output, done);
+        primary_output = e_display_primary_output_get();
+        EINA_SAFETY_ON_NULL_GOTO(primary_output, done);
 
-             zone = e_comp_zone_find(e_output_output_id_get(primary_output));
-             EINA_SAFETY_ON_NULL_RETURN(zone);
+        zone = e_comp_zone_find(e_output_output_id_get(primary_output));
+        EINA_SAFETY_ON_NULL_RETURN(zone);
 
-             cdata = e_client_cdata_get(output->presentation_ec);
-             EINA_SAFETY_ON_NULL_RETURN(cdata);
+        cdata = e_client_cdata_get(output->presentation_ec);
+        EINA_SAFETY_ON_NULL_RETURN(cdata);
 
-             e_zone_client_add(zone, output->presentation_ec);
+        e_zone_client_add(zone, output->presentation_ec);
 
-             EINA_LIST_FOREACH(cdata->sub.list, l, subc)
-               e_zone_client_add(zone, subc);
+        EINA_LIST_FOREACH(cdata->sub.list, l, subc)
+          e_zone_client_add(zone, subc);
 
-             EINA_LIST_FOREACH(cdata->sub.list, l, subc)
-               e_zone_client_add(zone, subc);
-          }
+        EINA_LIST_FOREACH(cdata->sub.list, l, subc)
+          e_zone_client_add(zone, subc);
      }
 
 done:
index 31161c6..bde6d3d 100644 (file)
@@ -70,7 +70,6 @@ EINTERN Eina_Bool         e_output_dpms_set(E_Output *output, E_OUTPUT_DPMS val)
 EINTERN E_OUTPUT_DPMS     e_output_dpms_get(E_Output *output);
 EINTERN Eina_Bool         e_output_dpms_async_check(E_Output *output);
 EINTERN void              e_output_phys_size_get(E_Output *output, int *phys_w, int *phys_h);
-EINTERN E_Plane         * e_output_default_fb_target_get(E_Output *output);
 EINTERN Eina_Bool         e_output_fake_config_set(E_Output *output, int x, int y);
 EINTERN void              e_output_position_get(E_Output *output, int *x, int *y);
 EINTERN void              e_output_position_set(E_Output *output, int x, int y);
@@ -102,10 +101,6 @@ EINTERN void              e_output_norender_push(E_Output *output);
 EINTERN void              e_output_norender_pop(E_Output *output);
 EINTERN int               e_output_norender_get(E_Output *output);
 
-EINTERN void              e_output_util_planes_print(void);
-EINTERN Eina_Bool         e_output_is_fb_composing(E_Output *output);
-EINTERN Eina_Bool         e_output_is_fb_full_compositing(E_Output *output);
-EINTERN E_Plane         * e_output_fb_target_get(E_Output *output);
 EINTERN E_Output_Hook   * e_output_hook_add(E_Output_Hook_Point hookpoint, E_Output_Hook_Cb func, const void *data);
 EINTERN void              e_output_hook_del(E_Output_Hook *ch);
 EINTERN E_Output_Intercept_Hook * e_output_intercept_hook_add(E_Output_Intercept_Hook_Point hookpoint, E_Output_Intercept_Hook_Cb func, const void *data);
index 5d4ede3..1346767 100644 (file)
@@ -1912,11 +1912,7 @@ _e_video_hwc_iface_property_set(E_Video_Comp_Iface *iface, unsigned int id, tdm_
 static Eina_Bool
 _e_video_hwc_iface_property_delay_set(E_Video_Comp_Iface *iface, unsigned int id, tdm_value value)
 {
-   IFACE_ENTRY;
-
-   if (evh->hwc_policy != E_HWC_POLICY_PLANES)
-     return EINA_FALSE;
-   return e_video_hwc_planes_property_delay_set(evh, id, value);
+   return EINA_FALSE;
 }
 
 static Eina_Bool
@@ -1977,9 +1973,7 @@ _e_video_hwc_create(E_Client *ec)
      }
 
    hwc_policy = e_zone_video_hwc_policy_get(zone);
-   if (hwc_policy == E_HWC_POLICY_PLANES)
-     evh = e_video_hwc_planes_create(output, ec);
-   else if (hwc_policy == E_HWC_POLICY_WINDOWS)
+   if (hwc_policy == E_HWC_POLICY_WINDOWS)
      evh = e_video_hwc_windows_create(output, ec);
    else
      {
index bcef610..dc2b27d 100644 (file)
@@ -127,10 +127,6 @@ EINTERN void         e_video_hwc_wait_buffer_commit(E_Video_Hwc *evh);
 EINTERN void         e_video_hwc_client_mask_update(E_Video_Hwc *evh);
 EINTERN Eina_Bool    e_video_hwc_current_fb_update(E_Video_Hwc *evh);
 
-/* Functions for HWC Planes */
-EINTERN E_Video_Hwc *e_video_hwc_planes_create(E_Output *output, E_Client *ec);
-EINTERN Eina_Bool    e_video_hwc_planes_property_delay_set(E_Video_Hwc *evh, unsigned int id, tdm_value value);
-
 /* Functions for HWC Windows */
 EINTERN E_Video_Hwc *e_video_hwc_windows_create(E_Output *output, E_Client *ec);
 EINTERN Eina_Bool    e_video_hwc_windows_info_get(E_Video_Hwc *evh, E_Client_Video_Info *info);
diff --git a/src/bin/displaymgr/video/e_video_hwc_planes.c b/src/bin/displaymgr/video/e_video_hwc_planes.c
deleted file mode 100644 (file)
index a5406a3..0000000
+++ /dev/null
@@ -1,1101 +0,0 @@
-#include "e_video_hwc_intern.h"
-#include "e_comp_screen_intern.h"
-#include "e_comp_wl_intern.h"
-#include "e_comp_wl_subsurface_intern.h"
-#include "e_comp_wl_video_buffer_intern.h"
-#include "e_video_debug_intern.h"
-#include "e_view_client_intern.h"
-
-#include <tdm.h>
-#include <tdm_helper.h>
-
-typedef struct _E_Video_Hwc_Planes E_Video_Hwc_Planes;
-
-struct _E_Video_Hwc_Planes
-{
-   E_Video_Hwc base;
-   E_Plane *e_plane;
-   E_Plane_Hook *video_plane_ready_handler;
-
-   struct
-     {
-        tdm_output *output;
-        tdm_layer *layer;
-        /* attributes */
-        Eina_List *prop_list;
-        Eina_List *late_prop_list;
-     } tdm;
-
-   struct
-     {
-        E_Comp_Wl_Video_Buf *vbuf;
-        E_Client_Video_Info info;
-     } pending;
-
-   struct
-     {
-        Eina_Bool commit;
-        Eina_Bool vblank;
-     } wait_flag;
-   struct wl_listener hide_listener;
-};
-
-typedef struct _Tdm_Prop_Value
-{
-   unsigned int id;
-   char name[TDM_NAME_LEN];
-   tdm_value value;
-} Tdm_Prop_Value;
-
-static Eina_List *video_layers = NULL;
-
-static Eina_Bool  _e_video_hwc_planes_buffer_commit(E_Video_Hwc_Planes *evhp, E_Comp_Wl_Video_Buf *vbuf, E_Client_Video_Info *info);
-
-static void
-_e_video_hwc_planes_pending_buffer_commit(E_Video_Hwc_Planes *evhp)
-{
-   E_Comp_Wl_Video_Buf *vbuf;
-
-   if (evhp->pending.vbuf)
-     {
-        vbuf = evhp->pending.vbuf;
-        evhp->pending.vbuf = NULL;
-        _e_video_hwc_planes_buffer_commit(evhp, vbuf, &evhp->pending.info);
-     }
-   else
-     e_video_hwc_wait_buffer_commit((E_Video_Hwc *)evhp);
-}
-
-static Eina_Bool
-_e_video_hwc_planes_prop_list_update(Eina_List *prop_list, const char *name, tdm_value value)
-{
-   Tdm_Prop_Value *prop;
-   Eina_List *l;
-
-   EINA_LIST_FOREACH(prop_list, l, prop)
-     {
-        if (strncmp(name, prop->name, TDM_NAME_LEN))
-          continue;
-
-        VDB("update property(%s) value(%d -> %d)",
-            NULL, name, prop->value.u32, value.u32);
-
-        prop->value.u32 = value.u32;
-
-        return EINA_TRUE;
-     }
-
-   return EINA_FALSE;
-}
-
-static Eina_Bool
-_e_video_hwc_planes_prop_list_append(Eina_List **prop_list, unsigned int id, const char *name, tdm_value value)
-{
-   Tdm_Prop_Value *prop;
-
-   prop = calloc(1, sizeof(Tdm_Prop_Value));
-   if (!prop)
-     {
-        VER("failed to alloc memory: property(%s) value(%d)",
-            NULL, name, value.u32);
-        return EINA_FALSE;
-     }
-
-   prop->value.u32 = value.u32;
-   prop->id = id;
-   memcpy(prop->name, name, sizeof(TDM_NAME_LEN));
-
-   VIN("Add property(%s) value(%d)", NULL, name, value.u32);
-
-   *prop_list = eina_list_append(*prop_list, prop);
-
-   return EINA_TRUE;
-}
-
-static tdm_layer *
-_tdm_output_video_layer_get(tdm_output *output)
-{
-   tdm_layer *layer;
-   tdm_layer_capability capabilities = 0;
-   int i, count = 0;
-#ifdef CHECKING_PRIMARY_ZPOS
-   int primary_idx = 0, primary_zpos = 0;
-   tdm_layer *primary_layer;
-#endif
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(output, NULL);
-
-   tdm_output_get_layer_count(output, &count);
-   for (i = 0; i < count; i++)
-     {
-        layer = tdm_output_get_layer(output, i, NULL);
-        EINA_SAFETY_ON_NULL_RETURN_VAL(layer, NULL);
-
-        tdm_layer_get_capabilities(layer, &capabilities);
-        if (capabilities & TDM_LAYER_CAPABILITY_VIDEO)
-          return layer;
-     }
-
-#ifdef CHECKING_PRIMARY_ZPOS
-   tdm_output_get_primary_index(output, &primary_idx);
-   primary_layer = tdm_output_get_layer(output, primary_idx, NULL);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(primary_layer, NULL);
-   tdm_layer_get_zpos(primary_layer, &primary_zpos);
-#endif
-
-   for (i = 0; i < count; i++)
-     {
-        layer = tdm_output_get_layer(output, i, NULL);
-        EINA_SAFETY_ON_NULL_RETURN_VAL(layer, NULL);
-
-        tdm_layer_get_capabilities(layer, &capabilities);
-        if (capabilities & TDM_LAYER_CAPABILITY_OVERLAY)
-          {
-#ifdef CHECKING_PRIMARY_ZPOS
-             int zpos = 0;
-             tdm_layer_get_zpos(layer, &zpos);
-             if (zpos >= primary_zpos) continue;
-#endif
-             return layer;
-          }
-     }
-
-   return NULL;
-}
-
-static Eina_Bool
-_tdm_output_video_layer_exists(tdm_output *toutput)
-{
-   tdm_layer *layer;
-   tdm_layer_capability lyr_capabilities = 0;
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(toutput, EINA_FALSE);
-
-   /* get the first suitable layer */
-   layer = _tdm_output_video_layer_get(toutput);
-   if (!layer)
-     return EINA_FALSE;
-
-   tdm_layer_get_capabilities(layer, &lyr_capabilities);
-   if (lyr_capabilities & TDM_LAYER_CAPABILITY_VIDEO)
-     return EINA_TRUE;
-
-   return EINA_FALSE;
-}
-
-static tdm_error
-_tdm_layer_info_get(tdm_layer *layer, E_Client_Video_Info *vinfo)
-{
-   tdm_error ret = TDM_ERROR_NONE;
-   tdm_info_layer tinfo = {0};
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(layer, TDM_ERROR_INVALID_PARAMETER);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(vinfo, TDM_ERROR_INVALID_PARAMETER);
-
-   ret = tdm_layer_get_info(layer, &tinfo);
-   EINA_SAFETY_ON_TRUE_RETURN_VAL(ret != TDM_ERROR_NONE, ret);
-
-   memcpy(&vinfo->src_config, &tinfo.src_config, sizeof(tdm_info_config));
-   memcpy(&vinfo->dst_pos, &tinfo.dst_pos, sizeof(tdm_pos));
-   vinfo->transform = tinfo.transform;
-
-   return ret;
-}
-
-static tdm_error
-_tdm_layer_info_set(tdm_layer *layer, E_Client_Video_Info *vinfo)
-{
-   tdm_error ret = TDM_ERROR_NONE;
-   tdm_info_layer info_layer = {0};
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(layer, TDM_ERROR_INVALID_PARAMETER);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(vinfo, TDM_ERROR_INVALID_PARAMETER);
-
-   memcpy(&info_layer.src_config, &vinfo->src_config, sizeof(tdm_info_config));
-   memcpy(&info_layer.dst_pos, &vinfo->dst_pos, sizeof(tdm_pos));
-   info_layer.transform = vinfo->transform;
-
-   ret = tdm_layer_set_info(layer, &info_layer);
-
-   return ret;
-}
-
-static tdm_error
-_tdm_layer_buffer_set(tdm_layer *layer, tbm_surface_h buff)
-{
-   tdm_error ret = TDM_ERROR_NONE;
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(layer, TDM_ERROR_BAD_REQUEST);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(buff, TDM_ERROR_BAD_REQUEST);
-
-   ret = tdm_layer_set_buffer(layer, buff);
-
-   return ret;
-}
-
-static tdm_error
-_tdm_layer_buffer_unset(tdm_layer *layer)
-{
-   tdm_error ret;
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(layer, TDM_ERROR_BAD_REQUEST);
-
-   ret = tdm_layer_unset_buffer(layer);
-
-   return ret;
-}
-
-/*
- * This function checks if this layer was set
- */
-static tdm_error
-_tdm_layer_usable_get(tdm_layer *layer, unsigned int *usable)
-{
-   tdm_error ret;
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(layer, TDM_ERROR_BAD_REQUEST);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(usable, TDM_ERROR_BAD_REQUEST);
-
-   ret = tdm_layer_is_usable(layer, usable);
-   return ret;
-}
-
-static tdm_error
-_tdm_layer_commit(tdm_layer *layer, tdm_layer_commit_handler func, void *user_data)
-{
-   tdm_error ret = TDM_ERROR_NONE;
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(layer, TDM_ERROR_BAD_REQUEST);
-
-   ret = tdm_layer_commit(layer, func, user_data);
-
-   return ret;
-}
-
-static tbm_surface_h
-_tdm_layer_displaying_buffer_get(tdm_layer *layer, int *tdm_error)
-{
-   EINA_SAFETY_ON_NULL_RETURN_VAL(layer, NULL);
-
-   return tdm_layer_get_displaying_buffer(layer, tdm_error);
-}
-
-static tdm_error
-_tdm_layer_property_set(tdm_layer *layer, Tdm_Prop_Value *prop)
-{
-   tdm_error ret;
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(layer, TDM_ERROR_BAD_REQUEST);
-
-   ret = tdm_layer_set_property(layer, prop->id, prop->value);
-   return ret;
-}
-
-static tdm_error
-_tdm_layer_property_get(tdm_layer *layer, unsigned id, tdm_value *value)
-{
-   EINA_SAFETY_ON_NULL_RETURN_VAL(layer, TDM_ERROR_BAD_REQUEST);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(value, TDM_ERROR_BAD_REQUEST);
-
-   return tdm_layer_get_property(layer, id, value);
-}
-
-static void
-_tdm_layer_property_list_set(tdm_layer *layer, Eina_List **list)
-{
-   Tdm_Prop_Value *prop;
-
-   EINA_LIST_FREE((*list), prop)
-     {
-        VIN("call property(%s), value(%d)", NULL, prop->name,
-            (unsigned int)prop->value.u32);
-        _tdm_layer_property_set(layer, prop);
-        free(prop);
-     }
-}
-
-static void
-_e_video_hwc_planes_cb_eplane_video_set_hook(void *data, E_Plane *plane)
-{
-   E_Video_Hwc_Planes *evhp;
-
-   evhp = (E_Video_Hwc_Planes *)data;
-   if (evhp->e_plane != plane) return;
-
-   E_FREE_FUNC(evhp->video_plane_ready_handler, e_plane_hook_del);
-
-   if (evhp->wait_flag.vblank) return;
-
-   _e_video_hwc_planes_pending_buffer_commit(evhp);
-}
-
-static void
-_e_video_hwc_planes_tdm_layer_usable_set(tdm_layer *layer, Eina_Bool usable)
-{
-   tdm_layer *used_layer;
-   Eina_List *l = NULL;
-
-   if (usable)
-     video_layers = eina_list_remove(video_layers, layer);
-   else
-     {
-        EINA_LIST_FOREACH(video_layers, l, used_layer)
-           if (used_layer == layer) return;
-        video_layers = eina_list_append(video_layers, layer);
-     }
-}
-
-static Eina_Bool
-_e_video_hwc_planes_tdm_layer_usable_get(tdm_layer *layer)
-{
-   tdm_layer *used_layer;
-   Eina_List *l = NULL;
-
-   EINA_LIST_FOREACH(video_layers, l, used_layer)
-      if (used_layer == layer)
-        return EINA_FALSE;
-   return EINA_TRUE;
-}
-
-static tdm_layer *
-_e_video_hwc_planes_available_video_tdm_layer_get(tdm_output *output)
-{
-   tdm_layer *layer;
-   tdm_layer_capability capabilities = 0;
-   Eina_Bool has_video_layer = EINA_FALSE;
-   int i, count = 0;
-#ifdef CHECKING_PRIMARY_ZPOS
-   int primary_idx = 0, primary_zpos = 0;
-   tdm_layer *primary_layer;
-#endif
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(output, NULL);
-
-   /* check video layers first */
-   tdm_output_get_layer_count(output, &count);
-   for (i = 0; i < count; i++)
-     {
-        layer = tdm_output_get_layer(output, i, NULL);
-        EINA_SAFETY_ON_NULL_RETURN_VAL(layer, NULL);
-
-        tdm_layer_get_capabilities(layer, &capabilities);
-        if (capabilities & TDM_LAYER_CAPABILITY_VIDEO)
-          {
-             has_video_layer = EINA_TRUE;
-             if (!_e_video_hwc_planes_tdm_layer_usable_get(layer)) continue;
-             return layer;
-          }
-     }
-
-   /* if a output has video layers, it means that there is no available video layer for video */
-   if (has_video_layer)
-     return NULL;
-
-   /* check graphic layers second */
-#ifdef CHECKING_PRIMARY_ZPOS
-   tdm_output_get_primary_index(output, &primary_idx);
-   primary_layer = tdm_output_get_layer(output, primary_idx, NULL);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(primary_layer, NULL);
-   tdm_layer_get_zpos(primary_layer, &primary_zpos);
-#endif
-
-   for (i = 0; i < count; i++)
-     {
-        layer = tdm_output_get_layer(output, i, NULL);
-        EINA_SAFETY_ON_NULL_RETURN_VAL(layer, NULL);
-
-        tdm_layer_get_capabilities(layer, &capabilities);
-        if (capabilities & TDM_LAYER_CAPABILITY_OVERLAY)
-          {
-#ifdef CHECKING_PRIMARY_ZPOS
-             int zpos = 0;
-             tdm_layer_get_zpos(layer, &zpos);
-             if (zpos >= primary_zpos) continue;
-#endif
-             if (!_e_video_hwc_planes_tdm_layer_usable_get(layer)) continue;
-             return layer;
-          }
-     }
-
-   return NULL;
-}
-
-static Eina_Bool
-_e_video_hwc_planes_tdm_layer_set(E_Video_Hwc_Planes *evhp)
-{
-   E_Plane *plane = NULL;
-   Eina_Bool need_wait;
-   tdm_layer *layer;
-   tdm_error ret;
-   int zpos;
-
-   if (evhp->tdm.layer)
-     return EINA_TRUE;
-
-   layer = _e_video_hwc_planes_available_video_tdm_layer_get(evhp->tdm.output);
-   if (!layer)
-     {
-        VWR("no available layer for evhp", NULL);
-        return EINA_FALSE;
-     }
-
-   _e_video_hwc_planes_tdm_layer_usable_set(layer, EINA_FALSE);
-
-   ret = tdm_layer_get_zpos(layer, &zpos);
-   if (ret == TDM_ERROR_NONE)
-     plane = e_output_plane_get_by_zpos(evhp->base.e_output, zpos);
-
-   if (!plane)
-     {
-        VWR("fail get e_plane", NULL);
-        goto err_plane;
-     }
-
-   if (!e_plane_video_set(plane, EINA_TRUE, &need_wait))
-     {
-        VWR("fail set video to e_plane", NULL);
-        goto err_plane;
-     }
-
-   if (need_wait)
-     {
-        evhp->video_plane_ready_handler =
-           e_plane_hook_add(E_PLANE_HOOK_VIDEO_SET,
-                            _e_video_hwc_planes_cb_eplane_video_set_hook, evhp);
-     }
-
-   evhp->tdm.layer = layer;
-   evhp->e_plane = plane;
-
-   VIN("assign layer: %p", NULL, evhp->tdm.layer);
-
-   return EINA_TRUE;
-
-err_plane:
-   _e_video_hwc_planes_tdm_layer_usable_set(evhp->tdm.layer, EINA_TRUE);
-
-   return EINA_FALSE;
-}
-
-static void
-_e_video_hwc_planes_cb_commit_handler(tdm_layer *layer, unsigned int sequence,
-                                      unsigned int tv_sec, unsigned int tv_usec,
-                                      void *user_data)
-{
-   E_Video_Hwc_Planes *evhp;
-
-   evhp = user_data;
-   if (!evhp) return;
-
-   if (!evhp->wait_flag.commit)
-     NEVER_GET_HERE();
-
-   evhp->wait_flag.commit = EINA_FALSE;
-
-   e_video_hwc_current_fb_update((E_Video_Hwc *)evhp);
-}
-
-static void
-_e_video_hwc_planes_cb_vblank_handler(tdm_output *output, unsigned int sequence,
-                                      unsigned int tv_sec, unsigned int tv_usec,
-                                      void *user_data)
-{
-   E_Video_Hwc_Planes *evhp;
-   tdm_error err;
-
-   evhp = user_data;
-   if (!evhp) return;
-
-   evhp->wait_flag.vblank = EINA_FALSE;
-
-   if (evhp->video_plane_ready_handler) return;
-
-   if (evhp->wait_flag.commit)
-     {
-        /* wait next vblank in case commit handler is not called yet. Because
-         * that means committed buffer is not on display yet. */
-        err = tdm_output_wait_vblank(evhp->tdm.output, 1, 0,
-                                     _e_video_hwc_planes_cb_vblank_handler,
-                                     evhp);
-        if (err != TDM_ERROR_NONE)
-          {
-             VER("failed to set handler for wait vblank", evhp->base.ec);
-             return;
-          }
-
-        evhp->wait_flag.vblank = EINA_TRUE;
-     }
-   else
-     _e_video_hwc_planes_pending_buffer_commit(evhp);
-}
-
-static Eina_Bool
-_e_video_hwc_planes_buffer_commit(E_Video_Hwc_Planes *evhp, E_Comp_Wl_Video_Buf *vbuf, E_Client_Video_Info *info)
-{
-   E_Client_Video_Info old_info;
-   tdm_error ret;
-
-   if (!evhp->tdm.layer)
-     {
-        VIN("set layer: show", evhp->base.ec);
-        if (!_e_video_hwc_planes_tdm_layer_set(evhp))
-          {
-             VER("set layer failed", evhp->base.ec);
-             return EINA_FALSE;
-          }
-     }
-
-   if (evhp->video_plane_ready_handler)
-     {
-        VIN("wait for video plane ready: Pending commit vbuf(%p)",
-            evhp->base.ec, vbuf);
-
-        if (evhp->pending.vbuf)
-          {
-             /* Cannot reach here because following buffers are supposed
-              * to be queued by 'e_video_hwc' until calling fb_update by
-              * this child module. */
-             NEVER_GET_HERE();
-
-             return EINA_FALSE;
-          }
-
-        evhp->pending.vbuf = vbuf;
-        memcpy(&evhp->pending.info, info, sizeof(E_Client_Video_Info));
-
-        return EINA_TRUE;
-     }
-
-   if (evhp->tdm.prop_list)
-     {
-        // need call tdm property in list
-        _tdm_layer_property_list_set(evhp->tdm.layer, &evhp->tdm.prop_list);
-     }
-
-   CLEAR(old_info);
-   ret = _tdm_layer_info_get(evhp->tdm.layer, &old_info);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(ret == TDM_ERROR_NONE, EINA_FALSE);
-
-   if (memcmp(&old_info, info, sizeof(tdm_info_layer)))
-     {
-        ret = _tdm_layer_info_set(evhp->tdm.layer, info);
-        EINA_SAFETY_ON_FALSE_RETURN_VAL(ret == TDM_ERROR_NONE, EINA_FALSE);
-     }
-
-   ret = _tdm_layer_buffer_set(evhp->tdm.layer, vbuf->tbm_surface);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(ret == TDM_ERROR_NONE, EINA_FALSE);
-
-   ret = _tdm_layer_commit(evhp->tdm.layer, _e_video_hwc_planes_cb_commit_handler, evhp);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(ret == TDM_ERROR_NONE, EINA_FALSE);
-
-   ret = tdm_output_wait_vblank(evhp->tdm.output, 1, 0, _e_video_hwc_planes_cb_vblank_handler, evhp);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(ret == TDM_ERROR_NONE, EINA_FALSE);
-
-   evhp->wait_flag.commit = EINA_TRUE;
-   evhp->wait_flag.vblank = EINA_TRUE;
-
-   _tdm_layer_property_list_set(evhp->tdm.layer, &evhp->tdm.late_prop_list);
-
-   e_video_hwc_client_mask_update((E_Video_Hwc *)evhp);
-
-   struct wl_resource *surface = e_comp_wl_client_surface_get(evhp->base.ec);
-   DBG("Client(%s):PID(%d) RscID(%d), Buffer(%p, refcnt:%d) is shown."
-       "Geometry details are : buffer size(%dx%d) src(%d,%d, %dx%d)"
-       " dst(%d,%d, %dx%d), transform(%d)",
-       e_client_util_name_get(evhp->base.ec) ?: "No Name" , evhp->base.ec->netwm.pid,
-       wl_resource_get_id(surface), vbuf, vbuf->ref_cnt,
-       info->src_config.size.h, info->src_config.size.v, info->src_config.pos.x,
-       info->src_config.pos.y, info->src_config.pos.w, info->src_config.pos.h,
-       info->dst_pos.x, info->dst_pos.y, info->dst_pos.w, info->dst_pos.h, info->transform);
-
-   return EINA_TRUE;
-}
-
-static void
-_e_video_hwc_planes_tdm_layer_unset(E_Video_Hwc_Planes *evhp)
-{
-   unsigned int usable = 1;
-
-   if (!evhp->tdm.layer) return;
-
-   if (evhp->wait_flag.commit)
-     {
-        tdm_layer_remove_commit_handler(evhp->tdm.layer, _e_video_hwc_planes_cb_commit_handler, evhp);
-        evhp->wait_flag.commit = EINA_FALSE;
-     }
-
-   _tdm_layer_usable_get(evhp->tdm.layer, &usable);
-   if (!usable && !evhp->video_plane_ready_handler)
-     {
-        VIN("stop video", evhp->base.ec);
-        _tdm_layer_buffer_unset(evhp->tdm.layer);
-        _tdm_layer_commit(evhp->tdm.layer, NULL, NULL);
-     }
-
-   VIN("release layer: %p", evhp->base.ec, evhp->tdm.layer);
-   _e_video_hwc_planes_tdm_layer_usable_set(evhp->tdm.layer, EINA_TRUE);
-   evhp->tdm.layer = NULL;
-   evhp->base.old_comp_buffer = NULL;
-
-   e_plane_video_set(evhp->e_plane, EINA_FALSE, NULL);
-   evhp->e_plane = NULL;
-
-   E_FREE_FUNC(evhp->video_plane_ready_handler, e_plane_hook_del);
-}
-
-static void
-_e_video_hwc_planes_cb_hide(struct wl_listener *listener, void *data)
-{
-   E_Video_Hwc_Planes *evhp = wl_container_of(listener, evhp, hide_listener);
-
-   /* if stand_alone is true, not hide */
-   if ((e_comp_wl_subsurface_check(evhp->base.ec)) &&
-       (e_comp_wl_subsurface_stand_alone_mode_get(evhp->base.ec)))
-     return;
-
-   VIN("e_client hide", evhp->base.ec);
-   if (evhp->tdm.layer)
-     {
-        VIN("unset layer: hide", evhp->base.ec);
-        _e_video_hwc_planes_tdm_layer_unset(evhp);
-     }
-}
-
-static tdm_error
-_e_video_hwc_planes_available_properties_get(E_Video_Hwc_Planes *evhp,
-                                             const tdm_prop **props,
-                                             int *count)
-{
-   tdm_layer *tlayer;
-   tdm_error ret = TDM_ERROR_OPERATION_FAILED;
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(evhp, TDM_ERROR_BAD_REQUEST);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(props, TDM_ERROR_BAD_REQUEST);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(count, TDM_ERROR_BAD_REQUEST);
-
-   tlayer = evhp->tdm.layer;
-   /* if layer wasn't set then get an any available tdm_layer */
-   if (tlayer == NULL)
-     tlayer = _e_video_hwc_planes_available_video_tdm_layer_get(evhp->tdm.output);
-   ret = tdm_layer_get_available_properties(tlayer, props, count);
-
-   return ret;
-}
-
-static Eina_Bool
-_e_video_hwc_planes_init(E_Video_Hwc_Planes *evhp, E_Output *output)
-{
-   /* If tdm offers video layers, we will assign a tdm layer when showing */
-   if (!_tdm_output_video_layer_exists(output->toutput))
-     {
-        /* If tdm doesn't offer video layers, we assign a tdm layer now. If
-         * failed, video will be displayed via the UI rendering path. */
-        if (!_e_video_hwc_planes_tdm_layer_set(evhp))
-          return EINA_FALSE;
-     }
-
-   return EINA_TRUE;
-}
-
-static void
-_e_video_hwc_planes_destroy(E_Video_Hwc_Planes *evhp)
-{
-   Tdm_Prop_Value *tdm_prop;
-
-   if (!evhp)
-     return;
-
-   VIN("destroy", evhp->base.ec);
-
-   if (evhp->tdm.prop_list)
-     {
-        EINA_LIST_FREE(evhp->tdm.prop_list, tdm_prop)
-           free(tdm_prop);
-     }
-   if (evhp->tdm.late_prop_list)
-     {
-        EINA_LIST_FREE(evhp->tdm.late_prop_list, tdm_prop)
-           free(tdm_prop);
-     }
-
-   if (evhp->tdm.prop_list)
-     NEVER_GET_HERE();
-   if (evhp->tdm.late_prop_list)
-     NEVER_GET_HERE();
-
-   if (evhp->wait_flag.vblank)
-     {
-        tdm_output_remove_vblank_handler(evhp->tdm.output, _e_video_hwc_planes_cb_vblank_handler, evhp);
-        evhp->wait_flag.vblank = EINA_FALSE;
-     }
-
-   if (evhp->tdm.layer)
-     {
-        VIN("unset layer: destroy", evhp->base.ec);
-        _e_video_hwc_planes_tdm_layer_unset(evhp);
-     }
-
-   free(evhp);
-}
-
-static void
-_e_video_hwc_planes_ec_event_deinit(E_Video_Hwc_Planes *evhp)
-{
-   E_View_Client* view_client = e_client_view_get(evhp->base.ec);
-
-   if (view_client)
-     {
-        e_view_event_listener_del(e_view_client_view_get(view_client), E_VIEW_HIDE, &evhp->hide_listener);
-        evhp->hide_listener.notify = NULL;
-     }
-}
-
-const char *
-_e_video_hwc_planes_prop_name_get_by_id(E_Video_Hwc_Planes *evhp, unsigned int id)
-{
-   tdm_layer *layer;
-   const tdm_prop *props;
-   int i, count = 0;
-
-   layer = _tdm_output_video_layer_get(evhp->tdm.output);
-   tdm_layer_get_available_properties(layer, &props, &count);
-   for (i = 0; i < count; i++)
-     {
-        if (props[i].id == id)
-          {
-             VDB("check property(%s)", evhp->base.ec, props[i].name);
-             return props[i].name;
-          }
-     }
-
-   return NULL;
-}
-
-static void
-_e_video_hwc_planes_property_post_set(E_Video_Hwc_Planes *evhp,
-                                      unsigned int id,
-                                      const char *name,
-                                      tdm_value value)
-{
-   Eina_Bool res;
-
-   VDB("property_post_set: property(%s) value(%d)",
-       evhp->base.ec, name, value.u32);
-
-   res = _e_video_hwc_planes_prop_list_update(evhp->tdm.late_prop_list,
-                                              name,
-                                              value);
-   if (res)
-     return;
-
-   _e_video_hwc_planes_prop_list_append(&evhp->tdm.late_prop_list,
-                                        id, name, value);
-}
-
-static Eina_Bool
-_e_video_hwc_planes_property_pre_set(E_Video_Hwc_Planes *evhp,
-                                     unsigned int id,
-                                     const char *name,
-                                     tdm_value value)
-{
-   Eina_Bool res;
-
-   VDB("property_pre_set: property(%s) value(%d)",
-       evhp->base.ec, name, value.u32);
-
-   res = _e_video_hwc_planes_prop_list_update(evhp->tdm.prop_list,
-                                              name,
-                                              value);
-   if (res)
-     return EINA_TRUE;
-
-   res = _e_video_hwc_planes_prop_list_update(evhp->tdm.late_prop_list,
-                                              name,
-                                              value);
-   if (res)
-     return EINA_TRUE;
-
-   res = _e_video_hwc_planes_prop_list_append(&evhp->tdm.prop_list,
-                                              id, name, value);
-
-   return res;
-}
-
-static Eina_Bool
-_e_video_hwc_planes_property_save(E_Video_Hwc_Planes *evhp, unsigned int id, const char *name, tdm_value value)
-{
-   return _e_video_hwc_planes_property_pre_set(evhp, id, name, value);
-}
-
-static void
-_e_video_hwc_planes_ec_event_init(E_Video_Hwc_Planes *evhp, E_Client *ec)
-{
-   E_View_Client* view_client = e_client_view_get(ec);
-
-   if (view_client)
-     {
-        evhp->hide_listener.notify = _e_video_hwc_planes_cb_hide;
-        e_view_event_listener_add(e_view_client_view_get(view_client), E_VIEW_HIDE, &evhp->hide_listener);
-     }
-}
-
-static void
-_e_video_hwc_planes_iface_destroy(E_Video_Hwc *evh)
-{
-   E_Video_Hwc_Planes *evhp;
-
-   evhp = (E_Video_Hwc_Planes *)evh;
-   _e_video_hwc_planes_ec_event_deinit(evhp);
-   _e_video_hwc_planes_destroy(evhp);
-}
-
-static Eina_Bool
-_e_video_hwc_planes_iface_property_get(E_Video_Hwc *evh, unsigned int id, tdm_value *value)
-{
-   E_Video_Hwc_Planes *evhp;
-   tdm_error ret;
-
-   evhp = (E_Video_Hwc_Planes *)evh;
-   ret = _tdm_layer_property_get(evhp->tdm.layer, id, value);
-   if (ret != TDM_ERROR_NONE)
-     return EINA_FALSE;
-
-   return EINA_TRUE;
-}
-
-static Eina_Bool
-_e_video_hwc_planes_iface_property_set(E_Video_Hwc *evh, unsigned int id, tdm_value value, Eina_Bool sync)
-{
-   E_Video_Hwc_Planes *evhp;
-   Tdm_Prop_Value prop;
-   const char *name;
-
-   evhp = (E_Video_Hwc_Planes *)evh;
-   VIN("set layer: set_attribute", evhp->base.ec);
-
-   name = _e_video_hwc_planes_prop_name_get_by_id(evhp, id);
-
-   if (!evhp->tdm.layer)
-     {
-        /* FIXME
-         * Set property with assigning layer right away if allowed_attribute
-         * flag is set. The reason why we have to do like this isn't figured
-         * yet. It's for backward compatibility. */
-        if ((e_client_video_property_allow_get(evhp->base.ecv)) ||
-            (sync == EINA_TRUE))
-          {
-             if (!_e_video_hwc_planes_tdm_layer_set(evhp))
-               {
-                  VER("set layer failed", evhp->base.ec);
-                  return EINA_FALSE;
-               }
-
-             if (evhp->video_plane_ready_handler)
-               {
-                  VIN("wait for video plane ready", evhp->base.ec);
-                  goto save;
-               }
-          }
-        else
-          {
-             VIN("layer is not yet assigned", evhp->base.ec);
-             goto save;
-          }
-     }
-
-   VIN("set layer: call property(%s), value(%d)", evhp->base.ec, name, value.u32);
-
-   prop.id = id;
-   prop.value = value;
-   _tdm_layer_property_set(evhp->tdm.layer, &prop);
-
-   return EINA_TRUE;
-
-save:
-   VIN("save property value", evhp->base.ec);
-   if (!_e_video_hwc_planes_property_save(evhp, id, name, value))
-     {
-        VER("save property failed", evhp->base.ec);
-        return EINA_FALSE;
-     }
-
-   return EINA_TRUE;
-}
-
-static Eina_Bool
-_e_video_hwc_planes_iface_available_properties_get(E_Video_Hwc *evh, const tdm_prop **props, int *count)
-{
-   E_Video_Hwc_Planes *evhp;
-   tdm_error ret;
-
-   evhp = (E_Video_Hwc_Planes *)evh;
-   ret = _e_video_hwc_planes_available_properties_get(evhp, props, count);
-   if (ret != TDM_ERROR_NONE)
-     return EINA_FALSE;
-
-   return EINA_TRUE;
-}
-
-static Eina_Bool
-_e_video_hwc_planes_iface_buffer_commit(E_Video_Hwc *evh, E_Comp_Wl_Video_Buf *vbuf)
-{
-   E_Video_Hwc_Planes *evhp;
-   E_Client_Video_Info info;
-   Eina_Bool ret = EINA_TRUE;
-
-   evhp = (E_Video_Hwc_Planes *)evh;
-   if (!vbuf)
-     {
-        if (evhp->tdm.layer)
-          {
-             VIN("unset layer: hide", evhp->base.ec);
-             _e_video_hwc_planes_tdm_layer_unset(evhp);
-          }
-     }
-   else
-     {
-        CLEAR(info);
-        info.src_config.size.h = vbuf->width_from_pitch;
-        info.src_config.size.v = vbuf->height_from_size;
-        info.src_config.pos.x = vbuf->content_r.x;
-        info.src_config.pos.y = vbuf->content_r.y;
-        info.src_config.pos.w = vbuf->content_r.w;
-        info.src_config.pos.h = vbuf->content_r.h;
-        info.src_config.format = vbuf->tbmfmt;
-        info.dst_pos.x = evhp->base.geo.tdm.output_r.x;
-        info.dst_pos.y = evhp->base.geo.tdm.output_r.y;
-        info.dst_pos.w = evhp->base.geo.tdm.output_r.w;
-        info.dst_pos.h = evhp->base.geo.tdm.output_r.h;
-        info.transform = vbuf->content_t;
-
-        ret = _e_video_hwc_planes_buffer_commit(evhp, vbuf, &info);
-     }
-
-   return ret;
-}
-
-static Eina_Bool
-_e_video_hwc_planes_iface_check_if_pp_needed(E_Video_Hwc *evh)
-{
-   E_Video_Hwc_Planes *evhp;
-   E_Comp_Screen *e_comp_screen;
-   int i, count = 0;
-   const tbm_format *formats;
-   Eina_Bool found = EINA_FALSE;
-   tdm_layer_capability capabilities = 0;
-
-   evhp = (E_Video_Hwc_Planes *)evh;
-
-   tdm_layer *layer = _tdm_output_video_layer_get(evhp->tdm.output);
-
-   tdm_layer_get_capabilities(layer, &capabilities);
-
-   /* don't need pp if a layer has TDM_LAYER_CAPABILITY_VIDEO capability*/
-   if (capabilities & TDM_LAYER_CAPABILITY_VIDEO)
-     return EINA_FALSE;
-
-   /* check formats */
-   tdm_layer_get_available_formats(layer, &formats, &count);
-   for (i = 0; i < count; i++)
-     if (formats[i] == evhp->base.tbmfmt)
-       {
-          found = EINA_TRUE;
-          break;
-       }
-
-   if (!found)
-     {
-        if (formats && count > 0)
-          evhp->base.pp_tbmfmt = formats[0];
-        else
-          {
-             WRN("No layer format information!!!");
-             evhp->base.pp_tbmfmt = TBM_FORMAT_ARGB8888;
-          }
-        return EINA_TRUE;
-     }
-
-   if (capabilities & TDM_LAYER_CAPABILITY_SCANOUT)
-     goto need_pp;
-
-   /* check size */
-   if (evhp->base.geo.input_r.w != evhp->base.geo.output_r.w || evhp->base.geo.input_r.h != evhp->base.geo.output_r.h)
-     if (!(capabilities & TDM_LAYER_CAPABILITY_SCALE))
-       goto need_pp;
-
-   /* check rotate */
-   e_comp_screen = e_comp_screen_get();
-   if (evhp->base.geo.transform || (e_comp_screen && e_comp_screen->rotation > 0))
-     if (!(capabilities & TDM_LAYER_CAPABILITY_TRANSFORM))
-       goto need_pp;
-
-   return EINA_FALSE;
-
-need_pp:
-   evhp->base.pp_tbmfmt = evhp->base.tbmfmt;
-   return EINA_TRUE;
-}
-
-static tbm_surface_h
-_e_video_hwc_planes_iface_displaying_buffer_get(E_Video_Hwc *evh)
-{
-   E_Video_Hwc_Planes *evhp;
-
-   evhp = (E_Video_Hwc_Planes *)evh;
-   return _tdm_layer_displaying_buffer_get(evhp->tdm.layer, NULL);
-}
-
-static void
-_e_video_hwc_planes_iface_set(E_Video_Hwc_Iface *iface)
-{
-   iface->destroy = _e_video_hwc_planes_iface_destroy;
-   iface->property_get = _e_video_hwc_planes_iface_property_get;
-   iface->property_set = _e_video_hwc_planes_iface_property_set;
-   iface->available_properties_get = _e_video_hwc_planes_iface_available_properties_get;
-   iface->buffer_commit = _e_video_hwc_planes_iface_buffer_commit;
-   iface->check_if_pp_needed = _e_video_hwc_planes_iface_check_if_pp_needed;
-   iface->displaying_buffer_get = _e_video_hwc_planes_iface_displaying_buffer_get;
-}
-
-EINTERN E_Video_Hwc *
-e_video_hwc_planes_create(E_Output *output, E_Client *ec)
-{
-   E_Video_Hwc_Planes *evhp;
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(output, NULL);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
-
-   VIN("Create HWC Planes backend", ec);
-
-   evhp = E_NEW(E_Video_Hwc_Planes, 1);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(evhp, NULL);
-
-   evhp->base.e_output = output;
-   evhp->tdm.output = output->toutput;
-
-   if (!_e_video_hwc_planes_init(evhp, output))
-     {
-        ERR("Failed to init 'E_Video_Hwc_Planes'");
-        free(evhp);
-        return NULL;
-     }
-
-   _e_video_hwc_planes_ec_event_init(evhp, ec);
-   _e_video_hwc_planes_iface_set(&evhp->base.backend);
-
-   return (E_Video_Hwc *)evhp;
-}
-
-EINTERN Eina_Bool
-e_video_hwc_planes_property_delay_set(E_Video_Hwc *evh, unsigned int id, tdm_value value)
-{
-   E_Video_Hwc_Planes *evhp;
-   const char *name;
-
-   evhp = (E_Video_Hwc_Planes *)evh;
-   name = _e_video_hwc_planes_prop_name_get_by_id(evhp, id);
-
-   _e_video_hwc_planes_property_post_set(evhp, id, name, value);
-
-   return EINA_TRUE;
-}
index 5531a3a..0ad5f11 100644 (file)
@@ -19,7 +19,6 @@
 #include "e_config_intern.h"
 #include "e_dbus_conn_intern.h"
 #include "e_main_intern.h"
-#include "e_hwc_planes_intern.h"
 #include "e_linux_dmabuf_intern.h"
 #include "e_comp_input_intern.h"
 #include "e_screen_rotation_intern.h"
index a9a320a..a361021 100644 (file)
@@ -2713,7 +2713,6 @@ _e_comp_wl_surface_state_commit(E_Client *ec, E_Comp_Wl_Surface_State *state)
    E_Comp_Wl_Client_Data *cdata = e_client_cdata_get(ec);
    E_Comp_Wl_Buffer_Viewport *vp = &cdata->scaler.buffer_viewport;
    E_Surface *surface = e_surface_from_ec(ec);
-   E_Zone *zone;
 
    if (ec->ignored)
      {
@@ -2731,7 +2730,6 @@ _e_comp_wl_surface_state_commit(E_Client *ec, E_Comp_Wl_Surface_State *state)
    /* buffer transform */
    if (vp->buffer.transform != state->buffer_viewport.buffer.transform)
      {
-        E_Output *eout;
         int transform_change = (4 + state->buffer_viewport.buffer.transform - vp->buffer.transform) & 0x3;
 
         /* when buffer is transformed, we have to apply the new evas-map */
@@ -2743,22 +2741,6 @@ _e_comp_wl_surface_state_commit(E_Client *ec, E_Comp_Wl_Surface_State *state)
 
         if (transform_change == vp->wait_for_transform_change)
           vp->wait_for_transform_change = 0;
-
-        // TODO: This logic has to move to e_comp_hwc or e_hwc_window and it is
-        //       triggered by E_CLIENT_HOOK calls at those file.
-        zone = e_comp_zone_find_by_ec(ec);
-        if (zone)
-          {
-             eout = e_output_find(zone->output_id);
-             if (eout && eout->hwc)
-               {
-                  if (e_hwc_policy_get(eout->hwc) == E_HWC_POLICY_PLANES)
-                    {
-                       if (e_comp_is_on_overlay(ec))
-                         e_comp_hwc_client_end(ec, __FUNCTION__);
-                    }
-               }
-          }
      }
 
    /* assign a new buffer_vieport to cdata->scaler.buffer_viewport */
index 39ec3b3..f094741 100644 (file)
@@ -195,7 +195,6 @@ _e_comp_wl_tizen_hwc_cb_create_commit_feedback(struct wl_client *client,
    E_Client *ec;
    E_Comp_Wl_Tizen_Hwc *tizen_hwc;
    E_Comp_Wl_Tizen_Hwc_Commit_Feedback* hwc_commit_feedback;
-   E_Hwc *hwc;
    E_Surface *surface;
 
    tizen_hwc = wl_resource_get_user_data(tizen_hwc_resource);
@@ -246,22 +245,6 @@ _e_comp_wl_tizen_hwc_cb_create_commit_feedback(struct wl_client *client,
    tizen_hwc->hwc_commit_feeback_list = eina_list_append(tizen_hwc->hwc_commit_feeback_list, hwc_commit_feedback);
 
    ELOGF("TIZEN-HWC", "Request Commit Feedback by Client.(%p)", hwc_commit_feedback->ec, hwc_commit_feedback);
-
-   if (!ec->hwc_window)
-     {
-        hwc = _e_comp_wl_tizen_hwc_client_hwc_get(ec);
-        if (hwc)
-          {
-             if (e_hwc_policy_get(hwc) == E_HWC_POLICY_PLANES)
-               {
-                  ELOGF("TIZEN-HWC", "Not Supported in hwc planes policy.(%p)",
-                        hwc_commit_feedback->ec, hwc_commit_feedback);
-                  tizen_hwc_commit_feedback_send_committed(hwc_commit_feedback->resource,
-                                                           hwc_commit_feedback->serial);
-                  wl_resource_destroy(hwc_commit_feedback->resource);
-               }
-          }
-     }
 }
 
 static const struct tizen_hwc_interface _e_comp_wl_tizen_hwc_implementation = {
index 091bdfd..6f161ad 100644 (file)
@@ -124,35 +124,6 @@ static int eom_output_attributes[EOM_NUM_ATTR][EOM_NUM_ATTR] =
 
 static E_EomPtr g_eom = NULL;
 
-static Eina_Bool
-_e_eom_cb_comp_object_redirected(void *data, E_Client *ec)
-{
-   E_EomCompObjectInterceptHookData *hook_data;
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(data, EINA_TRUE);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, EINA_TRUE);
-
-   hook_data = (E_EomCompObjectInterceptHookData* )data;
-
-   if (!hook_data->ec || !hook_data->hook)
-     return EINA_TRUE;
-
-   if (hook_data->ec != ec)
-     return EINA_TRUE;
-
-   /* Hide the window from Enlightenment main screen */
-   e_client_redirected_set(ec, EINA_FALSE);
-
-   EOMINF("Redirect ec->frame:%p", ec, hook_data->eom_output->output, ec->frame);
-
-   e_comp_object_intercept_hook_del(hook_data->hook);
-   g_eom->comp_object_intercept_hooks = eina_list_remove(g_eom->comp_object_intercept_hooks, hook_data);
-
-   free(hook_data);
-
-   return EINA_TRUE;
-}
-
 static inline eom_output_attribute_e
 _e_eom_output_attribute_get(E_EomOutputPtr eom_output)
 {
@@ -380,30 +351,12 @@ static void
 _e_eom_output_send_configure_event(E_EomOutput *eom_output, E_Client *ec)
 {
    E_Comp_Wl_Client_Data *cdata;
-   E_EomCompObjectInterceptHookData *hook_data = NULL;
-   E_Comp_Object_Intercept_Hook *hook = NULL;
    int w, h;
 
    cdata = e_client_cdata_get(ec);
    EINA_SAFETY_ON_NULL_RETURN(cdata);
    EINA_SAFETY_ON_NULL_RETURN(cdata->shell.configure_send);
 
-   if (e_hwc_policy_get(eom_output->output->hwc) != E_HWC_POLICY_WINDOWS)
-     {
-        hook_data = E_NEW(E_EomCompObjectInterceptHookData, 1);
-        EINA_SAFETY_ON_NULL_RETURN(hook_data);
-
-        hook = e_comp_object_intercept_hook_add(E_COMP_OBJECT_INTERCEPT_HOOK_SHOW_HELPER,
-                                                _e_eom_cb_comp_object_redirected, hook_data);
-        EINA_SAFETY_ON_NULL_GOTO(hook, err);
-
-        hook_data->ec = ec;
-        hook_data->eom_output = eom_output;
-        hook_data->hook = hook;
-
-        g_eom->comp_object_intercept_hooks = eina_list_append(g_eom->comp_object_intercept_hooks, hook_data);
-     }
-
    /* get the output size */
    e_output_size_get(eom_output->output, &w, &h);
    e_client_shell_configure_send(ec, 0, w, h);
@@ -411,9 +364,6 @@ _e_eom_output_send_configure_event(E_EomOutput *eom_output, E_Client *ec)
    EOMINF("Send Configure Event for Presentation (%d X %d)", ec, eom_output->output, w, h);
 
    return;
-err:
-   if (hook_data)
-     free(hook_data);
 }
 
 static E_EomClientPtr
index d403d44..17ab8bb 100644 (file)
@@ -491,7 +491,6 @@ e_explicit_sync_init(void)
      {
          if (!output) continue;
          if (!output->hwc) continue;
-         if (output->hwc->hwc_policy != E_HWC_POLICY_WINDOWS) continue;
          if (!output->hwc->tdm_hwc_fence) continue;
 
          ret = EINA_TRUE;
index 5bdf2a0..e9bb2cf 100644 (file)
@@ -66,10 +66,7 @@ _tz_screen_rotation_cb_get_ignore_output_transform(struct wl_listener *listener,
 {
    E_Comp_Screen_Tzsr *tzsr;
    E_Client *ec;
-   E_Hwc_Policy hwc_policy;
-   E_Output *output;
-   E_Zone *zone;
-   Eina_Bool ignore = EINA_TRUE;
+   Eina_Bool ignore = EINA_FALSE;
    struct ds_tizen_screen_rotation_info *info;
    struct ds_surface *ds_surface;
    struct wl_resource *surface_resource;
@@ -102,18 +99,6 @@ _tz_screen_rotation_cb_get_ignore_output_transform(struct wl_listener *listener,
 
    tzsr_list = eina_list_append(tzsr_list, tzsr);
 
-   zone = e_comp_zone_find_by_ec(ec);
-   if (zone)
-     {
-        output = e_output_find(zone->output_id);
-        if (output)
-          {
-             hwc_policy = e_hwc_policy_get(output->hwc);
-             if (hwc_policy == E_HWC_POLICY_WINDOWS)
-               ignore = EINA_FALSE;
-          }
-     }
-
    ELOGF("TRANSFORM", "|tzsr(%p) client_ignore(%d) ignore(%d)",
          ec, tzsr, e_config->screen_rotation_client_ignore, ignore);
 
index 369a173..773b19f 100644 (file)
@@ -10,7 +10,6 @@
 #include <e_zone.h>
 #include <e_actions.h>
 #include <e_util_transform.h>
-#include <e_plane_renderer.h>
 #include <e_pixmap.h>
 #include <e_bindings.h>
 #include <e_config.h>
@@ -908,7 +907,7 @@ struct _E_Client
       E_Indicator_Visible_Type visible_type;
    } indicator;
 
-   E_Plane_Renderer_Client *renderer_client;
+   EINA_DEPRECATED void *renderer_client;
 
    struct
    {
index b1e988e..c591587 100644 (file)
@@ -122,10 +122,10 @@ struct _E_Comp
    int             nocomp_override; //number of times hwc override has been requested
    Eina_Bool       nocomp : 1; // TODO: remove it from E_Comp!!
    Eina_Bool       hwc : 1;
-   Eina_Bool       hwc_reuse_cursor_buffer;
-   Eina_Bool       hwc_sync_mode_change;
-   Eina_Bool       hwc_use_detach;
-   Eina_Bool       hwc_ignore_primary;
+   EINA_DEPRECATED Eina_Bool hwc_reuse_cursor_buffer;
+   EINA_DEPRECATED Eina_Bool hwc_sync_mode_change;
+   EINA_DEPRECATED Eina_Bool hwc_use_detach;
+   EINA_DEPRECATED Eina_Bool hwc_ignore_primary;
    Eina_Bool       hwc_send_redraw_request;
    Eina_Bool       hwc_prefer_gbm;
    Eina_Bool       use_native_type_buffer : 1; // use native buffer type
index 37a84fe..fe5d188 100644 (file)
@@ -33,12 +33,12 @@ struct _E_Comp_Config
    unsigned char nocomp_use_timer;
    double        nocomp_begin_timeout;
    unsigned char hwc;
-   unsigned char hwc_use_multi_plane; // 0: regards hwc layer is single. comp or nocomp switches only, 1: regards hwc layer is multiple
+   EINA_DEPRECATED unsigned char hwc_use_multi_plane;
    unsigned char hwc_deactive; // 0: run hwc policy if capable of, 1: not to run hwc policy
-   unsigned char hwc_reuse_cursor_buffer; // 0: none, 1: reuse hwc cursor buffer when cursor image is changed
-   unsigned char hwc_sync_mode_change; // 0: none, 1: synchronize scanout buffer when hwc mode change in reserved memory plane
-   unsigned char hwc_ignore_primary; // 0: none, 1: hwc use plane has lowest zpos and support rgb to default ui layer
-   unsigned char hwc_use_detach; // 0: hwc use dequeue protocol, 1: hwc use detach request when synchronize scanout buffer
+   EINA_DEPRECATED unsigned char hwc_reuse_cursor_buffer;
+   EINA_DEPRECATED unsigned char hwc_sync_mode_change;
+   EINA_DEPRECATED unsigned char hwc_ignore_primary;
+   EINA_DEPRECATED unsigned char hwc_use_detach;
    unsigned char hwc_send_redraw_request; // 0: none, 1: send redraw request to client when client need to redraw for hwc
    unsigned char hwc_prefer_gbm; //0: prefer creating ecore_evas with tbm, 1: prefer creating ecore_evas with gbm
    unsigned char use_native_type_buffer; // 0: use the tbm_buffer(tbm_surface), 1: use the native_buffer(wl_buffer)
index 0d442d9..1c341f0 100644 (file)
@@ -23,17 +23,10 @@ typedef enum _E_Hwc_Mode
 typedef enum _E_Hwc_Policy
 {
    E_HWC_POLICY_NONE = 0,
-   E_HWC_POLICY_PLANES,   // hwc_planes policy that controls the hwc policy at e20 with e_planes
+   E_HWC_POLICY_PLANES,   // deprecated
    E_HWC_POLICY_WINDOWS,  // hwc_windows policy that controls the hwc policy at tdm-backend with e_hwc_windows
 } E_Hwc_Policy;
 
-typedef enum _E_Hwc_Intercept_Hook_Point
-{
-   E_HWC_INTERCEPT_HOOK_PREPARE_PLANE,
-   E_HWC_INTERCEPT_HOOK_END_ALL_PLANE,
-   E_HWC_INTERCEPT_HOOK_LAST,
-} E_Hwc_Intercept_Hook_Point;
-
 typedef enum _E_Hwc_Hook_Point
 {
    E_HWC_HOOK_NORENDER_SET,
@@ -66,9 +59,6 @@ typedef struct _hwc_prop {
        hwc_value_type type;
 } hwc_prop;
 
-typedef Eina_Bool (*E_Hwc_Intercept_Hook_Cb)(void *data, E_Hwc *hwc);
-typedef struct _E_Hwc_Intercept_Hook E_Hwc_Intercept_Hook;
-
 typedef void (*E_Hwc_Hook_Cb)(void *data, E_Hwc *hwc);
 typedef struct _E_Hwc_Hook E_Hwc_Hook;
 
@@ -93,9 +83,6 @@ struct _E_Hwc
 
    Eina_Bool            primary_output;
 
-   /* variables for hwc_planes polic  */
-   Eina_Bool            hwc_use_multi_plane;
-
    /* variables for hwc_windows policy  */
    tdm_hwc             *thwc;
    Eina_Bool            hwc_wins;
@@ -185,9 +172,6 @@ struct _E_Hwc
 E_API extern int E_EVENT_HWC_ACTIVE;
 E_API extern int E_EVENT_HWC_DEACTIVE;
 
-E_API E_Hwc_Intercept_Hook   *e_hwc_intercept_hook_add(E_Hwc_Intercept_Hook_Point hookpoint, E_Hwc_Intercept_Hook_Cb func, const void *data);
-E_API void                    e_hwc_intercept_hook_del(E_Hwc_Intercept_Hook *ch);
-
 E_API E_Hwc_Policy            e_hwc_policy_get(E_Hwc *hwc);
 
 E_API Eina_Bool               e_hwc_available_properties_get(E_Hwc *hwc, const hwc_prop **props, int *count);
@@ -214,7 +198,5 @@ E_API void                    e_hwc_deactive_set(E_Hwc *hwc, Eina_Bool set);
 E_API Eina_Bool               e_hwc_deactive_get(E_Hwc *hwc);
 E_API E_Output               *e_hwc_output_get(E_Hwc *hwc);
 E_API E_Hwc_Policy            e_hwc_hwc_policy_get(E_Hwc *hwc);
-E_API void                    e_hwc_hwc_use_multi_plane_set(E_Hwc *hwc, Eina_Bool set);
-E_API Eina_Bool               e_hwc_hwc_use_multi_plane_get(E_Hwc *hwc);
 
 #endif
diff --git a/src/include/e_hwc_planes.h b/src/include/e_hwc_planes.h
deleted file mode 100644 (file)
index 1d385dc..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef E_HWC_PLANES_H
-#define E_HWC_PLANES_H
-
-#include <e_types.h>
-
-E_API void       e_hwc_planes_end(E_Hwc *hwc, const char *location);
-
-#endif
index 8205a95..950692b 100644 (file)
 #include "e_comp_canvas.h"
 #include "e_utils.h"
 #include "e_hints.h"
-#include "e_plane.h"
-#include "e_plane_renderer.h"
 #include "e_output.h"
-#include "e_hwc_planes.h"
 #include "e_hwc_windows.h"
 #include "e_hwc_window.h"
 #include "e_hwc.h"
index 08b1a5e..f7e112b 100644 (file)
@@ -6,7 +6,6 @@
 #include <e_comp_screen.h>
 #include <e_hwc.h>
 #include <e_client.h>
-#include <e_plane.h>
 
 #include <tbm_surface.h>
 #include <tdm.h>
@@ -57,8 +56,8 @@ struct _E_Output
         Eina_Bool             enabled : 1; // should this monitor be enabled?
    } config;
 
-   int                  plane_count;
-   Eina_List           *planes;
+   EINA_DEPRECATED int plane_count;
+   EINA_DEPRECATED Eina_List *planes;
    E_Zone              *zone;
 
    tdm_output           *toutput;
@@ -152,8 +151,6 @@ typedef struct _output_prop {
 
 E_API E_Output          *e_output_find(const char *id);
 E_API E_Output          *e_output_find_by_index(int index);
-E_API const Eina_List   *e_output_planes_get(E_Output *output);
-E_API E_Plane           *e_output_plane_get_by_zpos(E_Output *output, int zpos);
 
 E_API Eina_Bool          e_output_available_properties_get(E_Output *output, const output_prop **props, int *count);
 E_API Eina_Bool          e_output_property_get(E_Output *output, unsigned int id, output_prop_value *value);
diff --git a/src/include/e_plane.h b/src/include/e_plane.h
deleted file mode 100644 (file)
index af2be8d..0000000
+++ /dev/null
@@ -1,240 +0,0 @@
-#ifndef E_PLANE_H
-#define E_PLANE_H
-
-//TODO: This file will be deprecated and will be removed.
-
-
-#include <e_types.h>
-#include <e_comp_screen.h>
-#include <e_output.h>
-#include <e_plane_renderer.h>
-#include <e_comp_wl.h>
-#include <e_plane_renderer.h>
-#include <e_client.h>
-
-#define E_PLANE_TYPE (int)0xE0b11001
-
-typedef struct _E_Plane_Commit_Data          E_Plane_Commit_Data;
-typedef struct _E_Event_Plane_Win_Change     E_Event_Plane_Win_Change;
-typedef struct _E_Plane_Hook                 E_Plane_Hook;
-typedef void (*E_Plane_Hook_Cb) (void *data, E_Plane *plane);
-
-typedef enum _E_Plane_Type
-{
-   E_PLANE_TYPE_INVALID,
-   E_PLANE_TYPE_VIDEO,
-   E_PLANE_TYPE_GRAPHIC,
-   E_PLANE_TYPE_CURSOR
-} E_Plane_Type;
-
-typedef enum _E_Plane_Role
-{
-   E_PLANE_ROLE_NONE,
-   E_PLANE_ROLE_VIDEO,
-   E_PLANE_ROLE_OVERLAY,
-   E_PLANE_ROLE_CURSOR
-} E_Plane_Role;
-
-typedef enum _E_Plane_Color
-{
-   E_PLANE_COLOR_INVALID,
-   E_PLANE_COLOR_YUV,
-   E_PLANE_COLOR_RGB
-} E_Plane_Color;
-
-
-struct _E_Plane
-{
-   int                   index;
-   int                   zpos;
-   const char           *name;
-   E_Plane_Type          type;
-   E_Plane_Color         color;
-   Eina_Bool             is_primary;
-   Eina_Bool             is_fb;        // fb target
-   Eina_Bool             is_reserved;  // surface assignment reserved
-
-   E_Client             *ec;
-   E_Client             *prepare_ec;
-   Eina_Bool             ec_redirected;
-
-   Eina_Bool             reserved_memory;
-
-   tdm_layer            *tlayer;
-   tdm_info_layer        info;
-   tbm_surface_h         tsurface;
-   int                   buffer_transform;
-
-   E_Plane_Renderer     *renderer;
-   E_Output             *output;
-
-   unsigned int          buffer_flags;
-   Eina_Bool             wait_commit;
-   Eina_List            *commit_data_list;
-   Eina_Bool             unset_candidate;
-   Eina_Bool             unset_try;
-   Eina_Bool             unset_commit;
-   int                   unset_counter;
-
-   Eina_Bool             is_video;
-   Eina_Bool             reserved_video;
-
-   Eina_Bool             fetch_retry;
-
-   E_Plane              *fb_change;
-   int                   fb_change_counter;
-
-   Eina_Bool             commit_per_vblank;
-
-   /* true if plane's ec is set or unset.
-    * false when E_Event_Plane_Win_Change has been generated.
-    */
-   Eina_Bool             need_ev;
-
-   E_Plane_Role          role;
-
-   Eina_Bool             skip_surface_set;
-
-   Eina_List            *available_formats;
-
-   /* for pp */
-   tdm_pp               *tpp;
-   Eina_List            *pp_data_list;
-   Eina_List            *pending_pp_data_list;
-   Eina_List            *pending_pp_commit_data_list;
-   tbm_surface_queue_h   pp_tqueue;
-   tbm_surface_h         pp_tsurface;
-   Eina_Bool             pp_set_info;
-   Eina_Bool             pp_set;
-   Eina_Bool             pp_commit;
-   Eina_Bool             pp_layer_commit;
-   E_Plane_Commit_Data  *pp_layer_commit_data;
-   Eina_Rectangle        pp_rect;
-
-   /* for external */
-   Eina_Bool             is_external;
-   Eina_Rectangle        mirror_rect;
-   E_Output_Display_Mode    display_mode;
-   E_Output             *output_primary;
-
-   /* current display information */
-   struct
-   {
-      E_Comp_Wl_Buffer_Ref  buffer_ref;
-      tbm_surface_h         tsurface;
-      E_Plane_Renderer     *renderer;
-      E_Client             *ec;
-   } display_info;
-
-   double               fps;
-   double               old_fps;
-   double               frametimes[122];
-   double               time;
-   double               lapse;
-   int                  cframes;
-   int                  flapse;
-
-   int                  set_counter;
-   Eina_Bool            fb_sync_wait;
-   Eina_Bool            fb_sync_done;
-
-   Eina_Bool            unset_ec_pending;
-};
-
-struct _E_Plane_Commit_Data {
-   tbm_surface_h         tsurface;
-   E_Plane              *plane;
-   E_Plane_Renderer     *renderer;
-   E_Client             *ec;
-   E_Comp_Wl_Buffer_Ref  buffer_ref;
-};
-
-typedef enum _E_Plane_Hook_Point
-{
-   E_PLANE_HOOK_VIDEO_SET,
-   E_PLANE_HOOK_UNSET,
-   E_PLANE_HOOK_LAST
-} E_Plane_Hook_Point;
-
-struct _E_Plane_Hook
-{
-   EINA_INLIST;
-   E_Plane_Hook_Point hookpoint;
-   E_Plane_Hook_Cb func;
-   void *data;
-   unsigned char delete_me : 1;
-};
-
-struct _E_Event_Plane_Win_Change
-{
-   E_Plane *ep;
-   E_Client *ec;
-};
-
-E_API extern int E_EVENT_PLANE_WIN_CHANGE;
-
-EINTERN Eina_Bool            e_plane_init(void);
-EINTERN void                 e_plane_shutdown(void);
-EINTERN E_Plane             *e_plane_new(E_Output *output, int index);
-EINTERN void                 e_plane_free(E_Plane *plane);
-EINTERN Eina_Bool            e_plane_setup(E_Plane *plane);
-EINTERN Eina_Bool            e_plane_fetch(E_Plane *plane);
-EINTERN void                 e_plane_unfetch(E_Plane *plane);
-EINTERN E_Plane_Commit_Data *e_plane_commit_data_aquire(E_Plane *plane);
-EINTERN void                 e_plane_commit_data_release(E_Plane *plane, E_Plane_Commit_Data *data);
-EINTERN void                 e_plane_hwc_trace_debug(Eina_Bool onoff);
-EINTERN Eina_Bool            e_plane_render(E_Plane *plane);
-EINTERN Eina_Bool            e_plane_commit(E_Plane *plane);
-EINTERN Eina_Bool            e_plane_offscreen_commit(E_Plane *plane);
-EINTERN void                 e_plane_show_state(E_Plane *plane);
-EINTERN Eina_Bool            e_plane_is_unset_candidate(E_Plane *plane);
-EINTERN Eina_Bool            e_plane_is_unset_try(E_Plane *plane);
-EINTERN void                 e_plane_unset_try_set(E_Plane *plane, Eina_Bool set);
-EINTERN Eina_Bool            e_plane_unset_commit_check(E_Plane *plane, Eina_Bool fb_commit);
-EINTERN Eina_Bool            e_plane_set_commit_check(E_Plane *plane, Eina_Bool fb_commit);
-EINTERN Eina_Bool            e_plane_is_fetch_retry(E_Plane *plane);
-EINTERN Eina_Bool            e_plane_fb_target_set(E_Plane *plane, Eina_Bool set);
-EINTERN Eina_Bool            e_plane_available_formats_get(E_Plane *plane, const tbm_format **formats, int *count);
-EINTERN Eina_Bool            e_plane_pp_commit(E_Plane *plane);
-EINTERN Eina_Bool            e_plane_pp_commit_possible_check(E_Plane *plane);
-EINTERN Eina_Bool            e_plane_zoom_set(E_Plane *plane, Eina_Rectangle *rect);
-EINTERN void                 e_plane_zoom_unset(E_Plane *plane);
-EINTERN Eina_Bool            e_plane_fps_get(E_Plane *plane, double *fps);
-EINTERN void                 e_plane_dpms_off(E_Plane *plane);
-EINTERN Eina_Bool            e_plane_external_fetch(E_Plane *plane);
-EINTERN Eina_Bool            e_plane_external_commit(E_Plane *plane);
-EINTERN Eina_Bool            e_plane_external_set(E_Plane *plane, Eina_Rectangle *rect, E_Output_Display_Mode display_mode);
-EINTERN Eina_Bool            e_plane_external_reset(E_Plane *plane, Eina_Rectangle *rect);
-EINTERN void                 e_plane_external_unset(E_Plane *plane);
-EINTERN void                 e_plane_renderer_unset(E_Plane *plane);
-EINTERN void                 e_plane_renderer_clean(E_Plane *plane);
-
-
-EINTERN Eina_Bool            e_plane_type_set(E_Plane *plane, E_Plane_Type type);
-EINTERN E_Plane_Type         e_plane_type_get(E_Plane *plane);
-EINTERN Eina_Bool            e_plane_role_set(E_Plane *plane, E_Plane_Role role);
-EINTERN E_Plane_Role         e_plane_role_get(E_Plane *plane);
-E_API E_Client              *e_plane_ec_get(E_Plane *plane);
-E_API Eina_Bool              e_plane_ec_set(E_Plane *plane, E_Client *ec);
-E_API E_Client              *e_plane_ec_prepare_get(E_Plane *plane);
-E_API Eina_Bool              e_plane_ec_prepare_set(E_Plane *plane, E_Client *ec);
-E_API const char            *e_plane_ec_prepare_set_last_error_get(E_Plane *plane);
-E_API Eina_Bool              e_plane_is_primary(E_Plane *plane);
-E_API Eina_Bool              e_plane_is_cursor(E_Plane *plane);
-E_API E_Plane_Color          e_plane_color_val_get(E_Plane *plane);
-E_API Eina_Bool              e_plane_is_fb_target(E_Plane *plane);
-E_API Eina_Bool              e_plane_is_reserved(E_Plane *plane);
-E_API void                   e_plane_reserved_set(E_Plane *plane, Eina_Bool set);
-
-EINTERN Eina_Bool            e_plane_video_usable(E_Plane *plane);
-E_API Eina_Bool              e_plane_video_set(E_Plane *plane, Eina_Bool set, Eina_Bool *wait);
-E_API Eina_Bool              e_plane_is_video_get(E_Plane *plane);
-
-E_API E_Plane_Hook          *e_plane_hook_add(E_Plane_Hook_Point hookpoint, E_Plane_Hook_Cb func, const void *data);
-E_API void                   e_plane_hook_del(E_Plane_Hook *ch);
-
-E_API int                    e_plane_zpos_get(E_Plane *plane);
-E_API E_Output              *e_plane_output_get(E_Plane *plane);
-E_API tdm_layer             *e_plane_tdm_layer_get(E_Plane *plane);
-
-#endif
diff --git a/src/include/e_plane_renderer.h b/src/include/e_plane_renderer.h
deleted file mode 100644 (file)
index fca7134..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-#ifndef E_PLANE_RENDERER_H
-#define E_PLANE_RENDERER_H
-
-//TODO: This file will be deprecated and will be removed.
-
-
-#include <e_types.h>
-#include <e_comp_screen.h>
-#include <e_output.h>
-#include <e_plane.h>
-
-typedef struct _E_Plane_Renderer_Client      E_Plane_Renderer_Client;
-typedef struct _E_Plane_Renderer_Buffer      E_Plane_Renderer_Buffer;
-
-typedef enum _E_Plane_Renderer_State
-{
-   E_PLANE_RENDERER_STATE_NONE,
-   E_PLANE_RENDERER_STATE_CANDIDATE,
-   E_PLANE_RENDERER_STATE_ACTIVATE,
-   E_PLANE_RENDERER_STATE_PENDING_DEACTIVATE,
-} E_Plane_Renderer_State;
-
-struct _E_Plane_Renderer {
-   tbm_surface_queue_h tqueue;
-   int tqueue_width;
-   int tqueue_height;
-   int tqueue_size;
-
-   tbm_surface_h       cursor_tsurface;
-   int                 cursor_rotation;
-   E_Client           *ec;
-   E_Plane_Renderer_State    state;
-
-   tbm_surface_h       displaying_tsurface; /* current tsurface displaying */
-   tbm_surface_h       previous_tsurface;   /* previous tsurface displayed */
-
-   Eina_List          *disp_surfaces;
-   Eina_List          *exported_surfaces;
-   Eina_List          *released_surfaces;
-
-   Ecore_Evas         *ee;
-   Evas               *evas;
-   Eina_Bool           update_ee;
-   Eina_Bool           update_exist;
-
-   E_Plane            *plane;
-
-   Ecore_Fd_Handler   *event_hdlr;
-   int                 event_fd;
-   int                 mode_change_age;
-
-   Eina_List          *renderer_buffers;
-   Eina_Bool           pending_deactivate;
-
-   Eina_Bool           rendered;
-
-   Eina_Bool           need_change_buffer_transform;
-
-   int                 exported_wl_buffer_count;
-
-   tbm_surface_h       render_dequeued_tsurface;
-
-   Eina_Bool           send_dequeue;
-
-   struct {
-      int              width;
-      int              height;
-   } recreate_info;
-};
-
-EINTERN Eina_Bool                  e_plane_renderer_init(void);
-EINTERN void                       e_plane_renderer_shutdown(void);
-EINTERN E_Plane_Renderer          *e_plane_renderer_new(E_Plane *plane);
-EINTERN void                       e_plane_renderer_del(E_Plane_Renderer *renderer);
-EINTERN Eina_Bool                  e_plane_renderer_render(E_Plane_Renderer *renderer, Eina_Bool is_fb);
-EINTERN Eina_Bool                  e_plane_renderer_norender(E_Plane_Renderer *renderer, Eina_Bool is_fb);
-EINTERN Eina_Bool                  e_plane_renderer_activate(E_Plane_Renderer *renderer, E_Client *ec);
-EINTERN Eina_Bool                  e_plane_renderer_deactivate(E_Plane_Renderer *renderer);
-EINTERN Eina_Bool                  e_plane_renderer_reserved_activate(E_Plane_Renderer *renderer, E_Client *ec);
-EINTERN Eina_Bool                  e_plane_renderer_reserved_deactivate(E_Plane_Renderer *renderer);
-EINTERN E_Plane_Renderer_State     e_plane_renderer_state_get(E_Plane_Renderer *renderer);
-EINTERN void                       e_plane_renderer_update_exist_set(E_Plane_Renderer *renderer, Eina_Bool update_exit);
-EINTERN Eina_Bool                  e_plane_renderer_update_exist_check(E_Plane_Renderer *renderer);
-EINTERN E_Plane                   *e_plane_renderer_plane_get(E_Plane_Renderer *renderer);
-EINTERN void                       e_plane_renderer_displaying_surface_set(E_Plane_Renderer *renderer, tbm_surface_h tsurface);
-EINTERN tbm_surface_h              e_plane_renderer_displaying_surface_get(E_Plane_Renderer *renderer);
-EINTERN void                       e_plane_renderer_previous_surface_set(E_Plane_Renderer *renderer, tbm_surface_h tsurface);
-
-EINTERN E_Plane_Renderer_Client   *e_plane_renderer_client_new(E_Client *ec);
-EINTERN void                       e_plane_renderer_client_free(E_Plane_Renderer_Client *renderer_client);
-EINTERN E_Plane_Renderer_Client   *e_plane_renderer_client_get(E_Client *ec);
-EINTERN tbm_surface_h              e_plane_renderer_client_surface_recieve(E_Plane_Renderer_Client *renderer_client);
-EINTERN E_Plane_Renderer          *e_plane_renderer_client_renderer_get(E_Plane_Renderer_Client *renderer_client);
-
-EINTERN tbm_surface_queue_h        e_plane_renderer_surface_queue_create(E_Plane_Renderer *renderer, int width, int height, unsigned int buffer_flags);
-EINTERN tbm_surface_queue_h        e_plane_renderer_surface_queue_recreate(E_Plane_Renderer *renderer, int width, int height, unsigned int buffer_flags);
-EINTERN Eina_Bool                  e_plane_renderer_surface_queue_set(E_Plane_Renderer *renderer, tbm_surface_queue_h tqueue);
-EINTERN void                       e_plane_renderer_surface_queue_destroy(E_Plane_Renderer *renderer);
-EINTERN Eina_Bool                  e_plane_renderer_surface_queue_can_acquire(E_Plane_Renderer *renderer);
-EINTERN tbm_surface_h              e_plane_renderer_surface_queue_acquire(E_Plane_Renderer *renderer);
-EINTERN Eina_Bool                  e_plane_renderer_surface_queue_cancel_acquire(E_Plane_Renderer *renderer, tbm_surface_h tsurface);
-EINTERN void                       e_plane_renderer_surface_queue_release(E_Plane_Renderer *renderer, tbm_surface_h tsurface);
-EINTERN Eina_Bool                  e_plane_renderer_surface_queue_enqueue(E_Plane_Renderer *renderer, tbm_surface_h tsurface);
-EINTERN Eina_Bool                  e_plane_renderer_surface_queue_can_dequeue(E_Plane_Renderer *renderer);
-EINTERN tbm_surface_h              e_plane_renderer_surface_queue_dequeue(E_Plane_Renderer *renderer);
-EINTERN Eina_Bool                  e_plane_renderer_surface_queue_clear(E_Plane_Renderer *renderer);
-EINTERN void                       e_plane_renderer_surface_queue_sync_count_set(E_Plane_Renderer *renderer, unsigned int sync_count);
-EINTERN void                       e_plane_renderer_surface_send(E_Plane_Renderer *renderer, E_Client *ec, tbm_surface_h tsurface);
-EINTERN Eina_Bool                  e_plane_renderer_surface_usable_send(E_Plane_Renderer *renderer, E_Client *ec, tbm_surface_h tsurface);
-EINTERN Eina_Bool                  e_plane_renderer_ec_set(E_Plane_Renderer *renderer, E_Client *ec);
-EINTERN Eina_Bool                  e_plane_renderer_cursor_ec_set(E_Plane_Renderer *renderer, E_Client *ec);
-EINTERN tbm_surface_h              e_plane_renderer_cursor_surface_get(E_Plane_Renderer *renderer);
-EINTERN Eina_Bool                  e_plane_renderer_cursor_surface_refresh(E_Plane_Renderer *renderer, E_Client *ec);
-EINTERN Eina_Bool                  e_plane_renderer_ecore_evas_use(E_Plane_Renderer *renderer);
-EINTERN void                       e_plane_renderer_sent_surface_recevie(E_Plane_Renderer *renderer, tbm_surface_h tsurface);
-EINTERN Eina_Bool                  e_plane_renderer_ec_valid_check(E_Plane_Renderer *renderer, E_Client *ec);
-EINTERN int                        e_plane_renderer_render_count_get(E_Plane_Renderer *renderer);
-EINTERN void                       e_plane_renderer_ecore_evas_force_render(E_Plane_Renderer *renderer);
-
-EINTERN void                       e_plane_renderer_hwc_trace_debug(Eina_Bool onoff);
-EINTERN void                       e_plane_renderer_show_state(E_Plane_Renderer *renderer);
-
-#endif
index 5d7adcd..78e953e 100644 (file)
@@ -65,8 +65,6 @@ typedef struct _E_Hwc_Window_Update_Data      E_Hwc_Window_Update_Data;      //
 typedef struct _E_Hwc_Window_Queue            E_Hwc_Window_Queue;            // type of e_hwc_window_queue_intern.h
 typedef struct _E_Hwc_Window_Queue_Buffer     E_Hwc_Window_Queue_Buffer;     // type of e_hwc_window_queue_intern.h
 typedef struct _E_Hwc_Window_Queue_Buffer_Ref E_Hwc_Window_Queue_Buffer_Ref; // type of e_hwc_window_queue_intern.h
-typedef struct _E_Plane                       E_Plane;                       // type of e_plane.h
-typedef struct _E_Plane_Renderer              E_Plane_Renderer;              // type of e_plane_renderer.h
 typedef struct _E_Comp_Wl_Buffer              E_Comp_Wl_Buffer;              // type of e_comp_wl.h
 typedef struct _E_Comp_Wl_Buffer_Ref          E_Comp_Wl_Buffer_Ref;          // type of e_comp_wl.h
 typedef struct _E_Object                      E_Object;                      // type of e_object.h