[Pixman] [PATCH 2/2] Make use of image flags in mmx and sse2 iterators

2012-05-30 Thread Søren Sandmann
From: Søren Sandmann Pedersen s...@redhat.com Now that we have the full image flags available, the SSE2 and MMX iterators can simply check against SAMPLES_COVER_CLIP_NEAREST (which is computed in pixman_image_composite32()) instead of comparing all the x/y/width/height parameters. ---

[Pixman] [PATCH 1/2] Pass the full image flags to iterators

2012-05-30 Thread Søren Sandmann
From: Søren Sandmann Pedersen s...@redhat.com When pixman_image_composite32() is called some flags are computed that indicate various things about the composite operation that can't be deduced from the image flags themselves. These additional flags are not currently available to iterators. All

Re: [Pixman] clang 3.0: Unsupported asm: input constraint with a matching output constraint of incompatible type!

2012-05-30 Thread Jeremy Huddleston
On May 30, 2012, at 09:28, Ryan Schmidt pixman-20...@ryandesign.com wrote: On May 30, 2012, at 11:15, Jeremy Huddleston wrote: My tinderbox (yuffie) is building pixman master using clang-3.0 (from MacPorts) for x86_64: http://tinderbox.x.org/builds/2012-05-30-0005/logs/pixman/#build

Re: [Pixman] clang 3.0: Unsupported asm: input constraint with a matching output constraint of incompatible type!

2012-05-30 Thread Siarhei Siamashka
On Wed, May 30, 2012 at 7:15 PM, Jeremy Huddleston jerem...@freedesktop.org wrote: My tinderbox (yuffie) is building pixman master using clang-3.0 (from MacPorts) for x86_64: http://tinderbox.x.org/builds/2012-05-30-0005/logs/pixman/#build I don't believe the changes were ever reverted.  

Re: [Pixman] clang 3.0: Unsupported asm: input constraint with a matching output constraint of incompatible type!

2012-05-30 Thread Jeremy Huddleston
On May 30, 2012, at 10:03 AM, Siarhei Siamashka siarhei.siamas...@gmail.com wrote: On Wed, May 30, 2012 at 7:15 PM, Jeremy Huddleston jerem...@freedesktop.org wrote: My tinderbox (yuffie) is building pixman master using clang-3.0 (from MacPorts) for x86_64:

[Pixman] [PATCH 4/8] Add support for alpha maps to compute_crc32_for_image().

2012-05-30 Thread Søren Sandmann
From: Søren Sandmann Pedersen s...@redhat.com When a destination image I has an alpha map A, the following rules apply: - If I has an alpha channel itself, the content of that channel is undefined - If A has RGB channels, the content of those channels is undefined. Hence in

[Pixman] [PATCH 6/8] Speed up pixman_composite_glyphs()

2012-05-30 Thread Søren Sandmann
From: Søren Sandmann Pedersen s...@redhat.com When adding glyphs to the mask, bypass most of the overhead of pixman_image_composite32() by: - Only looking up the composite function when the glyph changes either format or flags. - Just intersecting the glyph rectangle with the destination

[Pixman] [PATCH 3/8] Move CRC32 computation from blitters-test.c into utils.c

2012-05-30 Thread Søren Sandmann
From: Søren Sandmann Pedersen s...@redhat.com This way it can be used in other tests. --- test/blitters-test.c | 31 +-- test/utils.c | 39 +++ test/utils.h |7 ++- 3 files changed, 46 insertions(+), 31

[Pixman] [PATCH 2/8] Add pixman_glyph_cache_t API

2012-05-30 Thread Søren Sandmann
From: Søren Sandmann Pedersen s...@redhat.com This new API allows entire glyph strings to be composited in one go which reduces overhead compared to multiple calls to pixman_image_composite32(). The pixman_glyph_cache_t is a hash table that maps two keys (a font and a glyph key, but they are

[Pixman] [PATCH 1/8] Add doubly linked lists

2012-05-30 Thread Søren Sandmann
From: Søren Sandmann Pedersen s...@redhat.com This commit adds some new inline functions to maintain a doubly linked list. The way to use them is to embed a pixman_link_t into the structures that should be linked, and use a pixman_list_t as the head of the list. The new functions are

Re: [Pixman] [PATCH 1/8] Add doubly linked lists

2012-05-30 Thread Alan Coopersmith
On 05/30/12 04:41 PM, Søren Sandmann wrote: +# define OFFSET_OF(type, member) \ +((unsigned long)type *)0)-member)) +#endif Why not use the offsetof(type, member) macro that C89 guarantees to be provided by #include stddef.h instead of coding up your

Re: [Pixman] clang 3.0: Unsupported asm: input constraint with a matching output constraint of incompatible type!

2012-05-30 Thread Ryan Schmidt
On May 30, 2012, at 16:10, Jeremy Huddleston wrote: In my case, config.log shows that the check is behaving correctly: configure:12684: checking whether to use MMX intrinsics configure:12709: /opt/local/libexec/llvm-3.0/libexec/scan-build/ccc-analyzer -c -mmmx -Winline -O0 -g3 -pipe

Re: [Pixman] [PATCH 1/8] Add doubly linked lists

2012-05-30 Thread Søren Sandmann
Alan Coopersmith alan.coopersm...@oracle.com writes: On 05/30/12 04:41 PM, Søren Sandmann wrote: +# define OFFSET_OF(type, member) \ +((unsigned long)type *)0)-member)) +#endif Why not use the offsetof(type, member) macro that C89 guarantees to be

Re: [Pixman] clang 3.0: Unsupported asm: input constraint with a matching output constraint of incompatible type!

2012-05-30 Thread Søren Sandmann
Jeremy Huddleston jerem...@freedesktop.org writes: Yes, clang-3.0 has the bug, and pixman's configure script should be detecting that and disabling the code path that tickles the bug. In my case, config.log shows that the check is behaving correctly: configure:12684: checking whether to

Re: [Pixman] clang 3.0: Unsupported asm: input constraint with a matching output constraint of incompatible type!

2012-05-30 Thread Ryan Schmidt
On May 30, 2012, at 20:33, Søren Sandmann wrote: Maybe the difference is that you are using -O0 where Ryan is using -O2. The K constraint requires the argument to be compile-time constant, which it is, but clang may not be able to see that without optimization. Confirmed: If I set

Re: [Pixman] [PATCH 2/8] Add pixman_glyph_cache_t API

2012-05-30 Thread Behdad Esfahbod
Looks nice. I don't see you updating the mru list though. behdad On 05/30/2012 07:41 PM, Søren Sandmann wrote: From: Søren Sandmann Pedersen s...@redhat.com This new API allows entire glyph strings to be composited in one go which reduces overhead compared to multiple calls to

Re: [Pixman] [PATCH 0/8] Add glyph API

2012-05-30 Thread Behdad Esfahbod
On 05/30/2012 07:41 PM, Søren Sandmann wrote: While this is going on, the cache must be frozen, which basically means that glyphs will not be evicted from it. That way, the application can be sure that all the glyphs are available at compositing time. Afterwards, when the cache is thawed, it

Re: [Pixman] [PATCH 2/8] Add pixman_glyph_cache_t API

2012-05-30 Thread Søren Sandmann
Behdad Esfahbod beh...@behdad.org writes: Looks nice. I don't see you updating the mru list though. It's actually added in the two optimizations later in the series. I used to have them in the API patch too, but they must have gotten lost in the rebases. I'll add them there too. Thanks,

Re: [Pixman] [PATCH 0/8] Add glyph API

2012-05-30 Thread Søren Sandmann
Behdad Esfahbod beh...@behdad.org writes: On 05/30/2012 07:41 PM, Søren Sandmann wrote: While this is going on, the cache must be frozen, which basically means that glyphs will not be evicted from it. That way, the application can be sure that all the glyphs are available at compositing