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
Alan Coopersmith (2):
Make mmx code compatible with Solaris Studio 12.3 compilers
Just use xmmintrin.h when building with Solaris Studio compilers
Andrea Canciani (7):
Remove useless checks for NULL before freeing
test: Cleanup includes
Use the ARRAY_LENGTH() macro when possible
test: Reuse the ARRAY_LENGTH() macro
demos: Consistently use G_N_ELEMENTS()
test: Produce autotools-looking report in the win32 build system
build: Fix compilation on win32
Antti S. Lankila (5):
Faster unorm_to_unorm for wide processing.
Remove unnecessary dst initialization
Add support for sRGB surfaces
Add sRGB blending demo program
Add tests to validate new sRGB behavior
Bobby Salazar (2):
Android Runtime Detection Support For ARM NEON
iOS Runtime Detection Support For ARM NEON
Chun-wei Fan (1):
Just include xmmintrin.h on MSVC as well
Colin Walters (1):
autogen.sh: Support GNOME Build API
Ingmar Runge (1):
Fix MSVC compilation
Jeremy Huddleston (7):
configure.ac: Add an --enable-libpng option
Revert "Disable MMX when Clang is being used."
Silence a warning about unused pixman_have_mmx
Disable MMX when incompatible clang is being used.
Expand TLS support beyond __thread to __declspec(thread)
Fix a false-negative in MMX check
configure.ac: Fix a copy-paste-o in TLS detection
Matt Turner (60):
Use AC_LANG_SOURCE for iwMMXt configure program
Make sure to run AC_SUBST IWMMXT_CFLAGS
Convert while (w) to if (w) when possible
autoconf: use #error instead of error
mmx: enable over_x888_8_8888 on ARM/iwMMXt
mmx: Use _mm_mulhi_pu16
mmx: Use _mm_shuffle_pi16
mmx: fix typo in pix_add_mul on MSVC
Update .gitignore with more demos and tests
mmx: make store8888 take uint32_t *dest as argument
mmx: make load8888 take a pointer to data instead of the data itself
lowlevel-blt: add over_8888_8888
lowlevel-blt: add over_x888_n_8888
lowlevel-blt-bench: add in_8_8 and in_n_8_8
Use AC_LANG_SOURCE for DSPr2 configure program
mmx: enable over_n_0565 for b5g6r5
mmx: Use force_inline instead of __inline__ (bug 46906)
configure.ac: require >= gcc-4.5 for ARM iwMMXt
mmx: fix _mm_shuffle_pi16 function when compiling without optimization
configure.ac: fix iwMMXt/gcc version error message
mmx: add store function and use it in add_8888_8888
mmx: add load function and use it in add_8888_8888
mmx: make ldq_u take __m64* directly
mmx: compile on MIPS for Loongson MMI optimizations
mmx: remove unnecessary uint64_t<->__m64 conversions
mmx: simplify srcsrcsrcsrc calculation in over_n_8_0565
mmx: introduce is_equal, is_opaque, and is_zero functions
mmx: don't pack and unpack src unnecessarily
mmx: Use Loongson pinsrh instruction in pack_565
mmx: Use Loongson pextrh instruction in expand565
mmx: add r5g6b5 fetcher
mmx: add a8 fetcher
mmx: add x8f8g8b8 fetcher
mmx: add src_8888_0565
mmx: Use wpackhus in src_x888_0565 on iwMMXt
.gitignore: add demos/checkerboard and demos/quad2quad
configure.ac: make -march=loongson2f come before CFLAGS
mmx: add and use pack_4x565 function
configure.ac: Fix loongson-mmi out-of-tree builds
configure.ac: Rename loongson -> loongson-mmi
configure.ac: Fail the ARM/iwMMXt test if not compiling with -march=iwmmxt
mmx: add and use expand_4xpacked565 function
mmx: implement expand_4x565 in terms of expand_4xpacked565
fast: add add_0565_0565 function
mmx: add add_0565_0565
mmx: add over_reverse_n_8888
mmx: add missing _mm_empty calls
autotools: use custom build rule to build iwMMXt code
configure.ac: add iwmmxt2 configure flag
.gitignore: add test/glyph-test
sse2: enable over_n_0565 for b5g6r5
sse2: add src_x888_0565
Fix distcheck due to custom iwMMXt rules
mmx: Use expand_alpha instead of mask/shift
mmx: add scaled bilinear src_8888_8888
mmx: add scaled bilinear over_8888_8888
mmx: add scaled bilinear over_8888_8_8888
mmx: optimize bilinear function when using 7-bit precision
loongson: optimize _mm_set_pi* functions with shuffle instructions
sse2: add missing ABGR entires for bilinear src_8888_8888
Naohiro Aota (1):
Don't use non-POSIX test
Nemanja Lukic (9):
MIPS: DSPr2: Basic infrastructure for MIPS architecture
MIPS: DSPr2: Added fast-paths for SRC operation.
MIPS: DSPr2: Added mips_dspr2_blt and mips_dspr2_fill routines.
MIPS: DSPr2: Added over_n_8888_8888_ca and over_n_8888_0565_ca fast paths.
MIPS: DSPr2: Added over_n_8_8888 and over_n_8_0565 fast paths.
MIPS: DSPr2: Fix bug in over_n_8888_8888_ca/over_n_8888_0565_ca routines
MIPS: DSPr2: Added bilinear over_8888_8_8888 fast path.
MIPS: DSPr2: Added several bilinear fast paths with a8 mask
MIPS: DSPr2: Added more bilinear fast paths (without mask)
Sebastian Bauer (4):
Qualify the static variables in pixman_f_transform_invert() with the const keyword.
Changed the style of two function headers
Added HAVE_CONFIG_H check before including config.h
Use angle brackets form of including config.h
Siarhei Siamashka (8):
test: OpenMP 2.5 requires signed loop iteration variables
test: fix bisecting issue in fuzzer-find-diff.pl
test: Fix for strict aliasing issue in 'get_random_seed'
test: support nearest/bilinear scaling in lowlevel-blt-bench
sse2: faster bilinear scaling (use _mm_loadl_epi64)
Bilinear interpolation precision is now configurable at compile time
sse2: _mm_madd_epi16 for faster bilinear scaling with 7-bit precision
Change default bilinear interpolation precision to 7 bits
Søren Sandmann Pedersen (81):
Post-release version bump to 0.25.1
region: Add pixman_region{,32}_clear() functions.
Modify gradient-test to show a bug in NONE processing
gradient-walker: For NONE repeats, when x < 0 or x > 1, set both colors to 0
pixman-image.c: Fix typo in pixman_image_set_transform()
Fix some signed overflow bugs
Add missing cast in _pixman_edge_multi_init()
Fix a bunch of signed overflow issues
In MUL_UNc() cast to comp2_t
Reject trapezoids where top (botttom) is above (below) the edges
Fix rounding for DIV_UNc()
test: In the alphamap test, also test that we get the right red value
Fix bugs with alpha maps
test/alphamap.c: Make dst and orig_dst more independent of each other
Get rid of delegates for combiners
Move the color_correct() function from composite.c to utils.c
Rename color_correct() to round_color()
test: Add a new "pixel_checker_t" object.
test: Port composite test over to use new pixel_checker_t object.
Revert "Reject trapezoids where top (botttom) is above (below) the edges"
mmx: Enable over_x888_8_8888() for x86 as well
mmx: Delete unused function in_over_full_src_alpha()
Disable MMX when Clang is being used.
Disable implementations mentioned in the PIXMAN_DISABLE environment variable.
Move fetching for solid bits images to pixman-noop.c
pixman-accessors.h: Delete unused macros
pixman-access.c: Remove some unused macros
mmx: Squash a warning by making the argument to ldl_u() const
Pre-release version bump to 0.25.2
Post-release version bump to 0.25.3
Use "=a" and "=d" constraints for rdtsc inline assembly
demos: Add quad2quad program
demos: Add checkerboard demo
composite-test.c: Use similar gradient to the one in the PDF spec.
composite-test.c: Add a parrot image
Add the original parrot image.
Rename fast_composite_add_1000_1000 to _add_1_1()
gtk-utils.c: Don't include pixman-private.h
test/utils.c: Rename and export the pngify_pixels() function.
gtk-utils.c: In pixbuf_from_argb32() use a8r8g8b8_to_rgba_np()
test/utils.c: Clip values to the [0, 255] interval
bits_image_fetch_pixel_convolution(): Make sure channels are signed
Add Makefile.win32 and Makefile.win32.common to EXTRA_DIST
demos/Makefile.am: Add parrot.c to EXTRA_DIST
Pre-release version bump to 0.25.6
Post-release version bump to 0.25.7
demos: Add parrot.jpg to EXTRA_DIST
test: Composite with solid images instead of using pixman_image_fill_*
Pre-release version bump to 0.26.0
Post-release version bump to 0.27.1
Pass the full image flags to iterators
Make use of image flags in mmx and sse2 iterators
Add doubly linked lists
Add pixman_glyph_cache_t API
Move CRC32 computation from blitters-test.c into utils.c
Add support for alpha maps to compute_crc32_for_image().
test: Add glyph-test
Speed up pixman_composite_glyphs()
Speed up _pixman_composite_glyphs_no_mask()
Speed up _pixman_image_get_solid() in common cases
bits-image: Turn all the fetchers into iterator getters
test: Make glyph test pass on big endian
test: Add missing break in stress-test.c
test: Make stress-test more likely to actually composite something
In fast_composite_tiled_repeat() don't clone images with a palette
Use a compile-time constant for the "K" constraint in the MMX detection.
pixman-cpu.c: Rename disabled to _pixman_disabled() and export it
Move x86 specific CPU detection to a new file pixman-x86.c
Move ARM specific CPU detection to a new file pixman-arm.c
Move PowerPC specific CPU detection to its own file pixman-ppc.c
Move MIPS specific CPU detection to its own file, pixman-mips.c
Move the remaining bits of pixman-cpu into pixman-implementation.c
Simplify MIPS CPU detection
Simplifications to ARM CPU detection
Simplify CPU detection on PPC.
Cleanups and simplifications in x86 CPU feature detection
Make pixman-mmx.c compile on x86-32 without optimization
Add make-srgb.pl to EXTRA_DIST
stress-test: Avoid overflows in clip rectangles
glyph-test: Avoid setting solid images as alpha maps.
Pre-release version bump to 0.27.2
* * *
--HG--
extra : rebase_source : d5b871a3b10fe0123f6e50cf98c3621532e5d914
Alan Coopersmith (2):
Make mmx code compatible with Solaris Studio 12.3 compilers
Just use xmmintrin.h when building with Solaris Studio compilers
Andrea Canciani (7):
Remove useless checks for NULL before freeing
test: Cleanup includes
Use the ARRAY_LENGTH() macro when possible
test: Reuse the ARRAY_LENGTH() macro
demos: Consistently use G_N_ELEMENTS()
test: Produce autotools-looking report in the win32 build system
build: Fix compilation on win32
Antti S. Lankila (5):
Faster unorm_to_unorm for wide processing.
Remove unnecessary dst initialization
Add support for sRGB surfaces
Add sRGB blending demo program
Add tests to validate new sRGB behavior
Bobby Salazar (2):
Android Runtime Detection Support For ARM NEON
iOS Runtime Detection Support For ARM NEON
Chun-wei Fan (1):
Just include xmmintrin.h on MSVC as well
Colin Walters (1):
autogen.sh: Support GNOME Build API
Ingmar Runge (1):
Fix MSVC compilation
Jeremy Huddleston (7):
configure.ac: Add an --enable-libpng option
Revert "Disable MMX when Clang is being used."
Silence a warning about unused pixman_have_mmx
Disable MMX when incompatible clang is being used.
Expand TLS support beyond __thread to __declspec(thread)
Fix a false-negative in MMX check
configure.ac: Fix a copy-paste-o in TLS detection
Matt Turner (60):
Use AC_LANG_SOURCE for iwMMXt configure program
Make sure to run AC_SUBST IWMMXT_CFLAGS
Convert while (w) to if (w) when possible
autoconf: use #error instead of error
mmx: enable over_x888_8_8888 on ARM/iwMMXt
mmx: Use _mm_mulhi_pu16
mmx: Use _mm_shuffle_pi16
mmx: fix typo in pix_add_mul on MSVC
Update .gitignore with more demos and tests
mmx: make store8888 take uint32_t *dest as argument
mmx: make load8888 take a pointer to data instead of the data itself
lowlevel-blt: add over_8888_8888
lowlevel-blt: add over_x888_n_8888
lowlevel-blt-bench: add in_8_8 and in_n_8_8
Use AC_LANG_SOURCE for DSPr2 configure program
mmx: enable over_n_0565 for b5g6r5
mmx: Use force_inline instead of __inline__ (bug 46906)
configure.ac: require >= gcc-4.5 for ARM iwMMXt
mmx: fix _mm_shuffle_pi16 function when compiling without optimization
configure.ac: fix iwMMXt/gcc version error message
mmx: add store function and use it in add_8888_8888
mmx: add load function and use it in add_8888_8888
mmx: make ldq_u take __m64* directly
mmx: compile on MIPS for Loongson MMI optimizations
mmx: remove unnecessary uint64_t<->__m64 conversions
mmx: simplify srcsrcsrcsrc calculation in over_n_8_0565
mmx: introduce is_equal, is_opaque, and is_zero functions
mmx: don't pack and unpack src unnecessarily
mmx: Use Loongson pinsrh instruction in pack_565
mmx: Use Loongson pextrh instruction in expand565
mmx: add r5g6b5 fetcher
mmx: add a8 fetcher
mmx: add x8f8g8b8 fetcher
mmx: add src_8888_0565
mmx: Use wpackhus in src_x888_0565 on iwMMXt
.gitignore: add demos/checkerboard and demos/quad2quad
configure.ac: make -march=loongson2f come before CFLAGS
mmx: add and use pack_4x565 function
configure.ac: Fix loongson-mmi out-of-tree builds
configure.ac: Rename loongson -> loongson-mmi
configure.ac: Fail the ARM/iwMMXt test if not compiling with -march=iwmmxt
mmx: add and use expand_4xpacked565 function
mmx: implement expand_4x565 in terms of expand_4xpacked565
fast: add add_0565_0565 function
mmx: add add_0565_0565
mmx: add over_reverse_n_8888
mmx: add missing _mm_empty calls
autotools: use custom build rule to build iwMMXt code
configure.ac: add iwmmxt2 configure flag
.gitignore: add test/glyph-test
sse2: enable over_n_0565 for b5g6r5
sse2: add src_x888_0565
Fix distcheck due to custom iwMMXt rules
mmx: Use expand_alpha instead of mask/shift
mmx: add scaled bilinear src_8888_8888
mmx: add scaled bilinear over_8888_8888
mmx: add scaled bilinear over_8888_8_8888
mmx: optimize bilinear function when using 7-bit precision
loongson: optimize _mm_set_pi* functions with shuffle instructions
sse2: add missing ABGR entires for bilinear src_8888_8888
Naohiro Aota (1):
Don't use non-POSIX test
Nemanja Lukic (9):
MIPS: DSPr2: Basic infrastructure for MIPS architecture
MIPS: DSPr2: Added fast-paths for SRC operation.
MIPS: DSPr2: Added mips_dspr2_blt and mips_dspr2_fill routines.
MIPS: DSPr2: Added over_n_8888_8888_ca and over_n_8888_0565_ca fast paths.
MIPS: DSPr2: Added over_n_8_8888 and over_n_8_0565 fast paths.
MIPS: DSPr2: Fix bug in over_n_8888_8888_ca/over_n_8888_0565_ca routines
MIPS: DSPr2: Added bilinear over_8888_8_8888 fast path.
MIPS: DSPr2: Added several bilinear fast paths with a8 mask
MIPS: DSPr2: Added more bilinear fast paths (without mask)
Sebastian Bauer (4):
Qualify the static variables in pixman_f_transform_invert() with the const keyword.
Changed the style of two function headers
Added HAVE_CONFIG_H check before including config.h
Use angle brackets form of including config.h
Siarhei Siamashka (8):
test: OpenMP 2.5 requires signed loop iteration variables
test: fix bisecting issue in fuzzer-find-diff.pl
test: Fix for strict aliasing issue in 'get_random_seed'
test: support nearest/bilinear scaling in lowlevel-blt-bench
sse2: faster bilinear scaling (use _mm_loadl_epi64)
Bilinear interpolation precision is now configurable at compile time
sse2: _mm_madd_epi16 for faster bilinear scaling with 7-bit precision
Change default bilinear interpolation precision to 7 bits
Søren Sandmann Pedersen (81):
Post-release version bump to 0.25.1
region: Add pixman_region{,32}_clear() functions.
Modify gradient-test to show a bug in NONE processing
gradient-walker: For NONE repeats, when x < 0 or x > 1, set both colors to 0
pixman-image.c: Fix typo in pixman_image_set_transform()
Fix some signed overflow bugs
Add missing cast in _pixman_edge_multi_init()
Fix a bunch of signed overflow issues
In MUL_UNc() cast to comp2_t
Reject trapezoids where top (botttom) is above (below) the edges
Fix rounding for DIV_UNc()
test: In the alphamap test, also test that we get the right red value
Fix bugs with alpha maps
test/alphamap.c: Make dst and orig_dst more independent of each other
Get rid of delegates for combiners
Move the color_correct() function from composite.c to utils.c
Rename color_correct() to round_color()
test: Add a new "pixel_checker_t" object.
test: Port composite test over to use new pixel_checker_t object.
Revert "Reject trapezoids where top (botttom) is above (below) the edges"
mmx: Enable over_x888_8_8888() for x86 as well
mmx: Delete unused function in_over_full_src_alpha()
Disable MMX when Clang is being used.
Disable implementations mentioned in the PIXMAN_DISABLE environment variable.
Move fetching for solid bits images to pixman-noop.c
pixman-accessors.h: Delete unused macros
pixman-access.c: Remove some unused macros
mmx: Squash a warning by making the argument to ldl_u() const
Pre-release version bump to 0.25.2
Post-release version bump to 0.25.3
Use "=a" and "=d" constraints for rdtsc inline assembly
demos: Add quad2quad program
demos: Add checkerboard demo
composite-test.c: Use similar gradient to the one in the PDF spec.
composite-test.c: Add a parrot image
Add the original parrot image.
Rename fast_composite_add_1000_1000 to _add_1_1()
gtk-utils.c: Don't include pixman-private.h
test/utils.c: Rename and export the pngify_pixels() function.
gtk-utils.c: In pixbuf_from_argb32() use a8r8g8b8_to_rgba_np()
test/utils.c: Clip values to the [0, 255] interval
bits_image_fetch_pixel_convolution(): Make sure channels are signed
Add Makefile.win32 and Makefile.win32.common to EXTRA_DIST
demos/Makefile.am: Add parrot.c to EXTRA_DIST
Pre-release version bump to 0.25.6
Post-release version bump to 0.25.7
demos: Add parrot.jpg to EXTRA_DIST
test: Composite with solid images instead of using pixman_image_fill_*
Pre-release version bump to 0.26.0
Post-release version bump to 0.27.1
Pass the full image flags to iterators
Make use of image flags in mmx and sse2 iterators
Add doubly linked lists
Add pixman_glyph_cache_t API
Move CRC32 computation from blitters-test.c into utils.c
Add support for alpha maps to compute_crc32_for_image().
test: Add glyph-test
Speed up pixman_composite_glyphs()
Speed up _pixman_composite_glyphs_no_mask()
Speed up _pixman_image_get_solid() in common cases
bits-image: Turn all the fetchers into iterator getters
test: Make glyph test pass on big endian
test: Add missing break in stress-test.c
test: Make stress-test more likely to actually composite something
In fast_composite_tiled_repeat() don't clone images with a palette
Use a compile-time constant for the "K" constraint in the MMX detection.
pixman-cpu.c: Rename disabled to _pixman_disabled() and export it
Move x86 specific CPU detection to a new file pixman-x86.c
Move ARM specific CPU detection to a new file pixman-arm.c
Move PowerPC specific CPU detection to its own file pixman-ppc.c
Move MIPS specific CPU detection to its own file, pixman-mips.c
Move the remaining bits of pixman-cpu into pixman-implementation.c
Simplify MIPS CPU detection
Simplifications to ARM CPU detection
Simplify CPU detection on PPC.
Cleanups and simplifications in x86 CPU feature detection
Make pixman-mmx.c compile on x86-32 without optimization
Add make-srgb.pl to EXTRA_DIST
stress-test: Avoid overflows in clip rectangles
glyph-test: Avoid setting solid images as alpha maps.
Pre-release version bump to 0.27.2
* * *
--HG--
extra : rebase_source : 979841b7b315ca9ed7995ece39333dce541238fd
win32: Use a font_face hash table to provide unique font faces
win32-font: Improve static data reset function
Bug 717178. Part 2: Import changesets eb29a25d, 6e3e3291 and 101fab7c from upstream.
======
From 101fab7cd8a90f7cf3d8113c792b3f8c2a9afb7d Mon Sep 17 00:00:00 2001
The hashtable is guaranteed to only contain font faces which are
currently referenced, hence there is no need to remove any font face
when it is reset (just like for toy-font).
This makes the function simpler and fixes the assertion
Assertion failed: predicate != NULL, file cairo-hash.c, line 373
hit by multiple tests (the first one being "clear").
See https://bugs.freedesktop.org/show_bug.cgi?id=38049
======
From eb29a25dd6dddc511388bf883c9b95843ecdb823 Mon Sep 17 00:00:00 2001
Similar to the freetype and toy font backends, use a hash table
to map logfont,hfont to font faces.
This fixes the multiple embedding of the same font in PDF.
https://bugs.freedesktop.org/show_bug.cgi?id=24849
======
From 6e3e329170ab4b96bc0d587c8071e869e228e758 Mon Sep 17 00:00:00 2001
some bugs were discovered while testing with firefox
======
--HG--
extra : rebase_source : 6bbb299194f2296522e36bfeb68d1e8ebc2d1f17
Bug 717178. Part 2: Import changesets eb29a25d, 6e3e3291 and 101fab7c from upstream.
======
From 101fab7cd8a90f7cf3d8113c792b3f8c2a9afb7d Mon Sep 17 00:00:00 2001
The hashtable is guaranteed to only contain font faces which are
currently referenced, hence there is no need to remove any font face
when it is reset (just like for toy-font).
This makes the function simpler and fixes the assertion
Assertion failed: predicate != NULL, file cairo-hash.c, line 373
hit by multiple tests (the first one being "clear").
See https://bugs.freedesktop.org/show_bug.cgi?id=38049
======
From eb29a25dd6dddc511388bf883c9b95843ecdb823 Mon Sep 17 00:00:00 2001
From: Adrian Johnson <ajohnson@redneon.com>
Date: Tue, 16 Nov 2010 13:18:39 +0000
Subject: win32: Use a font_face hash table to provide unique font faces
Similar to the freetype and toy font backends, use a hash table
to map logfont,hfont to font faces.
This fixes the multiple embedding of the same font in PDF.
https://bugs.freedesktop.org/show_bug.cgi?id=24849
======
From 6e3e329170ab4b96bc0d587c8071e869e228e758 Mon Sep 17 00:00:00 2001
From: Adrian Johnson <ajohnson@redneon.com>
Date: Thu, 18 Nov 2010 12:37:45 +0000
Subject: win32: fix font_face hashing
some bugs were discovered while testing with firefox
======
======
From eb29a25dd6dddc511388bf883c9b95843ecdb823 Mon Sep 17 00:00:00 2001
From: Adrian Johnson <ajohnson@redneon.com>
Date: Tue, 16 Nov 2010 13:18:39 +0000
Subject: win32: Use a font_face hash table to provide unique font faces
Similar to the freetype and toy font backends, use a hash table
to map logfont,hfont to font faces.
This fixes the multiple embedding of the same font in PDF.
https://bugs.freedesktop.org/show_bug.cgi?id=24849
======
From 6e3e329170ab4b96bc0d587c8071e869e228e758 Mon Sep 17 00:00:00 2001
From: Adrian Johnson <ajohnson@redneon.com>
Date: Thu, 18 Nov 2010 12:37:45 +0000
Subject: win32: fix font_face hashing
some bugs were discovered while testing with firefox
======
From 101fab7cd8a90f7cf3d8113c792b3f8c2a9afb7d Mon Sep 17 00:00:00 2001
From: Andrea Canciani <ranma42@gmail.com>
Date: Wed, 15 Jun 2011 09:37:36 +0000
Subject: win32-font: Improve static data reset function
The hashtable is guaranteed to only contain font faces which are
currently referenced, hence there is no need to remove any font face
when it is reset (just like for toy-font).
This makes the function simpler and fixes the assertion
Assertion failed: predicate != NULL, file cairo-hash.c, line 373
hit by multiple tests (the first one being "clear").
See https://bugs.freedesktop.org/show_bug.cgi?id=38049
======
--HG--
extra : rebase_source : 73172c901f80e2f6e9f52035e1d6eab2a220642f
The new version of the code is more obviously correct. Hopefully
the compiler is smart enough to turn it into something fast.
--HG--
extra : rebase_source : bdf2f00c5eae5d5a1bf6dff223b1b05f561384ab
Cairo is a 3rd party project and we decided in bug that silencing the
warnings was easier than patching.
--HG--
extra : rebase_source : aa7a22b208e62d0d84d1b4a6e5c58d366d957bb9
This does a 2x2 ordered dither in the same way that Skia does.
One of the things I'm currently unhappy with is that it duplicates
the gradient walker code for 16 bits. We could turn it into a large
macro that does the appropriate things for 16 bit and 32 bit
versions, but that's not particularly appealing.
This does a 2x2 ordered dither in the same way that Skia does.
One of the things I'm currently unhappy with is that it duplicates
the gradient walker code for 16 bits. We could turn it into a large
macro that does the appropriate things for 16 bit and 32 bit
versions, but that's not particularly appealing.
--HG--
extra : rebase_source : ef89cd53d68166db825bb993e1262db342ba9b5d