[PATCH 3/6] drm/vc4: txp: Force alpha to be 0xff if it's disabled

Thomas Zimmermann tzimmermann at suse.de
Wed Apr 6 09:02:43 UTC 2022


Hi Maxime

Am 28.03.22 um 17:36 schrieb Maxime Ripard:
> If we use a format that has padding instead of the alpha component (such
> as XRGB8888), it appears that the Transposer will fill the padding to 0,
> disregarding what was stored in the input buffer padding.
> 
> This leads to issues with IGT, since it will set the padding to 0xff,
> but will then compare the CRC of the two frames which will thus fail.
> Another nice side effect is that it is now possible to just use the
> buffer as ARGB.
> 
> Fixes: 008095e065a8 ("drm/vc4: Add support for the transposer block")
> Signed-off-by: Maxime Ripard <maxime at cerno.tech>
> ---
>   drivers/gpu/drm/vc4/vc4_txp.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/gpu/drm/vc4/vc4_txp.c b/drivers/gpu/drm/vc4/vc4_txp.c
> index ace2d03649ba..5b4dd644214f 100644
> --- a/drivers/gpu/drm/vc4/vc4_txp.c
> +++ b/drivers/gpu/drm/vc4/vc4_txp.c
> @@ -304,6 +304,8 @@ static void vc4_txp_connector_atomic_commit(struct drm_connector *conn,
>   
>   	if (fb->format->has_alpha)
>   		ctrl |= TXP_ALPHA_ENABLE;
> +	else
> +		ctrl |= TXP_ALPHA_INVERT;

'Invert' is somewhat misleading here, but your commit message nicely 
explains what this code does. Maybe add a short comment with the 
explanation.

Best regards
Thomas

>   
>   	gem = drm_fb_cma_get_gem_obj(fb, 0);
>   	TXP_WRITE(TXP_DST_PTR, gem->paddr + fb->offsets[0]);

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20220406/fe7852bb/attachment-0001.sig>


More information about the dri-devel mailing list