[igt-dev] [PATCH i-g-t 3/4] tests/kms_plane_lowres: Don't fail tests when missing format/mod support

Kazlauskas, Nicholas Nicholas.Kazlauskas at amd.com
Fri Nov 30 13:59:45 UTC 2018


On 11/30/18 8:56 AM, Ville Syrjälä wrote:
> On Wed, Nov 28, 2018 at 09:56:19AM -0500, Nicholas Kazlauskas wrote:
>> The kms_plane_lowres subtests will fail on non-i915 hardware because
>> of the devid lookups and tiling format requirements.
>>
>> This patch makes use of the igt_display_has_format_mod() helper to
>> check for support before failing fb creation.
>>
>> The tests still won't fully run yet on i915 hardware because they'll
>> skip during calls to igt_assert_plane_visible - those require an i915
>> extension to get the CRTC/plane set for a given pipe.
>>
>> v2: Use igt_display_has_format_mod helper (Ville)
>>
>> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
>> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas at amd.com>
>> ---
>>   tests/kms_plane_lowres.c | 24 +++++++++++++++++-------
>>   1 file changed, 17 insertions(+), 7 deletions(-)
>>
>> diff --git a/tests/kms_plane_lowres.c b/tests/kms_plane_lowres.c
>> index 0824ef8f..63a4e5b8 100644
>> --- a/tests/kms_plane_lowres.c
>> +++ b/tests/kms_plane_lowres.c
>> @@ -141,6 +141,12 @@ test_setup(data_t *data, enum pipe pipe, uint64_t modifier,
>>   	int size;
>>   	int i = 1, x, y;
>>   	igt_plane_t *plane;
>> +	uint64_t plane_modifier;
>> +	uint32_t plane_format;
> 
> These could be moved into tighter scope.
> 
> Apart from that lgtm
> Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
I'll fix that up then send the v3. Thanks.

Nicholas Kazlauskas

> 
>> +
>> +	igt_skip_on(!igt_display_has_format_mod(&data->display,
>> +						DRM_FORMAT_XRGB8888,
>> +						modifier));
>>   
>>   	igt_output_set_pipe(output, pipe);
>>   
>> @@ -171,10 +177,19 @@ test_setup(data_t *data, enum pipe pipe, uint64_t modifier,
>>   		x = 0;
>>   		y = mode->vdisplay - size;
>>   
>> +		plane_format = plane->type == DRM_PLANE_TYPE_CURSOR ?
>> +			DRM_FORMAT_ARGB8888 : DRM_FORMAT_XRGB8888;
>> +
>> +		plane_modifier = plane->type == DRM_PLANE_TYPE_CURSOR ?
>> +			LOCAL_DRM_FORMAT_MOD_NONE : modifier;
>> +
>> +		igt_skip_on(!igt_plane_has_format_mod(plane, plane_format,
>> +						      plane_modifier));
>> +
>>   		igt_create_color_fb(data->drm_fd,
>>   				    size, size,
>> -				    plane->type == DRM_PLANE_TYPE_CURSOR ? DRM_FORMAT_ARGB8888 : DRM_FORMAT_XRGB8888,
>> -				    plane->type == DRM_PLANE_TYPE_CURSOR ? LOCAL_DRM_FORMAT_MOD_NONE : modifier,
>> +				    plane_format,
>> +				    plane_modifier,
>>   				    1.0, 1.0, 0.0,
>>   				    &data->fb[i]);
>>   
>> @@ -251,11 +266,6 @@ static void
>>   test_plane_position(data_t *data, enum pipe pipe, uint64_t modifier)
>>   {
>>   	igt_output_t *output;
>> -	const int gen = intel_gen(intel_get_drm_devid(data->drm_fd));
>> -
>> -	if (modifier == LOCAL_I915_FORMAT_MOD_Y_TILED ||
>> -	    modifier == LOCAL_I915_FORMAT_MOD_Yf_TILED)
>> -		igt_skip_on(gen < 9);
>>   
>>   	for_each_valid_output_on_pipe(&data->display, pipe, output)
>>   		test_plane_position_with_output(data, pipe, output, modifier);
>> -- 
>> 2.17.1
> 



More information about the igt-dev mailing list