diff options
author | Chia-I Wu <olvaffe@gmail.com> | 2011-07-29 19:57:04 +0900 |
---|---|---|
committer | Chia-I Wu <olvaffe@gmail.com> | 2011-07-29 20:45:50 +0900 |
commit | 2fc5da4da12c8fa36044acc58856b0e460e70621 (patch) | |
tree | 8d7d079e8bbc5ec234100ba4189078a9858e0141 /gralloc_drm.h | |
parent | 3b55dd80b8d0ee5eb79342a70b57b4b75cd84d5f (diff) | |
download | external_drm_gralloc-2fc5da4da12c8fa36044acc58856b0e460e70621.zip external_drm_gralloc-2fc5da4da12c8fa36044acc58856b0e460e70621.tar.gz external_drm_gralloc-2fc5da4da12c8fa36044acc58856b0e460e70621.tar.bz2 |
close bo on unregister()
Not sure if a remote process ever destroys a bo. But let register()
opens a bo and unregister() closes it.
Diffstat (limited to 'gralloc_drm.h')
-rw-r--r-- | gralloc_drm.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gralloc_drm.h b/gralloc_drm.h index 67f3598..3907dfd 100644 --- a/gralloc_drm.h +++ b/gralloc_drm.h @@ -69,9 +69,16 @@ static inline int gralloc_drm_get_bpp(int format) } struct gralloc_drm_bo_t *gralloc_drm_bo_create(struct gralloc_drm_t *drm, int width, int height, int format, int usage); -struct gralloc_drm_bo_t *gralloc_drm_bo_validate(struct gralloc_drm_t *drm, buffer_handle_t handle); void gralloc_drm_bo_destroy(struct gralloc_drm_bo_t *bo); +struct gralloc_drm_bo_t *gralloc_drm_bo_register(struct gralloc_drm_t *drm, buffer_handle_t handle, int create); +void gralloc_drm_bo_unregister(struct gralloc_drm_bo_t *bo); + +static inline struct gralloc_drm_bo_t *gralloc_drm_bo_validate(struct gralloc_drm_t *drm, buffer_handle_t handle) +{ + return gralloc_drm_bo_register(drm, handle, 0); +} + int gralloc_drm_bo_map(struct gralloc_drm_bo_t *bo, int x, int y, int w, int h, int enable_write, void **addr); void gralloc_drm_bo_unmap(struct gralloc_drm_bo_t *bo); buffer_handle_t gralloc_drm_bo_get_handle(struct gralloc_drm_bo_t *bo, int *stride); |