[PATCH libdrm v2 04/10] util: Add missing big-endian RGB16 frame buffer formats

Ville Syrjälä ville.syrjala at linux.intel.com
Mon Jul 11 12:17:05 UTC 2022


On Fri, Jul 08, 2022 at 08:21:43PM +0200, Geert Uytterhoeven wrote:
> Signed-off-by: Geert Uytterhoeven <geert at linux-m68k.org>
> ---
> Any better suggestion than appending "be"?
> 
> v2:
>   - New.
> ---
>  tests/util/format.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/tests/util/format.c b/tests/util/format.c
> index a5464de6fc1ac70f..42a652c9a402a654 100644
> --- a/tests/util/format.c
> +++ b/tests/util/format.c
> @@ -76,6 +76,9 @@ static const struct util_format_info format_info[] = {
>  	{ DRM_FORMAT_BGRX5551, "BX15", MAKE_RGB_INFO(5, 1, 5, 6, 5, 11, 0, 0) },
>  	{ DRM_FORMAT_RGB565, "RG16", MAKE_RGB_INFO(5, 11, 6, 5, 5, 0, 0, 0) },
>  	{ DRM_FORMAT_BGR565, "BG16", MAKE_RGB_INFO(5, 0, 6, 5, 5, 11, 0, 0) },
> +	/* Big-endian RGB16 */
> +	{ DRM_FORMAT_XRGB1555 | DRM_FORMAT_BIG_ENDIAN, "XR15be", MAKE_RGB_INFO(5, 10, 5, 5, 5, 0, 0, 0) },
> +	{ DRM_FORMAT_RGB565 | DRM_FORMAT_BIG_ENDIAN, "RG16be", MAKE_RGB_INFO(5, 11, 6, 5, 5, 0, 0, 0) },

How about just stripping the BE bit in util_format_info_find()
so we don't have to duplicate the entries in the table?

I guess util_format_fourcc() would end up being more a bit
complicated since you'd have to massage the string.

But I'm not sure why we even store the fourcc as a string in
the table anyway. Could just add some kind of string_to_fourcc()
thingy instead AFAICS.

>  	/* RGB24 */
>  	{ DRM_FORMAT_BGR888, "BG24", MAKE_RGB_INFO(8, 0, 8, 8, 8, 16, 0, 0) },
>  	{ DRM_FORMAT_RGB888, "RG24", MAKE_RGB_INFO(8, 16, 8, 8, 8, 0, 0, 0) },
> -- 
> 2.25.1

-- 
Ville Syrjälä
Intel


More information about the dri-devel mailing list