Re: [Pixman] [PATCH 1/3] Add CLEAR and SRC linear interpolation operators

2011-09-15 Thread Søren Sandmann
Chris Wilson writes: >> Did you see Taekyun Kim's reply to this? He proposes this API: >> >> pixman_image_composite_xrender(op, src, shape, clip, dst) >> pixman_image_composite_bounded(op, src, shape, clip, dst) >> pixman_image_composite_simple(op, src, shape, clip, dst) >> >> in

Re: [Pixman] [PATCH 1/3] Add CLEAR and SRC linear interpolation operators

2011-09-16 Thread Søren Sandmann
Chris Wilson writes: > On Thu, 15 Sep 2011 13:26:09 +0200, sandm...@cs.au.dk (=?utf-8?Q?S=C3=B8ren?= > Sandmann) wrote: >> Chris Wilson writes: >> >> >> Did you see Taekyun Kim's reply to this? He proposes this API: >> >> >> >> pixman_image_composite_xrender(op, src, shape, clip, dst) >>

Re: [Pixman] [PATCH] Fix build on cygwin after commit efdf65c0c4fff551fb3cd9104deda9adb6261e22

2011-09-19 Thread Søren Sandmann
Jon TURNEY writes: > libutils depends on pixman and so needs to preceed it in the link order > > Found by tinderbox, see [1] > > [1] http://tinderbox.freedesktop.org/builds/2011-09-15-0005/logs/pixman/#build Pushed. Soren ___ Pixman mailing list Pixm

Re: [Pixman] [PATCH 0/11] Use macros to generate fetchers

2011-09-20 Thread Søren Sandmann
Soeren Sandmann writes: > Soeren Sandmann writes: > >> Chris Wilson writes: >> >>> The final patch is a little scary though. Was that motivated by >>> observation of the generated assembly or through performance testing? >> >> It was motivated by looking at the generated assembly, but I'll run

Re: [Pixman] [PATCH 5/5] Simple repeat: Extend too short source scanlines into temporary buffer

2011-09-21 Thread Søren Sandmann
Hi, > From: Taekyun Kim > > Too short scanlines can cause repeat handling overhead and optimized > pixman composite functions usually process a bunch of pixels in a > single loop iteration it might be beneficial to pre-extend source > scanlines. The temporary buffers will usually reside in cache,

Re: [Pixman] [PATCH] fill: Special-case single pixel wide lines

2011-09-23 Thread Søren Sandmann
Chris Wilson writes: > A common condition (in benchmarks at least) are single pixel wide > vertical lines. This is the worst-cast behaviour for the fast-paths like > SSE2 which require long runs in order to offset the ramp up cost of > aligning and using the SIMD registers. > > For example, box-o

Re: [Pixman] [PATCH] mmx: fix formats in commented code

2011-09-26 Thread Søren Sandmann
Matt Turner writes: > b8r8g8 is apparently no longer supported sometime since this code was > commented. All three patches look good to me. If you were benchmarking the over_x888_8_() operation, is it still slower than the general code? Soren __

Re: [Pixman] [PATCH 1/3] Add CLEAR and SRC linear interpolation operators

2011-09-27 Thread Søren Sandmann
Chris Wilson writes: > Cairo, for instance, has a subtly different interpretation of how to use > the mask in combination with the Porter-Duff operators. In particular, > it has the notion of a clip mask, for which pixman has no parallel. A question I have is, how much of a speedup is this reall

Re: [Pixman] [PATCH 0/8] Performance statistics analyzer

2011-09-27 Thread Søren Sandmann
Hi, > Pixman is used as a bottom-layer backend for S/W rendering for various > applications and majority of the time is spent by pixman for rendering > intensive work. So providing performance information can help people > figure out hot spots and we can do optimizations based on the result. > > T

Re: [Pixman] [PATCH 1/8] Add platform specific mutex implementations

2011-09-27 Thread Søren Sandmann
Taekyun Kim writes: > +#else > + > +typedef int pixman_mutex_t; > + > +# define PIXMAN_MUTEX_INIT(mutex) do while (0) {} > +# define PIXMAN_MUTEX_LOCK(mutex) do while (0) {} > +# define PIXMAN_MUTEX_UNLOCK(mutex)do while (0) {} > +# define PIXMAN_MUTEX_FINI(mutex) do while (0)

Re: [Pixman] [PATCH 2/8] Add implementation type to pixman_implementation_t

2011-09-27 Thread Søren Sandmann
Taekyun Kim writes: > From: Taekyun Kim > > It might be useful to know the type of an implementation. We can > gather profile data or control priority of individual composite > function. Wouldn't it be simpler to simply store the name of the implementation as a string? I don't think the impleme

Re: [Pixman] [PATCH 4/8] perfstat: Add performance statistics analyzer

2011-09-27 Thread Søren Sandmann
Taekyun Kim writes: > diff --git a/pixman/pixman-perf-stat.c b/pixman/pixman-perf-stat.c > new file mode 100644 > index 000..2986777 > --- /dev/null > +++ b/pixman/pixman-perf-stat.c > @@ -0,0 +1,541 @@ > +/* > + * Copyright © 2011 SCore Corporation > + * > + * Permission is hereby granted, f

[Pixman] [PATCH] Don't include stdint.h in scaling-helpers-test.

2011-09-27 Thread Søren Sandmann
From: Søren Sandmann Pedersen Fixes bug 41257. --- test/scaling-helpers-test.c |1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/test/scaling-helpers-test.c b/test/scaling-helpers-test.c index a8b94b0..33ec47c 100644 --- a/test/scaling-helpers-test.c +++ b/test/scaling

Re: [Pixman] [PATCH 4/8] perfstat: Add performance statistics analyzer

2011-10-03 Thread Søren Sandmann
Taekyun Kim writes: > On 09/27/2011 11:14 PM, Søren Sandmann wrote: > > Does Siarhei and/or Nokia own any copyright on this code? > > > These patches are based on Siarhei's work and I took lots of code from > the work and modified it. How should I write copyright n

Re: [Pixman] [PATCH 1/3] Move miTrapezoids() into fb as fbTrapezoids().

2011-10-05 Thread Søren Sandmann
Michel Dänzer writes: > On Die, 2011-10-04 at 15:52 -0700, Aaron Plattner wrote: >> This caused a performance regression because previously, miTrapezoids >> would render its mask image into a scratch pixmap and then perform the >> final composite using a possibly-accelerated RENDER Composite c

Re: [Pixman] [PATCH] Make sure iwMMXt is only detected on ARM

2011-10-06 Thread Søren Sandmann
Matt Turner writes: > I'm not able to reproduce it, but I have two reports that iwMMXt is > incorrectly detected on x86 and amd64. This happens because it uses the > standard _mm_* intrinsic functions. It should fail on x86 and amd64 > because configure will use -march=iwmmxt to compile the test,

Re: [Pixman] [PATCH 1/3] sse2: Macros for assembling bilinear interpolation code fractions

2011-10-06 Thread Søren Sandmann
Taekyun Kim writes: > Primitive bilinear interpolation code is reusable to implement other > bilinear functions. These look good to me. Remember that if your patches pass make check, and nobody says anything for some reasonable amount of time, just go ahead and push them to master. Thanks, So

[Pixman] [ANNOUNCE] pixman release 0.23.6 now available

2011-10-11 Thread Søren Sandmann
.tar.gz SHA1: 84f4200f13e889a58985cfbc2b4fd108bd251fe4 pixman-0.23.6.tar.bz2 GPG signature: http://cairographics.org/snapshots/pixman-0.23.6.tar.gz.sha1.asc (signed by Søren Sandmann Pedersen Git: git://git.freedesktop.org/git/pixman tag: pixman-0.23.6 Log

Re: [Pixman] About 2.5D effect

2011-10-12 Thread Søren Sandmann
唐博 writes: > How can pixman achieve 2.5D effect, it's affine matirx is 3*3. If add > Z axis coordinate, I found that it should apply 4*4 matrix. You may be interested in this branch: http://cgit.freedesktop.org/~sandmann/pixman/log/?h=checkerboard which contains two demo programs, one that

[Pixman] [PATCH 0/3] Cleanups in the gradient walker

2011-10-15 Thread Søren Sandmann
Hi, The following patches contain some cleanups in the gradient walker, and a change to make it use "sentinel" color stops before and after the user-specified stops. Thanks, Soren ___ Pixman mailing list Pixman@lists.freedesktop.org http://lists.freed

[Pixman] [PATCH 1/3] gradient walker: Correct types and fix formatting

2011-10-15 Thread Søren Sandmann
From: Søren Sandmann Pedersen The type of pos in gradient_walker_reset() and gradient_walker_pixel() is pixman_fixed_48_16_t and not pixman_fixed_32_32. The types of the positions in the walker struct are pixman_fixed_t and not int32_t, and need_reset is a boolean, not an integer. The spread

[Pixman] [PATCH 2/3] Use sentinels instead of special casing first and last stops

2011-10-15 Thread Søren Sandmann
From: Søren Sandmann Pedersen When storing the gradient stops internally, allocate two more stops, one before the beginning of the stop list and one after the end. Initialize those stops based on the repeat property of the gradient. This allows gradient_walker_reset() to be simplified because

[Pixman] [PATCH 3/3] Simplify gradient_walker_reset()

2011-10-15 Thread Søren Sandmann
From: Søren Sandmann Pedersen The code that searches for the closest color stop to the given position is duplicated across the various repeat modes. Replace the switch with two if/else constructions, and put the search code between them. --- pixman/pixman-gradient-walker.c | 93

Re: [Pixman] Menu text corrupt with pixman-0.22.2

2011-10-22 Thread Søren Sandmann
Francois Tigeot writes: > I have recently found a text corruption issue with the latest pixman version > packaged in pkgsrc. > > The full pkgsrc bug report is visible here: > http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=45509 > > And here is a direct link to a screen shot: > http://d

Re: [Pixman] Menu text corrupt with pixman-0.22.2

2011-10-24 Thread Søren Sandmann
Francois Tigeot writes: >> Pixman 0.20.0 and earlier contained a workaround for a bug in the X >> server version 1.6 and earlier, that could produce symptoms like the one >> in the screen shot. In 0.22.0 this workaround was removed. >> >> So if you are using a 1.6 X server or earlier, you'll pro

[Pixman] [PATCH] Fix use of uninitialized fields reported by valgrind

2011-10-25 Thread Søren Sandmann
From: Søren Sandmann Pedersen In pixman-noop.c and pixman-sse2.c, we are accessing image->bits.width/height without first making sure the image is a bits image. The warning is harmless because we never act on this information without checking that the image is a8r8g8b8, but valgrind does w

[Pixman] [ANNOUNCE] pixman release 0.23.8 now available

2011-10-29 Thread Søren Sandmann
: 549ed97ef809ff1a71e2cd9d709fe910d1037e8e pixman-0.23.8.tar.bz2 GPG signature: http://cairographics.org/snapshots/pixman-0.23.8.tar.gz.sha1.asc (signed by Søren Sandmann Pedersen Git: git://git.freedesktop.org/git/pixman tag: pixman-0.23.8 Log: Søren Sandmann Pedersen (7

[Pixman] [ANNOUNCE] pixman stable release 0.24.0 now available

2011-11-06 Thread Søren Sandmann
Siamashka, Søren Sandmann, and Taekyun Kim. Please report bugs to pixman@lists.freedesktop.org or file them at https://bugs.freedesktop.org/enter_bug.cgi?product=pixman Søren Website: http://pixman.org/ tar.gz: http://cairographics.org/releases/pixman-0.24.0.tar.gz

Re: [Pixman] [PATCH 1/1] Android Runtime Detection Support For ARM NEON

2011-12-11 Thread Søren Sandmann
Bobby Salazar writes: > This patch adds runtime detection support for the ARM NEON fast paths > for code compiled with the Android NDK. This is the only code change > needed to enable the ARM NEON pixman fast paths for the ever growing > Android platform (200 million+ smartphones, tablets, etc.).

Re: [Pixman] [PATCH 1/1] Android Runtime Detection Support For ARM NEON

2011-12-11 Thread Søren Sandmann
Bobby Salazar writes: > Would you like me to make these changes then and resubmit the patch? > Or is this something you were planning on doing before you commit the > change? I'd like you to make the changes and resubmit. Thanks, Soren ___ Pixman mai

Re: [Pixman] [PATCH 1/1] Android Runtime Detection Support For ARM NEON

2011-12-12 Thread Søren Sandmann
Bobby Salazar writes: > Here is a new path. Please let me know what you think. Looks good - pushed to master. Thanks, Soren ___ Pixman mailing list Pixman@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pixman

[Pixman] [PATCH] region: Add pixman_region{, 32}_clear() functions.

2011-12-13 Thread Søren Sandmann
From: Søren Sandmann Pedersen These functions simply reset the region to empty. They are equivalent to pixman_region_fini (®ion); pixman_region_init (®ion); --- pixman/pixman-region.c | 10 ++ pixman/pixman.h|2 ++ 2 files changed, 12 insertions(+), 0

[Pixman] [PATCH] Modify gradient-test to show a bug in NONE processing

2011-12-21 Thread Søren Sandmann
From: Søren Sandmann Pedersen This patch modifies demos/gradient-test to display a bug in gradients with a repeat mode of NONE. Instead of being transparent as it should, side to the left of the gradient will be a fade from red to transparent, rendered on top of a green background. --- demos

[Pixman] [PATCH] gradient-walker: For NONE repeats, when x < 0 or x > 1, set both colors to 0

2011-12-21 Thread Søren Sandmann
From: Søren Sandmann Pedersen ec7c9c2b6865b48b8bd14e4 introduced a bug where NONE gradients would be misrendered, causing the area outside the gradient to be treated as a long fade to transparent.The problem was that a check for positions outside the gradients were dropped in favor of relying on

[Pixman] [PATCH 0/5] Fix signed overflows

2011-12-22 Thread Søren Sandmann
The following patches fix various cases of signed integer overflow, which is undefined in C. The first patch was a result of https://bugs.freedesktop.org/show_bug.cgi?id=43906 in which Siarhei pointed out that clang miscompiles pixman due to a signed overflow in some of the PDF operators. He

[Pixman] [PATCH 1/5] Fix some signed overflow bugs

2011-12-22 Thread Søren Sandmann
From: Søren Sandmann Pedersen In the macros for the PDF blend modes, two comp1_t variables are multiplied together and then used as if the result were a comp4_t. When comp1_t is a uint8_t, this is fine because they are promoted to int, and the product of two uint8_ts fits in an int. However

[Pixman] [PATCH 2/5] Add missing cast in _pixman_edge_multi_init()

2011-12-22 Thread Søren Sandmann
From: Søren Sandmann Pedersen nx and e->dy are both 32 bit quantities, so a cast is needed to make sure their product is 64 bit before subtracting it from a 64 bit quantity. --- pixman/pixman-trap.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/pixman/pixman-trap.

[Pixman] [PATCH 3/5] Fix a bunch of signed overflow issues

2011-12-22 Thread Søren Sandmann
From: Søren Sandmann Pedersen In pixman-fast-path.c: (1 << 31) - 1 causes a signed overflow, so change to (1U << n) - 1. In pixman-image.c: The check for whether m10 == -m01 will overflow when -m01 == INT_MIN. Instead just check whether the variables are 1 and -1. In pixman-utils

[Pixman] [PATCH 4/5] In MUL_UNc() cast to comp2_t

2011-12-22 Thread Søren Sandmann
From: Søren Sandmann Pedersen Otherwise, when comp1_t is 16 bits wide, we can end up with a signed integer overflow. --- pixman/pixman-combine.h.template |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/pixman/pixman-combine.h.template b/pixman/pixman-combine.h.template

[Pixman] [PATCH 5/5] Reject trapezoids where top (botttom) is above (below) the edges

2011-12-22 Thread Søren Sandmann
From: Søren Sandmann Pedersen When a trapezoid has a top/bottom that is above/below the left/right edges, degenerate trapezoids become possible. For example the edge could be very short and close to horizontal. If the bottom edge is far below the bottom point of such a short edge, the result is

Re: [Pixman] [PATCH] autogen.sh: Support GNOME Build API

2012-01-05 Thread Søren Sandmann
Colin Walters writes: > http://people.gnome.org/~walters/docs/build-api.txt Pushed to master. Thanks, Soren ___ Pixman mailing list Pixman@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pixman

[Pixman] [PATCH] pixman-image.c: Fix typo in pixman_image_set_transform()

2012-01-05 Thread Søren Sandmann
From: Søren Sandmann Pedersen A parenthesis was misplaced so that the size argument to memcmp() was always 0. The bug is harmless except that the flags might be unnecessarily recomputed in some cases. A bug reporting this in Mozilla's fork was discovered here: https://bugzilla.mozill

[Pixman] [PATCH] Fix rounding for DIV_UNc()

2012-01-06 Thread Søren Sandmann
From: Søren Sandmann Pedersen We need to compute floor (a/b * 255 + 0.5), not floor (a / b * 255), so add b/2 to the numerator in the DIV_UNc() macro. --- pixman/pixman-combine.h.template |2 +- test/blitters-test.c |2 +- 2 files changed, 2 insertions(+), 2 deletions

[Pixman] [PATCH 1/2] test: In the alphamap test, also test that we get the right red value

2012-01-09 Thread Søren Sandmann
From: Søren Sandmann Pedersen There is a bug where the red channel of the alpha map of the destination image is used instead of the red channel of the destination image itself. --- test/alphamap.c | 85 +++ 1 files changed, 79 insertions

[Pixman] [PATCH 2/2] Fix bugs with alpha maps

2012-01-09 Thread Søren Sandmann
From: Søren Sandmann Pedersen The alpha channel from the alpha map must be inserted as the new alpha channel when a scanline is fetched from an image. Previously the alpha map would overwrite the buffer instead. This wasn't caught be the alpha map test because it would only verify tha

[Pixman] [PATCH] Get rid of delegates for combiners

2012-01-09 Thread Søren Sandmann
From: Søren Sandmann Pedersen Add a new function _pixman_implementation_lookup_combiner() that will find a usable combiner given an operator and information about whether the combiner should apply component alpha and whether it should be 64 bit. In pixman-general.c use this function to look up

[Pixman] [PATCH] test: Make dst and orig_dst more independent of each other.

2012-01-09 Thread Søren Sandmann
From: Søren Sandmann Pedersen When making the copy of the destination, do so separately for the image and the alpha map. This ensures that the alpha channel of the alpha map will be different from the alpha channel of the actual image. Previously, orig_dst would be copied onto dst along with

[Pixman] [PATCH 1/4] Move the color_correct() function from composite.c to utils.c

2012-01-10 Thread Søren Sandmann
From: Søren Sandmann Pedersen --- test/composite.c | 36 test/utils.c | 30 ++ test/utils.h |9 + 3 files changed, 39 insertions(+), 36 deletions(-) diff --git a/test/composite.c b/test/composite.c index

[Pixman] [Patch 0/4] Pixel checker object

2012-01-10 Thread Søren Sandmann
Hi, The following patches add a new "pixel_checker_t" object to the test/utils.[ch] and port the composite test over to use it. The pixel_checker_t object is initialized with a format and can then be used to check that pixels in this format are within an acceptable deviation relative to a "perfec

[Pixman] [PATCH 3/4] test: Add a new "pixel_checker_t" object.

2012-01-10 Thread Søren Sandmann
From: Søren Sandmann Pedersen Add a new pixel_checker_t object to test/utils.[ch]. This object should be initialized with a format and can then be used to check whether a given "real" pixel in that format is close enough to a "perfect" pixel given as a double precisi

[Pixman] [PATCH 2/4] Rename color_correct() to round_color()

2012-01-10 Thread Søren Sandmann
From: Søren Sandmann Pedersen And do the rounding from float to int in the same way cairo does: by multiplying with (1 << width), then subtracting one when the input was 1.0. --- test/composite.c |8 test/utils.c | 34 -- test/u

[Pixman] [PATCH 4/4] test: Port composite test over to use new pixel_checker_t object.

2012-01-10 Thread Søren Sandmann
From: Søren Sandmann Pedersen Also make some tweaks to the way the errors are printed. --- test/composite.c | 290 ++ 1 files changed, 95 insertions(+), 195 deletions(-) diff --git a/test/composite.c b/test/composite.c index 201c5b8..48bde9c

Re: [Pixman] [PATCH] MIPS: DSPr2: Basic infrastructure for MIPS architecture

2012-01-18 Thread Søren Sandmann
Hi, Thanks for the patch. The main comment I have is about being precise that this is about DSPr2 and not r1. This has some consequences: - I think a consistent string "dspr2" should be used to refer to this functionality. Ie., the files should be called pixman-mips-dspr2.[ch], the functions

[Pixman] [ANNOUNCE] pixman release 0.24.2 now available

2012-01-18 Thread Søren Sandmann
Detection Support For ARM NEON Colin Walters (1): autogen.sh: Support GNOME Build API Naohiro Aota (1): Don't use non-POSIX test Søren Sandmann Pedersen (7): Post-release version bump to 0

[Pixman] Fix for bug 45009

2012-01-25 Thread Søren Sandmann
Hi, The following patch reverts 259d46168c0f2, which was a change that made trapezoids like this one invalid: -- top \ \/ left right \

Re: [Pixman] Seems to crash in pixman

2012-01-26 Thread Søren Sandmann
ashbb writes: > When my friend runs the following snippet on his Macbook, it crashes. > >   require 'cairo' >   require 'pango' >   require 'gtk2' >   win = Gtk::Window.new >   win.set_default_size 300, 300 >   canvas = Gtk::Layout.new >   surface = Cairo::ImageSurface.new Cairo::FORMAT_ARGB32, 3

Re: [Pixman] [PATCH] iOS Runtime Detection Support For ARM NEON

2012-01-26 Thread Søren Sandmann
Bobby Salazar writes: > This patch adds runtime detection support for the ARM NEON fast paths > for code compiled with the iOS SDK. > > Please send comments to me directly as I am not subscribed to the > list. The patch looks fine to me; if noone objects, I'll merge it in a couple of days. Did

[Pixman] [ANNOUNCE] pixman release 0.24.4 now available

2012-02-08 Thread Søren Sandmann
Søren Sandmann Pedersen (3): Post-release version bump to 0.24.3 Revert "Reject trapezoids where top (botttom) is above (below) the edges" Pre-release version bump to 0.24.4 ___ Pixman mailing l

Re: [Pixman] [RFC PATCH] mmx: Use shuffle instruction when available

2012-02-13 Thread Søren Sandmann
Matt Turner writes: > Although not part of the original MMX instruction set, both SSE and > AMD's Extended 3DNow! both provide the pshufw instruction. > > ARM iwMMXt also has an equivalent instruction, as do the Loongson > Multimedia Instructions. > > We can simplify the expand_alpha, expand_alph

Re: [Pixman] [RFC PATCH] mmx: Use shuffle instruction when available

2012-02-13 Thread Søren Sandmann
sandm...@cs.au.dk (Søren Sandmann) writes: > Matt Turner writes: > >> Although not part of the original MMX instruction set, both SSE and >> AMD's Extended 3DNow! both provide the pshufw instruction. >> >> ARM iwMMXt also has an equivalent instructio

Re: [Pixman] [PATCH 1/2] MIPS: DSPr2: Basic infrastructure for MIPS architecture

2012-02-15 Thread Søren Sandmann
Nemanja Lukic writes: > From: Nemanja Lukic > > MIPS DSP instruction set extensions > --- > configure.ac | 42 > pixman/Makefile.am | 13 > pixman/pixman-cpu.c| 66 > > pixman

Re: [Pixman] [PATCH] MIPS: DSPr2: Basic infrastructure for MIPS architecture

2012-02-15 Thread Søren Sandmann
"Lukic, Nemanja" writes: > Run-time detection of the DSP extensions is left as it was in the > original patch. Yes, there is no easy way to run-time distinguish if > CPU supports DSPr1 or DSPr2. In case of "ddsp" string in the cpuinfo, > we don't want to return TRUE. TRUE should be returned only

Re: [Pixman] pixman on iOS

2012-02-16 Thread Søren Sandmann
Jeremy Huddleston writes: > Can you give me a bit more specifics? Do you have a reduced test case > that you can show me of the problems you are having? Have you opened > a bug report on llvm's bugzilla? Have you filed a radar with Apple's > bug tracker? As I understand it: The reduced test

Re: [Pixman] pixman on iOS

2012-02-16 Thread Søren Sandmann
Jeremy Huddleston writes: > I noticed this message in the release notes for 0.24.4: > """ > This release also contains some basic support for using the NEON > acceleration on iOS, although actually building pixman on that platform > remains difficult. > """ > > I was curious about what was so dif

Re: [Pixman] [PATCH 1/3] autoconf: add MMX EXT support check

2012-02-19 Thread Søren Sandmann
Matt Turner writes: > The current runtime test checked that MMX extensions were available > before executing code in pixman-mmx.c, even though no MMX extensions > were used. > > The new --{enable,disable}-mmxext flag enables the use of MMX extensions > in pixman-mmx.c. This allows us to use a few

Re: [Pixman] [PATCH 1/3] autoconf: add MMX EXT support check

2012-02-19 Thread Søren Sandmann
Matt Turner writes: >> Are there any interesting chips without MMX extensions? Pentium MMX >> definitely is not interesting. If there aren't, I'd rather just get rid >> of the ifdefs and unconditionally require MMX-ext to be present. > > Not really, but it doesn't seem to be much code at all to s

Re: [Pixman] [PATCH 1/3] autoconf: add MMX EXT support check

2012-02-19 Thread Søren Sandmann
Matt Turner writes: > On Sun, Feb 19, 2012 at 5:23 PM, Søren Sandmann wrote: >> Matt Turner writes: >> >>>> Are there any interesting chips without MMX extensions? Pentium MMX >>>> definitely is not interesting. If there aren't, I'd rather ju

Re: [Pixman] [PATCH v2 1/2] mmx: Use _mm_mulhi_pu16

2012-02-19 Thread Søren Sandmann
Matt Turner writes: > +/* We have to compile with -msse to use xmmintrin.h, but that causes SSE > + * instructions to be generated that we don't want. Just duplicate the > + * functions we want to use. */ > +extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, > __artificial_

Re: [Pixman] [PATCH v4 2/2] mmx: Use _mm_shuffle_pi16

2012-02-21 Thread Søren Sandmann
Matt Turner writes: > v4: use inline assembly since the intrinsic needs SSE or 3DNowA > - we can't use -msse, since it'll cause more SSE instructions to be > generated that we don't want > - there is no -m3dnowa flag (anymore?) Both patches look good to me. Just one nitpick:

[Pixman] [PATCH 1/2] mmx: Enable over_x888_8_8888() for x86 as well.

2012-02-21 Thread Søren Sandmann
From: Søren Sandmann Pedersen It used to be slower than the generic code (with the gcc that was current in 2007) that doesn't seem to be the case anymore: over_x888_8_ = L1: 22.97 L2: 22.88 M: 22.27 ( 5.29%) HT: 18.30 VT: 15.81 R: 15.54 RT: 10.35 ( 131Kops/s) over_x888_8

[Pixman] [PATCH 2/2] mmx: Delete unused function in_over_full_src_alpha()

2012-02-21 Thread Søren Sandmann
From: Søren Sandmann Pedersen Also a few minor formating fixes. --- pixman/pixman-mmx.c | 18 +- 1 files changed, 5 insertions(+), 13 deletions(-) diff --git a/pixman/pixman-mmx.c b/pixman/pixman-mmx.c index 609e532..a3500ce 100644 --- a/pixman/pixman-mmx.c +++ b/pixman

Re: [Pixman] mmx build regression

2012-02-22 Thread Søren Sandmann
Matt Turner writes: > This looks like an LLVM/clang bug. > > The 'K' constraint is documented here > http://gcc.gnu.org/onlinedocs/gcc/Machine-Constraints.html#Machine-Constraints > as an 8-bit immediate. Maybe clang just doesn't realize that the __N is compile-time constant. If so, changing _mm

Re: [Pixman] mmx: Improving the load8888/store8888 functions

2012-02-23 Thread Søren Sandmann
Matt Turner writes: > The load/store functions act as a boundary between the integer > and vector registers. > > Consider code like > uint32_t d = *dst; > __m64 vdest = load(d); > > The program loads 4 bytes of data into an integer register and then > transfers it to the vecto

[Pixman] [PATCH] Disable MMX when Clang is being used.

2012-02-23 Thread Søren Sandmann
From: Søren Sandmann Pedersen There are several issues with the Clang compiler and pixman-mmx.c: - When not optimizing, it doesn't seem to recognize that an argument to an __always_inline__ function is compile-time constant. This results in this error being produced: fatal

Re: [Pixman] [PATCH] Disable MMX when Clang is being used.

2012-02-23 Thread Søren Sandmann
Jeremy Huddleston writes: > I'd rather check what it chokes on rather than just erroring out if > it's __clang__ ... that way when it is fixed, newer versions will > "just work" Feel free to send such patches. Soren ___ Pixman mailing list Pixman@lis

Re: [Pixman] Basic infrastructure for MIPS architecture and initial set of SRC routines.

2012-02-25 Thread Søren Sandmann
I have merged the patches to master. Thanks, Soren Nemanja Lukic writes: > Per previous code review: > > Run time detection is changed so that "MIPS 74K" instead of "MIPS 74Kc" string > is searched in /proc/cpuinfo. I used 74Kc as search string, since all boards I > have, although Kf (like 24K

[Pixman] [PATCH 1/1] Disable implementations mentioned in the PIXMAN_DISABLE environment variable.

2012-02-25 Thread Søren Sandmann
From: Søren Sandmann Pedersen With this, it becomes possible to do PIXMAN_DISABLE="sse2 mmx" some_app which will run some_app without SSE2 and MMX enabled. This is useful for benchmarking, testing and narrowing down bugs. --- pixman/pixman-cp

Re: [Pixman] [PATCH 1/1] Disable implementations mentioned in the PIXMAN_DISABLE environment variable.

2012-02-26 Thread Søren Sandmann
Andrea Canciani writes: > I think that strstr might cause substrings to also disable unintended > backends. > This would already happen for "mmx" vs "arm-iwmmxt". > Is this intentional? > Although in this specific case, it might be ok, I believe that it > might lead to unexpected behavior as oth

[Pixman] [PATCH] Disable implementations mentioned in the PIXMAN_DISABLE environment variable.

2012-02-26 Thread Søren Sandmann
From: Søren Sandmann Pedersen With this, it becomes possible to do PIXMAN_DISABLE="sse2 mmx" some_app which will run some_app without SSE2 and MMX enabled. This is useful for benchmarking, testing and narrowing down bugs. The current list of implementations that can b

[Pixman] [PATCH] Move fetching for solid bits images to pixman-noop.c

2012-02-26 Thread Søren Sandmann
From: Søren Sandmann Pedersen This should be a bit faster because it can reuse the scanline on each iteration. --- pixman/pixman-bits-image.c | 28 pixman/pixman-noop.c | 27 +++ 2 files changed, 27 insertions(+), 28 deletions

Re: [Pixman] [PATCH] MIPS: DSPr2: Added mips_dspr2_blt and mips_dspr2_fill routines.

2012-02-28 Thread Søren Sandmann
Matt Turner writes: > On Tue, Feb 28, 2012 at 1:20 PM, Lukic, Nemanja wrote: >> Good point. >> Only problem there is that address on which we are storing might not be >> 4-byte aligned (since we are doing memset on array of uint16_t). >> But *dest can be aligned (with simple check) before the m

Re: [Pixman] [PATCH 2/6] mmx: compile on MIPS for Loongson MMI optimizations

2012-02-28 Thread Søren Sandmann
Matt Turner writes: > +/* vectors are stored in 64-bit floating-point registers */ > +typedef double __m64; > [...] > @@ -114,11 +118,14 @@ _mm_shuffle_pi16 (__m64 __A, int8_t const __N) > * uint64_t and __m64 values, then define USE_CVT_INTRINSICS. > * If __m64 and uint64_t values can just

Re: [Pixman] [PATCH 5/6] mmx: introduce is_equal and is_zero functions

2012-02-28 Thread Søren Sandmann
Matt Turner writes: > To be used by the next commit. > > Signed-off-by: Matt Turner > --- > pixman/pixman-mmx.c | 17 + > 1 files changed, 17 insertions(+), 0 deletions(-) > > diff --git a/pixman/pixman-mmx.c b/pixman/pixman-mmx.c > index 8b55b32..63edf18 100644 > --- a/pixman

Re: [Pixman] [PATCH 2/6] mmx: compile on MIPS for Loongson MMI optimizations

2012-02-28 Thread Søren Sandmann
Matt Turner writes: > diff --git a/pixman/pixman-cpu.c b/pixman/pixman-cpu.c > index 92942b2..1fc9faa 100644 > --- a/pixman/pixman-cpu.c > +++ b/pixman/pixman-cpu.c > @@ -690,7 +690,9 @@ _pixman_choose_implementation (void) > if (pixman_have_arm_iwmmxt ()) > imp = _pixman_implementatio

[Pixman] [PATCH] pixman-accessors.h: Delete unused macros

2012-02-29 Thread Søren Sandmann
From: Søren Sandmann Pedersen The MEMCPY_WRAPPED and ACCESS macros are not used anymore. --- pixman/pixman-accessor.h | 15 --- 1 files changed, 0 insertions(+), 15 deletions(-) diff --git a/pixman/pixman-accessor.h b/pixman/pixman-accessor.h index 90c8ea7..8e0b036 100644 --- a

[Pixman] [PATCH] pixman-access.c: Remove some unused macros

2012-02-29 Thread Søren Sandmann
From: Søren Sandmann Pedersen The macros related to palette entries: RGB15_TO_ENTRY, RGB24_TO_ENTRY, RGB24_TO_ENTRY_Y are not used anywhere. --- pixman/pixman-access.c |9 - 1 files changed, 0 insertions(+), 9 deletions(-) diff --git a/pixman/pixman-access.c b/pixman/pixman

Re: [Pixman] [PATCH] MIPS: DSPr2: Added mips_dspr2_blt and mips_dspr2_fill routines.

2012-03-03 Thread Søren Sandmann
Nemanja Lukic writes: > From: Nemanja Lukic > > Performance numbers before/after on MIPS-74kc @ 1GHz Pushed to master. Thanks, Søren ___ Pixman mailing list Pixman@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pixman

[Pixman] [ANNOUNCE] pixman release 0.25.2 now available

2012-03-08 Thread Søren Sandmann
/pixman-0.25.2.tar.gz.sha1.asc (signed by Søren Sandmann Pedersen Git: git://git.freedesktop.org/git/pixman tag: pixman-0.25.2 Log: Alan Coopersmith (2): Make mmx code compatible with Solaris Studio 12.3 compilers Just use xmmintrin.h when

Re: [Pixman] [PATCH] MIPS: DSPr2: Added over_n_8888_8888_ca and over_n_8888_0565_ca fast paths.

2012-03-12 Thread Søren Sandmann
Nemanja Lukic writes: > [ # ] backend test min(s) median(s) stddev. count > [ # ]image: pixman 0.25.3 > [ 0]imagexfce4-terminal-a1 138.223 139.070 0.33%6/6 > [ # ] image16: pixman 0.25.3 > [ 0] image16xfce4-terminal-a1 132.76

Re: [Pixman] A6R6G6B6 (or A8R5G6B5)

2012-03-13 Thread Søren Sandmann
Leon Woestenberg writes: > What is the purpose of color_to_pixel()?  Not all formats are supported in > there, why not? The function is used in pixman_image_fill_boxes() to convert a full-precision pixman_color_t to a value than can be directly written to a pixman image. If a format is not sup

Re: [Pixman] when can MAKE_ACCESSORS be used on a format, and when not?

2012-03-13 Thread Søren Sandmann
Leon Woestenberg writes: > when is it required to write a specific accessor function, and when can > MAKE_ACCESSORS be used? MAKE_ACCESSORS() should work when the format type is not a YUV format, and when the format does not have channels wider than 8 bits. Soren __

Re: [Pixman] [PATCH] MIPS: DSPr2: Added over_n_8888_8888_ca and over_n_8888_0565_ca fast paths.

2012-03-13 Thread Søren Sandmann
Siarhei Siamashka writes: > optimizations any more. Anyway, the purpose of running benchmarks is > to confirm the performance improvement, so I guess this trace is also > fine even though it does not behave as originally intended. Agreed, pushed to master. Thanks, Søren ___

Re: [Pixman] [PATCH 1/4] Revert "Disable MMX when Clang is being used."

2012-03-13 Thread Søren Sandmann
Pushed this series to master. Thanks, Soren ___ Pixman mailing list Pixman@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pixman

[Pixman] [PATCH] Use "=a" and "=d" constraints for rdtsc inline assembly

2012-03-14 Thread Søren Sandmann
From: Søren Sandmann Pedersen In 32 bit mode the "=A" constraint refers to the register pair edx:eax, but according to GCC developers this is not the case in 64 bit mode, where it refers to "rax". Hence, using "=A" for rdtsc is incorrect in 64 bit mode. S

Re: [Pixman] [PATCH] Use "=a" and "=d" constraints for rdtsc inline assembly

2012-03-14 Thread Søren Sandmann
Matt Turner writes: >>  static inline uint64_t >>  oil_profile_stamp_rdtsc (void) >>  { >> -    uint64_t ts; >> +    uint32_t hi, lo; >> >> -    __asm__ __volatile__ ("rdtsc\n" : "=A" (ts)); >> -    return ts; >> +    __asm__ __volatile__ ("rdtsc\n" : "=a" (lo), "=d" (hi)); >> + >> +    return lo

Re: [Pixman] Patch to include xmmintrin.h on Visual C++ in pixman-master

2012-03-15 Thread Søren Sandmann
Fan Chun-wei writes: > This is a patch to include xmmintrin.h on Visual C++ in pixman-mmx.c > as this is where _mm_shuffle_pi16 and _mm_mulhi_pu16 are defined on > that compiler, and the definitions of those functions provided in > pixman-mmx.c use gcc-specific items which Visual C++ does not lik

Re: [Pixman] [PATCH 4/4] Expand TLS support beyond __thread to __declspec(thread)

2012-03-16 Thread Søren Sandmann
Jeremy Huddleston writes: > On Mar 14, 2012, at 16:39, Matt Turner wrote: > >> This causes test failures >> >> /bin/sh: line 5: 10408 Segmentation fault ${dir}$tst >> FAIL: scaling-test >> /bin/sh: line 5: 10429 Floating point exception${dir}$tst >> FAIL: affine-test >> Test 629 fa

Re: [Pixman] [PATCH 01/11] mmx: add store function and use it in add_8888_8888

2012-03-16 Thread Søren Sandmann
Most of this series look good, but a few comments: - Considering the fact that all the intrinsics are reimplemented in inline assembly, do you actually need -march=loongson? - Should the header file loongson-mmintrin.h be added to libpixman_loongson_mmi_la_SOURCES? Otherwise it might not show

Re: [Pixman] Patch to include xmmintrin.h on Visual C++ in pixman-master

2012-03-21 Thread Søren Sandmann
Dimiter 'malkia' Stanev writes: > I'm compiling with Windows WDK (7.1) which is ~ 2008 compiler. I had > to replace __inline__ with force_inline: Makes sense. If you want it in master, please send a patch with a commit log, for example using git send-email. Søren __

[Pixman] [PATCH 0/3] Two new demo programs

2012-03-24 Thread Søren Sandmann
The following patches add two new demo programs: - quad2quad, which will compute the projective transformation that maps one quadrilateral into another - checkerboard, which shows a checkerboard being projectively transformed. There is nothing earthshattering about either one, but they migh

<    1   2   3   4   5   6   7   8   9   >