Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Michał Grzelak" <michal.grzelak@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: nemesa.garg@intel.com, mohammed.thasleem@intel.com,
	karthik.b.s@intel.com,
	"Michał Grzelak" <michal.grzelak@intel.com>
Subject: [PATCH i-g-t v2 06/16] tests/kms_frontbuffer_tracking: remove TEST_MODE_ITER_BEGIN() from `fliptrack`
Date: Sat,  8 Aug 2026 00:47:36 +0200	[thread overview]
Message-ID: <20260807224746.3554064-7-michal.grzelak@intel.com> (raw)
In-Reply-To: <20260807224746.3554064-1-michal.grzelak@intel.com>

igt@kms_frontbuffer_tracking uses TEST_MODE_ITER_BEGIN(t) which consists
of nested for loops. However many loops can be omitted due to continue
statements. This obfuscates following the execution of any given
codepath. Replace TEST_MODE_ITER_BEGIN(t) for fliptrack tests with macro
definition and remove loops that are skipped.

v1->v2
- indent for-loops (Mohammed)

Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
 tests/intel/kms_frontbuffer_tracking.c | 44 ++++++++++++++++----------
 1 file changed, 28 insertions(+), 16 deletions(-)

diff --git a/tests/intel/kms_frontbuffer_tracking.c b/tests/intel/kms_frontbuffer_tracking.c
index 406018c88a..6266297553 100644
--- a/tests/intel/kms_frontbuffer_tracking.c
+++ b/tests/intel/kms_frontbuffer_tracking.c
@@ -4482,23 +4482,35 @@ int igt_main_args("", long_options, help_str, opt_handler, NULL)
 			}
 	TEST_MODE_ITER_END
 
-	TEST_MODE_ITER_BEGIN(t)
-		if (t.plane != PLANE_PRI ||
-		    t.screen != SCREEN_PRIM ||
-		    t.method != IGT_DRAW_MMAP_GTT ||
-		    (t.feature & FEATURE_FBC) == 0)
-			continue;
+	t.format = FORMAT_DEFAULT;
+	t.flip = FLIP_PAGEFLIP;
+	t.tiling = opt.tiling;
+	t.plane = PLANE_PRI;
+	t.screen = SCREEN_PRIM;
+	t.method = IGT_DRAW_MMAP_GTT;
 
-		igt_subtest_f("%s-%s-%s-fliptrack-%s",
-			      feature_str(t.feature),
-			      pipes_str(t.pipes),
-			      fbs_str(t.fbs),
-			      igt_draw_get_method_name(t.method))
-		{
-			igt_require(igt_draw_supports_method(drm.fd, t.method));
-			fliptrack_subtest(&t, FLIP_PAGEFLIP);
-		}
-	TEST_MODE_ITER_END
+	for (t.feature = 0; t.feature < FEATURE_COUNT; t.feature++) {
+		for (t.pipes = 0; t.pipes < PIPE_COUNT; t.pipes++) {
+			for (t.fbs = 0; t.fbs < FBS_COUNT; t.fbs++) {
+				if (!opt.show_hidden && t.feature == FEATURE_NONE)
+					continue;
+				if ((t.feature & FEATURE_PSR) && (t.feature & FEATURE_DRRS))
+					continue;
+				if ((t.feature & FEATURE_FBC) == 0)
+					continue;
+
+				igt_subtest_f("%s-%s-%s-fliptrack-%s",
+					      feature_str(t.feature),
+					      pipes_str(t.pipes),
+					      fbs_str(t.fbs),
+					      igt_draw_get_method_name(t.method))
+				{
+					igt_require(igt_draw_supports_method(drm.fd, t.method));
+					fliptrack_subtest(&t, FLIP_PAGEFLIP);
+				}
+					}
+			}
+	}
 
 	TEST_MODE_ITER_BEGIN(t)
 		if (t.screen == SCREEN_OFFSCREEN ||
-- 
2.45.2


  parent reply	other threads:[~2026-08-07 22:56 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-07 22:47 [PATCH i-g-t v2 00/16] tests: limiting suspend tests Michał Grzelak
2026-08-07 22:47 ` [PATCH i-g-t v2 01/16] lib/igt_aux: remove typos Michał Grzelak
2026-08-07 22:47 ` [PATCH i-g-t v2 02/16] lib/igt_kms: s/pipe/crtc/ Michał Grzelak
2026-08-07 22:47 ` [PATCH i-g-t v2 03/16] tests/kms_async_flips: split outer test loop into two Michał Grzelak
2026-08-07 22:47 ` [PATCH i-g-t v2 04/16] tests/kms_async_flips: limit S/R to first and last CRTC Michał Grzelak
2026-08-07 22:47 ` [PATCH i-g-t v2 05/16] tests/kms_frontbuffer_tracking: remove TEST_MODE_ITER_BEGIN() from `suspend` Michał Grzelak
2026-08-18  8:13   ` Thasleem, Mohammed
2026-08-07 22:47 ` Michał Grzelak [this message]
2026-08-18  8:23   ` [PATCH i-g-t v2 06/16] tests/kms_frontbuffer_tracking: remove TEST_MODE_ITER_BEGIN() from `fliptrack` Thasleem, Mohammed
2026-08-07 22:47 ` [PATCH i-g-t v2 07/16] tests/kms_pipe_crc_basic: limit #crtcs tested during suspend Michał Grzelak
2026-08-18  8:30   ` Thasleem, Mohammed
2026-08-07 22:47 ` [PATCH i-g-t v2 08/16] tests/kms_psr: limit #outputs " Michał Grzelak
2026-08-18  9:06   ` Thasleem, Mohammed
2026-08-07 22:47 ` [PATCH i-g-t v2 09/16] tests/kms_vblank: split outer test loop into two Michał Grzelak
2026-08-07 22:47 ` [PATCH i-g-t v2 10/16] tests/kms_vblank: limit #outputs tested during suspend Michał Grzelak
2026-08-07 22:47 ` [PATCH i-g-t v2 11/16] tests/kms_sharpness_filter: fix typo Michał Grzelak
2026-08-07 22:47 ` [PATCH i-g-t v2 12/16] tests/kms_sharpness_filter: limit #outputs tested during suspend Michał Grzelak
2026-08-07 22:47 ` [PATCH i-g-t v2 13/16] tests/kms_sharpness_filter: limit #crtcs " Michał Grzelak
2026-08-07 22:47 ` [PATCH i-g-t v2 14/16] tests/kms_ccs: split outer test loop into two Michał Grzelak
2026-08-07 22:47 ` [PATCH i-g-t v2 15/16] tests/kms_ccs: limit #outputs tested during suspend Michał Grzelak
2026-08-07 22:47 ` [PATCH i-g-t v2 16/16] tests/kms_ccs: limit #crtcs " Michał Grzelak
2026-08-08  7:17 ` ✓ Xe.CI.BAT: success for tests: limiting suspend tests Patchwork
2026-08-08  7:45 ` ✓ i915.CI.BAT: " Patchwork
2026-08-08 10:40 ` ✗ i915.CI.Full: failure " Patchwork
2026-08-08 13:49 ` ✗ Xe.CI.FULL: " 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=20260807224746.3554064-7-michal.grzelak@intel.com \
    --to=michal.grzelak@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=karthik.b.s@intel.com \
    --cc=mohammed.thasleem@intel.com \
    --cc=nemesa.garg@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