summaryrefslogtreecommitdiff
path: root/tests/kms_addfb_basic.c
diff options
context:
space:
mode:
authorJuha-Pekka Heikkila <juhapekka.heikkila@gmail.com>2021-03-22 17:26:58 +0200
committerJuha-Pekka Heikkila <juhapekka.heikkila@gmail.com>2021-03-23 22:03:17 +0200
commit2c2fc6470646eb5e25fc6ea02449ef744f8b70c2 (patch)
tree5e946e19d4b77c4f562ef4d2ebc779fd12e79e34 /tests/kms_addfb_basic.c
parentc26641eeffab9de317c19b8a289111248b0587f9 (diff)
tests/kms_addfb_basic: simplify addfb25_ytile tests
use igt_display_has_format_mod(..) to test if tile supported or no. Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Diffstat (limited to 'tests/kms_addfb_basic.c')
-rw-r--r--tests/kms_addfb_basic.c31
1 files changed, 12 insertions, 19 deletions
diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c
index 1302b1c7..1fb18d66 100644
--- a/tests/kms_addfb_basic.c
+++ b/tests/kms_addfb_basic.c
@@ -581,26 +581,20 @@ static void addfb25_tests(int fd)
gem_close(fd, gem_bo);
}
-static int addfb_expected_ret(int fd, uint64_t modifier)
+static int addfb_expected_ret(igt_display_t *display, struct local_drm_mode_fb_cmd2 *f)
{
- int gen;
-
- if (!is_i915_device(fd))
- return 0;
-
- gen = intel_gen(intel_get_drm_devid(fd));
-
- if (modifier == LOCAL_I915_FORMAT_MOD_Yf_TILED)
- return gen >= 9 && gen < 12 ? 0 : -1;
- return gen >= 9 ? 0 : -1;
+ return igt_display_has_format_mod(display, f->pixel_format,
+ f->modifier[0]) ? 0 : -1;
}
static void addfb25_ytile(int fd)
{
struct local_drm_mode_fb_cmd2 f = {};
- int gen;
+ igt_display_t display;
igt_fixture {
+ igt_display_require(&display, fd);
+
gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
DRM_FORMAT_XRGB8888, 0, 0, NULL, NULL, NULL);
igt_assert(gem_bo);
@@ -627,8 +621,8 @@ static void addfb25_ytile(int fd)
f.modifier[0] = LOCAL_I915_FORMAT_MOD_Y_TILED;
igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) ==
- addfb_expected_ret(fd, f.modifier[0]));
- if (!addfb_expected_ret(fd, f.modifier[0]))
+ addfb_expected_ret(&display, &f));
+ if (!addfb_expected_ret(&display, &f))
igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_RMFB, &f.fb_id) == 0);
f.fb_id = 0;
}
@@ -640,8 +634,8 @@ static void addfb25_ytile(int fd)
f.modifier[0] = LOCAL_I915_FORMAT_MOD_Yf_TILED;
igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) ==
- addfb_expected_ret(fd, f.modifier[0]));
- if (!addfb_expected_ret(fd, f.modifier[0]))
+ addfb_expected_ret(&display, &f));
+ if (!addfb_expected_ret(&display, &f))
igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_RMFB, &f.fb_id) == 0);
f.fb_id = 0;
}
@@ -651,12 +645,10 @@ static void addfb25_ytile(int fd)
igt_require_fb_modifiers(fd);
igt_require_intel(fd);
- gen = intel_gen(intel_get_drm_devid(fd));
- igt_require(gen >= 9);
-
f.modifier[0] = LOCAL_I915_FORMAT_MOD_Y_TILED;
f.height = 1023;
f.handles[0] = gem_bo_small;
+ igt_require(addfb_expected_ret(&display, &f) == 0);
igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) < 0 && errno == EINVAL);
f.fb_id = 0;
}
@@ -664,6 +656,7 @@ static void addfb25_ytile(int fd)
igt_fixture {
gem_close(fd, gem_bo);
gem_close(fd, gem_bo_small);
+ igt_display_fini(&display);
}
}