Since later we want to add vblank tests where we don't want to flip,
make the flips and corresponding state checks conditional.

No functional change.

Signed-off-by: Imre Deak <imre.d...@intel.com>
---
 tests/flip_test.c |   33 ++++++++++++++++++++-------------
 1 file changed, 20 insertions(+), 13 deletions(-)

diff --git a/tests/flip_test.c b/tests/flip_test.c
index a0c1e5d..45bd9e5 100644
--- a/tests/flip_test.c
+++ b/tests/flip_test.c
@@ -48,6 +48,7 @@
 #define TEST_CHECK_TS          (1 << 4)
 #define TEST_EBUSY             (1 << 5)
 #define TEST_EINVAL            (1 << 6)
+#define TEST_FLIP              (1 << 7)
 
 drmModeRes *resources;
 int drm_fd;
@@ -251,7 +252,8 @@ static void check_state(struct test_output *o, struct 
event_state *es)
 
 static void check_all_state(struct test_output *o)
 {
-       check_state(o, &o->flip_state);
+       if (o->flags & TEST_FLIP)
+               check_state(o, &o->flip_state);
 }
 
 static void run_test_step(struct test_output *o)
@@ -259,6 +261,9 @@ static void run_test_step(struct test_output *o)
        unsigned int new_fb_id;
        /* for funny reasons page_flip returns -EBUSY on disabled crtcs ... */
        int expected_einval = o->flags & TEST_MODESET ? -EBUSY : -EINVAL;
+       bool do_flip;
+
+       do_flip = o->flags & TEST_FLIP;
 
        /* pan before the flip completes */
        if (o->flags & TEST_PAN) {
@@ -282,7 +287,7 @@ static void run_test_step(struct test_output *o)
        o->current_fb_id = !o->current_fb_id;
        new_fb_id = o->fb_ids[o->current_fb_id];
 
-       if ((o->flags & TEST_EINVAL) && o->flip_state.count > 0)
+       if (do_flip && (o->flags & TEST_EINVAL) && o->flip_state.count > 0)
                assert(do_page_flip(o, new_fb_id) == expected_einval);
 
        if (o->flags & TEST_MODESET) {
@@ -301,9 +306,10 @@ static void run_test_step(struct test_output *o)
 
        printf("."); fflush(stdout);
 
-       do_or_die(do_page_flip(o, new_fb_id));
+       if (do_flip)
+               do_or_die(do_page_flip(o, new_fb_id));
 
-       if (o->flags & TEST_EBUSY)
+       if (do_flip && (o->flags & TEST_EBUSY))
                assert(do_page_flip(o, new_fb_id) == -EBUSY);
 
        if (o->flags & TEST_DPMS)
@@ -320,7 +326,7 @@ static void run_test_step(struct test_output *o)
                }
        }
 
-       if (o->flags & TEST_EINVAL)
+       if (do_flip && (o->flags & TEST_EINVAL))
                assert(do_page_flip(o, new_fb_id) == expected_einval);
 }
 
@@ -593,7 +599,8 @@ static void flip_mode(struct test_output *o, int duration)
 
        ellapsed = event_loop(o, duration);
 
-       check_final_state(o, &o->flip_state, ellapsed);
+       if (o->flags & TEST_FLIP)
+               check_final_state(o, &o->flip_state, ellapsed);
 
        fprintf(stdout, "\n%s on crtc %d, connector %d: PASSED\n\n",
                o->test_name, crtc, o->id);
@@ -642,13 +649,13 @@ int main(int argc, char **argv)
                int flags;
                const char *name;
        } tests[] = {
-               { 15, TEST_CHECK_TS | TEST_EBUSY , "plain flip" },
-               { 30, TEST_DPMS | TEST_EINVAL, "flip vs dpms" },
-               { 30, TEST_DPMS | TEST_WITH_DUMMY_LOAD, "delayed flip vs. dpms" 
},
-               { 5, TEST_PAN, "flip vs panning" },
-               { 30, TEST_PAN | TEST_WITH_DUMMY_LOAD, "delayed flip vs 
panning" },
-               { 30, TEST_MODESET | TEST_EINVAL, "flip vs modeset" },
-               { 30, TEST_MODESET | TEST_WITH_DUMMY_LOAD, "delayed flip vs 
modeset" },
+               { 15, TEST_FLIP | TEST_CHECK_TS | TEST_EBUSY , "plain flip" },
+               { 30, TEST_FLIP | TEST_DPMS | TEST_EINVAL, "flip vs dpms" },
+               { 30, TEST_FLIP | TEST_DPMS | TEST_WITH_DUMMY_LOAD, "delayed 
flip vs dpms" },
+               { 5,  TEST_FLIP | TEST_PAN, "flip vs panning" },
+               { 30, TEST_FLIP | TEST_PAN | TEST_WITH_DUMMY_LOAD, "delayed 
flip vs panning" },
+               { 30, TEST_FLIP | TEST_MODESET | TEST_EINVAL, "flip vs modeset" 
},
+               { 30, TEST_FLIP | TEST_MODESET | TEST_WITH_DUMMY_LOAD, "delayed 
flip vs modeset" },
        };
        int i;
 
-- 
1.7.9.5

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to