Pass the src, mask, and dest buffers into pixman_composite_rect_general_* as
void* pointers since those functions should not do pointer arithmetic.
Signed-off-by: Soren Sandmann Pedersen <sandmann@redhat.com>
When using SSE2 intrinsics, gcc assumes that the stack is 16 byte
aligned. Unfortunately some code, such as Mozilla and Mono contain
code that aligns the stack to 4 bytes.
The __force_align_arg_pointer__ makes gcc generate a prologue that
realigns the stack pointer to 16 bytes. Fix bug 15693.
Instead of using the parameters --param inline-unit-growth=10000 and
--param large-function-growth=10000", just make the inline functions
__always_inline__.
Also support Intel's compiler in pixman-mmx.c.
Based on a patch by Serhat <ubunturk@gmail.com>
Copy some macros from pixman-private.h into combine.inc and update them to
generate 64-bit versions as appropriate. Add a rule to generate
pixman-combine64.c and add it to the build.
Signed-off-by: Søren Sandmann <sandmann@redhat.com>
The masks and shifts have been replaced with preprocessor defines generated by
combine.pl. The uint*_t types have been replaced with comp4_t, comp2_t, and
comp1_t depending on how many components the value is supposed to hold.
Signed-off-by: Søren Sandmann <sandmann@redhat.com>
This will eventually be used to search & replace types and mask/shift
calculations to generate a wide version of these functions.
Signed-off-by: Søren Sandmann <sandmann@redhat.com>
Check if we can replace our operator by a simpler one if the src or
dest are opaque The output operator should be mathematically
equivalent to the source.
Build-depend on automake, autoconf, libtool and pkg-config. Drop patch for
maintainer mode, and drop build-dep on quilt and corresponding code in
debian/rules. Add new rules autogen and config, where we run autoreconf and
configure, respectively. Update clean rule to remove files generated by
autogen.
The combining functions operate on scratch memory, so they don't need the access
wrappers. There's also no reason not to use the MMX combining functions in the
accessor path.
The tests were including pixman.h, but pixman.h couldn't find pixman-version.h
because it was in $(top_builddir)/pixman rather than $(top_srcdir)/pixman.