summaryrefslogtreecommitdiff
path: root/tests/kms_addfb_basic.c
diff options
context:
space:
mode:
authorJeevan B <jeevan.b@intel.com>2022-03-24 11:43:08 +0530
committerKunal Joshi <kunal1.joshi@intel.com>2022-03-24 11:43:08 +0530
commit7cffd46dd527b186f512bc302b0c2a859e04d484 (patch)
tree36a88c2115b9419f89a846e85230db1898d48738 /tests/kms_addfb_basic.c
parent47ee0749ef2564c30260979be9c041f189f7e820 (diff)
tests/kms_addfb_basic: Add support for Tile4 format
X-Patchwork-Id: 478682 Message-Id: <20220317205414.13668-3-jeevan.b@intel.com> To: igt-dev@lists.freedesktop.org Date: Fri, 18 Mar 2022 02:24:12 +0530 Adding subtest to test new tiling format Signed-off-by: Jeevan B <jeevan.b@intel.com> Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Diffstat (limited to 'tests/kms_addfb_basic.c')
-rw-r--r--tests/kms_addfb_basic.c46
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c
index b7b3b0f2..6b2323a9 100644
--- a/tests/kms_addfb_basic.c
+++ b/tests/kms_addfb_basic.c
@@ -676,6 +676,50 @@ static void addfb25_ytile(int fd)
}
}
+static void addfb25_4tile(int fd)
+{
+ struct drm_mode_fb_cmd2 f = {};
+ 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);
+
+ memset(&f, 0, sizeof(f));
+
+ f.width = 1024;
+ f.height = 1024;
+ f.pixel_format = DRM_FORMAT_XRGB8888;
+ f.pitches[0] = 1024*4;
+ f.flags = DRM_MODE_FB_MODIFIERS;
+ f.modifier[0] = DRM_FORMAT_MOD_LINEAR;
+
+ f.handles[0] = gem_bo;
+
+ }
+
+ igt_describe("Check if addfb2 call works for tiling-4");
+ igt_subtest("addfb25-4-tiled") {
+ igt_require_fb_modifiers(fd);
+ igt_require_intel(fd);
+
+ f.modifier[0] = I915_FORMAT_MOD_4_TILED;
+ igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) ==
+ 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;
+ }
+
+ igt_fixture {
+ gem_close(fd, gem_bo);
+ igt_display_fini(&display);
+ }
+}
+
static void prop_tests(int fd)
{
struct drm_mode_fb_cmd2 f = {};
@@ -826,6 +870,8 @@ igt_main
addfb25_ytile(fd);
+ addfb25_4tile(fd);
+
tiling_tests(fd);
prop_tests(fd);