Message ID | 20241007070101.23263-3-jason-jh.lin@mediatek.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Fix degradation problem of alpha blending series | expand |
Il 07/10/24 09:00, Jason-JH.Lin ha scritto: > Refine the comment for ignore_pixel_alpha flag and move it to > if (state->fb) statement to make it less conditional. > > Signed-off-by: Jason-JH.Lin <jason-jh.lin@mediatek.com> Reviewed-by: AngeloGioacchino Del Regno <angelogiaocchino.delregno@collabora.com>
Hi, Jason: On Mon, 2024-10-07 at 15:00 +0800, Jason-JH.Lin wrote: > Refine the comment for ignore_pixel_alpha flag and move it to > if (state->fb) statement to make it less conditional. Reviewed-by: CK Hu <ck.hu@mediatek.com> > > Signed-off-by: Jason-JH.Lin <jason-jh.lin@mediatek.com> > --- > drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 18 +++++++++--------- > 1 file changed, 9 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c > index 8453a72f9e59..ddc826c42653 100644 > --- a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c > +++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c > @@ -481,16 +481,16 @@ void mtk_ovl_layer_config(struct device *dev, unsigned int idx, > */ > if (blend_mode || state->base.fb->format->has_alpha) > con |= OVL_CON_AEN; > - } > > - /* CONST_BLD must be enabled for XRGB formats although the alpha channel > - * can be ignored, or OVL will still read the value from memory. > - * For RGB888 related formats, whether CONST_BLD is enabled or not won't > - * affect the result. Therefore we use !has_alpha as the condition. > - */ > - if ((state->base.fb && !state->base.fb->format->has_alpha) || > - blend_mode == DRM_MODE_BLEND_PIXEL_NONE) > - ignore_pixel_alpha = OVL_CONST_BLEND; > + /* > + * Although the alpha channel can be ignored, CONST_BLD must be enabled > + * for XRGB format, otherwise OVL will still read the value from memory. > + * For RGB888 related formats, whether CONST_BLD is enabled or not won't > + * affect the result. Therefore we use !has_alpha as the condition. > + */ > + if (blend_mode == DRM_MODE_BLEND_PIXEL_NONE || !state->base.fb->format->has_alpha) > + ignore_pixel_alpha = OVL_CONST_BLEND; > + } > > if (pending->rotation & DRM_MODE_REFLECT_Y) { > con |= OVL_CON_VIRT_FLIP;
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c index 8453a72f9e59..ddc826c42653 100644 --- a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c +++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c @@ -481,16 +481,16 @@ void mtk_ovl_layer_config(struct device *dev, unsigned int idx, */ if (blend_mode || state->base.fb->format->has_alpha) con |= OVL_CON_AEN; - } - /* CONST_BLD must be enabled for XRGB formats although the alpha channel - * can be ignored, or OVL will still read the value from memory. - * For RGB888 related formats, whether CONST_BLD is enabled or not won't - * affect the result. Therefore we use !has_alpha as the condition. - */ - if ((state->base.fb && !state->base.fb->format->has_alpha) || - blend_mode == DRM_MODE_BLEND_PIXEL_NONE) - ignore_pixel_alpha = OVL_CONST_BLEND; + /* + * Although the alpha channel can be ignored, CONST_BLD must be enabled + * for XRGB format, otherwise OVL will still read the value from memory. + * For RGB888 related formats, whether CONST_BLD is enabled or not won't + * affect the result. Therefore we use !has_alpha as the condition. + */ + if (blend_mode == DRM_MODE_BLEND_PIXEL_NONE || !state->base.fb->format->has_alpha) + ignore_pixel_alpha = OVL_CONST_BLEND; + } if (pending->rotation & DRM_MODE_REFLECT_Y) { con |= OVL_CON_VIRT_FLIP;
Refine the comment for ignore_pixel_alpha flag and move it to if (state->fb) statement to make it less conditional. Signed-off-by: Jason-JH.Lin <jason-jh.lin@mediatek.com> --- drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-)