diff options
author | Liu Ying <victor.liu@nxp.com> | 2019-09-03 15:16:54 -0400 |
---|---|---|
committer | Dong Aisheng <aisheng.dong@nxp.com> | 2019-11-25 15:58:29 +0800 |
commit | 8d0c85375686f8dddf6b215fc30f044e73ae3272 (patch) | |
tree | 13feb096f9c550d20adca5eb0393afe4fd78a63f /include/video | |
parent | a321801f169bcf81271d6cf7bdff02c0c288afd8 (diff) |
drm/imx: dpu: kms: Support proper default blend mode
Without the new blend modes("None", "Pre-multiplied" and "Coverage")
introduced in the below commit, the old userspace assumes alpha in
pixel is per-premultiplied by default. So, let's support the default
blend mode properly.
commit a5ec8332d428 ("drm: Add per-plane pixel blend mode property")
Signed-off-by: Liu Ying <victor.liu@nxp.com>
Diffstat (limited to 'include/video')
-rw-r--r-- | include/video/dpu.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/include/video/dpu.h b/include/video/dpu.h index 1f2c8287fcdb..45eac1bab0ff 100644 --- a/include/video/dpu.h +++ b/include/video/dpu.h @@ -350,6 +350,8 @@ struct dpu_fetchunit_ops { void (*set_fmt)(struct dpu_fetchunit *fu, u32 fmt, bool deinterlace); + void (*set_pixel_blend_mode)(struct dpu_fetchunit *fu, u32 fb_format); + void (*enable_src_buf)(struct dpu_fetchunit *fu); void (*disable_src_buf)(struct dpu_fetchunit *fu); bool (*is_enabled)(struct dpu_fetchunit *fu); @@ -546,7 +548,7 @@ void layerblend_shden(struct dpu_layerblend *lb, bool enable); void layerblend_shdtoksel(struct dpu_layerblend *lb, lb_shadow_sel_t sel); void layerblend_shdldsel(struct dpu_layerblend *lb, lb_shadow_sel_t sel); void layerblend_control(struct dpu_layerblend *lb, lb_mode_t mode); -void layerblend_blendcontrol(struct dpu_layerblend *lb, bool sec_from_scaler); +void layerblend_blendcontrol(struct dpu_layerblend *lb, unsigned int zpos); void layerblend_position(struct dpu_layerblend *lb, int x, int y); struct dpu_layerblend *dpu_lb_get(struct dpu_soc *dpu, int id); void dpu_lb_put(struct dpu_layerblend *lb); @@ -631,6 +633,7 @@ void fetchunit_set_src_stride(struct dpu_fetchunit *fu, unsigned int width, unsigned int x_offset, unsigned int mt_w, int bpp, unsigned int stride, dma_addr_t baddr, bool use_prefetch); +void fetchunit_set_pixel_blend_mode(struct dpu_fetchunit *fu, u32 fb_format); void fetchunit_enable_src_buf(struct dpu_fetchunit *fu); void fetchunit_disable_src_buf(struct dpu_fetchunit *fu); bool fetchunit_is_enabled(struct dpu_fetchunit *fu); |