diff options
-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, |