[PATCH i-g-t v1 1/2] lib/igt_fb: Add helpers to identify planar and packed YUV formats

Kamil Konieczny kamil.konieczny at linux.intel.com
Wed Aug 20 14:00:13 UTC 2025


Hi Naladala,
On 2025-07-16 at 14:50:35 +0530, Naladala Ramanaidu wrote:

in subject there is 'v1' while it is 'v2'? Or am I missing something?

Subject: Re: [PATCH i-g-t v1 1/2] lib/igt_fb: Add helpers to identify planar
> Add new helper logic to distinguish between planar/semi-planar and
> packed YUV formats. This classification enables more efficient test
> coverage by reducing iterations in IGT, allowing tests to focus on
> relevant format groups based on their memory layout.

Please add information here about what changed, for example:

v2: add helper functions (Santosh)
> 

This is following Santosh suggestion so add here to Cc:

Cc: Santhosh Reddy Guddati <santhosh.reddy.guddati at intel.com>
> Signed-off-by: Naladala Ramanaidu <ramanaidu.naladala at intel.com>
> ---
>  lib/igt_fb.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>  lib/igt_fb.h |  2 ++
>  2 files changed, 59 insertions(+)
> 
> diff --git a/lib/igt_fb.c b/lib/igt_fb.c
> index 9fc1bfc65..f68aeaf42 100644
> --- a/lib/igt_fb.c
> +++ b/lib/igt_fb.c
> @@ -5044,6 +5044,63 @@ bool igt_format_is_yuv(uint32_t drm_format)
>  	}
>  }
>  
> +/**
> + * igt_format_is_planaryuv:

Add '_' before youv, so it will be:

+ * igt_format_is_planar_yuv:

> + * @drm_format: drm fourcc
> + *
> + * This functions returns if @drm_format is planar/semi-planar YUV formats.
> + */
> +
> +bool igt_format_is_planaryuv(uint32_t drm_format)

Same here:

+bool igt_format_is_planar_yuv(uint32_t drm_format)

> +{
> +	switch (drm_format) {
> +	case DRM_FORMAT_YUV420:
> +	case DRM_FORMAT_YUV422:
> +	case DRM_FORMAT_YVU420:
> +	case DRM_FORMAT_YVU422:
> +	case DRM_FORMAT_NV12:
> +	case DRM_FORMAT_NV16:
> +	case DRM_FORMAT_NV21:
> +	case DRM_FORMAT_NV61:
> +	case DRM_FORMAT_P010:
> +	case DRM_FORMAT_P012:
> +	case DRM_FORMAT_P016:
> +		return true;
> +	default:
> +		return false;
> +	}
> +}
> +
> +/**
> + * igt_format_is_yuv:

Incorrect, function below has other name.

> + * @drm_format: drm fourcc
> + *
> + * This functions returns if @drm_format is packed YUV formats.
> + */
> +
> +bool igt_format_is_packedyuv(uint32_t drm_format)

Same here:
+bool igt_format_is_packed_yuv(uint32_t drm_format)

> +{
> +	switch (drm_format) {
> +	case DRM_FORMAT_Y210:
> +	case DRM_FORMAT_Y212:
> +	case DRM_FORMAT_Y216:
> +	case DRM_FORMAT_XVYU2101010:
> +	case DRM_FORMAT_XVYU12_16161616:
> +	case DRM_FORMAT_XVYU16161616:
> +	case DRM_FORMAT_Y410:
> +	case DRM_FORMAT_Y412:
> +	case DRM_FORMAT_Y416:
> +	case DRM_FORMAT_YUYV:
> +	case DRM_FORMAT_YVYU:
> +	case DRM_FORMAT_UYVY:
> +	case DRM_FORMAT_VYUY:
> +	case DRM_FORMAT_XYUV8888:
> +		return true;
> +	default:
> +		return false;
> +	}
> +}
> +
>  /**
>   * igt_format_is_fp16
>   * @drm_format: drm fourcc
> diff --git a/lib/igt_fb.h b/lib/igt_fb.h
> index d5aa1e88a..ace02a960 100644
> --- a/lib/igt_fb.h
> +++ b/lib/igt_fb.h
> @@ -220,6 +220,8 @@ const char *igt_format_str(uint32_t drm_format);
>  bool igt_fb_supported_format(uint32_t drm_format);
>  bool igt_format_is_yuv(uint32_t drm_format);
>  bool igt_format_is_yuv_semiplanar(uint32_t format);
> +bool igt_format_is_planaryuv(uint32_t drm_format);
> +bool igt_format_is_packedyuv(uint32_t drm_format);

Same here, add '_' before 'yuv'.

Regards,
Kamil

>  
>  uint32_t igt_drm_format_str_to_format(const char *drm_format);
>  
> -- 
> 2.43.0
> 


More information about the igt-dev mailing list