tdm_error sprd_output_get_mode(tdm_output *output, const tdm_output_mode **mode);
tdm_hwc_window * sprd_output_hwc_window_create(tdm_output *output, tdm_error *error);
tdm_error sprd_output_hwc_window_destroy(tdm_output *output, tdm_hwc_window *hwc_window);
-tdm_error sprd_output_hwc_validate(tdm_output *output, uint32_t *num_types);
+tdm_error sprd_output_hwc_validate(tdm_output *output, tdm_hwc_window **composited_wnds,
+ uint32_t num_wnds, uint32_t *num_types);
tdm_error sprd_output_hwc_get_changed_composition_types(tdm_output *output, uint32_t *num_elements,
tdm_hwc_window **hwc_window,
tdm_hwc_window_composition *composition_types);
tdm_error sprd_output_hwc_accept_changes(tdm_output *output);
tbm_surface_queue_h 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);
+tdm_error sprd_output_hwc_set_client_target_buffer(tdm_output *output, tbm_surface_h buffer, tdm_hwc_region damage);
tdm_error sprd_output_hwc_get_video_supported_formats(tdm_output *output,
const tbm_format **formats, int *count);
tdm_hwc_window *sprd_output_hwc_create_video_window(tdm_output *output, tdm_error *error);
tdm_error sprd_hwc_window_video_get_capability(tdm_hwc_window *hwc_window,
tdm_hwc_window_video_capability *video_capability);
tbm_surface_queue_h sprd_hwc_window_get_tbm_buffer_queue(tdm_hwc_window *hwc_window, tdm_error *error);
-tdm_error sprd_hwc_window_set_zpos(tdm_hwc_window *hwc_window, int32_t zpos);
tdm_error sprd_hwc_window_set_composition_type(tdm_hwc_window *hwc_window,
tdm_hwc_window_composition composition_type);
tdm_error sprd_hwc_window_set_buffer_damage(tdm_hwc_window *hwc_window, tdm_hwc_region damage);