hwc_funcs->hwc_get_available_properties = vc4_hwc_get_available_properties;
hwc_funcs->hwc_get_client_target_buffer_queue = vc4_hwc_get_client_target_buffer_queue;
hwc_funcs->hwc_set_client_target_buffer = vc4_hwc_set_client_target_buffer;
+ hwc_funcs->hwc_set_client_target_buffer_info = vc4_hwc_set_client_target_buffer_info;
hwc_funcs->hwc_set_client_target_acquire_fence = vc4_hwc_set_client_target_acquire_fence;
hwc_funcs->hwc_validate = vc4_hwc_validate;
hwc_funcs->hwc_get_changed_composition_types = vc4_hwc_get_changed_composition_types;
hal_tdm_error vc4_hwc_get_available_properties(hal_tdm_hwc *hwc, const hal_tdm_prop **props, int *count);
tbm_surface_queue_h vc4_hwc_get_client_target_buffer_queue(hal_tdm_hwc *hwc, hal_tdm_error *error);
hal_tdm_error vc4_hwc_set_client_target_buffer(hal_tdm_hwc *hwc, tbm_surface_h buffer, hal_tdm_region damage);
+hal_tdm_error vc4_hwc_set_client_target_buffer_info(hal_tdm_hwc *hwc, hal_tdm_hwc_window_info *info);
+
hal_tdm_error vc4_hwc_set_client_target_acquire_fence(hal_tdm_hwc *hwc, int acquire_fence);
hal_tdm_error vc4_hwc_validate(hal_tdm_hwc *hwc, hal_tdm_hwc_window **composited_wnds, uint32_t num_wnds, uint32_t *num_types);
hal_tdm_error vc4_hwc_get_changed_composition_types(hal_tdm_hwc *hwc, uint32_t *num_elements, hal_tdm_hwc_window **hwc_wnds, hal_tdm_hwc_window_composition *composition_types);
}
hal_tdm_error
+vc4_hwc_set_client_target_buffer_info(hal_tdm_hwc *hwc, hal_tdm_hwc_window_info *info)
+{
+ tdm_vc4_hwc *hwc_data = hwc;
+
+ TDM_BACKEND_RETURN_VAL_IF_FAIL(hwc_data != NULL, HAL_TDM_ERROR_INVALID_PARAMETER);
+ TDM_BACKEND_RETURN_VAL_IF_FAIL(hwc_data->target_hwc_window != NULL, HAL_TDM_ERROR_OPERATION_FAILED);
+ TDM_BACKEND_RETURN_VAL_IF_FAIL(info != NULL, HAL_TDM_ERROR_INVALID_PARAMETER);
+
+ if (!memcmp(&hwc_data->target_hwc_window->info, info, sizeof(hal_tdm_hwc_window_info)))
+ return HAL_TDM_ERROR_NONE;
+
+ hwc_data->target_hwc_window->info = *info;
+
+ return HAL_TDM_ERROR_NONE;
+}
+
+hal_tdm_error
vc4_hwc_set_client_target_acquire_fence(hal_tdm_hwc *hwc, int acquire_fence)
{
tdm_vc4_hwc *hwc_data = hwc;