Commit Graph

1929 Commits

Author SHA1 Message Date
Søren Sandmann Pedersen
970c183c33 Add macros for thread local storage on MinGW 32
These macros are identical to the ones that Tor Lillqvist posted here:

    http://lists.freedesktop.org/archives/pixman/2010-April/000160.html

with one exception: the variable is allocated with calloc() and not
malloc().

Cc: tml@iki.fi
2010-05-12 16:15:42 -04:00
Søren Sandmann Pedersen
61ff1a3214 Don't use __thread on MinGW.
It is apparently broken. See this:

http://mingw-users.1079350.n2.nabble.com/gcc-4-4-multi-threaded-exception-handling-thread-specifier-not-working-td3440749.html

We'll need to support thread local storage on MinGW32 some other way.

Cc: tml@iki.fi
2010-05-12 16:15:41 -04:00
Søren Sandmann Pedersen
f973be464d Don't consider indexed formats opaque.
The indexed formats have 0 bits of alpha, but can't be considered
opaque because there may be non-opaque colors in the palette.
2010-05-12 16:15:41 -04:00
Jeff Muizelaar
34fb38554f Add missing HAVE_CONFIG_H guards for config.h inclusion 2010-05-12 16:15:41 -04:00
Søren Sandmann Pedersen
38928afaa1 Update README to mention the pixman mailing list 2010-05-12 16:15:41 -04:00
Søren Sandmann Pedersen
664984206d [mmx] Fix mask creation bugs
This line:

    mask = mask | mask >> 8 | mask >> 16 | mask >> 24;

only works when mask has 0s in the lower 24 bits, so add

     mask &= 0xff000000;

before.

Reported by Todd Rinaldo on the #cairo IRC channel.
2010-05-12 16:15:41 -04:00
Søren Sandmann Pedersen
d197dc5e8d Fixes for pthread thread local storage.
The tls_name_key variable is passed to tls_name_get(), and the first
time this happens it isn't initialized. tls_name_get() then passes it
on to tls_name_alloc() which passes it on to pthread_setspecific()
leading to undefined behavior.

None of this is actually necessary at all because there is only one
such variable per thread local variable, so it doesn't need to passed
as a parameter at all.

All of this was pointed out by Tor Lillqvist on the cairo mailing
list.
2010-05-12 16:15:40 -04:00
Søren Sandmann Pedersen
9babaab404 Fix uninitialized cache when pthreads are used
The thread local cache is allocated with malloc(), but we rely on it
being initialized to zero, so allocate it with calloc() instead.
2010-05-12 16:15:40 -04:00
Siddharth Agarwal
4fe0a40e75 Visual Studio 2010 includes stdint.h
Use the builtin version instead of defining the types ourselves.
2010-05-12 16:15:40 -04:00
Søren Sandmann Pedersen
9a46eddc92 Post-release version bump to 0.18.1 2010-05-12 16:15:40 -04:00
Julien Cristau
68b6e0e095 Prepare changelog for upload 2010-05-11 14:16:18 +02:00
Søren Sandmann Pedersen
164fe215f2 Merge branch 'for-master' 2010-05-09 14:24:24 -04:00
Julien Cristau
c6afb1f264 add bug closer 2010-05-08 17:23:17 +02:00
Julien Cristau
92ac0adbbf Drop pixman-arm-don-t-use-env-vars-to-get-hwcap-platform.patch, obsolete. 2010-05-08 17:19:53 +02:00
Julien Cristau
b24ef53fa7 rules: use find .. -delete instead of rm $(find ..) 2010-05-08 17:18:00 +02:00
Julien Cristau
df082450b1 Update symbols file for new API, bump shlibs. 2010-05-08 17:17:27 +02:00
Julien Cristau
a2009cec77 Bump changelogs 2010-05-08 17:06:51 +02:00
Julien Cristau
e91730b91b Merge branch 'upstream-experimental' into debian-experimental 2010-05-08 17:05:21 +02:00
Julien Cristau
1300217b90 Merge branch 'upstream-unstable' into upstream-experimental 2010-05-08 17:04:51 +02:00
Søren Sandmann Pedersen
e1594f204d test/gtk-utils: Set the size of the window to the size of the image 2010-05-06 01:05:40 +03:00
Jeff Muizelaar
2f4f2fb485 Add support for compiling pixman without thread/tls support 2010-05-04 11:55:30 -04:00
Søren Sandmann Pedersen
5158d6740c Add macros for thread local storage on MinGW 32
These macros are identical to the ones that Tor Lillqvist posted here:

    http://lists.freedesktop.org/archives/pixman/2010-April/000160.html

with one exception: the variable is allocated with calloc() and not
malloc().

Cc: tml@iki.fi
2010-05-03 11:12:43 +03:00
Søren Sandmann Pedersen
582fa58bba Don't use __thread on MinGW.
It is apparently broken. See this:

http://mingw-users.1079350.n2.nabble.com/gcc-4-4-multi-threaded-exception-handling-thread-specifier-not-working-td3440749.html

We'll need to support thread local storage on MinGW32 some other way.

Cc: tml@iki.fi
2010-05-03 11:12:24 +03:00
Søren Sandmann Pedersen
95d4026866 Add support for 8bpp to pixman_fill_sse2() 2010-05-03 10:59:36 +03:00
Søren Sandmann Pedersen
d539e0c661 sse2: Add sse2_composite_over_reverse_n_8888
This is a small speed-up for the poppler benchmark:

Before:
[ # ]  backend                         test   min(s) median(s) stddev. count
[  0]    image                      poppler    4.443    4.474   0.31%    6/6

After:
[ # ]  backend                         test   min(s) median(s) stddev. count
[  0]    image                      poppler    4.224    4.248   0.42%    6/6
2010-05-03 10:59:36 +03:00
Søren Sandmann Pedersen
2d65fb033b Don't consider indexed formats opaque.
The indexed formats have 0 bits of alpha, but can't be considered
opaque because there may be non-opaque colors in the palette.
2010-05-03 10:59:36 +03:00
Søren Sandmann Pedersen
19459672ce Add an over_8888_8888_8888 sse2 fast path. 2010-05-03 10:59:36 +03:00
Søren Sandmann Pedersen
a3d29157b4 Add pixman_region{,32}_intersect_rect() 2010-05-03 10:59:36 +03:00
Søren Sandmann Pedersen
c0d0d20bd2 Rename fast_composite_src_8888_x888 to fast_composite_src_memcpy()
Then generalize it and use it for SRC copying between various
identical formats.
2010-05-03 10:59:36 +03:00
Jeff Muizelaar
1f0cba3bdc Add missing HAVE_CONFIG_H guards for config.h inclusion 2010-04-27 15:23:20 -04:00
Søren Sandmann Pedersen
526132fa65 Remove alphamap from the GTK+ part of tests/Makefile.am
It doesn't use GTK+ and it was already listed in the non-GTK+ part.
2010-04-22 12:14:23 -04:00
Søren Sandmann Pedersen
8f7cc5e438 Add pixman_image_get_format() accessor 2010-04-21 09:59:29 -04:00
Søren Sandmann Pedersen
2b1cae1ef6 Some minor updates to README 2010-04-21 09:55:35 -04:00
Søren Sandmann Pedersen
15f5868f63 Update README to mention the pixman mailing list 2010-04-18 16:24:39 -04:00
Søren Sandmann Pedersen
a652d5c154 [mmx] Fix mask creation bugs
This line:

    mask = mask | mask >> 8 | mask >> 16 | mask >> 24;

only works when mask has 0s in the lower 24 bits, so add

     mask &= 0xff000000;

before.

Reported by Todd Rinaldo on the #cairo IRC channel.
2010-04-13 22:41:48 -04:00
Søren Sandmann Pedersen
714559dccd Fixes for pthread thread local storage.
The tls_name_key variable is passed to tls_name_get(), and the first
time this happens it isn't initialized. tls_name_get() then passes it
on to tls_name_alloc() which passes it on to pthread_setspecific()
leading to undefined behavior.

None of this is actually necessary at all because there is only one
such variable per thread local variable, so it doesn't need to passed
as a parameter at all.

All of this was pointed out by Tor Lillqvist on the cairo mailing
list.
2010-04-13 22:41:48 -04:00
Søren Sandmann Pedersen
634ba33b5b Fix uninitialized cache when pthreads are used
The thread local cache is allocated with malloc(), but we rely on it
being initialized to zero, so allocate it with calloc() instead.
2010-04-13 22:41:47 -04:00
Siddharth Agarwal
bc11545a1b Visual Studio 2010 includes stdint.h
Use the builtin version instead of defining the types ourselves.
2010-04-13 10:15:29 -04:00
Søren Sandmann Pedersen
0345c343e5 Post-release version bump to 0.19.1 2010-04-01 06:21:21 -04:00
Søren Sandmann Pedersen
e9dc568d6f Pre-release version bump to 0.18.0 2010-04-01 05:23:31 -04:00
Matthias Hopf
efd41c6287 Revert "Improve PIXREGION_NIL to return true on degenerated regions."
This reverts commit ebba149313.
Scheduled for re-discussion after stable 0.18 has been released.
2010-03-24 18:54:29 +01:00
Matthias Hopf
ebba149313 Improve PIXREGION_NIL to return true on degenerated regions.
Fixes Novell bug 568811.
2010-03-24 14:51:05 +01:00
Søren Sandmann Pedersen
c0f8d417b5 Post-release version bump to 0.17.15 2010-03-23 17:25:54 -04:00
Søren Sandmann Pedersen
b35f0b0158 Pre-release version bump to 0.17.14 2010-03-23 16:52:02 -04:00
Søren Sandmann Pedersen
27a9f0468b Merge remote branch 'ssvb/arm-fixes' 2010-03-23 11:00:04 -04:00
Siarhei Siamashka
3ef203331f ARM: SIMD optimizations moved to a separate .S file
This should be the last step in providing full armv4t compatibility
with CPU features runtime autodetection in pixman.
2010-03-22 21:56:17 +02:00
Siarhei Siamashka
0a0591c2f7 ARM: SIMD optimizations updated to use common assembly calling conventions 2010-03-22 20:17:14 +02:00
Siarhei Siamashka
c1e8d4533a ARM: Helper ARM NEON assembly binding macros moved into a separate header
This is needed for future reuse of the same macros for the other
ARM assembly optimizations (armv4t, armv6)
2010-03-22 18:51:54 +02:00
Siarhei Siamashka
5791026e45 ARM: Workaround for a NEON bug in assembler from binutils 2.18
The problem was reported as bug 25534 against pixman in
freedesktop.org bugzila. Link to a patch for binutils:
http://sourceware.org/ml/binutils/2008-03/msg00260.html

For pixman the impact is a build failure when using
binutils 2.18. Versions 2.19 and higer are fine. Still
some distros may be using older versions of binutils and
this is causing problems.

This patch workarounds the problem by replacing a problematic
"vmov a, b" instruction with equivalent "vorr a, b, b". Actually
they even map to the same instruction opcode in the generated
code, so the resulting binary is identical with and without patch.
2010-03-22 16:15:18 +02:00
Siarhei Siamashka
68d8d83223 ARM: Use '.object_arch' directive in NEON assembly file
This can be used to override the architecture recorded in the EABI object
attribute section. We set a minimum arch to 'armv4'. Binutils documentation
recommends to use this directive with the code performing runtime detection
of CPU features.

Additionally NEON/VFP EABI attributes are suppressed. And the instruction
set to use is explicitly set to '.arm'.

Configure test for NEON support is also updated to include a bunch of
these new directives (if any of these is unsupported by the assembler,
it is better to fail configure test than to fail library build).

All these changes are required to fix SIGILL problem on armv4t, reported in
http://lists.freedesktop.org/archives/pixman/2010-March/000123.html
2010-03-22 12:12:03 +02:00