summaryrefslogtreecommitdiff
path: root/tests/flip_test.c
diff options
context:
space:
mode:
authorImre Deak <imre.deak@intel.com>2012-10-16 05:50:22 +0300
committerImre Deak <imre.deak@intel.com>2012-10-16 19:34:28 +0300
commit161e525fd8d3a1617818c5acdee4b3be6d0a1bf0 (patch)
tree13a799c3272fcca17b142abe5f6d23685b7c79ff /tests/flip_test.c
parentc96d18a994798ca2caccda4eeb4773966b4a87da (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.c29
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);