[PATCH] tests/kms_writeback: Fix kms_writeback for VKMS

Kamil Konieczny kamil.konieczny at linux.intel.com
Mon Jun 23 09:55:02 UTC 2025


Hi Alex,
On 2025-06-18 at 17:01:05 -0600, Alex Hung wrote:
> From: Harry Wentland <harry.wentland at amd.com>
> 
> VKMS doesn't like us to add buffers with unknown fourcc
> type. Other drivers might behave similarly. Make sure
> we avoid creating 10bpc buffers if they are not supported.
> 
> Signed-off-by: Alex Hung <alex.hung at amd.com>
> Signed-off-by: Harry Wentland <harry.wentland at amd.com>
> ---
>  tests/kms_writeback.c | 19 ++++++++++++-------
>  1 file changed, 12 insertions(+), 7 deletions(-)
> 
> diff --git a/tests/kms_writeback.c b/tests/kms_writeback.c
> index d075cc5b6..20c3a32c2 100644
> --- a/tests/kms_writeback.c
> +++ b/tests/kms_writeback.c
> @@ -112,6 +112,10 @@ static bool check_writeback_config(igt_display_t *display, igt_output_t *output,
>  	height = override_mode.vdisplay;
>  
>  	for (i = 0; i < sizeof(fourcc) / sizeof(uint32_t); i++) {
> +		plane = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> +
> +		if (!igt_plane_has_format_mod(plane, fourcc[i], DRM_FORMAT_MOD_LINEAR))
> +			continue;
>  
>  		ret = igt_create_fb(display->drm_fd, width, height,
>  				    fourcc[i], modifier, &input_fb);
> @@ -121,7 +125,6 @@ static bool check_writeback_config(igt_display_t *display, igt_output_t *output,
>  				    fourcc[i], modifier, &output_fb);
>  		igt_assert_lte(0, ret);
>  
> -		plane = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
>  		igt_plane_set_fb(plane, &input_fb);
>  		igt_output_set_writeback_fb(output, &output_fb);
>  
> @@ -571,12 +574,14 @@ igt_main_args("b:c:f:dl", long_options, help_str, opt_handler, NULL)
>  				      &input_fb);
>  		igt_assert(fb_id >= 0);
>  
> -		fb_id = igt_create_fb(display.drm_fd, mode.hdisplay,
> -				      mode.vdisplay,
> -				      DRM_FORMAT_XRGB2101010,
> -				      DRM_FORMAT_MOD_LINEAR,
> -				      &input_fb_10bit);
> -		igt_assert(fb_id >= 0);
> +		if (igt_plane_has_format_mod(plane, DRM_FORMAT_XRGB2101010, DRM_FORMAT_MOD_LINEAR)) {

First change looks good but I am not sure about this one,
Karthik or Swati could you help here?

Adding to cc:
Cc: Karthik B S <karthik.b.s at intel.com>
Cc: Swati Sharma <swati2.sharma at intel.com>

Regards,
Kamil

> +			fb_id = igt_create_fb(display.drm_fd, mode.hdisplay,
> +					      mode.vdisplay,
> +					      DRM_FORMAT_XRGB2101010,
> +					      DRM_FORMAT_MOD_LINEAR,
> +					      &input_fb_10bit);
> +			igt_assert(fb_id >= 0);
> +		}
>  
>  		igt_plane_set_fb(plane, &input_fb);
>  
> -- 
> 2.43.0
> 


More information about the igt-dev mailing list