From: Jeevan B <jeevan.b@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: juha-pekka.heikkila@intel.com
Subject: [igt-dev] [PATCH i-g-t v2 4/4] tests/kms_getfb: Add flat ccs modifier support
Date: Wed, 20 Apr 2022 16:09:09 +0530 [thread overview]
Message-ID: <20220420103909.17175-5-jeevan.b@intel.com> (raw)
In-Reply-To: <20220420103909.17175-1-jeevan.b@intel.com>
From: Juha-Pekka Heikkilä <juha-pekka.heikkila@intel.com>
Add support for testing/skipping flat ccs modifiers
Signed-off-by: Juha-Pekka Heikkilä <juha-pekka.heikkila@intel.com>
Signed-off-by: Jeevan B <jeevan.b@intel.com>
---
tests/kms_getfb.c | 20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/tests/kms_getfb.c b/tests/kms_getfb.c
index 75f5f30c..b3a8d265 100644
--- a/tests/kms_getfb.c
+++ b/tests/kms_getfb.c
@@ -88,11 +88,18 @@ static void get_ccs_fb(int fd, struct drm_mode_fb_cmd2 *ret)
.flags = DRM_MODE_FB_MODIFIERS,
};
int size;
+ uint32_t devid;
igt_require(has_addfb2_iface(fd));
igt_require_intel(fd);
+ devid = intel_get_drm_devid(fd);
- if ((intel_display_ver(intel_get_drm_devid(fd))) >= 12) {
+ if (HAS_FLATCCS(devid)) {
+ add.modifier[0] = I915_FORMAT_MOD_4_TILED_DG2_RC_CCS;
+ add.pitches[0] = ALIGN(add.width * 4, 4 * 512);
+ size = add.pitches[0] * ALIGN(add.height, 8);
+ size = ALIGN(size, 4096);
+ } else if ((intel_display_ver(devid)) >= 12) {
add.modifier[0] = I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS;
add.modifier[1] = I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS;
@@ -130,7 +137,9 @@ static void get_ccs_fb(int fd, struct drm_mode_fb_cmd2 *ret)
add.handles[0] = gem_buffer_create_fb_obj(fd, size);
igt_require(add.handles[0] != 0);
- add.handles[1] = add.handles[0];
+
+ if (!HAS_FLATCCS(intel_get_drm_devid(fd)))
+ add.handles[1] = add.handles[0];
if (drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &add) == 0)
*ret = add;
@@ -256,6 +265,9 @@ static void test_duplicate_handles(int fd)
struct drm_mode_fb_cmd2 add_ccs = { };
struct drm_mode_fb_cmd get = { };
+ igt_require_f(!HAS_FLATCCS(intel_get_drm_devid(fd)),
+ "skip because flat ccs has only one buffer.\n");
+
get_ccs_fb(fd, &add_ccs);
igt_require(add_ccs.handles[0] != 0);
get.fb_id = add_ccs.fb_id;
@@ -350,7 +362,9 @@ static void test_getfb2(int fd)
igt_assert_eq_u64(get.modifier[i], 0);
}
}
- igt_assert_eq_u32(get.handles[0], get.handles[1]);
+
+ if (!HAS_FLATCCS(intel_get_drm_devid(fd)))
+ igt_assert_eq_u32(get.handles[0], get.handles[1]);
do_ioctl(fd, DRM_IOCTL_MODE_RMFB, &get.fb_id);
gem_close(fd, add_ccs.handles[0]);
--
2.35.1
next prev parent reply other threads:[~2022-04-20 10:39 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-20 10:39 [igt-dev] [PATCH i-g-t v2 0/4] enable 4-tiled ccs modifiers on dg2 Jeevan B
2022-04-20 10:39 ` [igt-dev] [PATCH i-g-t v2 1/4] drm/fourcc: Import drm_fourcc header from 9035039e1ed69 Jeevan B
2022-04-20 10:39 ` [igt-dev] [PATCH i-g-t v2 2/4] lib/DG2: create flat ccs framebuffers with 4-tile Jeevan B
2022-05-13 8:47 ` Kahola, Mika
2022-04-20 10:39 ` [igt-dev] [PATCH i-g-t v2 3/4] tests/kms_ccs: Add dg2 tiled-4 ccs modifiers Jeevan B
2022-04-20 11:44 ` Petri Latvala
2022-04-20 10:39 ` Jeevan B [this message]
2022-04-20 11:50 ` [igt-dev] ✗ Fi.CI.BAT: failure for enable 4-tiled ccs modifiers on dg2 (rev2) Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220420103909.17175-5-jeevan.b@intel.com \
--to=jeevan.b@intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=juha-pekka.heikkila@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox