public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Imre Deak <imre.deak@intel.com>
To: igt-dev@lists.freedesktop.org
Subject: [igt-dev] [PATCH v3 6/8] tests/kms_frontbuffer_tracking: Skip GTT subtests on platforms w/o aperture
Date: Wed, 12 Feb 2020 23:50:35 +0200	[thread overview]
Message-ID: <20200212215036.27407-2-imre.deak@intel.com> (raw)
In-Reply-To: <20200211023108.25369-6-imre.deak@intel.com>

Subtests that draw through a GTT mapping are not relevent on a platform w/o
GTT aperture, so skip them.

basic_subtest() so far expected that each method drew a new rectangle to
the FB (see the pattern::frames_stack flag), so fix up things allowing
the skip now.

v2:
- Remove the check for aperture where it's not relevant, or where it
  would skip the test incorrectly (badformat_subtest()).
v3:
- Don't skip the whole subtest where multiple draw methods are used.
  (Ashutosh).

Cc: Ashutosh Dixit <ashutosh.dixit@intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com> (v2)
---
 tests/kms_frontbuffer_tracking.c | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c
index 724f5d16c..c4b4af43a 100644
--- a/tests/kms_frontbuffer_tracking.c
+++ b/tests/kms_frontbuffer_tracking.c
@@ -1934,6 +1934,9 @@ static void draw_subtest(const struct test_mode *t)
 	struct modeset_params *params = pick_params(t);
 	struct fb_region *target;
 
+	igt_skip_on(t->method == IGT_DRAW_MMAP_GTT &&
+		    !gem_has_mappable_ggtt(drm.fd));
+
 	switch (t->screen) {
 	case SCREEN_PRIM:
 		if (t->method != IGT_DRAW_MMAP_GTT && t->plane == PLANE_PRI)
@@ -2032,6 +2035,12 @@ static void multidraw_subtest(const struct test_mode *t)
 			igt_debug("Methods %s and %s\n",
 				  igt_draw_get_method_name(m1),
 				  igt_draw_get_method_name(m2));
+
+			if ((m1 == IGT_DRAW_MMAP_GTT ||
+			     m2 == IGT_DRAW_MMAP_GTT) &&
+			    !gem_has_mappable_ggtt(drm.fd))
+				continue;
+
 			for (r = 0; r < pattern->n_rects; r++) {
 				used_method = (r % 2 == 0) ? m1 : m2;
 
@@ -2276,6 +2285,9 @@ static void flip_subtest(const struct test_mode *t)
 	struct draw_pattern_info *pattern = &pattern1;
 	enum color bg_color;
 
+	igt_skip_on(t->method == IGT_DRAW_MMAP_GTT &&
+		    !gem_has_mappable_ggtt(drm.fd));
+
 	switch (t->screen) {
 	case SCREEN_PRIM:
 		assertions |= ASSERT_LAST_ACTION_CHANGED;
@@ -2335,6 +2347,9 @@ static void fliptrack_subtest(const struct test_mode *t, enum flip_type type)
 	struct modeset_params *params = pick_params(t);
 	struct draw_pattern_info *pattern = &pattern1;
 
+	igt_skip_on(t->method == IGT_DRAW_MMAP_GTT &&
+		    !gem_has_mappable_ggtt(drm.fd));
+
 	prepare_subtest(t, pattern);
 
 	create_fb(t->format, params->primary.fb->width, params->primary.fb->height,
@@ -2744,6 +2759,9 @@ static void farfromfence_subtest(const struct test_mode *t)
 	int max_height, assertions = 0;
 	int gen = intel_gen(intel_get_drm_devid(drm.fd));
 
+	igt_skip_on(t->method == IGT_DRAW_MMAP_GTT &&
+		    !gem_has_mappable_ggtt(drm.fd));
+
 	switch (gen) {
 	case 2:
 		max_height = 2048;
@@ -3024,7 +3042,11 @@ static void basic_subtest(const struct test_mode *t)
 		  opt.tiling, t->plane, &fb2);
 	fb1 = params->primary.fb;
 
-	for (r = 0, method = 0; method < IGT_DRAW_METHOD_COUNT; method++, r++) {
+	for (r = 0, method = 0; method < IGT_DRAW_METHOD_COUNT; method++) {
+		if (method == IGT_DRAW_MMAP_GTT &&
+		    !gem_has_mappable_ggtt(drm.fd))
+			continue;
+
 		if (r == pattern->n_rects) {
 			params->primary.fb = (params->primary.fb == fb1) ? &fb2 : fb1;
 
@@ -3040,6 +3062,8 @@ static void basic_subtest(const struct test_mode *t)
 		draw_rect(pattern, &params->primary, method, r);
 		update_wanted_crc(t, &pattern->crcs[t->format][r]);
 		do_assertions(assertions);
+
+		r++;
 	}
 
 	igt_remove_fb(drm.fd, &fb2);
-- 
2.23.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

  parent reply	other threads:[~2020-02-12 21:51 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-11  2:31 [igt-dev] [PATCH v2 1/8] lib/igt_draw: Refactor get_tiling calls Imre Deak
2020-02-11  2:31 ` [igt-dev] [PATCH v2 2/8] tests/kms_frontbuffer_tracking: Skip set tiling calls if not supported Imre Deak
2020-02-11  2:31 ` [igt-dev] [PATCH v2 3/8] tests/kms_available_modes_crc: Don't set tiling for framebuffer Imre Deak
2020-02-11 20:15   ` Dixit, Ashutosh
2020-02-11 20:42     ` Imre Deak
2020-02-11 22:35       ` Dixit, Ashutosh
2020-02-11  2:31 ` [igt-dev] [PATCH v2 4/8] tests/kms_draw_crc: Skip GTT subtests on platforms w/o aperture Imre Deak
2020-02-12  0:17   ` Dixit, Ashutosh
2020-02-12  2:41     ` Dixit, Ashutosh
2020-02-12  2:49       ` Dixit, Ashutosh
2020-02-11  2:31 ` [igt-dev] [PATCH v2 5/8] tests/kms_draw_crc: Fix generating reference CRCs " Imre Deak
2020-02-11 15:34   ` Matt Roper
2020-02-12  0:29   ` Dixit, Ashutosh
2020-02-12 10:23     ` Imre Deak
2020-02-12 16:57       ` Imre Deak
2020-02-12 21:50   ` [igt-dev] [PATCH v3 " Imre Deak
2020-02-13  4:20     ` Dixit, Ashutosh
2020-02-13  8:09       ` Imre Deak
2020-02-11  2:31 ` [igt-dev] [PATCH v2 6/8] tests/kms_frontbuffer_tracking: Skip GTT subtests " Imre Deak
2020-02-11 15:45   ` Matt Roper
2020-02-11 15:53     ` Imre Deak
2020-02-12  5:45   ` Dixit, Ashutosh
2020-02-12 17:01     ` Imre Deak
2020-02-12 21:50   ` Imre Deak [this message]
2020-02-13  4:34     ` [igt-dev] [PATCH v3 " Dixit, Ashutosh
2020-02-11  2:31 ` [igt-dev] [PATCH v2 7/8] lib/igt_draw: Fix igt_draw_fill_fb() " Imre Deak
2020-02-12  3:48   ` Dixit, Ashutosh
2020-02-12 21:50   ` [igt-dev] [PATCH v3 " Imre Deak
2020-02-13  4:22     ` Dixit, Ashutosh
2020-02-11  2:31 ` [igt-dev] [PATCH v2 8/8] lib/igt_fb: Make sure tiled YUV framebuffers are fully cleared Imre Deak
2020-02-11  3:21 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [v2,1/8] lib/igt_draw: Refactor get_tiling calls Patchwork
2020-02-11 15:33 ` [igt-dev] [PATCH v2 1/8] " Matt Roper
2020-02-12 16:46 ` [igt-dev] ✓ Fi.CI.IGT: success for series starting with [v2,1/8] " Patchwork
2020-02-13  8:26   ` Imre Deak
2020-02-12 22:36 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [v2,1/8] lib/igt_draw: Refactor get_tiling calls (rev4) Patchwork
2020-02-15 17:55 ` [igt-dev] ✓ Fi.CI.IGT: " 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=20200212215036.27407-2-imre.deak@intel.com \
    --to=imre.deak@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    /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