diff options
author | Jeevan B <jeevan.b@intel.com> | 2022-03-24 11:43:08 +0530 |
---|---|---|
committer | Kunal Joshi <kunal1.joshi@intel.com> | 2022-03-24 11:43:08 +0530 |
commit | 7cffd46dd527b186f512bc302b0c2a859e04d484 (patch) | |
tree | 36a88c2115b9419f89a846e85230db1898d48738 /tests/kms_addfb_basic.c | |
parent | 47ee0749ef2564c30260979be9c041f189f7e820 (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.c | 46 |
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); |