summaryrefslogtreecommitdiff
path: root/tests/kms_frontbuffer_tracking.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/kms_frontbuffer_tracking.c')
-rw-r--r--tests/kms_frontbuffer_tracking.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c
index bd7f6f68..02ccbeb4 100644
--- a/tests/kms_frontbuffer_tracking.c
+++ b/tests/kms_frontbuffer_tracking.c
@@ -2077,6 +2077,7 @@ static void multidraw_subtest(const struct test_mode *t)
struct modeset_params *params = pick_params(t);
struct fb_region *target;
enum igt_draw_method m1, m2, used_method;
+ bool wc_used = false;
switch (t->plane) {
case PLANE_PRI:
@@ -2106,6 +2107,17 @@ static void multidraw_subtest(const struct test_mode *t)
igt_draw_get_method_name(used_method));
draw_rect(pattern, target, used_method, r);
+
+ if (used_method == IGT_DRAW_MMAP_WC)
+ wc_used = true;
+
+ if (used_method == IGT_DRAW_MMAP_GTT &&
+ wc_used) {
+ struct rect rect =
+ pattern->get_rect(target, r);
+ fb_dirty_ioctl(target, &rect);
+ }
+
update_wanted_crc(t,
&pattern->crcs[t->format][r]);