[PATCH v2 02/13] drm/format-helper: Comment on RGB888 byte order

José Expósito jose.exposito89 at gmail.com
Fri Dec 23 12:37:55 UTC 2022


On Tue, Dec 20, 2022 at 05:11:34PM +0100, Thomas Zimmermann wrote:
> RGB888 is different than the other formats as most of its pixels are
> unaligned and therefore helper functions do not use endianness conversion
> helpers. Comment on this in the source code.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>

Reviewed-by: José Expósito <jose.exposito89 at gmail.com>

> ---
>  drivers/gpu/drm/drm_format_helper.c            | 1 +
>  drivers/gpu/drm/tests/drm_format_helper_test.c | 4 ++++
>  2 files changed, 5 insertions(+)
> 
> diff --git a/drivers/gpu/drm/drm_format_helper.c b/drivers/gpu/drm/drm_format_helper.c
> index 74ff33c2ddaa..b98bd7c5caee 100644
> --- a/drivers/gpu/drm/drm_format_helper.c
> +++ b/drivers/gpu/drm/drm_format_helper.c
> @@ -404,6 +404,7 @@ static void drm_fb_xrgb8888_to_rgb888_line(void *dbuf, const void *sbuf, unsigne
>  
>  	for (x = 0; x < pixels; x++) {
>  		pix = le32_to_cpu(sbuf32[x]);
> +		/* write blue-green-red to output in little endianness */
>  		*dbuf8++ = (pix & 0x000000FF) >>  0;
>  		*dbuf8++ = (pix & 0x0000FF00) >>  8;
>  		*dbuf8++ = (pix & 0x00FF0000) >> 16;
> diff --git a/drivers/gpu/drm/tests/drm_format_helper_test.c b/drivers/gpu/drm/tests/drm_format_helper_test.c
> index 2191e57f2297..cd1d7da3483c 100644
> --- a/drivers/gpu/drm/tests/drm_format_helper_test.c
> +++ b/drivers/gpu/drm/tests/drm_format_helper_test.c
> @@ -407,6 +407,10 @@ static void drm_test_fb_xrgb8888_to_rgb888(struct kunit *test)
>  	KUNIT_ASSERT_NOT_ERR_OR_NULL(test, xrgb8888);
>  	iosys_map_set_vaddr(&src, xrgb8888);
>  
> +	/*
> +	 * RGB888 expected results are already in little-endian
> +	 * order, so there's no need to convert the test output.
> +	 */
>  	drm_fb_xrgb8888_to_rgb888(&dst, &result->dst_pitch, &src, &fb, &params->clip);
>  	KUNIT_EXPECT_EQ(test, memcmp(buf, result->expected, dst_size), 0);
>  }
> -- 
> 2.39.0
> 


More information about the dri-devel mailing list