From 97b9b176682a24b9d4c31bdfb2a4a51decfbf013 Mon Sep 17 00:00:00 2001 From: Derek Foreman Date: Tue, 26 May 2015 12:00:49 -0500 Subject: [PATCH] internal-screenshot-test: Fix endian problem Use bit-shifts to properly generate pixel data. Signed-off-by: Derek Foreman Reviewed-by: Pekka Paalanen --- tests/internal-screenshot-test.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/tests/internal-screenshot-test.c b/tests/internal-screenshot-test.c index 1db0722a..f0bf587c 100644 --- a/tests/internal-screenshot-test.c +++ b/tests/internal-screenshot-test.c @@ -184,16 +184,19 @@ capture_screenshot_of_output(struct client *client) { } static void -draw_stuff(char *pixels, int w, int h) +draw_stuff(void *pixels, int w, int h) { int x, y; + uint8_t r, g, b; + uint32_t *pixel; for (x = 0; x < w; x++) for (y = 0; y < h; y++) { - pixels[y * w * 4 + x * 4] = x; - pixels[y * w * 4 + x * 4 + 1] = x + y; - pixels[y * w * 4 + x * 4 + 2] = y; - pixels[y * w * 4 + x * 4 + 3] = 255; + b = x; + g = x + y; + r = y; + pixel = (uint32_t *)pixels + y * w + x; + *pixel = (255 << 24) | (r << 16) | (g << 8) | b; } }