[igt-dev] [RFC v2 5/5] tests/kms_plane_scaling: Skip testing unsupported fp16 features
Kevin Strasser
kevin.strasser at intel.com
Wed Mar 6 02:18:37 UTC 2019
Disallow Yf tiling and Y-tiled 90/270 rotation for fp16 on Intel hardware.
rfc2:
- Move check into can_rotate (Maarten)
- Use igt_plane_has_format_mod (Maarten)
Signed-off-by: Kevin Strasser <kevin.strasser at intel.com>
---
tests/kms_plane_scaling.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index 1015c80..29b28cb 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -167,12 +167,19 @@ static const igt_rotation_t rotations[] = {
IGT_ROTATION_270,
};
-static bool can_rotate(data_t *d, unsigned format)
+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) &&
+ tiling == LOCAL_I915_FORMAT_MOD_Y_TILED &&
+ (rot == IGT_ROTATION_90 || rot == IGT_ROTATION_270))
+ return false;
+
return true;
}
@@ -193,8 +200,9 @@ static void test_scaler_with_rotation_pipe(data_t *d, enum pipe pipe,
igt_rotation_t rot = rotations[i];
for (int j = 0; j < plane->drm_plane->count_formats; j++) {
unsigned format = plane->drm_plane->formats[j];
+
if (igt_fb_supported_format(format) &&
- can_rotate(d, format))
+ can_rotate(d, format, tiling, rot))
check_scaling_pipe_plane_rot(d, plane, format,
tiling, pipe,
output, rot);
@@ -227,6 +235,9 @@ static void test_scaler_with_pixel_format_pipe(data_t *d, enum pipe pipe, igt_ou
for (int j = 0; j < plane->drm_plane->count_formats; j++) {
uint32_t format = plane->drm_plane->formats[j];
+ if (!igt_plane_has_format_mod(plane, format, tiling))
+ continue;
+
if (igt_fb_supported_format(format))
check_scaling_pipe_plane_rot(d, plane,
format, tiling,
--
2.7.4
More information about the igt-dev
mailing list