Our gfxPattern cache is currently way too specific, which causes lots of
unnecessary cache misses. The only thing that we actually need to key on is the
color stops.
This switches the cache to hold GradientStops instead of gfxPatterns. This
improves our cache hit rate and is simpler. It also avoids doing caching when
not using Azure, which currently has no benefit.
Average paint times results (in ms)
(on windows 7 x64, i7-3630qm, HD4000)
-------------------------------------
m-c
open: 3.5 close: 3.3
m-c cache-key
open: 2.6 close: 2.4
ux
open: 7.3 close: 5.2
ux cache-key
open: 6.9 close: 5.3
Andrea Canciani (2):
mmx: Fix x86 build on MSVC
build: Improve win32 build system
Benny Siegert (1):
configure.ac: PIXMAN_LINK_WITH_ENV fix
Matt Turner (3):
build: Remove useless DEP_CFLAGS/DEP_LIBS variables
sse2: mark pack_565_2x128_128 as static force_inline
iwmmxt: Don't define dummy _mm_empty for >=gcc-4.8
Nemanja Lukic (7):
MIPS: DSPr2: Added fast-paths for OVER operation: - over_8888_n_8888 - over_8888_8_8888
MIPS: DSPr2: Added fast-paths for OVER operation: - over_8888_n_0565 - over_8888_8_0565
MIPS: DSPr2: Added fast-paths for OVER operation: - over_0565_n_0565 - over_0565_8_0565
MIPS: DSPr2: Added OVER combiner and two new fast paths: - over_8888_8888 - over_8888_8888_8888
MIPS: DSPr2: Added fast-paths for ADD operation: - add_n_8_8 - add_n_8_8888 - add_8_8_8
MIPS: DSPr2: Added more fast-paths for ADD operation: - add_0565_8_0565 - add_8888_8_8888 - add_8888_n_8888
MIPS: DSPr2: Added more fast-paths for ADD operation: - add_8888_8888_8888 - add_8_8 - add_8888_8888
Siarhei Siamashka (4):
Add scaled nearest repeat fast paths
MIPS: skip runtime detection for DSPr2 if -mdspr2 option is in CFLAGS
Add missing force_inline to in() function used for C fast paths
Workaround for FTBFS with gcc 4.6 (http://gcc.gnu.org/PR54965)
Søren Sandmann Pedersen (44):
Post-release version bump to 0.27.3
Define TIMER_BEGIN and TIMER_END even when timers are not enabled
Make show_image() cope with more formats
demos: Add srgb_trap_test.c
Remove pointless declaration of _pixman_image_get_scanline_generic_64()
Remove obsolete TODO file
pixel_checker: Move sRGB conversion into get_limits()
test/utils.c: Use pow(), not powf() in sRGB conversion routines
implementation: Write lookup_combiner() in a less convoluted way.
Move blt delegation into pixman-implementation.c
Move fill delegation into pixman-implementation.c
Move delegation of src/dest iter init into pixman-implementation.c
Rename _pixman_lookup_composite_function() to _pixman_implementation_lookup_composite()
_pixman_implementation_create(): Initialize implementation with memset()
implementation: Rename delegate to fallback
Add PIXMAN_x8b8g8r8 and PIXMAN_a8b8g8r8 formats to scaling-test
Fix bug in fast_composite_scaled_nearest()
Fix bugs in component alpha combiners for separable PDF operators
Add rotate-test.c test program
Fix bugs in pixman-image.c
pixman-combine.c.template: Formatting clean-ups
affine-test: Print out the transformation matrix when verbose
test: Add inifinite-loop test
Fix for infinite-loop test
rotate-test: Call image_endian_swap() in make_image()
Make pixman.h more const-correct
glyph-test: Prepare for floating point
blitters-test: Prepare for floating point
Add pixman-combine-float.c
Add combiner test
pixman-utils.c, pixman-private.h: Add floating point conversion routines
pixman-access.c: Add floating point accessor functions
Switch the wide pipeline over to using floating point
Remove 64 bit pipeline
Don't auto-generate pixman-combine32.[ch] anymore
Speed up pixman_expand_to_float()
Remove BUILT_SOURCES
Only regard images as pixbufs if they have identity transformations
region: Formatting fix
region: Remove overlap argument from pixman_op()
Add new pixman_image_create_bits_no_clear() API
pixman_composite_trapezoids(): Factor out extents computation
pixman_composite_trapezoids(): don't clip to extents for some operators
Pre-release version bump to 0.27.4
--HG--
extra : rebase_source : ed5b5f0184dd19b2ae5caa43edee6effce14efaf