Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/openfl/libpixman


https://github.com/openfl/libpixman

ARMv6: New fill routines

Note that this also effectively accelerates src_n_8888, src_n_0565 and
src_n_8 composite types, ...

3cff56c5b091d2e584503e7887414e224876de37 authored almost 12 years ago
ARMv6: Lay the groundwork for later patches in the series

Move the entire contents of pixman-arm-simd-asm.S to a new file;
ultimately this will only retai...

2e173326aaf232d84ed71faf3517bd7989680e27 authored almost 12 years ago
demo/scale: Add a spin button to set the number of subsample bits

For large upscalings the level of subsampling for the filter has a
quite visible effect, so make...

65fc1adb6545737058e938105ae948a3607c277c authored almost 12 years ago
Use pixman_transform_point_31_16() from pixman_transform_point()

Old functions pixman_transform_point() and pixman_transform_point_3d()
now become just wrappers ...

ed39992564beefe6b12f81e842caba11aff98a9c authored almost 12 years ago
test: Added matrix-test for testing projective transform accuracy

This test uses __float128 data type when it is available
for implementing a "perfect" reference ...

5a78d74ccccba2aeb473f04ade44512d2f6c0613 authored almost 12 years ago
configure.ac: Added detection for __float128 support

GCC supports 128-bit floating point data type on some platforms (including
but not limited to x8...

09600ae7e34eb777471c931cd4c3a8cdbda6e84a authored almost 12 years ago
Add higher precision "pixman_transform_point_*" functions

The following new functions are added:

pixman_transform_point_31_16_3d() -
Calculates the p...

c3deb8334a71998b986a7b8d5b74bedf26cc23aa authored almost 12 years ago
Faster fetch for the C variant of r5g6b5 src/dest iterator

Processing two pixels at once is used to reduce the number of
arithmetic operations.

The speedu...

a47ed2c31180e6c3b332747a1721731e0649b10f authored almost 12 years ago
Faster write-back for the C variant of r5g6b5 dest iterator

Unrolling loops improves performance, so just use it here.

Also GCC can't properly optimize thi...

e66fd5ccb6b69dfa1acde36220dc3c3c44026890 authored almost 12 years ago
Added C variants of r5g6b5 fetch/write-back iterators

Adding specialized iterators for r5g6b5 color format allows us to work
on fine tuning performanc...

a9f66694163da9e8e41a69497acbadd630e0cb51 authored almost 12 years ago
Eliminate duplicate copies of channel flags for pixman_image_composite32()

Signed-off-by: Chris Wilson <[email protected]>

794033ed43ed74ad66075a4d0c83fd36565da876 authored almost 12 years ago
Always return a valid function from lookup_combiner()

We should always have at least a C combiner available, so we never
expect the search to fail. If...

a59f081df45ec5c15b295bb31b22dbe787e2f2b1 authored almost 12 years ago
sse2: Add a fast path for add_n_8888

This path is being exercised by inplace compositing of trapezoids, for
instance as used in the f...

7ced3beec99e9965717f76cc822d0702383a1fce authored almost 12 years ago
sse2: Add fast paths for bilinear source with a solid mask

Based on the existing sse2_8888_n_8888 nearest scaling routines.

fishbowl on an i5-2500: 60.9s ...

b283c864a3de039f9213adaf402c6597db12d0c4 authored almost 12 years ago
sse2: Add a fast path for add_n_8_8888

This path is being exercised by compositing of trapezoids for clipmasks, for
instance as used in...

d00ce4091215e8a648c6f1912829b35c02b06add authored almost 12 years ago
Always return a valid function from lookup_composite()

We never expect to fail to find the appropriate function as the
general_composite_rect should al...

520230914bbb56473b872f2ef7dc59092f426415 authored almost 12 years ago
Add a version of bilinear_interpolation for precision <=4

Having 4 or fewer bits means we can do two components at
a time in a single 32 bit register.

He...

b7f523e3bcbef1f08bf9b374f2704723d5298c1f authored almost 12 years ago
Tweaks to lowlevel-blt-bench

This adds two extra tests, src_n_8 and src_8_8, which I have been
using to benchmark my ARMv6 ch...

24e83cae64eaa238a7bf67488917b0f8cac89114 authored almost 12 years ago
test: Use operator_name() and format_name() in composite.c

With the operator_name() and format_name() functions there is no
longer any reason for composite...

b527a0e615a726aa6a7d18f0ea0b38564b153afa authored about 12 years ago
utils.[ch]: Add new format_name() function

This function returns the name of the given format code, which is
useful for printing out debug ...

4eb9a24abae6cee7562c3ec8965dc4eaaba0e8ab authored about 12 years ago
test/utils.[ch]: Add new function operator_name()

This function returns the name of the given operator, which is useful
for printing out debug inf...

1676b4938912bd140791c347aa4d08db255dd60f authored about 12 years ago
README: Add guidelines on how to contribute patches

Ben Avison pointed out here:

http://lists.freedesktop.org/archives/pixman/2013-January/00248...

8d85311143b0bc30d3490c0ca2ddbe927a1f9ac8 authored about 12 years ago
Convert INCLUDES to AM_CPPFLAGS

INCLUDES has been deprecated starting with automake 1.13. Convert all
occurrences with the recom...

61dacffaf47e6b631a2c67230f8f111038d1de09 authored about 12 years ago
Add new demos and tests to .gitignore

c7c28f440db083d69ca930b44fc6280bb558e098 authored about 12 years ago
MIPS: DSPr2: Added more fast-paths:

- over_reverse_n_8888
- in_n_8_8

Performance numbers before/after on MIPS-74kc @ 1GHz:

lowlev...

2c6577476e5b18e17904ae8af244a39c352e2e33 authored about 12 years ago
MIPS: DSPr2: Added more fast-paths for REVERSE operation:

- out_reverse_8_0565
- out_reverse_8_8888

Performance numbers before/after on MIPS-74kc @ 1GHz...

a67b0e24d7eaba3b9525eeb8bf357ded95cc6b7c authored about 12 years ago
pixman-filter.c: Cope with NULL returns from malloc()

v2: Don't return a pointer to uninitialized memory when the allocation
of horz and vert fails, b...

35cc965514ca6e665c18411fcf66db826d559c2a authored about 12 years ago
Handle solid images in the noop iterator

The noop src iterator already has code to handle solid images, but
that code never actually runs...

58526cfc7290a740f61e288f09fe721c4e6511bd authored about 12 years ago
Fix build with automake-1.13

Automake-1.13 has removed long obsolete AM_CONFIG_HEADER macro (
http://lists.gnu.org/archive/ht...

480dd38fd190fb7ca4ff172a31a4a6ef2944f20c authored about 12 years ago
Use more appropriate types and remove a magic constant

1abde88ae60ae0877073d85cbf5b39013337f5da authored about 12 years ago
Define SIZE_MAX if it is not provided by the standard C headers

C++ compilers do not define SIZE_MAX. It is also not available
if the code is compiled by some C...

c1fd5a42439b21872170979d8c400cbb374e1f9d authored about 12 years ago
Rename 'xor' variable to 'filler' (because 'xor' is a C++ keyword)

66c429282282176cdb5913b7396116c28725363e authored about 12 years ago
float-combiner.c: Change tests for x == 0.0 tests to - FLT_MIN < x < FLT_MIN

pixman-float-combiner.c currently uses checks like these:

if (x == 0.0f)
...
el...

4dfda2adfe2eb1130fc27b1da35df778284afd91 authored about 12 years ago
ARM: make use of UQADD8 instruction even in generic C code paths

ARMv6 has UQADD8 instruction, which implements unsigned saturated
addition for 8-bit values pack...

2734071d7bee699401dc8c98d5c2ef0e2dbb0c91 authored about 12 years ago
Faster conversion from a8r8g8b8 to r5g6b5 in C code

This change reduces 3 shifts, 3 ANDs and 2 ORs (total 8 arithmetic
operations) to 3 shifts, 2 AN...

f9a41703b2d46c988b9e4e378d27396f718006ae authored about 12 years ago
Change CONVERT_XXXX_TO_YYYY macros into inline functions

It is easier and safer to modify their code in the case if the
calculations need some temporary ...

3922e90c400fca3ac43dc77b8dd0c0591e7e4fbc authored about 12 years ago
test: add "src_0565_8888" to lowlevel-blt-bench

e4519360c15772ac51038b9f86e3f730f06cfb65 authored about 12 years ago
pixman_composite_trapezoids(): Check for NULL return from create_bits()

A check is needed that the creation of the temporary image in
pixman_composite_trapezoids() succ...

6a6c8c51ed9e7272e624b3c99187ddf71d19a0fd authored about 12 years ago
pixman_composite_trapezoids: Return early if mask_format is not of TYPE_ALPHA

stress-test -s 0x17ee crashes because pixman_composite_trapezoids() is
given a mask_format of PI...

c2cb303d33ec11390b93cabd90f0f95bc9264113 authored about 12 years ago
Add testing of trapezoids to stress-test

The entry points add_trapezoids(), rasterize_trapezoid() and
composite_trapezoid() are exercised...

1f0c02811ea71b36380b9d4029a248659bd9af50 authored about 12 years ago
demos/radial-test: Add checkerboard to display the alpha channel

526dc06e5694172abf979c03a5cf530207fe2d27 authored about 12 years ago
demos/conical-test: Use the draw_checkerboard() utility function

Instead of having its own copy.

6402b2aa0c2215a5add233b3c1bc2ae634d43aaf authored about 12 years ago
test/utils.[ch]: Add utility function to draw a checkerboard

This is useful in demo programs to display the alpha channel.

e382e52d675a4ae86ed94ab1124ea7d98c3db75a authored about 12 years ago
radial: When comparing t to mindr, use >= rather than >

Radial gradients are conceptually rendered as a sequence of circles
generated by linearly extrap...

b0a6504122ba4f585fb60626ec71bf613fc64fae authored about 12 years ago
demos/radial-test: Add zero-radius circles to demonstrate rendering bugs

Add two new gradient columns, one where the start circle is has radius
0 and one where the end c...

54aca22058e8f4daf999b37e5c5e6ddd8e67f811 authored about 12 years ago
test: Workaround unaligned MOVDQA bug (http://gcc.gnu.org/PR55614)

Just use SSE2 intrinsics to do unaligned memory accesses as
a workaround for this gcc bug relate...

fdab3c1b6cd9c5e197ec3f6bc0a03da32880e317 authored about 12 years ago
Improve performance of combine_over_u

The generic C over_u combiner can be a lot faster with the
addition of special shortcuts for 0xF...

2bc59006d7fe91abf68a2061ad86c06e1b2964ab authored about 12 years ago
Add fast paths for separable convolution

Similar to the fast paths for general affine access, add some fast
paths for the separable filte...

8ca4e144724ba2041bc5ef077ccf6d24e7cf4d1f authored about 12 years ago
Add new pixman_filter_create_separable_convolution() API

This new API is a helper function to create filter parameters suitable
for use with PIXMAN_FILTE...

6915f3e24f4169260a8ad6ab7ff3087388dbe5db authored about 12 years ago
Add new filter PIXMAN_FILTER_SEPARABLE_CONVOLUTION

This filter is a new way to use a convolution matrix for filtering. In
contrast to the existing ...

6fd480b17c8398c217e4c11e826c82dbb8288006 authored about 12 years ago
rounding.txt: Describe how SEPARABLE_CONVOLUTION filter works

Add some notes on how to compute the convolution matrices to be used
with the SEPARABLE_CONVOLUT...

68760d3fe1351cb745aedcada7d765edc08bbe8b authored about 12 years ago
Add demos/zone_plate.png

The zone plate image is a useful test case for image scalers because
it contains all representab...

3a98787bddeb007a1cd2b86235205774c15250f2 authored about 12 years ago
Add demo program for conical gradients

This new test is derived from radial-test.c and displays conical
gradients at various angles.

I...

4f18ba30cea56331e30992242201b20954c8f7f2 authored about 12 years ago
demos: Add new demo program, "scale"

This program allows interactively scaling and rotating images with
using various filters and rep...

97491ed26cfd4bad9cceffa789bfcbef77421d38 authored about 12 years ago
demos/gtk-utils.[ch]: Add pixman_image_from_file()

This function uses GdkPixbuf to load various common formats such as
.png and .jpg into a pixman ...

7f5bb22d17f17c2032914163a318f4ec438ba280 authored about 12 years ago
Fix thread safety on mingw-w64 and clang

After finding a working TLS storage class specifier, configure was
continuing to test other cand...

7e39861da3655779ce76a72592feed3c1dd90017 authored about 12 years ago
test: Get rid of the obsolete 'prng_rand_N' and 'prng_rand_u32'

They are the same as 'prng_rand_n' and 'prng_rand'

ebedd9a2ad8e841cd8323838b5136657d9ebb988 authored about 12 years ago
test: Switch to the new PRNG instead of old LCG

Wallclock time for running pixman "make check" (compile time not included):

-------------------...

b31a696263f1ae9aebb9bb21b93a0c15453bf611 authored about 12 years ago
test: Search/replace 'lcg_*' -> 'prng_*'

The 'lcg' prefix is going to be misleading if we replace
PRNG algorithm.

309e66f047cab0951d8e42628dcd181e2d14c58d authored about 12 years ago
test: Added a better PRNG (pseudorandom number generator)

This adds a fast SIMD-optimized variant of a small noncryptographic
PRNG originally developed by...

d6545a2fc6f65c4959c6f85a15e95675347c0940 authored about 12 years ago
test: Change is_little_endian() into inline function

Also dropped redundant volatile keyword because any object
can be accessed via char* pointer wit...

41f98a07fc3235b64713a39238238801304ac346 authored about 12 years ago
Add text file rounding.txt describing how rounding works

It is not entirely obvious how pixman gets from "location in the
source image" to "pixel value s...

978bab253d1d061b00b5e80aa45ab6986aac466f authored about 12 years ago
Convolution filter: round color values instead of truncating

The pixel computed by the convolution filter should be rounded off,
not truncated. As a simple e...

74319e9d39f5d7f85cb75fcb91343f298b0e62e2 authored about 12 years ago
Round fixed-point multiplication

After two fixed-point numbers are multiplied, the result is shifted
into place, but up until now...

f0816ddaf4e61d9295de5b1cbe51f956db7fbd16 authored about 12 years ago
test: Fix compiler warnings caused by unused code

Signed-off-by: Stefan Weil <[email protected]>

44dd746bb68625b2f6be77c3f80292b45defe9d7 authored about 12 years ago
pixman: Use uintptr_t in type casts from pointer to integral value

These modifications fix lots of compiler warnings for systems where
sizeof(unsigned long) != siz...

5f96022d3bca15050958512f1c15a0067d2225af authored about 12 years ago
Always use xmmintrin.h for 64 bit Windows

MinGW-w64 uses the GNU compiler and does not define _MSC_VER.
Nevertheless, it provides xmmintri...

a96efd02d68b726d6d140d0bd211bc7cc1be127a authored about 12 years ago
MIPS: DSPr2: Added more fast-paths for SRC operation:

Performance numbers before/after on MIPS-74kc @ 1GHz:

lowlevel-blt-bench results

Referent (bef...

e33e9d3f55590c369c532b0305f928045e0a46cb authored about 12 years ago
MIPS: DSPr2: Added several nearest neighbor fast paths with a8 mask:

Performance numbers before/after on MIPS-74kc @ 1GHz:

lowlevel-blt-bench -n

Referent (before):...

899e0d60524bcd2cff6cad6acb310181fb96b39a authored about 12 years ago
MIPS: DSPr2: Added more fast-paths for OVER operation:

Performance numbers before/after on MIPS-74kc @ 1GHz:

lowlevel-blt-bench results

Referent (bef...

a432bdce6637aa96060b9f1e25aae51c6fb95670 authored about 12 years ago
Allow src and dst to be identical in pixman_f_transform_invert()

It is useful to be able to invert a matrix in place, but currently
pixman_f_transform_invert() w...

d881e1f5801ca0aefecccb43db05db539b3080d5 authored about 12 years ago
pixman.h: Add typedefs for pixman_f_transform and pixman_f_vector

614e7aaf14652c726b067bbc7562ef237dcd50de authored about 12 years ago
Fix undeclared variable use and sysctlbyname error handling on ppc

Fixes bug 56889.

b2e0e240fec4a8eaa7fe8da3a6807bcb8ac97edf authored about 12 years ago
pixman_image_composite: Reduce opaque masks to NULL

When the mask is known to be opaque, we might as well reduce it to
NULL to take advantage of the...

400436dc52450359de35cac9efa6aea631cf34e9 authored about 12 years ago
Post-release version bump to 0.29.1

f2ada9e63fdd1034766e86d71008e0d819074f27 authored about 12 years ago
Pre-release version bump to 0.28.0

8a2ff3e0ef0449921d962f8b9c093c2353ffd945 authored about 12 years ago
Post-release version bump to 0.27.5

4b91f6ca72db3e8cbd7e97e9ef44be2f8994040d authored about 12 years ago
Pre-release version bump to 0.27.4

0de3f3344908757b61f9f51b59d4a39f7447451b authored about 12 years ago
MIPS: DSPr2: Added fast-paths for ADD operation: - add_n_8_8 - add_n_8_8888 - add_8_8_8

Performance numbers before/after on MIPS-74kc @ 1GHz:

lowlevel-blt-bench results

Referent (bef...

52d20e692ebc605077448ab6f52fd257f83481b2 authored about 12 years ago
MIPS: DSPr2: Added more fast-paths for ADD operation: - add_0565_8_0565 - add_8888_8_8888 - add_8888_n_8888

Performance numbers before/after on MIPS-74kc @ 1GHz:

lowlevel-blt-bench results

Referent (bef...

ca83717c63813b6f53f89dd94b5771bd32382a18 authored about 12 years ago
MIPS: DSPr2: Added more fast-paths for ADD operation: - add_8888_8888_8888 - add_8_8 - add_8888_8888

Performance numbers before/after on MIPS-74kc @ 1GHz:

lowlevel-blt-bench results

Referent (bef...

f0750258459580bbc9f136710f8e5c551bd01a0f authored about 12 years ago
Workaround for FTBFS with gcc 4.6 (http://gcc.gnu.org/PR54965)

GCC 4.6 has problems with force_inline, so just use normal inline instead.
Fixes: https://bugs.f...

9df645dfb04b5a790faabe1e9a84fc37287d91b0 authored over 12 years ago
pixman_composite_trapezoids(): don't clip to extents for some operators

pixman_composite_trapezoids() is supposed to composite across the
entire destination, but it act...

31e5a0a393defb8e0534ab1bde29ab23fc04795d authored over 12 years ago
pixman_composite_trapezoids(): Factor out extents computation

The computation of the extents rectangle is moved to its own
function.

65db2362e2793a527c2e831cceb81d8d6ad51b8f authored over 12 years ago
Add new pixman_image_create_bits_no_clear() API

When pixman_image_create_bits() function is given NULL for bits, it
will allocate a new buffer a...

2d9cb563b415e90cef898de03de7ed9c6f091db1 authored over 12 years ago
configure.ac: PIXMAN_LINK_WITH_ENV fix

(fixes bug #52101)

On MirBSD, the compiler produces a (harmless) warning when the compiler
is c...

af803be17b4ea5f53db9af57b6c6ef06db99ebbd authored over 12 years ago
Add missing force_inline to in() function used for C fast paths

6e56098c0338ce74228187e4c96fed1a66cb0956 authored over 12 years ago
MIPS: skip runtime detection for DSPr2 if -mdspr2 option is in CFLAGS

This provides a way to enable MIPS DSP ASE optimizations if running
under qemu-user (where /proc...

90bcafa495c1074b0ea1d35f99aa4837917494bd authored over 12 years ago
region: Remove overlap argument from pixman_op()

This is used to compute whether the regions in question overlap, but
nothing makes use of this i...

d5f2f39319fc358cccda60abe0bc927bd27131c1 authored over 12 years ago
region: Formatting fix

The while part of a do/while loop was formatted as if it were a while
loop with an empty body. P...

cb4f325ec0e844008075fe89ceb9f634ae41e7c9 authored over 12 years ago
Only regard images as pixbufs if they have identity transformations

In order for a src/mask pair to be considered a pixbuf, they have to
have identical transformati...

15b153d633fcfce886c30fee98599fddbf019ee8 authored over 12 years ago
Remove BUILT_SOURCES

pixman-combine32.[ch] were the only built sources, so BUILT_SOURCES
can now be removed.

3d81d89c292058522cce91338028d9b4c4a23c24 authored over 12 years ago
Speed up pixman_expand_to_float()

GCC doesn't move the divisions out of the loop, so do it manually by
looking up the four (1.0f /...

ec7aa11a6e4d0d02df9b339dfce9460dce954602 authored over 12 years ago
Don't auto-generate pixman-combine32.[ch] anymore

Since pixman-combine64.[ch] are not used anymore, there is no point
generating these files from ...

8ccda2be30adf9dfcc3087b38a5062258324dcce authored over 12 years ago
Add combiner test

This test runs the new floating point combiners on random input with
divide-by-zero exceptions t...

4760599ff3008ab0f1e36a7d4d362362817fd930 authored over 12 years ago
glyph-test: Prepare for floating point

In preparation for an upcoming change of the wide pipe to use floating
point, comment out some f...

600a06c81d3999bc6551c7e889726ed7b8bec84d authored over 12 years ago
Add pixman-combine-float.c

This file contains floating point implementations of combiners for all
pixman operators. These c...

a5b459114e35c7a946362f1e5857e8a87a403ec3 authored over 12 years ago
Switch the wide pipeline over to using floating point

In pixman-bits-image.c, remove bits_image_fetch_untransformed_64() and
add bits_image_fetch_untr...

5ff0bbd9721bb216a8332cbde18adc458af3cdec authored over 12 years ago
Remove 64 bit pipeline

The 64 bit pipeline is not used anymore, so it can now be removed.

Don't generate pixman-combin...

4afd20cc71ba75190ebcead774b946157d0995a6 authored over 12 years ago
pixman-utils.c, pixman-private.h: Add floating point conversion routines

A new struct argb_t containing a floating point pixel is added to
pixman-private.h and conversio...

23252393a2dcae4dc5a7d03727dd66cdd81286ba authored over 12 years ago