[PATCH V9 02/36] tests/kms_writeback: Fix kms_writeback for VKMS

Harry Wentland harry.wentland at amd.com
Wed Jun 18 20:49:50 UTC 2025



On 2025-06-18 16:06, Kamil Konieczny wrote:
> Hi Alex,
> On 2025-06-16 at 22:35:57 -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.
> 
> Could you split up vkms patches into separate series?
> Why send them with this big colorop one?
> 

No need to have it part of the big series, that's just how
it started out and I never got around sending it separately.

Harry

> Regards,
> Kamil
> 
>>
>> 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 05680837e..8765fda34 100644
>> --- a/tests/kms_writeback.c
>> +++ b/tests/kms_writeback.c
>> @@ -131,6 +131,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);
>> @@ -140,7 +144,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);
>>  
>> @@ -590,12 +593,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)) {
>> +			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