gecko-dev/gfx/cairo
Nathan Froyd b3d7979acb Bug 967300 - enable cairo's atomic support on gcc-esque compilers; r=mshal
Cairo has a number of nifty features predicated on support for atomic
operations on integer types.  Normally, such support would be determined
by cairo's configure script.  But since we don't run cairo's configure
script, we need to manually define HAVE_INTEL_ATOMIC_PRIMITIVES during
cairo's build.  That macro enables codepaths that depend on certain
SIZEOF_* variables being defined by autoconf, so we also need to add the
necessary code in moz.build to set those.

--HG--
extra : rebase_source : 2f00c4e48145b9f72839c57a619058a7bdec8efd
2015-01-15 15:53:28 -05:00
..
cairo Bug 967300 - enable cairo's atomic support on gcc-esque compilers; r=mshal 2015-01-15 15:53:28 -05:00
glitz/src bug 445321 - remove --enable-glitz and related defines. r=vlad,ted 2008-09-30 13:53:38 -04:00
libpixman Bug 1061791 - move CFLAGS usages in gfx/cairo/* to moz.build; r=mshal 2014-07-28 15:03:06 -04:00
README b=929451 don't use subpixel aa for ft fonts on surfaces that don't support it r=roc 2014-01-28 18:14:23 +13:00
add-a-stash-of-cairo_t-s.patch Bug 542605. Update cairo to 12d521df8acc483b2daa844d4f05dc2fe2765ba6. r=vlad,jwatt,bas 2010-04-05 22:28:54 -04:00
avoid-extend-none.patch Bug 751668. Avoid incorrectly using EXTEND_NONE. r=joe 2012-05-03 15:21:52 -04:00
bgr.patch Bug 542605. Update cairo to 12d521df8acc483b2daa844d4f05dc2fe2765ba6. r=vlad,jwatt,bas 2010-04-05 22:28:54 -04:00
buggy-repeat.patch b=456467; revisit cairo xlib buggy repeat handling; r=roc 2008-09-25 13:07:11 -07:00
cache-size.patch Bug 484076 - Shrink the glyph cache to fix tp_Rss regression. r=me 2009-03-23 21:53:40 -04:00
cairo-clamp-boundary.patch Bug 825721 - Clamp negative box starts and disallow negative sizes. r=jmuizelaar 2013-03-07 10:13:28 -05:00
cairo-mask-extends-bug.patch Bug 918671 - Fix cairo clipping bug when nesting clips. r=jrmuizel 2013-11-12 19:11:50 +00:00
cairo-qt-compile.patch Bug 561891 - QPainter is is busted after last cairo merge. r=jmuizelaar. 2010-04-29 06:25:02 -04:00
cairo-region-clip.patch Bug 1050788 - Fix a bug where cairo's region clipping code incorrectly handled empty clips. r=jrmuizel 2014-08-27 10:22:38 +12:00
cairo-version-fixes.patch 18829 6014c4fca4a1 2008-09-04 21:44 -0700 vladimir 2008-09-06 14:29:16 -07:00
cairo-x-visual.patch Bug 567065 - Try to create offscreen Xlib surface from existing visual if possible. r=jmuizelaar. 2010-06-16 04:32:26 -04:00
cairo_qt_a8_fallback.diff Bug 602171 - CAIRO_FORMAT_A8 not allowed for cairo-qt image backend r=jmuizelaar a=npodb 2010-12-04 00:04:47 +02:00
cairo_qt_glyphs.patch Bug 550673 - Fix glyphs rendering for cairo-qpainter-surface. r=jmuizelaar 2010-07-17 09:52:35 +03:00
clip-invariant.patch Bug 542605. Update cairo to 12d521df8acc483b2daa844d4f05dc2fe2765ba6. r=vlad,jwatt,bas 2010-04-05 22:28:54 -04:00
clip-rects-surface-extents.patch b=562574 fixes for cairo_copy_clip_rectangle_list and empty cairo_clip_extents r=jrmuizel 2010-07-23 10:22:51 +12:00
copyarea-with-alpha.patch b=583115 use XCopyArea for operator SOURCE with compatible COLOR_ALPHA surfaces to support simple overlapping self-copies r=jrmuizel 2010-08-03 13:26:27 +12:00
d2d-gradient-ensure-stops.patch Cairo patch update for bug 792903. DONTBUILD 2012-09-26 21:34:30 +12:00
d2d-repeating-gradients.patch Bug 768775. Improve the precision of the calculation of the number of stops that need to be added to handle 'repeat' and 'reflect', when we're filling a path. r=bas 2012-07-25 21:35:28 +12:00
d2d.patch Bug 614721 - Remove some DirectDraw left overs. r=joedrew,jrmuizel 2011-06-10 18:27:01 +02:00
dasharray-zero-gap.patch Bug 885585 - Work around Quartz issue where a stroke with a dasharray whose gaps add up to zero does not render. r=vlad,longsonr 2013-06-23 15:10:44 +10:00
disable-previous-scaled-font-cache.patch Bug 518172. cairo: Disable the previous_scaled_font cache. r=karlt 2010-08-02 10:00:21 -04:00
disable-printing.patch Bug 462911 - support NS_PRINTING in gfx / cairo. r=vlad 2008-11-04 07:43:45 -08:00
disable-server-gradients.patch Bug 542605. Update cairo to 12d521df8acc483b2daa844d4f05dc2fe2765ba6. r=vlad,jwatt,bas 2010-04-05 22:28:54 -04:00
disable-subpixel-antialiasing.patch Bug 363861. cairo patch for changeset 8857392e37ae; a=NPOTB 2011-01-19 21:27:54 +13:00
dwrite-font-match-robustness.patch Bug 717178. Part 1: Don't crash when passing a nil scaled-font to _name_tables_match. r=jfkthame 2012-10-23 12:37:28 +13:00
dwrite-font-printing.patch Bug 468568. Part 0.5: _cairo_dwrite_scaled_font_create_win32_scaled_font should check font names to ensure that GDI gave us back the correct font. r=jfkthame 2012-09-17 16:25:24 +12:00
dwrite-glyph-extents.patch bug 568191 followup - add patch file to gfx/cairo directory, and note in README. (NPOTB) 2010-06-10 19:20:37 +01:00
empty-clip-extents.patch b=562574 fixes for cairo_copy_clip_rectangle_list and empty cairo_clip_extents r=jrmuizel 2010-07-23 10:22:51 +12:00
empty-clip-rectangles.patch b=562574 fixes for cairo_copy_clip_rectangle_list and empty cairo_clip_extents r=jrmuizel 2010-07-23 10:22:51 +12:00
ensure-text-flushed.patch Bug 563255. cairo: PDF-operators: ensure text operations flushed before emitting clip 2010-06-15 15:34:09 -04:00
expose-snapshot.patch Bug 715658: Properly invalidate cached SourceSurfaces. r=jrmuizel 2012-01-31 06:15:23 +01:00
fix-build-with-Werror=return-type.patch Bug 737909 - Add a patch file to gfx/cairo; r=joe 2012-03-22 11:37:19 -04:00
fix-cairo-surface-wrapper-flush-build-warning.patch Bug 631155 - undefined return value in function '_cairo_surface_wrapper_flush'; r=jrmuizel 2011-07-11 09:14:12 -04:00
fix-cairo-win32-print-gdi-error.diff Bug 624198 - Don't use fwprintf with char* format. Flush stderr so that all error messages appears before exit. r=vlad a=jst 2011-01-21 04:26:39 +01:00
fix-clip-copy.patch Bug 542605. Update cairo to 12d521df8acc483b2daa844d4f05dc2fe2765ba6. r=vlad,jwatt,bas 2010-04-05 22:28:54 -04:00
fix-clip-region-simplification.patch Bug 542605. Update cairo to 12d521df8acc483b2daa844d4f05dc2fe2765ba6. r=vlad,jwatt,bas 2010-04-05 22:28:54 -04:00
fix-clip-test.patch cairo: Fix a clip test to test the right coordinate. r=ehsan,a=gavin 2010-08-17 20:08:57 -04:00
fix-ps-output.patch Bug 563255. cairo: PS: Add missing 'q' when resetting clip path 2010-06-15 15:15:01 -04:00
fix-unnecessary-fallback.patch Bug 542605. Update cairo to 12d521df8acc483b2daa844d4f05dc2fe2765ba6. r=vlad,jwatt,bas 2010-04-05 22:28:54 -04:00
fix-win32-font-assertion.patch bug 838617 - don't assert equality with the key's hash unless it was actually initialized. r=roc 2013-02-07 00:24:52 +00:00
fix-win32-show-glyphs-clipping.patch Bug 542605. Update cairo to 12d521df8acc483b2daa844d4f05dc2fe2765ba6. r=vlad,jwatt,bas 2010-04-05 22:28:54 -04:00
fix-xcopyarea-with-clips.patch b=571448 In the XCopyArea region code, don't modify src_x/y when they are later used in the unbounded fixup code r=jrmuizel 2010-06-27 20:03:16 +12:00
fix-zero-length-gradient.patch Bug 542605. Update cairo to 12d521df8acc483b2daa844d4f05dc2fe2765ba6. r=vlad,jwatt,bas 2010-04-05 22:28:54 -04:00
fixup-unbounded.patch Bug 668921. cairo: Fix fixup_unbounded_boxes() to work even if the box is smaller than the extents. r=ickle 2011-08-19 11:26:23 -04:00
ft-no-subpixel-if-surface-disables.patch b=929451 don't use subpixel aa for ft fonts on surfaces that don't support it r=roc 2014-01-28 18:14:23 +13:00
gdi-RGB24-ARGB32.patch Bug 788794. Use BitBlt to do SOURCE and OVER from RGB24 to ARGB32. r=nical 2012-09-12 22:57:25 -04:00
handle-a1.patch Bug 542605. Update cairo to 12d521df8acc483b2daa844d4f05dc2fe2765ba6. r=vlad,jwatt,bas 2010-04-05 22:28:54 -04:00
handle-multi-path-clip.patch Bug 813124 - Make Cairo's image surface correctly handle having multiple clip paths set on the context. r=jrmuizel,roc 2012-11-23 11:57:10 -05:00
ignore-rank0.patch Add bug 474886 to cairo README 2009-02-06 17:33:13 -05:00
lround-c99-only.patch Revert to 176fae7de173 which was fine. 2011-09-02 09:15:54 -04:00
max-font-size.patch b=421017; upgrade cairo to 1.5.12-14-gd89edde -- additional fixes ; r=me 2008-03-04 21:45:09 -08:00
missing-cairo-clip-init.diff Bug 624198 - Crash due to missing cairo_clip_init call in cairo_gstate_show_text_glyphs. r=vlad a=jst 2011-01-21 04:26:39 +01:00
moz.build Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
native-clipping.patch Bug 562334. cairo: Fix checking in the broken version of 4efebc9638e7 2010-04-30 14:10:19 -04:00
nonfatal-assertions.patch b=462938, Upgrade cairo to 1.8.2 and pixman to 0.12.0 [cairo piece] 2008-11-05 23:48:23 -08:00
on-edge.patch Bug 498428. Reverting f2ef72fbe01c because of tSVG regression 2009-06-18 16:44:02 -04:00
pattern_get_surface-no-error.patch Bug 593604. cairo patch for changeset e427b4ea7e2f; a=NPOTB 2011-01-19 21:27:54 +13:00
pixman-16-bit-pipeline.patch Bug 683243. Add a 16 bit pipeline. r=BenWa 2012-07-11 12:58:17 -04:00
pixman-8888-over-565.patch Bug 757878. Add a fast path for 8888_over_565 with NEON. r=bgirard,joe 2012-05-17 19:23:53 -04:00
pixman-android-cpu-detect.patch [android] read /proc/cpuinfo for cpu info 2010-05-07 16:48:33 -04:00
pixman-bilinear-fastpath.patch Backout df38ed62a24a (bug 754364) due to Windows red. a=CLOSED TREE 2012-05-15 20:29:13 -04:00
pixman-component-alpha.patch Bug 484954 - Propogate the component alpha flag when wrapping image surfaces to fix RGBA text on win32. r=vlad 2009-05-07 15:15:34 -04:00
pixman-dither.patch Back out 0c1f34eb5b93 and 0f987ac28e8c (bug 683243) for Android R2 bustage 2012-07-12 22:27:34 -07:00
pixman-enable-altivec-acceleration.patch Bug 817045 - Note and patch in gfx/cairo. r=jmuizelaar 2012-12-03 20:26:16 -05:00
pixman-export.patch Bug 648911 - Remove support for non-libxul builds. r=ted,joedrew 2011-05-23 18:54:47 +02:00
pixman-image-transform.patch Bug 637828. Reset the transform on the dest image. r=joe a=blocking-fennec 2011-03-07 19:17:37 -05:00
pixman-limits.patch Bug 746695. Update libpixman to 0.24.4 a=joe 2012-04-20 00:07:56 -04:00
pixman-lowres-interp.patch Bug 689707. Use lower precision bilinear interpolation. r=joe 2012-05-10 22:12:52 -04:00
pixman-rename-and-endian.patch b=518506 make public pixman symbols available in --disable-libxul and --enable-system-cairo builds r=bsmedberg 2009-12-14 10:00:31 +13:00
pixman-xp-dll-workaround Bug 882173 - Build pixman with TLS support. r=jrmuizel 2013-06-12 16:05:39 -04:00
premultiply-alpha-solid-gradients.patch Bug 539165. Fix single and multi-stop solid gradients by multiplying by the alpha component. r=roc 2010-01-18 10:36:43 -05:00
quartz-cache-CGImageRef.patch Bug 552537. Add patch to list. 2010-06-01 14:05:55 +12:00
quartz-cg-layers-fix-fallback.patch Bug 572912. Fix surface type passed to cairo_quartz_surface_create during fallback for CGLayers. r=jrmuizel 2010-06-18 21:24:15 +12:00
quartz-cglayers.patch Bug 568189. Add patches to list. 2010-06-01 14:09:44 +12:00
quartz-check-imageSurfaceEquiv.patch Bug 612662 patch 3: Drop cairo_quartz_surface_t's "imageSurfaceEquiv" member if we fail to create it. r=roc a=blocking-final+ 2010-11-19 08:56:06 -08:00
quartz-const-globals.patch Add cairo patches for Quartz gradient fixes 2009-08-26 10:05:44 -07:00
quartz-create-for-data.patch Bug 611433 - Add cairo_quartz_surface_create_for_data. r=jrmuizel a=blocking2.0 2010-12-16 23:33:07 -08:00
quartz-fallback.patch Add cairo patches for Quartz gradient fixes 2009-08-26 10:05:44 -07:00
quartz-first-stop.patch Bug 513395: Make sure the Cairo/Quartz backend returns the first stop for negative positions on the gradient line of a nonrepeating linear gradient. r=jrmuizel 2009-11-02 09:20:40 -08:00
quartz-fix-PAD.patch Bug 593270. Part 2: Treat EXTEND_PAD like EXTEND_NONE when painting. r=jrmuizel,a=joe 2010-11-12 14:42:22 +13:00
quartz-get-image-performance.patch Bug 675837 - Only flush Quartz surfaces on the success paths during cairo_quartz_get_image. r=roc 2011-08-27 12:02:03 +12:00
quartz-get-image.patch Bug 575521 - Add cairo_quartz_surface_get_image to get the image associated with a quartz surface, if it exists. r=jrmuizel,vlad,bas 2010-11-11 15:31:23 -05:00
quartz-glyph-extents.patch Add patch file to Cairo directory for bug 534260. (NPOTB) 2009-12-24 07:23:28 +00:00
quartz-is-clear.patch Bug 542605. Update cairo to 12d521df8acc483b2daa844d4f05dc2fe2765ba6. r=vlad,jwatt,bas 2010-04-05 22:28:54 -04:00
quartz-layers-content.patch Bug 579985. Part 3.1: Pass cairo_content_t parameter when creating CGLayer surfaces. r=jrmuizel,a=blocking 2010-11-12 14:42:22 +13:00
quartz-mark-dirty.patch Bug 715704. Add a quartz implementation of mark_dirty_rectangle. r=roc 2012-01-05 18:40:01 -05:00
quartz-mask-non-OVER.patch Bug 579985. Using CGContextSetAlpha to implement mask alpha doesn't work for some operators. r=jrmuizel,a=blocking 2010-11-12 14:42:22 +13:00
quartz-minimize-gradient-repeat.patch Add cairo patches for Quartz gradient fixes 2009-08-26 10:05:44 -07:00
quartz-optimize-OVER.patch Bug 579885. Part 4: Paint opaque surfaces using kPrivateCGCompositeCopy when possible. r=jrmuizel,a=blocking 2010-11-12 14:43:42 +13:00
quartz-refactor-surface-setup.patch Bug 593270. Part 1: Move surface setup code to a helper function. r=jrmuizel,a=joe 2010-11-12 14:42:22 +13:00
quartz-remove-snapshot.patch Bug 568189. Add patches to list. 2010-06-01 14:09:44 +12:00
quartz-repeating-radial-gradients.patch Add cairo patches for Quartz gradient fixes 2009-08-26 10:05:44 -07:00
quartz-state.patch Bug 552859. Fix cairo patch to relfect what I actually landed. Not part of the build. 2010-05-21 20:48:55 +12:00
quartz-support-color-emoji-font.patch bug 715798 pt 1.1 - add patch for Apple color emoji support to the gfx/cairo directory (NPOTB) 2012-10-23 10:03:12 +01:00
quartz-surface-mask-patch Bug 721663 - [10.5] Crash in unpackImageRow @ CGAccessSessionGetBytes while printing or previewing. r=joe 2012-02-17 11:04:03 -06:00
setlcdfilter_in_tree.patch bug 790139 - crash in FT2FontEntry::CreateFontEntry when visiting any site in CM10 r=jfkthame 2012-10-05 17:46:02 -04:00
surface-clipper.patch Bug 542605. Update cairo to 12d521df8acc483b2daa844d4f05dc2fe2765ba6. r=vlad,jwatt,bas 2010-04-05 22:28:54 -04:00
tee-surfaces-pointwise.patch Bug 593604. cairo patch for changeset bacc54d452a9l a=NPOTB 2011-01-19 21:27:54 +13:00
text-path-filling-threshold.patch Followup to bustage fix for bug 491595 2009-05-14 11:19:51 +12:00
unicode-printing.patch Bug 454532. cairo: Print as Unicode. r=jrmuizel 2011-09-14 11:44:15 -07:00
use-show-text-glyphs-if-glyph-path-fails.patch bug 715798 pt 2.1 - add patch for huge emoji support to the gfx/cairo directory (NPOTB) 2012-10-23 10:05:53 +01:00
win32-ExtCreatePen-zero-size.patch Bug 768348. Avoid ExtCreatePen failures by avoiding rounding widths and dash lengths down to zero. r=jrmuizel 2012-07-02 11:49:34 +12:00
win32-avoid-extend-pad-fallback.patch Bug 911393 - Do not fallback for EXTEND_PAD when not needed. r=jrmuizel 2013-09-19 17:23:30 +12:00
win32-canvas-glyph-position.patch Bug 475092. Fix horizontal offsets for vertically-offset glyphs on Windows. r=vlad,r+sr=roc 2009-02-10 21:34:51 +13:00
win32-cleartype-clipping.patch Bug 445087; add extra pixel on each side of the glyph's black box returned by GetGlyphOutlineW, to avoid clipping ClearType pixels; r=(roc + vladimir) sr=roc 2009-02-24 17:53:31 +01:00
win32-composite-src-mod.patch Bug 498428. Reverting f2ef72fbe01c because of tSVG regression 2009-06-18 16:44:02 -04:00
win32-d3dsurface9.patch Bug 919479 - cairo fails to compile on mingw r=BenWa 2013-09-24 10:39:58 +02:00
win32-ddb-dib.patch Bug 504920. Use cairo_set_can_convert_to_dib(TRUE) when creating optimized DDB image surfaces. r=vlad 2009-08-12 10:44:53 -04:00
win32-ffs-gcc.patch Bug 742361 - GCC 4.7 mingw fails to compile cairo due to missing ffs declaration r=jrmuizel 2012-04-10 10:20:07 +02:00
win32-gdi-font-cache-no-HFONT.patch Bug 717178. Part 3 alternative: don't put Win32 cairo_font_face_ts into the font-face cache if they were created with an explicit HFONT. r=jrmuizel 2013-01-02 19:18:53 +13:00
win32-gdi-font-cache.patch Backout bug 814718, bug 717178 for exceptions in test_text.html on Windows. 2013-01-01 13:34:34 +01:00
win32-inline-cpp-keyword.patch Bug 694797 - Cairo fails to build with VC11 because it tries to #define inline, which is a keyword in C++; r=jrmuizel 2011-10-17 10:42:45 -04:00
win32-logical-font-scale.patch Fix DOS line endings rs=joedrew! 2011-05-26 20:41:33 +01:00
win32-raster.patch Bug 498689. Use scanline rasterizer on win32. r=joedrew, r=zweinberg 2009-06-22 15:01:50 -04:00
win32-transparent-surface.patch Bug 577200. Part 1: Add cairo API to set up a Win32 surface for an HDC with an alpha channel. r=jrmuizel 2010-07-16 09:07:44 +12:00
win32-vertically-offset-glyph.patch Bug 454098. Fix signs for baseline offsets for glyphs on Windows. r+sr=roc 2009-01-28 22:39:35 +13:00
wrap-source_image.patch Bug 526976: SIGFPE [@ _moz_cairo_format_stride_for_width] on BGR frame buffer r=jrmuizel 2010-03-08 17:37:58 +08:00
xlib-flush-glyphs.patch Bug 839745 - Flush glyphs when needed. r=jmuizelaar 2013-03-26 09:12:09 +11:00
xlib-glyph-clip-region.patch b=709477 use precise region extents instead of loose clip extents for clip rect r=jrmuizel 2012-08-18 08:43:21 +12:00
xlib-initialize-members.patch Bug 548793. Initialize XRender version fields if XRender isn't available. r=jrmuizel 2010-03-05 13:10:42 +13:00
zero-sized.patch Bug 484076 - Update pixman and cairo. This upgrades Cairo to git revision c932a809d6484503d7ee267d934bbc87c8d44092. r=vlad 2009-03-20 16:02:45 -04:00
zombie-face.patch Bug 498428. Reverting f2ef72fbe01c because of tSVG regression 2009-06-18 16:44:02 -04:00

README

Snapshots of cairo and glitz for mozilla usage.

We only include the relevant parts of each release (generally, src/*.[ch]),
as we have Makefile.in's that integrate into the Mozilla build system.  For
documentation and similar, please see the official tarballs at
http://www.cairographics.org/.

VERSIONS:

  cairo (12d521df8acc483b2daa844d4f05dc2fe2765ba6)
  pixman (0.24.2)

==== Patches ====

Some specific things:

max-font-size.patch: Clamp freetype font size to 1000 to avoid overflow issues

win32-logical-font-scale.patch: set CAIRO_WIN32_LOGICAL_FONT_SCALE to 1

nonfatal-assertions.patch: Make assertions non-fatal

buggy-repeat.patch: Unconditionally turn on buggy-repeat handling to bandaid bug 413583.

cairo-version-fixes.patch: fix up cairo-version.c/cairo-version.h for in-place builds

win32-ddb-dib.patch: fix for bug 455513; not upstream yet pending feebdack

win32-vertically-offset-glyph.patch: bug 454098; vertical positioning errors when drawing glyph runs including delta-y offsets on screen via GDI

ignore-rank0.patch: bug 474886; Not redrawing the background when changing page on flickr

win32-canvas-glyph-position.patch: bug 475092; horizontal positioning errors when drawing glyph runs with delta-y offsets to canvas through win32-font

win32-cleartype-clipping.patch: bug 445087; some glyphs are clipped, mainly on right-hand edge, when ClearType is enabled and drawing to RGBA canvas

on-edge.patch: reverts the in-fill semantic change.

wrap-source_image.patch: make sure we don't free the source image until we're done with it.

zero-sized.patch: deal with zero sized surface in ways less likely to crash.

text-path-filling-threshold.patch: use path filling instead of platform glyph rasterization at a smaller size threshold of 256 device pixels, if the backend supports native filling (which we assume will be fast).

zombie-face.patch: bug 486974; leak and possible crash with @font-face{src:url()}.  Upstream commit: 0238fe2cafea2e1ed19bb222117bd73ee6898d4d

win32-raster.patch: bug 498689; use scanline rasterizer on win32

quartz-falback.patch: try to fix Quartz fallback-to-pixman path; possiby incorrect and obsoleted by Andrea Canciani patch

quartz-repeating-radial-gradients.patch: use Quartz to render repeating radial gradients instead of falling back

quartz-const-globals.patch: make some Quartz color function data const globals instead of local variables

quartz-minimze-gradient-repeat.patch: reduce the number of gradient stop repetitions we use, to improve quality of Quartz's gradient rendering

quartz-first-stop.patch: return the first stop for negative positions on the gradient line of a nonrepeating linear gradient

quartz-glyph-extents.patch: bug 534260; work around incorrect glyph extents returned by quartz for anomalous empty glyphs

quartz-state.patch: bug 522859; refactor cairo-quartz-surface so that state local to a drawing operation is stored in a cairo_quartz_drawing_state_t instead of the surface

quartz-cache-CGImageRef.patch: cache CGImageRef for a CGBitmapContext; when we reuse it, Quartz will cache stuff, improving performance

quartz-remove-snapshot.patch: remove broken implementation of backend snapshot

quartz-cglayers.patch: add support for cairo surfaces backed by CGLayers

quartz-cglayers-fix-fallback.patch: Bug 572912; fix bug in fallback code in previous patch

quartz-get-image.patch: Bug 575521; add a way to get the image surface associated with a surface

quartz-create-for-data.patch: Bug 575521; add a way to create quartz surfaces backed with application-provided data

premultiply-alpha-solid-gradients.patch: bug 539165; multiply the solid color by the alpha component before using it for a solid surface

xlib-initialize-members.path: bug 548793; initialize XRender version if the server doesn't have the extension

remove-comma: remove a comma from enum

d2d.patch: add d2d support

fix-zero-len-graident.patch: fix zero length gradients

fix-clip-copy.patch: fix clip copying

fix-clip-region-simplification.patch: fixes a bug in clip region simplifications

expand-in-stroke-limits.patch: expand the in-stroke limits to avoid a bug

d2d-dwrite.patch: update the d2d/dwrite stuff

add-a-stash-of-cairo_t-s.patch: use the stash to avoid malloc/freeing cairo_t's

bgr.patch: fix image wrapping

disable-server-graidents.patch: disable server-side gradients

clip-invariant.patch: make rasterization closer to being clip invariant

fix-unnecessary-fallback.patch: avoid unnecessary fallback

handle-a1-upload.patch: handle a1 image uploads through converter

surface-clipper.patch: remove an incorrect optimization

fix-win32-show-glyphs-clipping.patch: fix a clipping bug

native-clipping.patch: Add support for a native clipping api

quartz-is-clear.patch: Propagate the quartz is_clear flag.

cairo-qt-compile.patch: Fix compile error, return not reached, and clone_similar interface

dwrite-glyph-extents.patch: Add padding to extents of antialiased glyphs, to avoid unwanted clipping. (bug 568191)

fix-ps-output.patch: PS: Add missing 'q' when resetting clip path (42b5cac7668625c9761113ff72b47af5cfd10377)

ensure-text-flushed.patch: PDF-operators: ensure text operations flushed before emitting clip (42b5cac7668625c9761113ff72b47af5cfd10377)

fix-xcopyarea-with-clips.patch: 5d07307b691afccccbb15f773d5231669ba44f5a

cairo-x-visual.patch: make valid visua for cairo_xlib_surface_create_with_xrender_format (55037bfb2454a671332d961e061c712ab5471580)

win32-transparent-surface.patch: add API so we can create a win32 surface for an HDC and indicate the surface has an alpha channel

cairo_qt_glyphs.patch: Drop X surface from Qt surface, add support for new qt glyphs api

empty-clip-rectangles.patch: f2fa15680ec3ac95cb68d4957557f06561a7dc55

empty-clip-extents.patch: b79ea8a6cab8bd28aebecf6e1e8229d5ac017264

clip-rects-surface-extents.patch: 108b1c7825116ed3f93aa57384bbd3290cdc9181

disable-previous-scaled-font-cache.patch: Disable the previous-scaled-font-cache until we figure out our ctm handling (#583035)
 
copyarea-with-alpha.patch: support simple overlapping self copies in (some) color_alpha xlib surfaces. https://bugs.freedesktop.org/show_bug.cgi?id=29250

fix-clip-test.patch: Use y 498c10032ea3f8631a928cd7df96766f2c8ddca4

quartz-refactor-surface-setup.patch: Extract the surface-source setup chunk of _cairo_quartz_setup_state into its own function

quartz-fix-PAD.patch: Treat PAD like NONE instead of REPEAT

quartz-mask-non-OVER.patch: Don't use CGContextSetAlpha to optimize alpha masking for non-OVER operators

quartz-layers-content.patch: Store cairo content type in CGLayer surfaces

quartz-optimize-OVER.patch: Optimize OVER to SOURCE for opaque patterns

quartz-check-imageSurfaceEquiv.patch: Drop cairo_quartz_surface_t's "imageSurfaceEquiv" member variable if we have problems creating it

disable-subpixel-antialiasing.patch: Add API to disable subpixel antialiasing completely for a target surface

tee-surfaces-pointwise.patch: Composite tee subsurfaces pointwise if possible

pattern_get_surface-no-error.patch: Don't put a pattern into error if cairo_pattern_get_surface fails

missing-cairo-clip-init.diff: Missing cairo_clip_init call in cairo_gstate_show_text_glyphs lead to crash

fix-cairo-win32-print-gdi-error.diff: Don't use fwprintf with char* format.  Flush stderr so that all error messages appears before exit.

pixman-image-transform.patch: Reset the transform on pixman images when using them as destinations.

fix-cairo-surface-wrapper-flush-build-warning.patch: Ensures that _cairo_surface_wrapper_flush always returns a status, to silence the build warning

fixup-unbounded.patch: Hack to work around bad assumption.

quartz-get-image-performance: Make cairo_quartz_get_image faster in the failure case by not flushing unless we are going to succeed.

lround-c99-only.patch: Only use lround in C99 programs.

unicode-printing.patch: Print as unicode (bug 454532)

quartz-mark-dirty.patch: Add a quartz implementation of mark_dirty_rectangle (bug 715704)

expose-snapshot.patch: Make functions to add snapshots public, as well as allow creating null surfaces publically. (bug 715658)

fix-build-with-Werror=return-type.patch: Fix builds with -Werror=return-type (bug 737909)

avoid-extend-none.patch: Avoid incorrectly using EXTEND_NONE (bug 751668)

win32-ExtCreatePen-zero-size.patch: Don't pass zero width or dash lengths to ExtCreatePen (bug 768348)

d2d-repeating-gradients.patch: Minimize number of gradient stops added to handle repeating with path fills (bug 768775)

xlib-glyph-clip-region.patch: bug 709477, addressed upstream by be1ff2f45fdbc69537e513834fcffa0435e63073

gdi-RGB24-ARGB32.patch: bug 788794

dwrite-font-printing.patch: bug 468568; don't substitute a GDI font for a DWrite font if the name tables aren't equal

d2d-gradient-ensure-stops.patch: bug 792903, ensure we don't set num_stops to 0

setlcdfilter_in_tree.patch: bug 790139; force cairo to use FT_Library_SetLcdFilter from our in tree library rather than picking it up from the system

dwrite-font-match-robustness.patch: bug 717178, don't crash when _name_tables_match is passed a nil scaled-font

handle-multi-path-clip.patch: bug 813124, handle multiple clip paths correctly

win32-gdi-font-cache.patch: Bug 717178, cache GDI font faces to reduce usage of GDI resources

win32-gdi-font-cache-no-HFONT.patch: Bug 717178, don't cache GDI font faces when an HFONT belonging to the caller is passed in

fix-win32-font-assertion.patch: Bug 838617, fix assertion from bug 717178 that was in the wrong place

xlib-flush-glyphs.patch: bug 839745, flush glyphs when necessary

dasharray-zero-gap.patch: bug 885585, ensure strokes get painted when the gaps in a dash array are all zero length

cairo-mask-extends-bug.patch: bug 918671, sometimes when building a mask we wouldn't clear it properly. This is fixed in cairo 1.12

ft-no-subpixel-if-surface-disables.patch: bug 929451, don't use subpixel aa for ft fonts on surfaces that don't support it

==== pixman patches ====

pixman-android-cpu-detect.patch: Add CPU detection support for Android, where we can't reliably access /proc/self/auxv.

pixman-rename-and-endian.patch: include cairo-platform.h for renaming of external symbols and endian macros

NOTE: we previously supported ARM assembler on MSVC, this has been removed because of the maintenance burden

pixman-export.patch: use cairo_public for PIXMAN_EXPORT to make sure pixman symbols are not exported in libxul

pixman-limits.patch: include limits.h for SIZE_MAX

pixman-lowres-interp.patch: Use lower quality interpolation for more speed.

pixman-bilinear-fastpath.patch: Bilinear fast paths for non-neon

pixman-16-bit-pipeline.patch: 16 bit pipeline for dithering

pixman-dither.patch: Add dithering of 16 bit gradients

quartz-support-color-emoji-font.patch: support Apple Color Emoji font in cairo-quartz backend

use-show-text-glyphs-if-glyph-path-fails.patch: fall back to show_text_glyphs even at huge sizes if scaled_font_glyph_path didn't work

pixman-enable-altivec-acceleration.patch: enable building the altivec acceleration

win32-d3dsurface9.patch: Create a win32 d3d9 surface to support LockRect

win32-avoid-extend-pad-fallback: Avoid falling back to pixman when using EXTEND_PAD

==== disable printing patch ====

disable-printing.patch:  allows us to use NS_PRINTING to disable printing.

==== cairo clamp bounday patch ====
cairo-clamp-boundary.patch: don't call pixman_fill with negative starts or negative sizes