diff options
author | Tapani Pälli <tapani.palli@intel.com> | 2013-05-03 10:08:54 +0300 |
---|---|---|
committer | Tapani Pälli <tapani.palli@intel.com> | 2013-05-13 15:28:35 +0300 |
commit | a872ecf380bfb33a1e17878d7d7ac16d1730dc09 (patch) | |
tree | 65cfc8edea3b91fe9da22635a52dbff5b9d8345e /gralloc_drm_priv.h | |
parent | 29b01951d54470f495e1097bd779342d618daf7a (diff) | |
download | external_drm_gralloc-a872ecf380bfb33a1e17878d7d7ac16d1730dc09.zip external_drm_gralloc-a872ecf380bfb33a1e17878d7d7ac16d1730dc09.tar.gz external_drm_gralloc-a872ecf380bfb33a1e17878d7d7ac16d1730dc09.tar.bz2 |
gralloc: provide methods for hwc to change handle of a plane
Patch changes reserve_plane to get id number as additional parameter.
This can be used by hwc to make changes to a particular plane. New
api hwc_set_plane_handle is introduced so that hwc can change the
buffer handle of a plane, this is required because after plane has
been reserved for a particular ui layer, this handle can change as
the layer is typically multibuffered.
Change-Id: I32d711ff3565ae9e8f5b8a6691c22b03a50cefe7
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Diffstat (limited to 'gralloc_drm_priv.h')
-rw-r--r-- | gralloc_drm_priv.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gralloc_drm_priv.h b/gralloc_drm_priv.h index d96702e..1a36cc1 100644 --- a/gralloc_drm_priv.h +++ b/gralloc_drm_priv.h @@ -56,6 +56,9 @@ struct gralloc_drm_plane_t { /* handle to display */ buffer_handle_t handle; + /* identifier set by hwc */ + uint32_t id; + /* position, crop and scale */ uint32_t src_x; uint32_t src_y; @@ -127,10 +130,13 @@ struct drm_module_t { gralloc_module_t base; /* HWC plane API */ - int (*hwc_reserve_plane) (struct gralloc_drm_t *mod, buffer_handle_t handle, + int (*hwc_reserve_plane) (struct gralloc_drm_t *mod, + buffer_handle_t handle, uint32_t id, uint32_t dst_x, uint32_t dst_y, uint32_t dst_w, uint32_t dst_h, uint32_t src_x, uint32_t src_y, uint32_t src_w, uint32_t src_h); void (*hwc_disable_planes) (struct gralloc_drm_t *mod); + int (*hwc_set_plane_handle) (struct gralloc_drm_t *mod, + uint32_t id, buffer_handle_t handle); pthread_mutex_t mutex; struct gralloc_drm_t *drm; |