struct _tdm_sprd_hwc_data {
tdm_sprd_hwc_window_data *target_hwc_window;
+ int target_window_zpos;
- int need_validate;
int need_target_window;
- int target_window_zpos;
-
tdm_sprd_output_data *output_data;
struct list_head hwc_window_list;
ret = sprd_layer_set_buffer(layer_data, hwc_window_data->display_buffer->buffer);
RETURN_VAL_IF_FAIL(ret == TDM_ERROR_NONE, ret);
}
+
return ret;
}
tdm_sprd_layer_data *
_sprd_output_get_layer(tdm_sprd_output_data *output_data, int index)
{
+ tdm_sprd_layer_data *l = NULL;
+
RETURN_VAL_IF_FAIL(output_data, NULL);
- tdm_sprd_layer_data *l = NULL;
LIST_FOR_EACH_ENTRY(l, &output_data->layer_list, link)
if (l->zpos == index)
return l;
hwc_data = output_data->hwc_data;
RETURN_VAL_IF_FAIL(hwc_data, 0);
- RETURN_VAL_IF_FAIL(hwc_data->need_validate == 0, TDM_ERROR_OPERATION_FAILED);
if (!_sprd_get_number_of_visible_windows(hwc_data))
hwc_data->need_target_window = 1;
}
*num_types = _sprd_output_get_changed_number(hwc_data);
- if (*num_types == 0)
- hwc_data->need_validate = 0;
return TDM_ERROR_NONE;
}
tdm_hwc_window **hwc_window, tdm_hwc_window_composition *composition_types)
{
tdm_sprd_hwc_data *hwc_data = hwc;
+ tdm_sprd_hwc_window_data *hwc_window_data = NULL;
int num = 0;
RETURN_VAL_IF_FAIL(hwc_data != NULL, TDM_ERROR_INVALID_PARAMETER);
return TDM_ERROR_NONE;
}
- tdm_sprd_hwc_window_data *hwc_window_data = NULL;
LIST_FOR_EACH_ENTRY_REV(hwc_window_data, &hwc_data->hwc_window_list, link) {
if (hwc_window_data->client_type == TDM_COMPOSITION_NONE)
continue;
hwc_window_data->client_type = hwc_window_data->validated_type;
}
- hwc_data->need_validate = 0;
-
return TDM_ERROR_NONE;
}