summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hwcomposer/display.c12
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,