From: Damien Lespiau Date: Wed, 4 Sep 2013 11:12:37 +0000 (+0100) Subject: testdisplay: Map the fb inside paint_color_key() X-Git-Tag: intel-gpu-tools-1.5~151 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5a1d84300ba31bec08c05db7d1c602c80e932021;p=profile%2Fextras%2Fintel-gpu-tools.git testdisplay: Map the fb inside paint_color_key() So the code for this is self-contained. This goes along the way of reducing the number of global variables in testdisplay. Take the opportunity to unmap the fb after use as well. Signed-off-by: Damien Lespiau --- diff --git a/tests/testdisplay.c b/tests/testdisplay.c index c3a0d04..3d696a0 100644 --- a/tests/testdisplay.c +++ b/tests/testdisplay.c @@ -82,7 +82,6 @@ unsigned int plane_crtc_id; unsigned int plane_id; int plane_width, plane_height; static const uint32_t SPRITE_COLOR_KEY = 0x00aaaaaa; -uint32_t *fb_ptr; /* * Mode setting with the kernel interfaces is a bit of a chore. @@ -213,6 +212,11 @@ static void paint_color_key(struct kmstest_fb *fb_info) { int i, j; + uint32_t *fb_ptr; + + fb_ptr = gem_mmap(drm_fd, fb_info->gem_handle, + fb_info->size, PROT_READ | PROT_WRITE); + igt_assert(fb_ptr); for (i = crtc_y; i < crtc_y + crtc_h; i++) for (j = crtc_x; j < crtc_x + crtc_w; j++) { @@ -221,6 +225,8 @@ paint_color_key(struct kmstest_fb *fb_info) offset = (i * fb_info->stride / 4) + j; fb_ptr[offset] = SPRITE_COLOR_KEY; } + + munmap(fb_ptr, fb_info->size); } static void paint_image(cairo_t *cr, const char *file) @@ -358,10 +364,6 @@ set_mode(struct connector *c) fb_id = kmstest_create_fb(drm_fd, width, height, bpp, depth, enable_tiling, &fb_info); paint_output_info(c, &fb_info); - - fb_ptr = gem_mmap(drm_fd, fb_info.gem_handle, - fb_info.size, PROT_READ | PROT_WRITE); - igt_assert(fb_ptr); paint_color_key(&fb_info); gem_close(drm_fd, fb_info.gem_handle);