Hello community,
here is the log from the commit of package xorg-x11-libs
checked in at Wed Sep 24 17:43:45 CEST 2008.
--------
--- xorg-x11-libs/xorg-x11-libs.changes 2008-09-11 14:22:29.000000000 +0200
+++ /mounts/work_src_done/STABLE/xorg-x11-libs/xorg-x11-libs.changes 2008-09-19 18:09:53.260380000 +0200
@@ -1,0 +2,11 @@
+Fri Sep 19 18:08:24 CEST 2008 - sndirsch@suse.de
+
+- updated pixman from development release 0.11.10 to stable release
+ 0.12.0. New features since 0.10.0 include:
+ * New image formats with 10 bits per channel (Aaron Plattner)
+ * SSE2 optimizations for many operations (André Tupinambá)
+ * Opacity based optimizations for operators (Antoine Azar)
+ * Altivec optimizations for many operations (Luca Barbato)
+ * A 32 bit region implementation (Søren Sandmann)
+
+-------------------------------------------------------------------
Old:
----
pixman-0.11.10.tar.bz2
New:
----
pixman-0.12.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xorg-x11-libs.spec ++++++
--- /var/tmp/diff_new_pack.c19280/_old 2008-09-24 17:43:32.000000000 +0200
+++ /var/tmp/diff_new_pack.c19280/_new 2008-09-24 17:43:32.000000000 +0200
@@ -27,7 +27,7 @@
%endif
Url: http://xorg.freedesktop.org/
Version: 7.4
-Release: 1
+Release: 4
License: X11/MIT
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Group: System/Libraries
@@ -64,7 +64,7 @@
Source29: libvnc-20070501.tar.bz2
Source30: libXcliplist-20070501.tar.bz2
Source31: xcb-util-0.2.1.tar.bz2
-Source32: pixman-0.11.10.tar.bz2
+Source32: pixman-0.12.0.tar.bz2
Source33: libpciaccess-0.10.3.tar.bz2
Patch: libXrandr.diff
Patch2: libXft-2.1.7-lcd-filter-2.patch
@@ -230,6 +230,14 @@
%{_mandir}/man3/*
%changelog
+* Fri Sep 19 2008 sndirsch@suse.de
+- updated pixman from development release 0.11.10 to stable release
+ 0.12.0. New features since 0.10.0 include:
+ * New image formats with 10 bits per channel (Aaron Plattner)
+ * SSE2 optimizations for many operations (André Tupinambá)
+ * Opacity based optimizations for operators (Antoine Azar)
+ * Altivec optimizations for many operations (Luca Barbato)
+ * A 32 bit region implementation (Søren Sandmann)
* Thu Sep 11 2008 sndirsch@suse.de
- bumped release number to 7.4
* Mon Sep 08 2008 sndirsch@suse.de
++++++ pixman-0.11.10.tar.bz2 -> pixman-0.12.0.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/pixman-0.11.10/configure new/pixman-0.12.0/configure
--- old/pixman-0.11.10/configure 2008-09-06 12:07:45.000000000 +0200
+++ new/pixman-0.12.0/configure 2008-09-17 19:14:40.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for pixman 0.11.10.
+# Generated by GNU Autoconf 2.61 for pixman 0.12.0.
#
# Report bugs to <"sandmann@daimi.au.dk">.
#
@@ -728,8 +728,8 @@
# Identity of this package.
PACKAGE_NAME='pixman'
PACKAGE_TARNAME='pixman'
-PACKAGE_VERSION='0.11.10'
-PACKAGE_STRING='pixman 0.11.10'
+PACKAGE_VERSION='0.12.0'
+PACKAGE_STRING='pixman 0.12.0'
PACKAGE_BUGREPORT='"sandmann@daimi.au.dk"'
# Factoring default headers for most tests.
@@ -1416,7 +1416,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures pixman 0.11.10 to adapt to many kinds of systems.
+\`configure' configures pixman 0.12.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1486,7 +1486,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of pixman 0.11.10:";;
+ short | recursive ) echo "Configuration of pixman 0.12.0:";;
esac
cat <<\_ACEOF
@@ -1595,7 +1595,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-pixman configure 0.11.10
+pixman configure 0.12.0
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1609,7 +1609,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by pixman $as_me 0.11.10, which was
+It was created by pixman $as_me 0.12.0, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2299,7 +2299,7 @@
# Define the identity of the package.
PACKAGE='pixman'
- VERSION='0.11.10'
+ VERSION='0.12.0'
cat >>confdefs.h <<_ACEOF
@@ -20149,13 +20149,13 @@
-LT_VERSION_INFO="11:10:11"
+LT_VERSION_INFO="12:0:12"
PIXMAN_VERSION_MAJOR=0
-PIXMAN_VERSION_MINOR=11
+PIXMAN_VERSION_MINOR=12
-PIXMAN_VERSION_MICRO=10
+PIXMAN_VERSION_MICRO=0
@@ -21289,7 +21289,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by pixman $as_me 0.11.10, which was
+This file was extended by pixman $as_me 0.12.0, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21342,7 +21342,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-pixman config.status 0.11.10
+pixman config.status 0.12.0
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/pixman-0.11.10/configure.ac new/pixman-0.12.0/configure.ac
--- old/pixman-0.11.10/configure.ac 2008-09-06 12:06:45.000000000 +0200
+++ new/pixman-0.12.0/configure.ac 2008-09-17 19:14:05.000000000 +0200
@@ -53,8 +53,8 @@
#
m4_define([pixman_major], 0)
-m4_define([pixman_minor], 11)
-m4_define([pixman_micro], 10)
+m4_define([pixman_minor], 12)
+m4_define([pixman_micro], 0)
m4_define([pixman_version],[pixman_major.pixman_minor.pixman_micro])
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/pixman-0.11.10/pixman/pixman-image.c new/pixman-0.12.0/pixman/pixman-image.c
--- old/pixman-0.11.10/pixman/pixman-image.c 2008-06-13 21:51:00.000000000 +0200
+++ new/pixman-0.12.0/pixman/pixman-image.c 2008-09-09 14:34:39.000000000 +0200
@@ -818,6 +818,10 @@
if (image->common.transform)
return FALSE;
+
+ /* Gradients do not necessarily cover the entire compositing area */
+ if (image->type == LINEAR || image->type == CONICAL || image->type == RADIAL)
+ return FALSE;
}
return TRUE;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/pixman-0.11.10/pixman/pixman-sse2.c new/pixman-0.12.0/pixman/pixman-sse2.c
--- old/pixman-0.11.10/pixman/pixman-sse2.c 2008-09-04 01:29:40.000000000 +0200
+++ new/pixman-0.12.0/pixman/pixman-sse2.c 2008-09-17 15:50:49.000000000 +0200
@@ -73,6 +73,9 @@
static __m128i MaskGreen;
static __m128i MaskBlue;
+static __m128i Mask565FixRB;
+static __m128i Mask565FixG;
+
/* -------------------------------------------------------------------------------------------------
* SSE2 Inlines
*/
@@ -89,26 +92,37 @@
*dataHi = _mm_unpackhi_epi8 (data, _mm_setzero_si128 ());
}
+static inline __m128i
+unpack565to8888 (__m128i lo)
+{
+ __m128i r, g, b, rb, t;
+
+ r = _mm_and_si128 (_mm_slli_epi32 (lo, 8), MaskRed);
+ g = _mm_and_si128 (_mm_slli_epi32 (lo, 5), MaskGreen);
+ b = _mm_and_si128 (_mm_slli_epi32 (lo, 3), MaskBlue);
+
+ rb = _mm_or_si128 (r, b);
+ t = _mm_and_si128 (rb, Mask565FixRB);
+ t = _mm_srli_epi32 (t, 5);
+ rb = _mm_or_si128 (rb, t);
+
+ t = _mm_and_si128 (g, Mask565FixG);
+ t = _mm_srli_epi32 (t, 6);
+ g = _mm_or_si128 (g, t);
+
+ return _mm_or_si128 (rb, g);
+}
+
static inline void
unpack565_128_4x128 (__m128i data, __m128i* data0, __m128i* data1, __m128i* data2, __m128i* data3)
{
__m128i lo, hi;
- __m128i r, g, b;
lo = _mm_unpacklo_epi16 (data, _mm_setzero_si128 ());
hi = _mm_unpackhi_epi16 (data, _mm_setzero_si128 ());
- r = _mm_and_si128 (_mm_slli_epi32 (lo, 8), MaskRed);
- g = _mm_and_si128 (_mm_slli_epi32 (lo, 5), MaskGreen);
- b = _mm_and_si128 (_mm_slli_epi32 (lo, 3), MaskBlue);
-
- lo = _mm_or_si128 (_mm_or_si128 (r, g), b);
-
- r = _mm_and_si128 (_mm_slli_epi32 (hi, 8), MaskRed);
- g = _mm_and_si128 (_mm_slli_epi32 (hi, 5), MaskGreen);
- b = _mm_and_si128 (_mm_slli_epi32 (hi, 3), MaskBlue);
-
- hi = _mm_or_si128 (_mm_or_si128 (r, g), b);
+ lo = unpack565to8888 (lo);
+ hi = unpack565to8888 (hi);
unpack_128_2x128 (lo, data0, data1);
unpack_128_2x128 (hi, data2, data3);
@@ -244,9 +258,11 @@
static inline void
over_2x128 (__m128i* srcLo, __m128i* srcHi, __m128i* alphaLo, __m128i* alphaHi, __m128i* dstLo, __m128i* dstHi)
{
- negate_2x128 (*alphaLo, *alphaHi, alphaLo, alphaHi);
+ __m128i t1, t2;
+
+ negate_2x128 (*alphaLo, *alphaHi, &t1, &t2);
- pixMultiply_2x128 (dstLo, dstHi, alphaLo, alphaHi, dstLo, dstHi);
+ pixMultiply_2x128 (dstLo, dstHi, &t1, &t2, dstLo, dstHi);
*dstLo = _mm_adds_epu8 (*srcLo, *dstLo);
*dstHi = _mm_adds_epu8 (*srcHi, *dstHi);
@@ -2295,7 +2311,8 @@
MaskRed = createMask_2x32_128 (0x00f80000, 0x00f80000);
MaskGreen = createMask_2x32_128 (0x0000fc00, 0x0000fc00);
MaskBlue = createMask_2x32_128 (0x000000f8, 0x000000f8);
-
+ Mask565FixRB = createMask_2x32_128 (0x00e000e0, 0x00e000e0);
+ Mask565FixG = createMask_2x32_128 (0x0000c000, 0x0000c000);
Mask0080 = createMask_16_128 (0x0080);
Mask00ff = createMask_16_128 (0x00ff);
Mask0101 = createMask_16_128 (0x0101);
@@ -2482,6 +2499,7 @@
while (w && (unsigned long)dst & 15)
{
d = *dst;
+
*dst++ = pack565_32_16 (pack_1x64_32 (over_1x64 (_mm_movepi64_pi64 (xmmSrc),
_mm_movepi64_pi64 (xmmAlpha),
expand565_16_1x64 (d))));
@@ -2496,15 +2514,14 @@
/* fill cache line with next memory */
cachePrefetchNext ((__m128i*)dst);
- xmmDst = load128Aligned ((__m128i*)dst);
-
- unpack565_128_4x128 (xmmDst, &xmmDst0, &xmmDst1, &xmmDst2, &xmmDst3);
-
+ xmmDst = load128Aligned ((__m128i*)dst);
+
+ unpack565_128_4x128 (xmmDst, &xmmDst0, &xmmDst1, &xmmDst2, &xmmDst3);
+
over_2x128 (&xmmSrc, &xmmSrc, &xmmAlpha, &xmmAlpha, &xmmDst0, &xmmDst1);
over_2x128 (&xmmSrc, &xmmSrc, &xmmAlpha, &xmmAlpha, &xmmDst2, &xmmDst3);
xmmDst = pack565_4x128_128 (&xmmDst0, &xmmDst1, &xmmDst2, &xmmDst3);
-
save128Aligned ((__m128i*)dst, xmmDst);
dst += 8;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/pixman-0.11.10/pixman/pixman-transformed.c new/pixman-0.12.0/pixman/pixman-transformed.c
--- old/pixman-0.11.10/pixman/pixman-transformed.c 2008-06-27 12:22:03.000000000 +0200
+++ new/pixman-0.12.0/pixman/pixman-transformed.c 2008-09-09 14:34:39.000000000 +0200
@@ -593,7 +593,7 @@
/* This allows filtering code to pretend that pixels are located at integer coordinates */
adjust (&v, &unit, -(pixman_fixed_1 / 2));
-
+
if (pict->common.filter == PIXMAN_FILTER_NEAREST || pict->common.filter == PIXMAN_FILTER_FAST)
{
/* Round down to closest integer, ensuring that 0.5 rounds to 0, not 1 */
@@ -602,7 +602,6 @@
if (pict->common.repeat == PIXMAN_REPEAT_NORMAL)
{
fbFetchTransformed_Nearest_Normal(pict, width, buffer, mask, maskBits, affine, v, unit);
-
}
else if (pict->common.repeat == PIXMAN_REPEAT_PAD)
{
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/pixman-0.11.10/pixman/pixman-version.h new/pixman-0.12.0/pixman/pixman-version.h
--- old/pixman-0.11.10/pixman/pixman-version.h 2008-09-06 12:07:59.000000000 +0200
+++ new/pixman-0.12.0/pixman/pixman-version.h 2008-09-17 19:14:52.000000000 +0200
@@ -32,10 +32,10 @@
#endif
#define PIXMAN_VERSION_MAJOR 0
-#define PIXMAN_VERSION_MINOR 11
-#define PIXMAN_VERSION_MICRO 10
+#define PIXMAN_VERSION_MINOR 12
+#define PIXMAN_VERSION_MICRO 0
-#define PIXMAN_VERSION_STRING "0.11.10"
+#define PIXMAN_VERSION_STRING "0.12.0"
#define PIXMAN_VERSION_ENCODE(major, minor, micro) ( \
((major) * 10000) \
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/pixman-0.11.10/test/clip-test.c new/pixman-0.12.0/test/clip-test.c
--- old/pixman-0.11.10/test/clip-test.c 1970-01-01 01:00:00.000000000 +0100
+++ new/pixman-0.12.0/test/clip-test.c 2008-09-09 14:34:39.000000000 +0200
@@ -0,0 +1,159 @@
+#include