[igt-dev] [PATCH i-g-t] tests/kms_plane_scaling: Update list of supported pixel formats for rotation

Juha-Pekka Heikkila juhapekka.heikkila at gmail.com
Wed Apr 24 07:58:54 UTC 2019


Look ok to me. Hope i915 doesn't get changes onto that list too frequently.

Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>

On 23.4.2019 16.00, Mika Kahola wrote:
> Update the list of pixel formats that cannot be rotated by 90/270 degrees. With this patch,
> the kernel and IGT are aligned for i915 driver.
> 
> References: https://bugs.freedesktop.org/show_bug.cgi?id=109052
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110369
> Signed-off-by: Mika Kahola <mika.kahola at intel.com>
> ---
>   tests/kms_plane_scaling.c | 27 +++++++++++++++++++++------
>   1 file changed, 21 insertions(+), 6 deletions(-)
> 
> diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
> index 079d2700..3d247130 100644
> --- a/tests/kms_plane_scaling.c
> +++ b/tests/kms_plane_scaling.c
> @@ -174,14 +174,29 @@ static const igt_rotation_t rotations[] = {
>   static bool can_rotate(data_t *d, unsigned format, uint64_t tiling,
>   		       igt_rotation_t rot)
>   {
> -	if (format == DRM_FORMAT_C8 ||
> -	    (intel_gen(d->devid) < 11 && format == DRM_FORMAT_RGB565))
> -		return false;
>   
> -	// Y-tiled 90/270 rotation isn't supported for fp16 on Intel
> -	if (is_i915_device(d->drm_fd) && igt_format_is_fp16(format) &&
> -	    (rot == IGT_ROTATION_90 || rot == IGT_ROTATION_270))
> +	if (!is_i915_device(d->drm_fd))
> +		return true;
> +
> +	switch (format) {
> +	case DRM_FORMAT_RGB565:
> +		if (intel_gen(d->devid) >= 11)
> +			break;
> +		/* fall through */
> +	case DRM_FORMAT_C8:
> +	case DRM_FORMAT_XRGB16161616F:
> +	case DRM_FORMAT_XBGR16161616F:
> +	case DRM_FORMAT_ARGB16161616F:
> +	case DRM_FORMAT_ABGR16161616F:
> +	case DRM_FORMAT_Y210:
> +	case DRM_FORMAT_Y212:
> +	case DRM_FORMAT_Y216:
> +	case DRM_FORMAT_XVYU12_16161616:
> +	case DRM_FORMAT_XVYU16161616:
>   		return false;
> +	default:
> +		break;
> +	}
>   
>   	return true;
>   }
> 



More information about the igt-dev mailing list