diff options
author | Imre Deak <imre.deak@intel.com> | 2012-10-16 05:50:22 +0300 |
---|---|---|
committer | Imre Deak <imre.deak@intel.com> | 2012-10-16 19:34:28 +0300 |
commit | 161e525fd8d3a1617818c5acdee4b3be6d0a1bf0 (patch) | |
tree | 13a799c3272fcca17b142abe5f6d23685b7c79ff /tests/flip_test.c | |
parent | c96d18a994798ca2caccda4eeb4773966b4a87da (diff) |
flip_test: factor out the final state check
Needed by an upcoming patch where we want to make a final state check
for both the flip and vblank events.
No functional change.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Diffstat (limited to 'tests/flip_test.c')
-rw-r--r-- | tests/flip_test.c | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/tests/flip_test.c b/tests/flip_test.c index 54938bd..e3d99a2 100644 --- a/tests/flip_test.c +++ b/tests/flip_test.c @@ -404,6 +404,22 @@ fb_is_bound(struct test_output *o, int fb) return mode.mode_valid && mode.fb_id == fb; } +static void check_final_state(struct test_output *o, unsigned int ellapsed) +{ + /* Verify we drop no frames, but only if it's not a TV encoder, since + * those use some funny fake timings behind userspace's back. */ + if (o->flags & TEST_CHECK_TS && !analog_tv_connector(o)) { + int expected; + + expected = ellapsed * o->mode.vrefresh / (1000 * 1000); + if (o->count < expected * 99/100) { + fprintf(stderr, "dropped frames, expected %d, counted %d, encoder type %d\n", + expected, o->count, o->encoder->encoder_type); + exit(3); + } + } +} + static void wait_for_events(struct test_output *o) { drmEventContext evctx; @@ -524,18 +540,7 @@ static void flip_mode(struct test_output *o, int crtc, int duration) ellapsed = event_loop(o, duration); - /* Verify we drop no frames, but only if it's not a TV encoder, since - * those use some funny fake timings behind userspace's back. */ - if (o->flags & TEST_CHECK_TS && !analog_tv_connector(o)) { - int expected; - - expected = ellapsed * o->mode.vrefresh / (1000 * 1000); - if (o->count < expected * 99/100) { - fprintf(stderr, "dropped frames, expected %d, counted %d, encoder type %d\n", - expected, o->count, o->encoder->encoder_type); - exit(3); - } - } + check_final_state(o, ellapsed); fprintf(stdout, "\npage flipping on crtc %d, connector %d: PASSED\n", crtc, o->id); |