From 297eb773ff5c5bc3ee1155dbb8c5c80f77e5a11a Mon Sep 17 00:00:00 2001 From: Adrian Salido-Moreno Date: Wed, 3 Jul 2013 15:41:33 -0700 Subject: msm: mdss: Enable solid fill on pipe Add support to enable solid fill on pipe with an option to configure fill-color by userspace. This support does not confine to background pipe and can be used to enable solid fill on any source surface processing pipes irrespective of the z-order. This support can be used in requirements involving constant color layers. Change-Id: Iae3c2968ca2f2f1be161e9c2f857641ffbb859e5 Signed-off-by: Adrian Salido-Moreno Signed-off-by: Mayank Chopra --- include/uapi/linux/msm_mdp.h | 47 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) (limited to 'include/uapi/linux') diff --git a/include/uapi/linux/msm_mdp.h b/include/uapi/linux/msm_mdp.h index beaeda198f2e..7b6b9b28ce97 100644 --- a/include/uapi/linux/msm_mdp.h +++ b/include/uapi/linux/msm_mdp.h @@ -518,6 +518,50 @@ struct mdp_scale_data { uint32_t roi_w[MAX_PLANES]; }; +/** + * struct mdp_overlay - overlay surface structure + * @src: Source image information (width, height, format). + * @src_rect: Source crop rectangle, portion of image that will be fetched. + * This should always be within boundaries of source image. + * @dst_rect: Destination rectangle, the position and size of image on screen. + * This should always be within panel boundaries. + * @z_order: Blending stage to occupy in display, if multiple layers are + * present, highest z_order usually means the top most visible + * layer. The range acceptable is from 0-3 to support blending + * up to 4 layers. + * @is_fg: This flag is used to disable blending of any layers with z_order + * less than this overlay. It means that any layers with z_order + * less than this layer will not be blended and will be replaced + * by the background border color. + * @alpha: Used to set plane opacity. The range can be from 0-255, where + * 0 means completely transparent and 255 means fully opaque. + * @transp_mask: Color used as color key for transparency. Any pixel in fetched + * image matching this color will be transparent when blending. + * The color should be in same format as the source image format. + * @flags: This is used to customize operation of overlay. See MDP flags + * for more information. + * @user_data: DEPRECATED* Used to store user application specific information. + * @bg_color: Solid color used to fill the overlay surface when no source + * buffer is provided. + * @horz_deci: Horizontal decimation value, this indicates the amount of pixels + * dropped for each pixel that is fetched from a line. The value + * given should be power of two of decimation amount. + * 0: no decimation + * 1: decimate by 2 (drop 1 pixel for each pixel fetched) + * 2: decimate by 4 (drop 3 pixels for each pixel fetched) + * 3: decimate by 8 (drop 7 pixels for each pixel fetched) + * 4: decimate by 16 (drop 15 pixels for each pixel fetched) + * @vert_deci: Vertical decimation value, this indicates the amount of lines + * dropped for each line that is fetched from overlay. The value + * given should be power of two of decimation amount. + * 0: no decimation + * 1: decimation by 2 (drop 1 line for each line fetched) + * 2: decimation by 4 (drop 3 lines for each line fetched) + * 3: decimation by 8 (drop 7 lines for each line fetched) + * 4: decimation by 16 (drop 15 lines for each line fetched) + * @overlay_pp_cfg: Overlay post processing configuration, for more information + * see struct mdp_overlay_pp_params. + */ struct mdp_overlay { struct msmfb_img src; struct mdp_rect src_rect; @@ -529,7 +573,8 @@ struct mdp_overlay { uint32_t transp_mask; uint32_t flags; uint32_t id; - uint32_t user_data[7]; + uint32_t user_data[6]; + uint32_t bg_color; uint8_t horz_deci; uint8_t vert_deci; struct mdp_overlay_pp_params overlay_pp_cfg; -- cgit v1.2.3