summaryrefslogtreecommitdiffstats
path: root/gralloc_drm_priv.h
diff options
context:
space:
mode:
authorTapani Pälli <tapani.palli@intel.com>2013-05-03 10:08:54 +0300
committerTapani Pälli <tapani.palli@intel.com>2013-05-13 15:28:35 +0300
commita872ecf380bfb33a1e17878d7d7ac16d1730dc09 (patch)
tree65cfc8edea3b91fe9da22635a52dbff5b9d8345e /gralloc_drm_priv.h
parent29b01951d54470f495e1097bd779342d618daf7a (diff)
downloadexternal_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.h8
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;