From: SooChan Lim Date: Tue, 22 Jun 2021 02:23:04 +0000 (+0900) Subject: tbm_module: add tbm_surface_data_export X-Git-Tag: submit/tizen/20210624.054931~31 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7c7717808060bfcf1e4dee01e355d32b3d220e38;p=platform%2Fcore%2Fuifw%2Flibtbm.git tbm_module: add tbm_surface_data_export This exports the buffer_data from surface_data. Change-Id: If4731f1acd61a4498139549fd49fd39d10dca4fe --- 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);