From 7c7717808060bfcf1e4dee01e355d32b3d220e38 Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Tue, 22 Jun 2021 11:23:04 +0900 Subject: [PATCH] tbm_module: add tbm_surface_data_export This exports the buffer_data from surface_data. Change-Id: If4731f1acd61a4498139549fd49fd39d10dca4fe --- src/tbm_module.c | 15 +++++++++++++++ src/tbm_module.h | 1 + 2 files changed, 16 insertions(+) diff --git a/src/tbm_module.c b/src/tbm_module.c index 57421c4..80abcc1 100644 --- a/src/tbm_module.c +++ b/src/tbm_module.c @@ -924,6 +924,21 @@ tbm_surface_data_get_bo_data_array(tbm_backend_surface_data *surface_data, int * 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) { diff --git a/src/tbm_module.h b/src/tbm_module.h index 4530c66..bccab4e 100644 --- a/src/tbm_module.h +++ b/src/tbm_module.h @@ -93,6 +93,7 @@ tbm_backend_bo_data *tbm_module_import_bo_data_with_key(tbm_module *module, tbm_ 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); -- 2.7.4