Re: [Pixman] [PATCH] Add support for AltiVec detection for OpenBSD/PowerPC.

2010-12-14 Thread Brad
On Tuesday 14 December 2010 14:44:09 Søren Sandmann wrote: > From: Brad Smith > > Bug 29331. Why was this posted? It was already commited 4 months ago. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. __

[Pixman] [PATCH 7/7] Add a stress-test program.

2010-12-14 Thread Søren Sandmann
From: Søren Sandmann Pedersen This test program tries to use as many rarely-used features as possible, including alpha maps, accessor functions, oddly-sized images, strange transformations, conical gradients, etc. The hope is to provoke crashes or irregular behavior in pixman. --- test/Makefile

[Pixman] [PATCH 5/7] test/utils.c: Initialize palette->rgba to 0.

2010-12-14 Thread Søren Sandmann
From: Søren Sandmann Pedersen That way it can be used with palettes that are not statically allocated, without causing valgrind issues. --- test/utils.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/test/utils.c b/test/utils.c index 4701bf6..cde9c62 100644 --- a/test/

[Pixman] [PATCH 6/7] Make the argument to fence_malloc() an int64_t

2010-12-14 Thread Søren Sandmann
From: Søren Sandmann Pedersen That way we can detect if someone attempts to allocate a negative size and abort instead of just returning NULL and segfaulting later. --- test/utils.c |7 +-- test/utils.h |2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/test/utils.

[Pixman] [PATCH 4/7] test: Move palette initialization to utils.[ch]

2010-12-14 Thread Søren Sandmann
From: Søren Sandmann Pedersen --- test/blitters-test.c | 57 + test/utils.c | 54 +++ test/utils.h |3 ++ 3 files changed, 59 insertions(+), 55 deletions(-) diff --git a/test/blit

[Pixman] [PATCH 3/7] Extend gradient-crash-test

2010-12-14 Thread Søren Sandmann
From: Søren Sandmann Pedersen Test the gradients with various transformations, and test cases where the gradients are specified with two identical points. --- test/Makefile.am |5 ++- test/gradient-crash-test.c | 124 +-- 2 files changed, 87

[Pixman] [PATCH 1/7] test: Make composite test use some existing macros instead of defining its own

2010-12-14 Thread Søren Sandmann
From: Søren Sandmann Pedersen Also move the ARRAY_LENGTH macro into utils.h so it can be used elsewhere. --- test/composite.c | 56 + test/utils.h |2 + 2 files changed, 28 insertions(+), 30 deletions(-) diff --git a/test/composite.c

[Pixman] [PATCH 2/7] Add enable_fp_exceptions() function in utils.[ch]

2010-12-14 Thread Søren Sandmann
From: Søren Sandmann Pedersen This function enables floating point traps if possible. --- configure.ac |8 test/utils.c | 26 ++ test/utils.h |3 +++ 3 files changed, 37 insertions(+), 0 deletions(-) diff --git a/configure.ac b/configure.ac index 147e1

[Pixman] [PATCH 0/7] Some test suite improvements (second attempt)

2010-12-14 Thread Søren Sandmann
Sorry about the spam I just sent with a jumble of old and new patches. Hopefully this time it will work better. Here is a set of patches that contain some updates to the test suite. Specifically, - gradient-crash-test is extended to test more scenarios - floating point exceptions are enabled in

[Pixman] [PATCH] bits: Fix potential divide-by-zero in projective code

2010-12-14 Thread Søren Sandmann
From: Søren Sandmann Pedersen If the homogeneous coordinate is 0, just set the coordinates to 0. --- pixman/pixman-bits-image.c | 16 1 files changed, 12 insertions(+), 4 deletions(-) diff --git a/pixman/pixman-bits-image.c b/pixman/pixman-bits-image.c index 95710b4..36ea0af

[Pixman] [PATCH] When pixman_compute_composite_region32() return FALSE, don't fini the region.

2010-12-14 Thread Søren Sandmann
From: Søren Sandmann Pedersen The rule is that the region passed in must be initialized and that the region returned will still be valid. Ie., the lifecycle is the responsibility of the caller, regardless of what the function returns. Previously, composite_region32() would finalize the region an

[Pixman] [PATCH] Add enable_fp_exceptions() function in utils.[ch]

2010-12-14 Thread Søren Sandmann
From: Søren Sandmann Pedersen This function enables floating point traps if possible. --- configure.ac |8 test/utils.c | 26 ++ test/utils.h |3 +++ 3 files changed, 37 insertions(+), 0 deletions(-) diff --git a/configure.ac b/configure.ac index 147e1

[Pixman] [PATCH] test: Make composite test use some existing macros instead of defining its own

2010-12-14 Thread Søren Sandmann
From: Søren Sandmann Pedersen Also move the ARRAY_LENGTH macro into utils.h so it can be used elsewhere. --- test/composite.c | 56 + test/utils.h |2 + 2 files changed, 28 insertions(+), 30 deletions(-) diff --git a/test/composite.c

[Pixman] [PATCH] Store a2b2g2r2 pixel through the WRITE macro

2010-12-14 Thread Søren Sandmann
From: Søren Sandmann Pedersen Otherwise, accessor functions won't work. --- pixman/pixman-access.c | 10 +- 1 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pixman/pixman-access.c b/pixman/pixman-access.c index 56de711..f1ce0ba 100644 --- a/pixman/pixman-access.c +++ b/pi

[Pixman] [PATCH] Add alpha-loop test program

2010-12-14 Thread Søren Sandmann
From: Søren Sandmann Pedersen This tests what happens if you attempt to make an image with an alpha map that has the image as its alpha map. This results in an infinite loop in _pixman_image_validate(), so the test sets up a SIGALRM to exit if it runs for more than five seconds. --- configure.ac

[Pixman] Some test suite improvements

2010-12-14 Thread Søren Sandmann
Here is a set of patches that contain some updates to the test suite. Specifically, - gradient-crash-test is extended to test more scenarios - floating point exceptions are enabled in some cases - The argument to fence_malloc() becomes a signed integer, and it will abort() if someone tries to

[Pixman] [PATCH] pixman_image_set_alpha_map(): Disallow alpha map cycles

2010-12-14 Thread Søren Sandmann
From: Søren Sandmann Pedersen If someone tries to set an alpha map that itself has an alpha map, simply return. Also, if someone tries to add an alpha map to an image that is being _used_ as an alpha map, simply return. This ensures that an alpha map can never have an alpha map. --- pixman/pixm

[Pixman] [PATCH] Add support for AltiVec detection for OpenBSD/PowerPC.

2010-12-14 Thread Søren Sandmann
From: Brad Smith Bug 29331. --- pixman/pixman-cpu.c | 25 - 1 files changed, 24 insertions(+), 1 deletions(-) diff --git a/pixman/pixman-cpu.c b/pixman/pixman-cpu.c index e96b140..1b31885 100644 --- a/pixman/pixman-cpu.c +++ b/pixman/pixman-cpu.c @@ -61,6 +61,29 @@ pix

Re: [Pixman] [PATCH 2/2] Delete simple repeat code

2010-12-14 Thread Siarhei Siamashka
On Thursday 04 November 2010 03:10:38 Siarhei Siamashka wrote: > On Wednesday 29 September 2010 15:40:33 Søren Sandmann wrote: > > This was supposedly an optimization, but it has pathological cases > > where it definitely isn't. For example it has terrible memory access > > patterns when called wit

Re: [Pixman] Better memory bandwidth utilization in pixman ARM NEON optimizations

2010-12-14 Thread Siarhei Siamashka
On Tuesday 14 December 2010 18:32:04 Siarhei Siamashka wrote: Well, appears that some updates may be useful/necessary. > * Because of the software prefetch, skipping read of the destination image > pixels does not bring much improvement, moreover there is just no > improvement at all on the newes

[Pixman] Better memory bandwidth utilization in pixman ARM NEON optimizations

2010-12-14 Thread Siarhei Siamashka
Hello, After checking pixman sse2 code for over__ compositing operation recently and having a look at the code responsible for handling fully transparent and fully opaque special cases, I decided to re-evaluate the use of the same trick for ARM NEON. Actually it was proposed by Soeren a y

Re: [Pixman] [PATCH] Check for NEON using a signal handler to catch SIGILL

2010-12-14 Thread Soeren Sandmann
Mike McCormack writes: > Pixman already uses the SIGILL mechanism elsewhere in the same file. FWIW, the SIGILL mechanism for PowerPC is only used if the operating system is neither OS X, OpenBSD, or Linux. It used to be used on Linux, but it caused some kind of a infinite loop in the build sys