diff options
author | Gowtham Tammana <g-tammana@ti.com> | 2017-12-20 13:59:35 -0600 |
---|---|---|
committer | Gowtham Tammana <g-tammana@ti.com> | 2017-12-20 15:00:04 -0600 |
commit | 6f7cbd247b61f608c1b99a9e47eba2339f5d2775 (patch) | |
tree | 38babe6c9b110c382292ff58f0df7153285828fb /hwcomposer/display.c | |
parent | 663c365b08c091fcee7a8865cf02b9b3b80e3aab (diff) | |
download | dra7xx-6f7cbd247b61f608c1b99a9e47eba2339f5d2775.tar.gz |
hwc: Enable single layer NV12 DSS composition
In the case of single NV12 layer, assign it to overlay plane and setup
primary plane with a dummy buffer.
Change-Id: Ib951621f5a7ed04616e32f8193d91183548a3dbc
Signed-off-by: Gowtham Tammana <g-tammana@ti.com>
Diffstat (limited to 'hwcomposer/display.c')
-rw-r--r-- | hwcomposer/display.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/hwcomposer/display.c b/hwcomposer/display.c index 7641098..b58d3f9 100644 --- a/hwcomposer/display.c +++ b/hwcomposer/display.c @@ -320,6 +320,9 @@ bool can_dss_render_all_layers(omap_hwc_device_t *hwc_dev, int disp) if (disp) return false; + if (!display->disp_link.is_crtc_set) + return false; + if (layer_stats->bgr) return false; @@ -1204,6 +1207,20 @@ static int display_configure_pipes(display_t *display) } } } + if (comp->used_ovls == 1 && display->layer_stats.nv12) { + plane_info = &comp->plane_info[comp->ovl_indices[1]]; + plane_info->crtc_w = kdisp->dummy_fb.width; + plane_info->crtc_h = kdisp->dummy_fb.height; + plane_info->src_w = kdisp->dummy_fb.width; + plane_info->src_h = kdisp->dummy_fb.height; + plane_info->zorder = 0; + err = set_plane_properties(kdisp->atomic_req, + plane_info, &kdisp->dummy_fb); + if (err) { + ALOGE("Failed to configure pipe with dummy fb (%s)", + strerror(err)); + } + } return err; } |