return (tbm_backend_bo_data **)hal_bos;
}
+tbm_surface_buffer_data *
+tbm_surface_data_export(tbm_backend_surface_data *surface_data, tbm_error_e *error)
+{
+ tbm_surface_buffer_data *buffer_data;
+
+ TBM_RETURN_VAL_SET_ERR_IF_FAIL(surface_data, NULL, *error, TBM_ERROR_INVALID_PARAMETER);
+ TBM_RETURN_VAL_SET_ERR_IF_FAIL(surface_data->hal_surface, NULL, *error, TBM_ERROR_NOT_SUPPORTED);
+
+ buffer_data = (tbm_surface_buffer_data *)hal_tbm_surface_export((hal_tbm_surface *)surface_data->hal_surface,
+ (hal_tbm_error *)error);
+ TBM_RETURN_VAL_IF_FAIL(buffer_data, NULL);
+
+ return buffer_data;
+}
+
void
tbm_module_bo_free(tbm_module *module, tbm_bo bo, tbm_backend_bo_data *bo_data, int get_from_hal_surface)
{
void tbm_surface_data_free(tbm_backend_surface_data *surface_data);
tbm_error_e tbm_surface_data_get_plane_data(tbm_backend_surface_data *surface_data, int plane_idx, uint32_t *size, uint32_t *offset, uint32_t *pitch, int *bo_idx);
tbm_backend_bo_data **tbm_surface_data_get_bo_data_array(tbm_backend_surface_data *surface_data, int *num_bos, tbm_error_e *error);
+tbm_surface_buffer_data *tbm_surface_data_export(tbm_backend_surface_data *surface_data, tbm_error_e *error);
void tbm_module_bo_free(tbm_module *module, tbm_bo bo, tbm_backend_bo_data *bo_data, int get_from_hal_surface);
int tbm_module_bo_get_size(tbm_module *module, tbm_bo bo, tbm_backend_bo_data *bo_data, tbm_error_e *error);