hwc: follow the new hwc apis
[platform/adaptation/spreadtrum/libtdm-sprd.git] / src / tdm_sprd_display.c
index 2ecf66f..3705f6e 100644 (file)
@@ -136,8 +136,6 @@ struct _tdm_sprd_hwc_window_data {
        tdm_sprd_output_data *output_data;
 
        /* not fixed data below */
-       int zpos;
-
        tdm_hwc_window_info info;
        int info_changed;
 
@@ -1783,28 +1781,6 @@ _sprd_hwc_window_is_reserved_buffer(tdm_sprd_hwc_window_data *hwc_window_data) {
 }
 #endif
 
-tdm_error
-_sprd_output_insert_hwc_window(tdm_sprd_output_data *output, tdm_sprd_hwc_window_data *hwc_window_data)
-{
-       tdm_sprd_hwc_window_data *item = NULL;
-
-       RETURN_VAL_IF_FAIL(output, TDM_ERROR_INVALID_PARAMETER);
-       RETURN_VAL_IF_FAIL(hwc_window_data, TDM_ERROR_INVALID_PARAMETER);
-
-       LIST_FOR_EACH_ENTRY_REV(item, &output->hwc_window_list, link) {
-
-               if (item == hwc_window_data)
-                       return TDM_ERROR_OPERATION_FAILED;
-
-               if (item->zpos <= hwc_window_data->zpos)
-                       break;
-       }
-
-       LIST_INSERT_AFTER(&item->link, &hwc_window_data->link);
-
-       return TDM_ERROR_NONE;
-}
-
 int
 _sprd_output_get_changed_number(tdm_sprd_output_data *output_data)
 {
@@ -1855,7 +1831,6 @@ _sprd_output_hwc_window_create(tdm_output *output, tdm_hwc_window_info *info, td
        }
 
        hwc_window_data->output_data = output;
-       hwc_window_data->zpos = 0;
 
        if (info)
                memcpy(&hwc_window_data->info, info, sizeof(tdm_hwc_window_info));
@@ -1880,7 +1855,7 @@ sprd_output_hwc_window_create(tdm_output *output, tdm_error *error)
        hwc_window_data = _sprd_output_hwc_window_create(output_data, NULL, error);
        RETURN_VAL_IF_FAIL(hwc_window_data, NULL);
 
-       _sprd_output_insert_hwc_window(output_data, hwc_window_data);
+       LIST_ADDTAIL(&hwc_window_data->link, &output_data->hwc_window_list);
 
        TDM_DBG("hwc_window(%p) create", hwc_window_data);
        if (error)
@@ -1922,7 +1897,8 @@ _comp_to_str(tdm_hwc_window_composition composition_type)
 }
 
 tdm_error
-sprd_output_hwc_validate(tdm_output *output, uint32_t *num_types)
+sprd_output_hwc_validate(tdm_output *output, tdm_hwc_window **composited_wnds,
+                                                                       uint32_t num_wnds, uint32_t *num_types)
 {
        tdm_sprd_output_data *output_data = output;
        tdm_sprd_data *sprd_data = NULL;
@@ -2059,9 +2035,7 @@ sprd_output_hwc_get_target_buffer_queue(tdm_output *output, tdm_error *error)
 }
 
 tdm_error
-sprd_output_hwc_set_client_target_buffer(tdm_output *output, tbm_surface_h buffer,
-                                                                       tdm_hwc_region damage, tdm_hwc_window **composited_wnds,
-                                                                       uint32_t num_wnds)
+sprd_output_hwc_set_client_target_buffer(tdm_output *output, tbm_surface_h buffer, tdm_hwc_region damage)
 {
        tdm_sprd_output_data *output_data = output;
        tdm_error err;
@@ -2158,33 +2132,6 @@ sprd_hwc_window_get_tbm_buffer_queue(tdm_hwc_window *hwc_window, tdm_error *erro
 }
 
 tdm_error
-sprd_hwc_window_set_zpos(tdm_hwc_window *hwc_window, int32_t zpos)
-{
-       tdm_sprd_hwc_window_data *hwc_window_data = hwc_window;
-       tdm_sprd_output_data *output_data;
-
-       RETURN_VAL_IF_FAIL(hwc_window_data != NULL, TDM_ERROR_INVALID_PARAMETER);
-       RETURN_VAL_IF_FAIL(zpos < 256, TDM_ERROR_INVALID_PARAMETER);
-
-       output_data = hwc_window_data->output_data;
-       RETURN_VAL_IF_FAIL(output_data != NULL, TDM_ERROR_INVALID_PARAMETER);
-
-       if (hwc_window_data->zpos == zpos)
-               return TDM_ERROR_NONE;
-
-       LIST_DEL(&hwc_window_data->link);
-
-       hwc_window_data->zpos = zpos;
-
-       _sprd_output_insert_hwc_window(output_data, hwc_window_data);
-
-       output_data->need_validate = 1;
-
-       return TDM_ERROR_NONE;
-
-}
-
-tdm_error
 sprd_hwc_window_set_composition_type(tdm_hwc_window *hwc_window,
                                                                        tdm_hwc_window_composition comp_type)
 {