return error;
}
-int
-tbm_module_support_surface_data(tbm_module *module)
-{
- tbm_error_e error = TBM_ERROR_NONE;
- tbm_surface_data *surface_data = NULL;
-
- TBM_RETURN_VAL_IF_FAIL(module, 0);
-
- // check once support_surface_data or not.
- if (module->check_surface_data) {
- // return the value which already set.
- return module->support_surface_data;
- }
-
- // check this only once
- module->check_surface_data = 1;
-
- if (module->type != TBM_MODULE_TYPE_HAL_TBM)
- goto done;
-
- // Assume that the hal-tbm supports the hal surface apis if tbm_module_alloc_surface_data succeed.
- surface_data = tbm_module_alloc_surface_data(module, 10, 10, TBM_FORMAT_ARGB8888, TBM_BO_DEFAULT, &error);
- if (!surface_data)
- goto done;
- free(surface_data);
-
- module->support_surface_data = 1;
-
-done:
- return module->support_surface_data;
-}
-
-
tbm_surface_data *
tbm_module_alloc_surface_data(tbm_module *module, int width, int height, int format, int flags, tbm_error_e *error)
{
typedef struct _tbm_module {
tbm_module_type type;
- int support_surface_data;
- int check_surface_data;
void *module_data; /* backend module */
tbm_bufmgr_backend backend; /* bufmgr backend (will be DEPRECATED) */
tbm_error_e tbm_module_bind_native_display(tbm_module *module, void *native_display);
tbm_error_e tbm_module_get_supported_formats(tbm_module *module, uint32_t **formats, uint32_t *num);
tbm_error_e tbm_module_get_plane_data(tbm_module *module, int format, int plane_idx, uint32_t w, uint32_t h, uint32_t *size, uint32_t *offset, uint32_t *pitch, int *bo_idx);
-int tbm_module_support_surface_data(tbm_module *module);
tbm_surface_data *tbm_module_alloc_surface_data(tbm_module *module, int width, int height, int format, int flags, tbm_error_e *error);
tbm_surface_data *tbm_module_import_surface_data(tbm_module *module, int width, int height, int format, tbm_surface_buffer_data *buffer_data, tbm_error_e *error);
tbm_bo_data *tbm_module_alloc_bo_data(tbm_module *module, tbm_bo bo, int size, int flags, tbm_error_e *error);