[Intel-gfx] [PATCH 08/22] flip_test: move output panning inside the flip_handler

Imre Deak imre.deak at intel.com
Tue Oct 16 16:34:42 CEST 2012


Move the panning to a more logical place where the rest of the test
steps are performed. This won't change things in practice, since the
first thing drmHandleEvent does is call the flip_handler.

Signed-off-by: Imre Deak <imre.deak at intel.com>
---
 tests/flip_test.c |   29 ++++++++++++++---------------
 1 file changed, 14 insertions(+), 15 deletions(-)

diff --git a/tests/flip_test.c b/tests/flip_test.c
index 06768a4..0825cda 100644
--- a/tests/flip_test.c
+++ b/tests/flip_test.c
@@ -218,6 +218,20 @@ static void page_flip_handler(int fd, unsigned int frame, unsigned int sec,
 		}
 	}
 
+	/* pan before the flip completes */
+	if (o->flags & TEST_PAN) {
+		int x_ofs = o->count * 10 > o->mode.hdisplay ?
+			    o->mode.hdisplay : o->count * 10;
+
+		if (drmModeSetCrtc(drm_fd, o->crtc, o->fb_ids[o->current_fb_id],
+				   x_ofs, 0, &o->id, 1, &o->mode)) {
+			fprintf(stderr, "failed to pan (%dx%d@%dHz): %s\n",
+				o->fb_width, o->fb_height,
+				o->mode.vrefresh, strerror(errno));
+			exit(7);
+		}
+	}
+
 	if (o->flags & TEST_WITH_DUMMY_LOAD)
 		emit_dummy_load(o);
 
@@ -481,21 +495,6 @@ static void flip_mode(struct test_output *o, int crtc, int duration)
 			break;
 		}
 
-		/* pan before the flip completes */
-		if (o->flags & TEST_PAN) {
-			int x_ofs = o->count * 10 > o->mode.hdisplay ? o->mode.hdisplay :
-				o->count * 10;
-
-			if (drmModeSetCrtc(drm_fd, o->crtc, o->fb_ids[o->current_fb_id],
-					   x_ofs, 0,
-					   &o->id, 1, &o->mode)) {
-				fprintf(stderr, "failed to pan (%dx%d@%dHz): %s\n",
-					o->fb_width, o->fb_height,
-					o->mode.vrefresh, strerror(errno));
-				exit(7);
-			}
-		}
-
 		ret = drmHandleEvent(drm_fd, &evctx);
 		assert(ret == 0);
 	}
-- 
1.7.9.5




More information about the Intel-gfx mailing list