Hello community, here is the log from the commit of package pixman for openSUSE:Factory checked in at Mon May 2 15:01:46 CEST 2011. -------- --- pixman/pixman.changes 2010-10-29 13:47:34.000000000 +0200 +++ /mounts/work_src_done/STABLE/pixman/pixman.changes 2011-03-01 12:52:03.000000000 +0100 @@ -1,0 +2,9 @@ +Fri Feb 11 16:42:19 UTC 2011 - fcrozat@novell.com + +- Update to version 0.20.2: + + Fix opacity check + + Improve handling of tangent circles + + Various bug fixes. + + Build fixes. + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- pixman-0.20.0.tar.bz2 New: ---- pixman-0.20.2.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pixman.spec ++++++ --- /var/tmp/diff_new_pack.NROf2o/_old 2011-05-02 15:00:52.000000000 +0200 +++ /var/tmp/diff_new_pack.NROf2o/_new 2011-05-02 15:00:52.000000000 +0200 @@ -1,7 +1,7 @@ # -# spec file for package pixman (Version 0.20.0) +# spec file for package pixman # -# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ Name: pixman -Version: 0.20.0 +Version: 0.20.2 Release: 1 License: MIT License (or similar) Summary: Pixel manipulation library ++++++ pixman-0.20.0.tar.bz2 -> pixman-0.20.2.tar.bz2 ++++++ ++++ 8708 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pixman-0.20.0/configure.ac new/pixman-0.20.2/configure.ac --- old/pixman-0.20.0/configure.ac 2010-10-27 22:51:30.000000000 +0200 +++ new/pixman-0.20.2/configure.ac 2011-01-19 14:22:31.000000000 +0100 @@ -54,7 +54,7 @@ m4_define([pixman_major], 0) m4_define([pixman_minor], 20) -m4_define([pixman_micro], 0) +m4_define([pixman_micro], 2) m4_define([pixman_version],[pixman_major.pixman_minor.pixman_micro]) @@ -652,10 +652,9 @@ AC_MSG_CHECKING(for __thread) AC_LINK_IFELSE([ -#ifdef defined __MINGW32__ && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)) +#if defined(__MINGW32__) && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)) #error This MinGW version has broken __thread support #endif -#endif #ifdef __OpenBSD__ #error OpenBSD has broken __thread support #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pixman-0.20.0/pixman/pixman-arm-neon-asm.S new/pixman-0.20.2/pixman/pixman-arm-neon-asm.S --- old/pixman-0.20.0/pixman/pixman-arm-neon-asm.S 2010-10-27 22:43:03.000000000 +0200 +++ new/pixman-0.20.2/pixman/pixman-arm-neon-asm.S 2011-01-19 14:08:31.000000000 +0100 @@ -537,13 +537,13 @@ /******************************************************************************/ .macro pixman_composite_add_8888_8888_process_pixblock_tail_head - vld1.8 {d0, d1, d2, d3}, [SRC]! + vld1.32 {d0, d1, d2, d3}, [SRC]! PF add PF_X, PF_X, #8 PF tst PF_CTL, #0xF - vld1.8 {d4, d5, d6, d7}, [DST_R, :128]! + vld1.32 {d4, d5, d6, d7}, [DST_R, :128]! PF addne PF_X, PF_X, #8 PF subne PF_CTL, PF_CTL, #1 - vst1.8 {d28, d29, d30, d31}, [DST_W, :128]! + vst1.32 {d28, d29, d30, d31}, [DST_W, :128]! PF cmp PF_X, ORIG_W PF pld, [PF_SRC, PF_X, lsl #src_bpp_shift] PF pld, [PF_DST, PF_X, lsl #dst_bpp_shift] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pixman-0.20.0/pixman/pixman-bits-image.c new/pixman-0.20.2/pixman/pixman-bits-image.c --- old/pixman-0.20.0/pixman/pixman-bits-image.c 2010-10-27 22:43:03.000000000 +0200 +++ new/pixman-0.20.2/pixman/pixman-bits-image.c 2011-01-19 14:12:16.000000000 +0100 @@ -297,6 +297,7 @@ uint32_t *bottom_row; uint32_t *end; uint32_t zero[2] = { 0, 0 }; + uint32_t one = 1; int y, y1, y2; int disty; int mask_inc; @@ -362,10 +363,8 @@ */ if (!mask) { - uint32_t mask_bits = 1; - mask_inc = 0; - mask = &mask_bits; + mask = &one; } else { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pixman-0.20.0/pixman/pixman-combine.c.template new/pixman-0.20.2/pixman/pixman-combine.c.template --- old/pixman-0.20.0/pixman/pixman-combine.c.template 2010-10-27 22:43:03.000000000 +0200 +++ new/pixman-0.20.2/pixman/pixman-combine.c.template 2011-01-19 14:10:59.000000000 +0100 @@ -959,15 +959,33 @@ if (min < 0) { - tmp[0] = l + (tmp[0] - l) * l / (l - min); - tmp[1] = l + (tmp[1] - l) * l / (l - min); - tmp[2] = l + (tmp[2] - l) * l / (l - min); + if (l - min == 0.0) + { + tmp[0] = 0; + tmp[1] = 0; + tmp[2] = 0; + } + else + { + tmp[0] = l + (tmp[0] - l) * l / (l - min); + tmp[1] = l + (tmp[1] - l) * l / (l - min); + tmp[2] = l + (tmp[2] - l) * l / (l - min); + } } if (max > a) { - tmp[0] = l + (tmp[0] - l) * (a - l) / (max - l); - tmp[1] = l + (tmp[1] - l) * (a - l) / (max - l); - tmp[2] = l + (tmp[2] - l) * (a - l) / (max - l); + if (max - l == 0.0) + { + tmp[0] = a; + tmp[1] = a; + tmp[2] = a; + } + else + { + tmp[0] = l + (tmp[0] - l) * (a - l) / (max - l); + tmp[1] = l + (tmp[1] - l) * (a - l) / (max - l); + tmp[2] = l + (tmp[2] - l) * (a - l) / (max - l); + } } dest[0] = tmp[0] * MASK + 0.5; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pixman-0.20.0/pixman/pixman-combine32.c new/pixman-0.20.2/pixman/pixman-combine32.c --- old/pixman-0.20.0/pixman/pixman-combine32.c 2010-10-27 22:43:16.000000000 +0200 +++ new/pixman-0.20.2/pixman/pixman-combine32.c 2011-01-19 14:14:31.000000000 +0100 @@ -963,15 +963,33 @@ if (min < 0) { - tmp[0] = l + (tmp[0] - l) * l / (l - min); - tmp[1] = l + (tmp[1] - l) * l / (l - min); - tmp[2] = l + (tmp[2] - l) * l / (l - min); + if (l - min == 0.0) + { + tmp[0] = 0; + tmp[1] = 0; + tmp[2] = 0; + } + else + { + tmp[0] = l + (tmp[0] - l) * l / (l - min); + tmp[1] = l + (tmp[1] - l) * l / (l - min); + tmp[2] = l + (tmp[2] - l) * l / (l - min); + } } if (max > a) { - tmp[0] = l + (tmp[0] - l) * (a - l) / (max - l); - tmp[1] = l + (tmp[1] - l) * (a - l) / (max - l); - tmp[2] = l + (tmp[2] - l) * (a - l) / (max - l); + if (max - l == 0.0) + { + tmp[0] = a; + tmp[1] = a; + tmp[2] = a; + } + else + { + tmp[0] = l + (tmp[0] - l) * (a - l) / (max - l); + tmp[1] = l + (tmp[1] - l) * (a - l) / (max - l); + tmp[2] = l + (tmp[2] - l) * (a - l) / (max - l); + } } dest[0] = tmp[0] * MASK + 0.5; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pixman-0.20.0/pixman/pixman-combine64.c new/pixman-0.20.2/pixman/pixman-combine64.c --- old/pixman-0.20.0/pixman/pixman-combine64.c 2010-10-27 22:43:16.000000000 +0200 +++ new/pixman-0.20.2/pixman/pixman-combine64.c 2011-01-19 14:14:31.000000000 +0100 @@ -963,15 +963,33 @@ if (min < 0) { - tmp[0] = l + (tmp[0] - l) * l / (l - min); - tmp[1] = l + (tmp[1] - l) * l / (l - min); - tmp[2] = l + (tmp[2] - l) * l / (l - min); + if (l - min == 0.0) + { + tmp[0] = 0; + tmp[1] = 0; + tmp[2] = 0; + } + else + { + tmp[0] = l + (tmp[0] - l) * l / (l - min); + tmp[1] = l + (tmp[1] - l) * l / (l - min); + tmp[2] = l + (tmp[2] - l) * l / (l - min); + } } if (max > a) { - tmp[0] = l + (tmp[0] - l) * (a - l) / (max - l); - tmp[1] = l + (tmp[1] - l) * (a - l) / (max - l); - tmp[2] = l + (tmp[2] - l) * (a - l) / (max - l); + if (max - l == 0.0) + { + tmp[0] = a; + tmp[1] = a; + tmp[2] = a; + } + else + { + tmp[0] = l + (tmp[0] - l) * (a - l) / (max - l); + tmp[1] = l + (tmp[1] - l) * (a - l) / (max - l); + tmp[2] = l + (tmp[2] - l) * (a - l) / (max - l); + } } dest[0] = tmp[0] * MASK + 0.5; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pixman-0.20.0/pixman/pixman-fast-path.h new/pixman-0.20.2/pixman/pixman-fast-path.h --- old/pixman-0.20.0/pixman/pixman-fast-path.h 2010-10-27 22:43:03.000000000 +0200 +++ new/pixman-0.20.2/pixman/pixman-fast-path.h 2011-01-19 14:11:38.000000000 +0100 @@ -245,10 +245,10 @@ } \ } -#define FAST_NEAREST_MAINLOOP(scale_func_name, scanline_func, src_type_t, dst_type_t, \ - repeat_mode) \ +#define FAST_NEAREST_MAINLOOP_INT(scale_func_name, scanline_func, src_type_t, dst_type_t, \ + repeat_mode) \ static void \ -fast_composite_scaled_nearest_ ## scale_func_name (pixman_implementation_t *imp, \ +fast_composite_scaled_nearest ## scale_func_name (pixman_implementation_t *imp, \ pixman_op_t op, \ pixman_image_t * src_image, \ pixman_image_t * mask_image, \ @@ -374,12 +374,18 @@ } \ } +/* A workaround for old sun studio, see: https://bugs.freedesktop.org/show_bug.cgi?id=32764 */ +#define FAST_NEAREST_MAINLOOP(scale_func_name, scanline_func, src_type_t, dst_type_t, \ + repeat_mode) \ + FAST_NEAREST_MAINLOOP_INT(_ ## scale_func_name, scanline_func, src_type_t, dst_type_t, \ + repeat_mode) \ + #define FAST_NEAREST(scale_func_name, SRC_FORMAT, DST_FORMAT, \ src_type_t, dst_type_t, OP, repeat_mode) \ FAST_NEAREST_SCANLINE(scaled_nearest_scanline_ ## scale_func_name ## _ ## OP, \ SRC_FORMAT, DST_FORMAT, src_type_t, dst_type_t, \ OP, repeat_mode) \ - FAST_NEAREST_MAINLOOP(scale_func_name##_##OP, \ + FAST_NEAREST_MAINLOOP_INT(_ ## scale_func_name ## _ ## OP, \ scaled_nearest_scanline_ ## scale_func_name ## _ ## OP, \ src_type_t, dst_type_t, repeat_mode) \ \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pixman-0.20.0/pixman/pixman-general.c new/pixman-0.20.2/pixman/pixman-general.c --- old/pixman-0.20.0/pixman/pixman-general.c 2010-10-27 22:43:03.000000000 +0200 +++ new/pixman-0.20.2/pixman/pixman-general.c 2011-01-19 14:10:11.000000000 +0100 @@ -56,8 +56,8 @@ int32_t width, int32_t height) { - uint8_t stack_scanline_buffer[SCANLINE_BUFFER_LENGTH * 3]; - uint8_t *scanline_buffer = stack_scanline_buffer; + uint64_t stack_scanline_buffer[(SCANLINE_BUFFER_LENGTH * 3 + 7) / 8]; + uint8_t *scanline_buffer = (uint8_t *) stack_scanline_buffer; uint8_t *src_buffer, *mask_buffer, *dest_buffer; fetch_scanline_t fetch_src = NULL, fetch_mask = NULL, fetch_dest = NULL; pixman_combine_32_func_t compose; @@ -255,7 +255,7 @@ } } - if (scanline_buffer != stack_scanline_buffer) + if (scanline_buffer != (uint8_t *) stack_scanline_buffer) free (scanline_buffer); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pixman-0.20.0/pixman/pixman-image.c new/pixman-0.20.2/pixman/pixman-image.c --- old/pixman-0.20.0/pixman/pixman-image.c 2010-10-27 22:43:03.000000000 +0200 +++ new/pixman-0.20.2/pixman/pixman-image.c 2011-01-19 14:09:06.000000000 +0100 @@ -430,10 +430,24 @@ flags &= ~FAST_PATH_NARROW_FORMAT; break; - case LINEAR: case RADIAL: code = PIXMAN_unknown; + /* + * As explained in pixman-radial-gradient.c, every point of + * the plane has a valid associated radius (and thus will be + * colored) if and only if a is negative (i.e. one of the two + * circles contains the other one). + */ + + if (image->radial.a >= 0) + break; + + /* Fall through */ + + case LINEAR: + code = PIXMAN_unknown; + if (image->common.repeat != PIXMAN_REPEAT_NONE) { int i; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pixman-0.20.0/pixman/pixman-mmx.c new/pixman-0.20.2/pixman/pixman-mmx.c --- old/pixman-0.20.0/pixman/pixman-mmx.c 2010-10-27 22:43:03.000000000 +0200 +++ new/pixman-0.20.2/pixman/pixman-mmx.c 2011-01-19 14:08:02.000000000 +0100 @@ -1921,8 +1921,8 @@ "movq %7, %4\n" "movq %7, %5\n" "movq %7, %6\n" - : "=y" (v1), "=y" (v2), "=y" (v3), - "=y" (v4), "=y" (v5), "=y" (v6), "=y" (v7) + : "=&y" (v1), "=&y" (v2), "=&y" (v3), + "=&y" (v4), "=&y" (v5), "=&y" (v6), "=y" (v7) : "y" (vfill)); #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pixman-0.20.0/pixman/pixman-radial-gradient.c new/pixman-0.20.2/pixman/pixman-radial-gradient.c --- old/pixman-0.20.0/pixman/pixman-radial-gradient.c 2010-10-27 22:43:03.000000000 +0200 +++ new/pixman-0.20.2/pixman/pixman-radial-gradient.c 2011-01-19 14:11:12.000000000 +0100 @@ -96,8 +96,24 @@ if (a == 0) { - return _pixman_gradient_walker_pixel (walker, - pixman_fixed_1 / 2 * c / b); + double t; + + if (b == 0) + return 0; + + t = pixman_fixed_1 / 2 * c / b; + if (repeat == PIXMAN_REPEAT_NONE) + { + if (0 <= t && t <= pixman_fixed_1) + return _pixman_gradient_walker_pixel (walker, t); + } + else + { + if (t * dr > mindr) + return _pixman_gradient_walker_pixel (walker, t); + } + + return 0; } det = fdot (b, a, 0, b, -c, 0); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pixman-0.20.0/pixman/pixman-version.h new/pixman-0.20.2/pixman/pixman-version.h --- old/pixman-0.20.0/pixman/pixman-version.h 2010-10-27 22:52:10.000000000 +0200 +++ new/pixman-0.20.2/pixman/pixman-version.h 2011-01-19 14:23:01.000000000 +0100 @@ -33,9 +33,9 @@ #define PIXMAN_VERSION_MAJOR 0 #define PIXMAN_VERSION_MINOR 20 -#define PIXMAN_VERSION_MICRO 0 +#define PIXMAN_VERSION_MICRO 2 -#define PIXMAN_VERSION_STRING "0.20.0" +#define PIXMAN_VERSION_STRING "0.20.2" #define PIXMAN_VERSION_ENCODE(major, minor, micro) ( \ ((major) * 10000) \ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org