mirror of https://gitee.com/openkylin/linux.git
drm/rockchip: Use the alpha format field in drm_format_info
Now that the drm_format_info has a alpha field to tell if a format embeds an alpha component in it, let's use it. Acked-by: Sandy huang <hjc@rock-chips.com> Reviewed-by: Daniel Vetter <daniel.vetter@intel.com> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Link: https://patchwork.freedesktop.org/patch/msgid/5a217e8c93eea6f0a7f6bc5883424b47dbb6c664.1516617243.git-series.maxime.ripard@free-electrons.com
This commit is contained in:
parent
c89e1d27f7
commit
1f072d6a4c
|
@ -253,17 +253,6 @@ static bool is_yuv_support(uint32_t format)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool is_alpha_support(uint32_t format)
|
|
||||||
{
|
|
||||||
switch (format) {
|
|
||||||
case DRM_FORMAT_ARGB8888:
|
|
||||||
case DRM_FORMAT_ABGR8888:
|
|
||||||
return true;
|
|
||||||
default:
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static uint16_t scl_vop_cal_scale(enum scale_mode mode, uint32_t src,
|
static uint16_t scl_vop_cal_scale(enum scale_mode mode, uint32_t src,
|
||||||
uint32_t dst, bool is_horizontal,
|
uint32_t dst, bool is_horizontal,
|
||||||
int vsu_mode, int *vskiplines)
|
int vsu_mode, int *vskiplines)
|
||||||
|
@ -789,7 +778,7 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
|
||||||
rb_swap = has_rb_swapped(fb->format->format);
|
rb_swap = has_rb_swapped(fb->format->format);
|
||||||
VOP_WIN_SET(vop, win, rb_swap, rb_swap);
|
VOP_WIN_SET(vop, win, rb_swap, rb_swap);
|
||||||
|
|
||||||
if (is_alpha_support(fb->format->format)) {
|
if (fb->format->has_alpha) {
|
||||||
VOP_WIN_SET(vop, win, dst_alpha_ctl,
|
VOP_WIN_SET(vop, win, dst_alpha_ctl,
|
||||||
DST_FACTOR_M0(ALPHA_SRC_INVERSE));
|
DST_FACTOR_M0(ALPHA_SRC_INVERSE));
|
||||||
val = SRC_ALPHA_EN(1) | SRC_COLOR_M0(ALPHA_SRC_PRE_MUL) |
|
val = SRC_ALPHA_EN(1) | SRC_COLOR_M0(ALPHA_SRC_PRE_MUL) |
|
||||||
|
|
Loading…
Reference in New Issue