gecko/gfx/cairo/README

214 lines
9.4 KiB
Plaintext
Raw Normal View History

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)
Bug 746695. Update libpixman to 0.24.4 a=joe Alan Coopersmith (2): Change MMX ldq_u to return _m64 instead of forcing all callers to cast Make mmx code compatible with Solaris Studio 12.3 compilers Andrea Canciani (13): Include noop in win32 builds Silence autoconf warnings radial: Improve documentation and naming radial: Fix typos and trailing whitespace win32: Build benchmarks Workaround bug in llvm-gcc test: Fix compilation on win32 build: Reuse sources and pixman-combine build rules build: Reuse test sources build-win32: Share targets and variables across win32 makefiles build-win32: Add root Makefile.win32 test: Do not include config.h unless HAVE_CONFIG_H is defined build-win32: Add 'check' target Benjamin Otte (2): tests: Add PNG_CFLAGS/LIBS to tests build: replace @VAR@ with $(VAR) in makefiles Bobby Salazar (1): Android Runtime Detection Support For ARM NEON Chris Wilson (1): bits: optimise fetching width==1 repeats Colin Walters (1): autogen.sh: Support GNOME Build API Jeff Muizelaar (1): Add definitions of INT64_MIN and INT64_MAX Jon TURNEY (1): Fix build on cygwin after commit efdf65c0c4fff551fb3cd9104deda9adb6261e22 Matt Turner (11): lowlevel-blt: add over_x888_8_8888 mmx: fix formats in commented code mmx: convert while (w) to if (w) when possible mmx: rename USE_MMX to USE_X86_MMX mmx: wrap x86/MMX inline assembly in ifdef USE_X86_MMX mmx: fix unaligned accesses mmx: prepare pixman-mmx.c to be compiled for ARM/iwmmxt mmx: compile on ARM for iwmmxt optimizations mmx: optimize unaligned 64-bit ARM/iwmmxt loads Make sure iwMMXt is only detected on ARM Correct the minimum gcc version needed for iwmmxt Naohiro Aota (1): Don't use non-POSIX test Nis Martensen (1): Fix a few typos in pixman-combine.c.template Siarhei Siamashka (4): C fast path for scaled src_x888_8888 with nearest filter ARM: workaround binutils bug #12931 (code sections alignment) test: better coverage for BILINEAR->NEAREST filter optimization BILINEAR->NEAREST filter optimization for simple rotation and translation Søren Sandmann (5): mmx: Delete some unused variables sse2: Delete some unused variables demos: Comment out some unused variables ARM: Fix two bugs in neon_composite_over_n_8888_0565_ca(). test: Make fuzzer-find-diff.pl executable Søren Sandmann Pedersen (63): Add a "noop" implementation. Add a noop composite function for the DST operator Move noop dest fetching to noop implementation Add a noop src iterator Move NULL iterator into pixman-noop.c Move NOP src iterator into noop implementation. Replace instances of "dst_*" with "dest_*" In pixman-general.c rename image_parameters to {src, mask, dest}_image Replace argumentxs to composite functions with a pointer to a struct blitters-test: Make common formats more likely to be tested. Pre-release version bump to 0.23.2 Post-release version bump to 0.23.3 Makefile.am: Add pixman@lists.freedesktop.org to RELEASE_ANNOUNCE_LIST Fix lcg_rand_u32() to return 32 random bits. New test of pixman_region_contains_{rectangle,point} Speed up pixman_region{,32}_contains_rectangle() Use find_box_for_y() in pixman_region_contains_point() too Don't include stdint.h in lowlevel-blt-bench.c In pixman_image_create_bits() allow images larger than 2GB Rename pixman-fast-path.h to pixman-inlines.h Use repeat() function from pixman-inlines.h in pixman-bits-image.c Move bilinear interpolation to pixman-inlines.h Pre-release version bump to 0.23.4 Post-release version bump to 0.23.5 test: New function to save a pixman image to .png Use pkg-config to determine the flags to use with libpng test: Use smaller boxes in region_contains_test() A few tweaks to a comment in pixman-combine.c.template Add a generic unorm_to_unorm() conversion utility Add general pixel converter Add initial version of the MAKE_ACCESSORS() macro Use MAKE_ACCESSORS() to generate all the 32 bit accessors Use MAKE_ACCESSORS() to generate accessors for all the 16bpp formats Use MAKE_ACCESSORS() to generate accessors for 8bpp RGB formats Use MAKE_ACCESSORS() to generate accessors for 4 bpp RGB formats Use MAKE_ACCESSORS() to generate accessors for 24bpp formats Use MAKE_ACCESSORS() to generate accessors for the a1 format. Use MAKE_ACCESSORS() to generate accessors for paletted formats Remove x and y coordinates from analyze_extents() and compute_sample_extents() Split computation of sample area into own function Eliminate compute_sample_extents() function test: Occasionally use a BILINEAR filter in blitters-test Strength-reduce BILINEAR filter to NEAREST filter for identity transforms Don't include stdint.h in scaling-helpers-test. Add src, mask, and dest flags to the composite args struct. Pre-release version bump to 0.23.6 Post-release version bump to 0.23.7 Add stable release / development snapshot to draft release notes gradient walker: Correct types and fix formatting Use sentinels instead of special casing first and last stops Simplify gradient_walker_reset() Merge branch 'gradients' Fix use of uninitialized fields reported by valgrind Pre-release version bump to 0.23.8 Post-release version bump to 0.23.9 Pre-release version bump to 0.24.0 Post-release version bump to 0.24.1 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 Reject trapezoids where top (botttom) is above (below) the edges Fix bugs with alpha maps Pre-release version bump to 0.24.2 Taekyun Kim (25): Replace boolean arguments with flags for bilinear fast path template REPEAT_NORMAL support for bilinear fast path template sse2: Declare bilinear src_8888_8888 REPEAT_NORMAL composite function ARM: Add REPEAT_NORMAL functions to bilinear BIND macros Enable REPEAT_NORMAL bilinear fast path entries Bilinear REPEAT_NORMAL source line extension for too short src_width ARM NEON: Standard fast path out_reverse_8_8888 ARM: NEON better instruction scheduling of over_n_8_8888 ARM: NEON better instruction scheduling of over_n_8888 sse2: Macros for assembling bilinear interpolation code fractions sse2: Bilinear scaled over_8888_8888 sse2: Bilinear scaled over_8888_8_8888 init/fini functions for pixman_image_t Add new fast path flag FAST_PATH_BITS_IMAGE Move _pixman_lookup_composite_function() to pixman-utils.c Simple repeat fast path Simple repeat: Extend too short source scanlines into temporary buffer ARM: NEON: Some cleanup of bilinear scanline functions ARM: NEON: Bilinear macro template for instruction scheduling ARM: NEON: Replace old bilinear scanline generator with new template ARM: NEON: Instruction scheduling of bilinear over_8888_8888 ARM: NEON: Instruction scheduling of bilinear over_8888_8_8888 ARM: NEON: Standard fast path src_n_8_8888 ARM: NEON: Standard fast path src_n_8_8 ARM: NEON: Fix assembly typo error in src_n_8_8888
2012-04-19 21:07:56 -07:00
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
2007-06-13 15:49:19 -07:00
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
2009-02-06 14:33:13 -08:00
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
2010-05-31 19:09:44 -07:00
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
==== 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
Bug 746695. Update libpixman to 0.24.4 a=joe Alan Coopersmith (2): Change MMX ldq_u to return _m64 instead of forcing all callers to cast Make mmx code compatible with Solaris Studio 12.3 compilers Andrea Canciani (13): Include noop in win32 builds Silence autoconf warnings radial: Improve documentation and naming radial: Fix typos and trailing whitespace win32: Build benchmarks Workaround bug in llvm-gcc test: Fix compilation on win32 build: Reuse sources and pixman-combine build rules build: Reuse test sources build-win32: Share targets and variables across win32 makefiles build-win32: Add root Makefile.win32 test: Do not include config.h unless HAVE_CONFIG_H is defined build-win32: Add 'check' target Benjamin Otte (2): tests: Add PNG_CFLAGS/LIBS to tests build: replace @VAR@ with $(VAR) in makefiles Bobby Salazar (1): Android Runtime Detection Support For ARM NEON Chris Wilson (1): bits: optimise fetching width==1 repeats Colin Walters (1): autogen.sh: Support GNOME Build API Jeff Muizelaar (1): Add definitions of INT64_MIN and INT64_MAX Jon TURNEY (1): Fix build on cygwin after commit efdf65c0c4fff551fb3cd9104deda9adb6261e22 Matt Turner (11): lowlevel-blt: add over_x888_8_8888 mmx: fix formats in commented code mmx: convert while (w) to if (w) when possible mmx: rename USE_MMX to USE_X86_MMX mmx: wrap x86/MMX inline assembly in ifdef USE_X86_MMX mmx: fix unaligned accesses mmx: prepare pixman-mmx.c to be compiled for ARM/iwmmxt mmx: compile on ARM for iwmmxt optimizations mmx: optimize unaligned 64-bit ARM/iwmmxt loads Make sure iwMMXt is only detected on ARM Correct the minimum gcc version needed for iwmmxt Naohiro Aota (1): Don't use non-POSIX test Nis Martensen (1): Fix a few typos in pixman-combine.c.template Siarhei Siamashka (4): C fast path for scaled src_x888_8888 with nearest filter ARM: workaround binutils bug #12931 (code sections alignment) test: better coverage for BILINEAR->NEAREST filter optimization BILINEAR->NEAREST filter optimization for simple rotation and translation Søren Sandmann (5): mmx: Delete some unused variables sse2: Delete some unused variables demos: Comment out some unused variables ARM: Fix two bugs in neon_composite_over_n_8888_0565_ca(). test: Make fuzzer-find-diff.pl executable Søren Sandmann Pedersen (63): Add a "noop" implementation. Add a noop composite function for the DST operator Move noop dest fetching to noop implementation Add a noop src iterator Move NULL iterator into pixman-noop.c Move NOP src iterator into noop implementation. Replace instances of "dst_*" with "dest_*" In pixman-general.c rename image_parameters to {src, mask, dest}_image Replace argumentxs to composite functions with a pointer to a struct blitters-test: Make common formats more likely to be tested. Pre-release version bump to 0.23.2 Post-release version bump to 0.23.3 Makefile.am: Add pixman@lists.freedesktop.org to RELEASE_ANNOUNCE_LIST Fix lcg_rand_u32() to return 32 random bits. New test of pixman_region_contains_{rectangle,point} Speed up pixman_region{,32}_contains_rectangle() Use find_box_for_y() in pixman_region_contains_point() too Don't include stdint.h in lowlevel-blt-bench.c In pixman_image_create_bits() allow images larger than 2GB Rename pixman-fast-path.h to pixman-inlines.h Use repeat() function from pixman-inlines.h in pixman-bits-image.c Move bilinear interpolation to pixman-inlines.h Pre-release version bump to 0.23.4 Post-release version bump to 0.23.5 test: New function to save a pixman image to .png Use pkg-config to determine the flags to use with libpng test: Use smaller boxes in region_contains_test() A few tweaks to a comment in pixman-combine.c.template Add a generic unorm_to_unorm() conversion utility Add general pixel converter Add initial version of the MAKE_ACCESSORS() macro Use MAKE_ACCESSORS() to generate all the 32 bit accessors Use MAKE_ACCESSORS() to generate accessors for all the 16bpp formats Use MAKE_ACCESSORS() to generate accessors for 8bpp RGB formats Use MAKE_ACCESSORS() to generate accessors for 4 bpp RGB formats Use MAKE_ACCESSORS() to generate accessors for 24bpp formats Use MAKE_ACCESSORS() to generate accessors for the a1 format. Use MAKE_ACCESSORS() to generate accessors for paletted formats Remove x and y coordinates from analyze_extents() and compute_sample_extents() Split computation of sample area into own function Eliminate compute_sample_extents() function test: Occasionally use a BILINEAR filter in blitters-test Strength-reduce BILINEAR filter to NEAREST filter for identity transforms Don't include stdint.h in scaling-helpers-test. Add src, mask, and dest flags to the composite args struct. Pre-release version bump to 0.23.6 Post-release version bump to 0.23.7 Add stable release / development snapshot to draft release notes gradient walker: Correct types and fix formatting Use sentinels instead of special casing first and last stops Simplify gradient_walker_reset() Merge branch 'gradients' Fix use of uninitialized fields reported by valgrind Pre-release version bump to 0.23.8 Post-release version bump to 0.23.9 Pre-release version bump to 0.24.0 Post-release version bump to 0.24.1 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 Reject trapezoids where top (botttom) is above (below) the edges Fix bugs with alpha maps Pre-release version bump to 0.24.2 Taekyun Kim (25): Replace boolean arguments with flags for bilinear fast path template REPEAT_NORMAL support for bilinear fast path template sse2: Declare bilinear src_8888_8888 REPEAT_NORMAL composite function ARM: Add REPEAT_NORMAL functions to bilinear BIND macros Enable REPEAT_NORMAL bilinear fast path entries Bilinear REPEAT_NORMAL source line extension for too short src_width ARM NEON: Standard fast path out_reverse_8_8888 ARM: NEON better instruction scheduling of over_n_8_8888 ARM: NEON better instruction scheduling of over_n_8888 sse2: Macros for assembling bilinear interpolation code fractions sse2: Bilinear scaled over_8888_8888 sse2: Bilinear scaled over_8888_8_8888 init/fini functions for pixman_image_t Add new fast path flag FAST_PATH_BITS_IMAGE Move _pixman_lookup_composite_function() to pixman-utils.c Simple repeat fast path Simple repeat: Extend too short source scanlines into temporary buffer ARM: NEON: Some cleanup of bilinear scanline functions ARM: NEON: Bilinear macro template for instruction scheduling ARM: NEON: Replace old bilinear scanline generator with new template ARM: NEON: Instruction scheduling of bilinear over_8888_8888 ARM: NEON: Instruction scheduling of bilinear over_8888_8_8888 ARM: NEON: Standard fast path src_n_8_8888 ARM: NEON: Standard fast path src_n_8_8 ARM: NEON: Fix assembly typo error in src_n_8_8888
2012-04-19 21:07:56 -07:00
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
==== disable printing patch ====
disable-printing.patch: allows us to use NS_PRINTING to disable printing.