[igt-dev] [PATCH i-g-t] tests/kms_plane_scaling: Check supported format for rotation

Mika Kahola mika.kahola at intel.com
Thu Apr 4 10:37:02 UTC 2019


Let's align with kernel and add checks for formats that are
not allowed to do 90/270 rotation.

In dmesg we see for example, the following

"[drm:skl_plane_check [i915]] Unsupported pixel format Y210
little-endian (0x30313259) for 90/270!"

Signed-off-by: Mika Kahola <mika.kahola at intel.com>
---
 tests/kms_plane_scaling.c | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index 3364073c..2d47c14b 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -176,9 +176,25 @@ static const igt_rotation_t rotations[] = {
 
 static bool can_rotate(data_t *d, unsigned format)
 {
-	if (format == DRM_FORMAT_C8 ||
-	    (intel_gen(d->devid) < 11 && format == DRM_FORMAT_RGB565))
+	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;
 }
-- 
2.17.1



More information about the igt-dev mailing list