[igt-dev] [PATCH i-g-t v2 3/4] test/kms_frontbuffer_tracking: Fix multidraw test

José Roberto de Souza jose.souza at intel.com
Tue Sep 7 18:01:29 UTC 2021


Multidraw tests was not notifying driver about the area it uses
blitter to pain the primary background color between drawing methods.
Without this notification driver will not update pipe and the CRC will
not update causing the tests fail due a CRC mismatch.

All the other callers of fill_fb_region() are safe, doing a page flip
or a atomic commit afterwards.

Reviewed-by: Gwan-gyeong Mun <gwan-gyeong.mun at intel.com>
Cc: Gwan-gyeong Mun <gwan-gyeong.mun at intel.com>
Signed-off-by: José Roberto de Souza <jose.souza at intel.com>
---
 tests/kms_frontbuffer_tracking.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c
index 496718e2a..574048537 100644
--- a/tests/kms_frontbuffer_tracking.c
+++ b/tests/kms_frontbuffer_tracking.c
@@ -1123,6 +1123,17 @@ static void fill_fb_region(struct fb_region *region, enum color ecolor)
 			 color);
 }
 
+static void _fb_dirty_ioctl(struct fb_region *region)
+{
+	struct rect rect;
+
+	rect.x = region->x;
+	rect.y = region->y;
+	rect.w = region->w;
+	rect.h = region->h;
+	fb_dirty_ioctl(region, &rect);
+}
+
 static void unset_all_crtcs(void)
 {
 	igt_display_reset(&drm.display);
@@ -2122,6 +2133,7 @@ static void multidraw_subtest(const struct test_mode *t)
 			}
 
 			fill_fb_region(target, COLOR_PRIM_BG);
+			_fb_dirty_ioctl(target);
 
 			update_wanted_crc(t, &blue_crcs[t->format].crc);
 			do_assertions(ASSERT_NO_ACTION_CHANGE);
-- 
2.33.0



More information about the igt-dev mailing list