Ecosyste.ms: OpenCollective

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

github.com/openfl/libpixman


https://github.com/openfl/libpixman

Fix thread-test on non-OpenMP systems

The non-reentrant versions of prng_* functions are thread-safe only in
OpenMP-enabled builds.

F...

54be1a52f710b8b4abb05c074c066c389d8f89a8 authored over 11 years ago
Add support for SSSE3 to the MSVC build system

Handle SSSE3 just like MMX and SSE2.

0af2fcaebc4835ecf52d6002fcaacb09cbbcbaad authored over 11 years ago
Fix build on MSVC

After a4c79d695d52c94647b1aff78548e5892d616b70 the MMX and SSE2 code
has some declarations after...

31ac784f3427a189e34ef6fdc937441b613407b9 authored over 11 years ago
Fix build of check-formats on MSVC

Fixes

check-formats.obj : error LNK2019: unresolved external symbol
_strcasecmp referenced in f...

e4d9c623d3baee50a5bfbc87cba81b0d2d87ee26 authored over 11 years ago
Fix building of "other" programs on MSVC

In d1434d112ca5cd325e4fb85fc60afd1b9e902786 the benchmarks have been
extended to include other p...

96ad6ebd8b8481aaa603d14953edb96504658eb7 authored over 11 years ago
fast: Swap image and iter flags in generated fast paths

The generated fast paths that were moved into the 'fast'
implementation in ec0e38cbb746a673f8e98...

c89f4c826695dbb5df0817d84f845dbd3e28b7a7 authored over 11 years ago
vmx: there is no need to handle unaligned destination anymore

So the redundant variables, memory reads/writes and reshuffles
can be safely removed. For exampl...

7d05a7f4dc825f9c778e534fdabb749199c2e439 authored over 11 years ago
vmx: align destination to fix valgrind invalid memory writes

The SIMD optimized inner loops in the VMX/Altivec code are trying
to emulate unaligned accesses ...

b6c5ba06f0c5c0bd8d186e7a4879fd3b33e7e13f authored over 11 years ago
test: Add new thread-test program

This test program allocates an array of 16 * 7 uint32_ts and spawns 16
threads that each use 7 o...

0438435b9c915b61af21446b2cb2f77a2b98a3b9 authored over 11 years ago
Rename HAVE_PTHREAD_SETSPECIFIC to HAVE_PTHREADS

The test for pthread_setspecific() can be used as a general test for
whether pthreads are availa...

65829504073425362fc56995a1dcc8cc464b751a authored over 11 years ago
blitters-test: Remove unused variable

b513b3dffe979056dbbbdc8e0659f8018c51c5f5 authored over 11 years ago
utils.c: Make image_endian_swap() deal with negative strides

Use a temporary variable s containing the absolute value of the stride
as the upper bound in the...

fa0559eb710ef6252dea5a70ade28a2c167a7a85 authored over 11 years ago
utils.c: Make print_image actually cope with negative strides

Commit 4312f077365bf9f59423b1694136089c6da6216b claimed to have made
print_image() work with neg...

ff682089ce1128079c06827a80647fa3284ca2a2 authored over 11 years ago
Move generated affine fetchers into pixman-fast-path.c

The generated fetchers for NEAREST, BILINEAR, and
SEPARABLE_CONVOLUTION filters are fast paths a...

ec0e38cbb746a673f8e989ab8eae356c8c77dac7 authored over 11 years ago
Move bits_image_fetch_bilinear_no_repeat_8888 into pixman-fast-path.c

This iterator is really a fast path, so it belongs in the fast path
implementation.

96e163d2fd1f8127ad15df3785bb85b4bc7f8e9a authored over 11 years ago
fast, ssse3: Simplify logic to fetch lines in the bilinear iterators

Instead of having logic to swap the lines around when one of them
doesn't match, store the two l...

8d465c2a5d62affc8bdc54980f7c1de9355d1fd5 authored over 11 years ago
test: Test negative strides

Pixman supports negative strides, but up until now they haven't been
tested outside of stress-te...

aa5c45254eb60ce4c85a25b5343474fb160ffa7c authored over 11 years ago
test: Share the image printing code

The affine-test, blitters-test, and scaling-test all have the ability
to print out the bytes of ...

4312f077365bf9f59423b1694136089c6da6216b authored over 11 years ago
{scaling,affine,composite-traps}-test: Use compute_crc32_for_image()

By using this function instead of compute_crc32() the alpha masking
code and the call to image_e...

51d71354568a54114ced87d8ae1529c88a53f635 authored over 11 years ago
pixman-filter.c: Use 65536, not 65535, for fixed point conversion

Converting a double precision number to 16.16 fixed point should be
done by multiplying with 655...

75506e63677208c1ec4364ab1a4b4fb73a0ca6c8 authored over 11 years ago
demos/scale.ui: Allow subsample_bits to be 0

The separable convolution filter supports a subsample_bits of 0 which
corresponds to no subsampl...

9899a7bae8a00c6a92ed27d4dc2fe6f178c8acc8 authored over 11 years ago
Add empty SSSE3 implementation

This commit adds a new, empty SSSE3 implementation and the associated
build system support.

con...

f1792b32215d3b62084ee99fca5c448f1c7f8e1d authored over 11 years ago
general: Ensure that iter buffers are aligned to 16 bytes

At the moment iter buffers are only guaranteed to be aligned to a 4
byte boundary. SIMD implemen...

f10b5449a8b22a26839c58a716b74d6b7a8bcb80 authored over 11 years ago
ssse3: Add iterator for separable bilinear scaling

This new iterator uses the SSSE3 instructions pmaddubsw and pabsw to
implement a fast iterator f...

58a79dfe6d1fd62c2b66c69fdb64f6b8ecf61da5 authored over 11 years ago
sse2: faster bilinear scaling (pack 4 pixels to write with MOVDQA)

The loops are already unrolled, so it was just a matter of packing
4 pixels into a single XMM re...

700db9d872bdc49399a95565ffe0d345db11717a authored over 11 years ago
test: safeguard the scaling-bench test against COW

The calloc call from pixman_image_create_bits may still
rely on http://en.wikipedia.org/wiki/Cop...

e43cc9c9024957dcc7f160f6abe7be218667dfa2 authored over 11 years ago
Drop support for 8-bit precision in bilinear filtering

The default has been 7-bit for a while now, and the quality
improvement with 8-bit precision is ...

a4c79d695d52c94647b1aff78548e5892d616b70 authored over 11 years ago
Make the first argument to scanline fetchers have type bits_image_t *

Scanline fetchers haven't been used for images other than bits for a
long time, so by making the...

80a232db68fcff6460e8704da6a97ee2e6971e99 authored over 11 years ago
iwmmxt: Disallow if gcc version is < 4.8.

Later versions of gcc-4.7.x are capable of generating iwMMXt
instructions properly, but gcc-4.8 ...

8ad63f90cd8392a40f115c56b16c54d45012070e authored over 11 years ago
fast_bilinear_cover_init: Don't install a finalizer on the error path

No memory is allocated in the error case, so a finalizer is not
necessary, and will cause proble...

02906e57bd801e20b3094ca348fad563c6b5a922 authored over 11 years ago
Add an iterator that can fetch bilinearly scaled images

This new iterator works in a separable way; that is, for a destination
scaline, it scales the tw...

3518a0dafa63098d41e466f73d105b7e3e4b12de authored over 11 years ago
test/scaling-bench.c: New benchmark for bilinear scaling

This new benchmark scales a 320 x 240 test a8r8g8b8 image by all
ratios from 0.1, 0.2, ... up to...

1be9208e0404fcf41b4e83734d8e33437f50c2bd authored over 11 years ago
Add support for iter finalizers

Iterators may sometimes need to allocate auxillary memory. In order to
be able to free this memo...

146116eff4874500e4499e4bf4954c8e6b9c174a authored over 11 years ago
RELEASING: Add note about changing the topic of the #cairo IRC channel

fedd6b192d4b30dcf4ecabed43a5ddbfe6007629 authored over 11 years ago
test: fix matrix-test on big endian systems

d87601ffc3d1583528ce52448fbb3659d0b1d1b0 authored over 11 years ago
test: Fix build on MSVC

The MSVC compiler is very strict about variable declarations after
statements.

Move all the dec...

1e4932933342140402f744631f2a87b867162806 authored over 11 years ago
Require GTK+ version >= 2.16

I'm got bug in my system:

lcc: "scale.c", line 374: warning: function "gtk_scale_add_mark" decl...

279bdcda7ec3af8ac06312f4514b1b082a279544 authored over 11 years ago
configure.ac: Don't use '+=' since it's not POSIX

Reviewed-by: Matt Turner <[email protected]>
Signed-off-by: Matthieu Herrb <matthieu.herrb@laas...

889f1189469e139473d0a88742ddfbbcaf485bef authored over 11 years ago
general: Store the iter initializer in a one-entry pixman_iter_info_t table

In preparation for sharing all iterator initialization code from all
the implementations, move t...

245d0090c596eb3ca50294d0dec0fb0933eff0db authored over 11 years ago
Consolidate all the iter_init_bits_stride functions

The SSE2, MMX, and fast implementations all have a copy of the
function iter_init_bits_stride th...

2acfac5f8e097ee2ae225d986f981b55d65dd152 authored over 11 years ago
mmx: Replace the fetcher_info_t table with a pixman_iter_info_t table

Similar to the SSE2 commit, information about the iterators is stored
in a table of pixman_iter_...

71c2d519d0abb8217b7ddb20148861e2ef71f3e6 authored over 11 years ago
Delete the old src/dest_iter_init() functions

Now that we are using the new _pixman_implementation_iter_init(), the
old _src/_dest_iter_init()...

533f54430a73199020ce49208d50f448c871a481 authored over 11 years ago
fast: Replace the fetcher_info_t table with a pixman_iter_info_t table

Similar to the SSE2 and MMX patches, this commit replaces a table of
fetcher_info_t with a table...

9c15afb105ee0c5b166b9bd07c28857927b1aecb authored over 11 years ago
Add _pixman_implementation_iter_init() and use instead of _src/_dest_init()

A new field, 'iter_info', is added to the implementation struct, and
all the implementations sto...

125a4fd36f94a06d220bc6709f3ddfd23bdb6ef9 authored over 11 years ago
sse2: Replace the fetcher_info_t table with a pixman_iter_info_t table

Similar to the changes to noop, put all the iterators into a table of
pixman_iter_info_t and the...

78f437d61e20476fa1c2324b14744aa62a232a43 authored over 11 years ago
noop: Keep information about iterators in an array of pixman_iter_info_t

Instead of having a nest of if statements, store the information about
iterators in a table of a...

c7b0da8a96c9196f751dab2af42adb5560ba6557 authored over 11 years ago
Always set the FAST_PATH_NO_ALPHA_MAP flag for non-BITS images

We only support alpha maps for BITS images, so it's always to ignore
the alpha map for non-BITS ...

3b96ee4e77ff01217f7fefc4718babbf68a13147 authored over 11 years ago
Add ITER_WIDE iter flag

This will be useful for putting iterators into tables where they can
be looked up by iterator fl...

52ff5f0cd992e0384fa2babcb25780c3182548e6 authored over 11 years ago
Add ITER_SRC and ITER_DEST iter flags

These indicate whether the iterator is for a source or a destination
image. Note iterator initia...

e8a180797c726a8990291158be8db843c26b98d3 authored over 11 years ago
Make use of image flag in noop iterators

Similar to c2230fe2aff, simply check against SAMPLES_COVER_CLIP_NEAREST
instead of comparing all...

2320f0520b71c5d30b30125971df6a4245ce5207 authored over 11 years ago
Use AC_LINK_IFELSE to check if the Loongson MMI code can link

The Loongson code is compiled with -march=loongson2f to enable the MMI
instructions, but binutil...

d77d75cc6e5de14d027d22b70389a4d0c71048b9 authored over 11 years ago
mmx: Document implementation(s) of pix_multiply().

I look at that function and can never remember what it does or how it
manages to do it.

a74be759a18831c738dc4d1346a3f053ccdb5991 authored over 11 years ago
Fix broken build when HAVE_CONFIG_H is undefined, e.g. on Win32.

Build fix for platforms without a generated config.h, for example Win32.

cb5d131ff4172a9bb455970cc15d93d8c1d14c4e authored over 11 years ago
Post-release version bump to 0.31.1

d70141955e9f85b80f193bf4b453b698f5115734 authored over 11 years ago
Pre-release version bump to 0.30.0

41daf50aaeca71e70bc27aa4bf27ae4812c6eecf authored over 11 years ago
Post-release version bump to 0.29.5

5a7179191dba6c592a63cad8aa8bc8af7ab5e586 authored over 11 years ago
Pre-release version bump to 0.29.4

2714b5d201525e176429c0c030b8376a32b4f6c7 authored over 11 years ago
pixman/refactor: Delete this file

Essentially all of it is obsolete by now.

7fc2654a1fdd6d6c41eddaac50b3668433873679 authored over 11 years ago
MIPS: DSPr2: Added src_0565_8888 nearest neighbor fast path.

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

lowlevel-blt-bench results

Referent (bef...

5858f09d264ef762ddcf7ede324bfce9f5991d29 authored over 11 years ago
test: add "pixbuf" and "rpixbuf" to lowlevel-blt-bench

Add necessary support to lowlevel-blt benchmark for benchmarking pixbuf and
rpixbuf fast paths. ...

f69335d5292310dc18f2f84d462430137a771976 authored over 11 years ago
test: add "src_0888_8888_rev" and "src_0888_0565_rev" to lowlevel-blt-bench

3dc9e3827e342b415c519da1039b9a2e4fb293ec authored over 11 years ago
MIPS: DSPr2: Fix for bug in in_n_8 routine.

Rounding logic was not implemented right.
Instead of using rounding version of the 8-bit shift, ...

44174ce51d1ed5a1bf988b9dd9218d8cbd379de3 authored over 11 years ago
MIPS: DSPr2: Added over_8888_8888 nearest neighbor fast path.

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

lowlevel-blt-bench results

Referent (bef...

bd487ee34c343142cbe451a2e04541d8aba0eaa7 authored over 11 years ago
MIPS: DSPr2: Fix bug in over_n_8888_8888_ca/over_n_8888_0565_ca routines

After introducing new PRNG (pseudorandom number generator) a bug in two DSPr2
routines was revea...

66def909ad82ed4ccb49380031cb828655c9a47f authored over 11 years ago
MIPS: DSPr2: Added rpixbuf fast path.

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

lowlevel-blt-bench results

Referent (bef...

cb928a77c05a9c581e596b8eb24962d47fc39e9f authored over 11 years ago
MIPS: DSPr2: Added over_8888_0565 nearest neighbor fast path.

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

lowlevel-blt-bench results

Referent (bef...

311d55b6d8e1ac3acaa12d1d7c3eefdcfdc70718 authored over 11 years ago
MIPS: DSPr2: Added pixbuf fast path.

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

lowlevel-blt-bench results

Referent (bef...

c6a6fbdcd3ef18f733ff7ad11d5fafac384744cd authored over 11 years ago
sse2: faster bilinear interpolation (get rid of XOR instruction)

The old code was calculating horizontal weights for right pixels
in the following way (for simpl...

d768558ce195caa208262866f9262b29efff22dc authored over 11 years ago
test: larger 0xFF/0x00 filled clusters in random images for blitters-test

Current blitters-test program had difficulties detecting a bug in
over_n_8888_8888_ca implementa...

59109f32930a0c163628f8087cbb0a15b19cb96b authored over 11 years ago
Trivial spelling fixes in comments

They were found by codespell.

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

a99147d1ea0d67f635f9284c242485fb5621cab3 authored over 11 years ago
Check for missing sqrtf() as, e.g., for Solaris 9

Signed-off-by: Peter Breitenlohner <[email protected]>

9d0bb10312e5de0653c9e28df79ce8a5e8cec97a authored almost 12 years ago
Improve precision of calculations in pixman-gradient-walker.c

The computations in pixman-gradient-walker.c currently take place at
very limited 8 bit precisio...

d8ac35af1208a4fa4d67f03fee10b5449fb8495a authored almost 12 years ago
Move the IS_ZERO() to pixman-private.h and rename to FLOAT_IS_ZERO()

Some upcoming changes to pixman-gradient-walker.c will need this
macro.

a1c2331e0eb35d87cf295518838debe1217ca9df authored almost 12 years ago
test: Add radial-perf-test, a microbenchmark for radial gradients

This benchmark renders one of the radial gradients used in the
swfdec-youtube cairo trace 500 ti...

2c953e572f6c3c18046e768dd07d12150b1f2e94 authored almost 12 years ago
demos: Add linear-gradient demo program

This program displays a linear gradient from blue to yellow. Due to
limited precision in pixman-...

460faaa41105c2939d041506f6ff08e2b12e7596 authored almost 12 years ago
Remove unused macro

aaae3d8eefa069098e9014822817ca1429fdea46 authored almost 12 years ago
MIPS: DSPr2: Added more fast-paths for SRC operation:

- src_0888_8888_rev
- src_0888_0565_rev

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

5feda20fc39407879993ed4a6d861ef7f78d9432 authored almost 12 years ago
MIPS: DSPr2: Added more fast-paths for OVER operation:

- over_8888_0565
- over_n_8_8

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

lowlevel-...

43914d68d1c87a9da6f53e6b0a12941c97bb0e5d authored almost 12 years ago
gtk-utils.c: Use cairo in show_image() rather than GdkPixbuf

GdkPixbufs are not premultiplied, so when using them to display pixman
images, there is some une...

2156fb51b353867d5a18b734690ca551f74d4fb1 authored almost 12 years ago
Fix to lowlevel-blt-bench

The source, mask and destination buffers are initialised to 0xCC just after
they are allocated. ...

5e207f825bd1ed3142a623bcbceca00508907c5e authored almost 12 years ago
sse2: Use uintptr_t in type casts from pointer to integral value

Some recent code added new type casts from pointer to unsigned long.
These type casts result in ...

d26f922dc1a605dae00fa0540198707485ba1f08 authored almost 12 years ago
test/utils.[ch]: Add pixel_checker_convert_pixel_to_color()

This function takes a pixel in the format corresponding to the pixel
checker, and converts to a ...

5eb61f72ea50e02eb185c746108909945b589e65 authored almost 12 years ago
utils.[ch]: Add pixel_checker_get_masks()

This function returns the a, r, g, and b masks corresponding to the
pixel checker's format.

1820131fe6674d46b9876965b30b331d593124a8 authored almost 12 years ago
Turn on error logging at all times

While releasing 0.29.2 the distcheck run produced a number of error
messages that had to be fixe...

4dced81c917c753a4e699e3793efa15a39361cf0 authored almost 12 years ago
pixman-compiler.h: Add unlikely() macro

When compiling with GCC this macro expands to __builtin_expect((expr), 0).
On other compilers, i...

f4c9492c12d98f76d99b4dbdca56d517e1ffdb19 authored almost 12 years ago
utils.c: Increase acceptable deviation to 0.0064 in pixel_checker_t

The check-formats programs reveals that the 8 bit pipeline cannot meet
the current 0.004 accepta...

5ebb5ac3807cdc7bb76358041a15cc5adca2ef23 authored almost 12 years ago
a1-trap-test: Add tests for operator_name and format_name()

The check-formats.c test depends on the exact format of the strings
returned from these function...

6781636740099633b9a8f7e0cc8e7828770f2fc3 authored almost 12 years ago
test: Add new check-formats utility

Given an operator and two formats, this program will composite and
check all pixels where the re...

d1434d112ca5cd325e4fb85fc60afd1b9e902786 authored almost 12 years ago
lookup_composite: Don't update cache in case of error

If we fail to find a composite function, don't update the fast path
cache with the dummy composi...

dc80eb09e2831d5ad3bfe638462f80921357952b authored almost 12 years ago
test: Move do_composite() function from composite.c to utils.c

So that it can be used in other tests.

3ae717f71a31620a5cb28792b9effd0c69ffb822 authored almost 12 years ago
test: Add new pixel-test regression test

This test program contains a table of individual operator/pixel
combinations. For each pixel com...

f2ba7fe1d812a30004b734e398f45b586833d43f authored almost 12 years ago
Post-release version bump to 0.29.3

958bd334b3c17f529c80f2eeef4224f45c62f292 authored almost 12 years ago
Pre-release version bump to 0.29.2

a56707e23bf2d3ef7c2ff9f66f214716791a424d authored almost 12 years ago
stresstest: Ensure that the rasterizer is only given alpha formats

In c2cb303d33ec11390b93cabd90f0f9, return_if_fail()s were added to
prevent the trapezoid rasteri...

349015e1fc5d912ba4253133b90e751d0b6ca7f2 authored almost 12 years ago
Change default GPGKEY to 3892336E, which is [email protected]

The old one belongs to the email address [email protected], which
doesn't work anyore.

Also ...

afde862928da7ac927cf4b60a022fafe5f060d26 authored almost 12 years ago
Improve L1 and L2 benchmark tests for caches that don't use allocate-on-write

In particular this affects single-core ARMs (e.g. ARM11, Cortex-A8), which
are usually configure...

69a7a9b6b6dc5b769888c469de3435059318f7cc authored almost 12 years ago
pixman-combine-float.c: Use IS_ZERO() in clip_color() and set_sat()

The clip_color() function has some checks to avoid division by zero,
but they are done by compar...

1fa67f499d3826fad8783684bb90c8aadd9f682f authored almost 12 years ago
ARMv6: Replacement add_8_8, over_8888_8888, over_8888_n_8888 and over_n_8_8888 routines

Improved by adding preloads, combining writes and using the SEL
instruction.

add_8_8

Befor...

7e53e5866458fe592fc109cb1455c21c4b61dee9 authored almost 12 years ago
ARMv6: New conversion routines

There was no previous attempt at accelerating these specifically for
ARMv6.

src_x888_8888

...

f87dfd6f37a29c69320edd92f28aed5334b09366 authored almost 12 years ago
ARMv6: New blit routines

These are usable either as various composite operations, or via the
top-level function pixman_bl...

a0f59f3b2884b056428229363576666f158a9bb4 authored almost 12 years ago