diff options
Diffstat (limited to 'tests/kms_frontbuffer_tracking.c')
-rw-r--r-- | tests/kms_frontbuffer_tracking.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c index 276ef83c..5ab28319 100644 --- a/tests/kms_frontbuffer_tracking.c +++ b/tests/kms_frontbuffer_tracking.c @@ -1551,9 +1551,11 @@ static void do_flush(const struct test_mode *t) #define DRRS_ASSERT_FLAGS (7 << 8) #define ASSERT_DRRS_HIGH (1 << 8) -#define ASSERT_DRRS_LOW (1 << 9) +#define ASSERT_DRRS_LOW (1 << 9) #define ASSERT_DRRS_INACTIVE (1 << 10) +#define ASSERT_NO_IDLE_GPU (1 << 11) + static int adjust_assertion_flags(const struct test_mode *t, int flags) { if (!(flags & DONT_ASSERT_FEATURE_STATUS)) { @@ -1642,6 +1644,10 @@ static void __do_assertions(const struct test_mode *t, int flags, { flags = adjust_assertion_flags(t, flags); + /* Make sure any submitted rendering is now idle. */ + if (!(flags & ASSERT_NO_IDLE_GPU)) + gem_quiescent_gpu(drm.fd); + igt_debug("checking asserts in line %i\n", line); wait_user(2, "Paused before assertions."); @@ -2691,7 +2697,7 @@ static void modesetfrombusy_subtest(const struct test_mode *t) params->primary.fb = &fb2; set_mode_for_params(params); - do_assertions(0); + do_assertions(ASSERT_NO_IDLE_GPU); stop_busy_thread(); |