diff options
author | Tapani Pälli <tapani.palli@intel.com> | 2013-01-18 15:01:43 +0200 |
---|---|---|
committer | Tapani Pälli <tapani.palli@intel.com> | 2013-01-21 14:39:37 +0200 |
commit | a8f0334ef5706875f2c73a2690a2f1fc3e5fee27 (patch) | |
tree | d7d822a66b36a702ddf1943fd35549180f7c669f /gralloc_drm.c | |
parent | 421d4ec03917d13cc4449832275ac3c25e00acf5 (diff) | |
download | external_drm_gralloc-a8f0334ef5706875f2c73a2690a2f1fc3e5fee27.zip external_drm_gralloc-a8f0334ef5706875f2c73a2690a2f1fc3e5fee27.tar.gz external_drm_gralloc-a8f0334ef5706875f2c73a2690a2f1fc3e5fee27.tar.bz2 |
gralloc: implement yuv offset query as hw specific function
This patch reverts earlier cca14cfd... and introduces a new hw
specific hook to query yuv components offsets which can vary
between different hw, decoders, cameras etc.
Change-Id: Ib60bc8ee28df7bc9425b6d7934294fe36fc55354
Depends-Change-Id: I1aa5368b21e588d5d711c1005fff2a5296e143a0
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Diffstat (limited to 'gralloc_drm.c')
-rw-r--r-- | gralloc_drm.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gralloc_drm.c b/gralloc_drm.c index cf0fe84..53d764a 100644 --- a/gralloc_drm.c +++ b/gralloc_drm.c @@ -355,6 +355,22 @@ int gralloc_drm_get_gem_handle(buffer_handle_t _handle) } /* + * Query YUV component offsets for a buffer handle + */ +void gralloc_drm_resolve_format(buffer_handle_t _handle, + uint32_t *pitches, uint32_t *offsets, uint32_t *handles) +{ + struct gralloc_drm_handle_t *handle = gralloc_drm_handle(_handle); + struct gralloc_drm_bo_t *bo = (struct gralloc_drm_bo_t *) handle->data; + struct gralloc_drm_t *drm = bo->drm; + + /* if handle exists and driver implements resolve_format */ + if (handle && drm->drv->resolve_format) + drm->drv->resolve_format(drm->drv, bo, + pitches, offsets, handles); +} + +/* * Lock a bo. XXX thread-safety? */ int gralloc_drm_bo_lock(struct gralloc_drm_bo_t *bo, |