From: Søren Sandmann Pedersen Date: Thu, 24 May 2012 19:30:41 +0000 (-0400) Subject: test: Composite with solid images instead of using pixman_image_fill_* X-Git-Tag: pixman-0.26.0~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1e59e18d73a6e45729a99fe6ccc74d61631ff5f0;p=platform%2Fupstream%2Fpixman.git test: Composite with solid images instead of using pixman_image_fill_* There is a couple of places where the test suite uses the pixman_image_fill_* functions to initialize images. These functions can fail, and will do so if the "fast" implementation is disabled. So to make sure the test suite passes even using PIXMAN_DISABLE="fast", use pixman_image_composite32() with a solid image instead of pixman_image_fill_*. --- diff --git a/test/composite.c b/test/composite.c index 48bde9c..94b4825 100644 --- a/test/composite.c +++ b/test/composite.c @@ -525,15 +525,16 @@ composite_test (image_t *dst, int testno) { pixman_color_t fill; - pixman_rectangle16_t rect; color_t expected, tdst, tsrc, tmsk; pixel_checker_t checker; + pixman_image_t *solid; /* Initialize dst */ compute_pixman_color (dst->color, &fill); - rect.x = rect.y = 0; - rect.width = rect.height = dst->size; - pixman_image_fill_rectangles (PIXMAN_OP_SRC, dst->image, &fill, 1, &rect); + solid = pixman_image_create_solid_fill (&fill); + pixman_image_composite32 (PIXMAN_OP_SRC, solid, NULL, dst->image, + 0, 0, 0, 0, 0, 0, dst->size, dst->size); + pixman_image_unref (solid); if (mask) { @@ -644,16 +645,16 @@ image_init (image_t *info, if (info->size) { - pixman_rectangle16_t rect; + pixman_image_t *solid; info->image = pixman_image_create_bits (info->format->format, info->size, info->size, NULL, 0); - rect.x = rect.y = 0; - rect.width = rect.height = info->size; - pixman_image_fill_rectangles (PIXMAN_OP_SRC, info->image, &fill, - 1, &rect); + solid = pixman_image_create_solid_fill (&fill); + pixman_image_composite32 (PIXMAN_OP_SRC, solid, NULL, info->image, + 0, 0, 0, 0, 0, 0, info->size, info->size); + pixman_image_unref (solid); if (sizes[size] & REPEAT) { diff --git a/test/scaling-crash-test.c b/test/scaling-crash-test.c index ed57ae0..0dac892 100644 --- a/test/scaling-crash-test.c +++ b/test/scaling-crash-test.c @@ -32,8 +32,8 @@ run_test (int32_t dst_width, pixman_transform_t transform; uint32_t * srcbuf; uint32_t * dstbuf; - pixman_box32_t box = { 0, 0, src_width, src_height }; pixman_color_t color_cc = { 0xcccc, 0xcccc, 0xcccc, 0xcccc }; + pixman_image_t * solid; int result; int i; @@ -62,7 +62,10 @@ run_test (int32_t dst_width, PIXMAN_a8r8g8b8, src_width, src_height, srcbuf + (src_width + 10) * 5 + 5, (src_width + 10) * 4); - pixman_image_fill_boxes (PIXMAN_OP_SRC, src_img, &color_cc, 1, &box); + solid = pixman_image_create_solid_fill (&color_cc); + pixman_image_composite32 (PIXMAN_OP_SRC, solid, NULL, src_img, + 0, 0, 0, 0, 0, 0, src_width, src_height); + pixman_image_unref (solid); dst_img = pixman_image_create_bits ( PIXMAN_a8r8g8b8, dst_width, dst_height, dstbuf, dst_width * 4);