diff options
author | Gowtham Tammana <g-tammana@ti.com> | 2017-02-15 18:21:48 -0600 |
---|---|---|
committer | Gowtham Tammana <g-tammana@ti.com> | 2017-02-28 01:10:57 -0600 |
commit | 5287ac7934db42a5f8649cb755d7b23ad880348b (patch) | |
tree | 300e9d0db004c464b167634d5a926ba9e4f248c8 /hwcomposer/display.c | |
parent | fa8f882ea252f376e18948574294e776787fbedc (diff) | |
download | dra7xx-5287ac7934db42a5f8649cb755d7b23ad880348b.tar.gz |
hwc: Use handle from blitter to create drm fb
The blitter device manages its own ping pong buffer. In the case of
blitter composition, override the framebuffer target handle from SF
with blitter handle in creating the drm fb object.
Change-Id: If1ea8981fcb4c2ac4193e43223503ca17e2add3d
Signed-off-by: Gowtham Tammana <g-tammana@ti.com>
Diffstat (limited to 'hwcomposer/display.c')
-rw-r--r-- | hwcomposer/display.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/hwcomposer/display.c b/hwcomposer/display.c index 8d43764..918a91b 100644 --- a/hwcomposer/display.c +++ b/hwcomposer/display.c @@ -1070,8 +1070,18 @@ static int display_configure_pipes(display_t *display) if (comp->plane_info[i].layer) { drm_fb_info_t fb_info = { 0 }; drm_plane_props_t *plane_info = &comp->plane_info[i]; + buffer_handle_t handle = plane_info->layer->handle; + + /* if blitter is enabled we use only one pipe and the + * buffer handle comes from blitter + */ + if (comp->use_blitter) { + handle = + hwc_dev->blitter->get_fb_handle(hwc_dev->blitter, + display->type - 1); + } - err = display_create_drm_fb(display, plane_info->layer->handle, + err = display_create_drm_fb(display, handle, (void *)plane_info, &fb_info); if (err) { ALOGE("Plane %d: Error in creating drm fb: %d (%s)", i, |