pixman 0.13.2

This commit is contained in:
Adam Jackson 2008-12-16 17:01:44 +00:00
parent 3ebab3b8bb
commit b7b6deea7c
6 changed files with 9 additions and 106 deletions

View File

@ -1,8 +1 @@
pixman-0.9.6.tar.bz2
pixman-0.10.0.tar.gz
pixman-0.11.2.tar.gz
pixman-0.11.4.tar.gz
pixman-0.11.6.tar.gz
pixman-0.11.8.tar.gz
pixman-0.11.10.tar.gz
pixman-0.12.0.tar.gz
pixman-0.13.2.tar.gz

1
import.log Normal file
View File

@ -0,0 +1 @@
pixman-0_13_2-1_fc11:HEAD:pixman-0.13.2-1.fc11.src.rpm:1229446850

View File

@ -1,65 +0,0 @@
diff --git a/pixman/pixman-pict.c b/pixman/pixman-pict.c
index e2fd235..49a50c7 100644
--- a/pixman/pixman-pict.c
+++ b/pixman/pixman-pict.c
@@ -1987,7 +1987,59 @@ pixman_bool_t pixman_have_vmx (void) {
return have_vmx;
}
-#else
+#elif defined (__linux__)
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <linux/auxvec.h>
+#include <asm/cputable.h>
+
+pixman_bool_t pixman_have_vmx (void)
+{
+ if (!initialized) {
+ char fname[64];
+ unsigned long buf[64];
+ ssize_t count = 0;
+ pid_t pid;
+ int fd, i;
+
+ pid = getpid();
+ snprintf(fname, sizeof(fname)-1, "/proc/%d/auxv", pid);
+
+ fd = open(fname, O_RDONLY);
+ if (fd >= 0) {
+ for (i = 0; i <= (count / sizeof(unsigned long)); i += 2) {
+ /* Read more if buf is empty... */
+ if (i == (count / sizeof(unsigned long))) {
+ count = read(fd, buf, sizeof(buf));
+ if (count <= 0)
+ break;
+ i = 0;
+ }
+
+ if (buf[i] == AT_HWCAP) {
+ have_vmx = !!(buf[i+1] & PPC_FEATURE_HAS_ALTIVEC);
+ initialized = TRUE;
+ break;
+ } else if (buf[i] == AT_NULL) {
+ break;
+ }
+ }
+ close(fd);
+ }
+ }
+ if (!initialized) {
+ /* Something went wrong. Assume 'no' rather than playing
+ fragile tricks with catching SIGILL. */
+ have_vmx = FALSE;
+ initialized = TRUE;
+ }
+
+ return have_vmx;
+}
+#else /* !__APPLE__ && !__linux__ */
#include <signal.h>
#include <setjmp.h>

View File

@ -2,8 +2,8 @@
%define gitrev 8ff7213f39edc1b2b8b60d6b0cc5d5f14ca1928d
Name: pixman
Version: 0.12.0
Release: 3%{?dist}
Version: 0.13.2
Release: 1%{?dist}
Summary: Pixel manipulation library
Group: System Environment/Libraries
@ -12,10 +12,9 @@ URL: http://xorg.freedesktop.org/archive/individual/lib/%{name}-%{ver
# To make git snapshots:
# ./make-pixman-snapshot.sh %{?gitrev}
# if no revision specified, makes a new one from HEAD.
Source0: pixman-%{version}.tar.gz
Source0: http://www.cairographics.org/releases/pixman-%{version}.tar.gz
Source1: make-pixman-snapshot.sh
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Patch0: pixman-0.11.4-altivec.patch
# BuildRequires: automake autoconf libtool pkgconfig
@ -33,7 +32,6 @@ Development library for pixman.
%prep
%setup -q
%patch0 -p1 -b .altivec
%build
%configure --disable-static
@ -63,6 +61,9 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pkgconfig/pixman-1.pc
%changelog
* Tue Dec 16 2008 Adam Jackson <ajax@redhat.com> 0.13.2-1
- pixman 0.13.2
* Sun Dec 14 2008 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> 0.12.0-3
- Rebuild for pkgconfig provides

View File

@ -1 +1 @@
09357cc74975b01714e00c5899ea1881 pixman-0.12.0.tar.gz
837df4a02c61a60a880644393b57faed pixman-0.13.2.tar.gz

View File

@ -1,27 +0,0 @@
commit 6f00d98f87c019849c611d27e9593c5eecfef4c2
Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
Date: Tue Sep 9 10:49:56 2008 -0400
Fix for bug 17477.
over_2x128 was changing the alphaLo and alphaHi arguments, causing
stripes.
diff --git a/pixman/pixman-sse2.c b/pixman/pixman-sse2.c
index 8a3e4b5..cc08189 100644
--- a/pixman/pixman-sse2.c
+++ b/pixman/pixman-sse2.c
@@ -244,9 +244,11 @@ invertColors_2x128 (__m128i dataLo, __m128i dataHi, __m128i* invLo, __m128i* inv
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;
- pixMultiply_2x128 (dstLo, dstHi, alphaLo, alphaHi, dstLo, dstHi);
+ negate_2x128 (*alphaLo, *alphaHi, &t1, &t2);
+
+ pixMultiply_2x128 (dstLo, dstHi, &t1, &t2, dstLo, dstHi);
*dstLo = _mm_adds_epu8 (*srcLo, *dstLo);
*dstHi = _mm_adds_epu8 (*srcHi, *dstHi);