From 347e188fed7f79b855aeccc172ed620f01beb142 Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Tue, 22 Jun 2021 11:21:56 +0900 Subject: [PATCH] tbm_module: add tbm_surface_data_get_bo_data_array This gets the bo_data array from the surface_data Change-Id: I3f22258b732a26664152f4668195a968678cb3ab --- src/tbm_module.c | 14 ++++++++++++++ src/tbm_module.h | 1 + 2 files changed, 15 insertions(+) diff --git a/src/tbm_module.c b/src/tbm_module.c index b614128..57421c4 100644 --- a/src/tbm_module.c +++ b/src/tbm_module.c @@ -910,6 +910,20 @@ tbm_surface_data_get_plane_data(tbm_backend_surface_data *surface_data, int plan return TBM_ERROR_NONE; } +tbm_backend_bo_data ** +tbm_surface_data_get_bo_data_array(tbm_backend_surface_data *surface_data, int *num_bos, tbm_error_e *error) +{ + hal_tbm_bo **hal_bos = NULL; + + 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); + + hal_bos = hal_tbm_surface_get_bos(surface_data->hal_surface, num_bos, (hal_tbm_error *)error); + TBM_RETURN_VAL_IF_FAIL(hal_bos, NULL); + + return (tbm_backend_bo_data **)hal_bos; +} + 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 9f31c5f..4530c66 100644 --- a/src/tbm_module.h +++ b/src/tbm_module.h @@ -92,6 +92,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); 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.34.1