Avoiding normalization introduced in bug 895135 caused gradientStart/Stop to
not correspond to the firstStop and lastStop. This can cause us to incorrectly
decide to use the repeat fast path. This patch switches takes us back to the
same condition as we had before the regression.
--HG--
extra : rebase_source : f335e1db9166213115354eb14dbe90b09127a68b
This only has an impact on OSX 10.7 and 10.8 because
it's only hooked up through OMTC right now.
--HG--
extra : rebase_source : 91b413be68ed0eaef9ef1c55a0ec730e89eac1e0
Previously if we had all the stops at the same location, we'd end up putting
them all at 0. This makes things harder for backends that implement gradients
with a lookup table because they don't have room for multiples entries at the
zero location. If instead we leave the stops at the same location on the 0-1
line we'll have a better chance of drawing them correctly.
--HG--
extra : rebase_source : d57553d90e3eef288ca41576573f1c1def97da7e
Avoiding unnecessary "repeat" mode makes some tests pass. On the other hand, with Azure content
drawing, some of the edges in radial gradients don't match up perfectly.
This marks 4 gradient-related tests previously marked as failing on Mac
as failing on only 10.5 and 10.6, since they pass on 10.7.
It also marks one Arabic-shaping-related test as failing, for which bug
705044 has been filed.
Alan Coopersmith (1):
Sun's copyrights belong to Oracle now
Alexandros Frantzis (2):
Add simple support for the r8g8b8a8 and r8g8b8x8 formats.
Add support for the r8g8b8a8 and r8g8b8x8 formats to the tests.
Andrea Canciani (14):
Improve precision of linear gradients
Make classification consistent with rasterization
Remove unused enum value
Fix an overflow in the new radial gradient code
Remove unused stop_range field
Fix opacity check
Improve conical gradients opacity check
Improve handling of tangent circles
Add a test for radial gradients
Fix compilation on Win32
test: Fix tests for compilation on Windows
test: Add Makefile for Win32
Do not include unused headers
test: Silence MSVC warnings
Cyril Brulebois (2):
Fix argument quoting for AC_INIT.
Fix linking issues when HAVE_FEENABLEEXCEPT is set.
Jon TURNEY (2):
Plug another leak in alphamap test
Remove stray #include <fenv.h>
Rolland Dudemaine (4):
test: Fix for mismatched 'fence_malloc' prototype/implementation
Correct the initialization of 'max_vx'
test: Use the right enum types instead of int to fix warnings
Fix "variable was set but never used" warnings
Scott McCreary (1):
Added check to find pthread on Haiku.
Siarhei Siamashka (62):
Fixed broken configure check for __thread support
Do CPU features detection from 'constructor' function when compiled with gcc
ARM: fix 'vld1.8'->'vld1.32' typo in add_8888_8888 NEON fast path
ARM: NEON: source image pixel fetcher can be overrided now
ARM: nearest scaling support for NEON scanline compositing functions
ARM: macro template in C code to simplify using scaled fast paths
ARM: performance tuning of NEON nearest scaled pixel fetcher
ARM: NEON optimization for scaled over_8888_8888 with nearest filter
ARM: NEON optimization for scaled over_8888_0565 with nearest filter
ARM: NEON optimization for scaled src_8888_0565 with nearest filter
ARM: NEON optimization for scaled src_0565_8888 with nearest filter
ARM: optimization for scaled src_0565_0565 with nearest filter
C fast path for a1 fill operation
ARM: added 'neon_composite_over_n_8_8' fast path
ARM: introduced 'fetch_mask_pixblock' macro to simplify code
ARM: better NEON instructions scheduling for over_n_8_0565
ARM: added 'neon_composite_over_8888_n_0565' fast path
ARM: reuse common NEON code for over_{n_8|8888_n|8888_8}_0565
ARM: added 'neon_composite_over_0565_n_0565' fast path
ARM: added 'neon_composite_add_8888_8_8888' fast path
ARM: better NEON instructions scheduling for add_8888_8888_8888
ARM: added 'neon_composite_add_n_8_8888' fast path
ARM: added 'neon_composite_add_8888_n_8888' fast path
ARM: added flags parameter to some asm fast path wrapper macros
ARM: added 'neon_composite_in_n_8' fast path
ARM: added 'neon_src_rpixbuf_8888' fast path
Fix for potential unaligned memory accesses
COPYING: added Nokia to the list of copyright holders
Revert "Fix "syntax error: empty declaration" warnings."
Fix for "syntax error: empty declaration" Solaris Studio warnings
Workaround for a preprocessor issue in old Sun Studio
Bugfix for a corner case in 'pixman_transform_is_inverse'
Make 'fast_composite_scaled_nearest_*' less suspicious
A new configure option --enable-static-testprogs
ARM: do /proc/self/auxv based cpu features detection only in linux
The code in 'bitmap_addrect' already assumes non-null 'reg->data'
test: affine-test updated to stress 90/180/270 degrees rotation more
New flags for 90/180/270 rotation
C fast paths for a simple 90/270 degrees rotation
Use const modifiers for source buffers in nearest scaling fast paths
test: Extend scaling-test to support a8/solid mask and ADD operation
Support for a8 and solid mask in nearest scaling main loop template
Better support for NONE repeat in nearest scaling main loop template
ARM: new macro template for using scaled fast paths with a8 mask
ARM: NEON optimization for nearest scaled over_8888_8_0565
ARM: NEON optimization for nearest scaled over_0565_8_0565
SSE2 optimization for nearest scaled over_8888_n_8888
Ensure that tests run as the last step of a build for 'make check'
Main loop template for fast single pass bilinear scaling
test: check correctness of 'bilinear_pad_repeat_get_scanline_bounds'
SSE2 optimization for bilinear scaled 'src_8888_8888'
ARM: NEON optimization for bilinear scaled 'src_8888_8888'
ARM: use prefetch in nearest scaled 'src_0565_0565'
ARM: common macro for nearest scaling fast paths
ARM: assembly optimized nearest scaled 'src_8888_8888'
ARM: new bilinear fast path template macro in 'pixman-arm-common.h'
ARM: NEON: common macro template for bilinear scanline scalers
ARM: use common macro template for bilinear scaled 'src_8888_8888'
ARM: NEON optimization for bilinear scaled 'src_8888_0565'
ARM: NEON optimization for bilinear scaled 'src_0565_x888'
ARM: NEON optimization for bilinear scaled 'src_0565_0565'
ARM: a bit faster NEON bilinear scaling for r5g6b5 source images
Søren Sandmann Pedersen (79):
Remove the class field from source_image_t
Pre-release version bump to 0.19.6
Post-release version bump to 0.19.7
Pre-release version bump to 0.20.0
Post-release version bump to 0.20.1
Version bump 0.21.1.
COPYING: Stop saying that a modification is currently under discussion.
Remove workaround for a bug in the 1.6 X server.
[mmx] Mark some of the output variables as early-clobber.
Delete the source_image_t struct.
Generate {a,x}8r8g8b8, a8, 565 fetchers for nearest/affine images
Pre-release version bump
Post-release version bump to 0.21.3
test: Make composite test use some existing macros instead of defining its own
Add enable_fp_exceptions() function in utils.[ch]
Extend gradient-crash-test
test: Move palette initialization to utils.[ch]
test/utils.c: Initialize palette->rgba to 0.
Make the argument to fence_malloc() an int64_t
Add a stress-test program.
Add a test compositing with the various PDF operators.
Fix divide-by-zero in set_lum().
sse2: Skip src pixels that are zero in sse2_composite_over_8888_n_8888()
Add iterators in the general implementation
Move initialization of iterators for bits images to pixman-bits-image.c
Eliminate the _pixman_image_store_scanline_32/64 functions
Move iterator initialization to the respective image files
Virtualize iterator initialization
Use an iterator in pixman_image_get_solid()
Move get_scanline_32/64 to the bits part of the image struct
Allow NULL property_changed function
Consolidate the various get_scanline_32() into get_scanline_narrow()
Linear: Optimize for horizontal gradients
Get rid of the classify methods
Add direct-write optimization back
Skip fetching pixels when possible
Turn on testing for destination transformation
Fix destination fetching
Fix dangling-pointer bug in bits_image_fetch_bilinear_no_repeat_8888().
Pre-release version bump to 0.21.4
Post-release version bump to 0.21.5
Print a warning when a development snapshot is being configured.
Move fallback decisions from implementations into pixman-cpu.c.
Add a test for over_x888_8_0565 in lowlevel_blt_bench().
Add SSE2 fetcher for x8r8g8b8
Add SSE2 fetcher for a8
Improve performance of sse2_combine_over_u()
Add SSE2 fetcher for 0565
Add pixman-conical-gradient.c to Makefile.win32.
Move all the GTK+ based test programs to a new subdir, "demos"
Add @TESTPROGS_EXTRA_LDFLAGS@ to AM_LDFLAGS
test/Makefile.am: Move all the TEST_LDADD into a new global LDADD.
Add pixman_composite_trapezoids().
Add a test program for pixman_composite_trapezoids().
Add support for triangles to pixman.
Add a test program, tri-test
Optimize adding opaque trapezoids onto a8 destination.
Add new public function pixman_add_triangles()
Avoid marking images dirty when properties are reset
In pixman_image_set_transform() allow NULL for transform
Coding style: core_combine_in_u_pixelsse2 -> core_combine_in_u_pixel_sse2
sse2: Convert all uses of MMX registers to use SSE2 registers instead.
sse2: Delete unused MMX functions and constants and all _mm_empty()s
sse2: Don't compile pixman-sse2.c with -mmmx anymore
sse2: Remove all the core_combine_* functions
sse2: Delete obsolete or redundant comments
sse2: Remove pixman-x64-mmx-emulation.h
sse2: Minor coding style cleanups.
Delete pixman-x64-mmx-emulation.h from pixman/Makefile.am
Minor fix to the RELEASING file
Pre-release version bump to 0.21.6
Post-release version bump to 0.21.7
test: In image_endian_swap() use pixman_image_get_format() to get the bpp.
test: Do endian swapping of the source and destination images.
In delegate_{src,dest}_iter_init() call delegate directly.
Fill out parts of iters in _pixman_implementation_{src,dest}_iter_init()
Simplify the prototype for iterator initializers.
test: Randomize some tests if PIXMAN_RANDOMIZE_TESTS is set
test: Fix infinite loop in composite