[cairo-announce] cairo snapshot 1.3.2 now available
Carl Worth
cworth at cworth.org
Wed Nov 15 15:28:54 PST 2006
A new cairo snapshot 1.3.2 is now available from:
http://cairographics.org/snapshots/cairo-1.3.2.tar.gz
which can be verified with:
http://cairographics.org/snapshots/cairo-1.3.2.tar.gz.sha1
2d380e89dc4d1c5be1460884e953b01f42fd5c1a cairo-1.3.2.tar.gz
http://cairographics.org/snapshots/cairo-1.3.2.tar.gz.sha1.asc
(signed by Carl Worth)
Additionally, a git clone of the source tree:
git clone git://git.cairographics.org/git/cairo
will include a signed 1.3.2 tag which points to a commit named:
804e20b55d049a26fe4d96bb6d79890c65e43ab5
which can be verified with:
git verify-tag 1.3.2
and can be checked out with a command such as:
git checkout -b build 1.3.2
This snapshot is a chance to play with some of the recent performance
improvements that have been made to cairo (see below). But we're
really just getting started and there should be a lot more performance
improvements coming soon.
I hope that this snapshot is just the beginning of a steady stream of
ever-improving cairo snapshots. Ideally, we would see a new cairo
snapshot every week or two, and each faster than the one
before. Please help us make that happen!
We do have several performance problems identified and patches in
progress for several issues that still aren't in this snapshot, so
there's definitely some more exciting stuff to come, (more about that
in my follow ups to the cairo list). But please test this snapshot out
and let us know if it helps performance for your applications or not.
Have fun with cairo, everybody!
-Carl
Snapshot 1.3.2 (2006-11-14 Carl Worth <cworth at cworth.org>)
==========================================================
This is the first development snapshot since the 1.2 stable series
branched off shortly after the 1.2.4 release in August 2006.
This snapshot includes all the bug fixes from the 1.2.6 release,
(since they originated here on the 1.3 branch first and were
cherry-picked over to 1.2). But more importantly, it contains some new
API in preparation for a future 1.4 release, and most importantly, it
contains several performance improvements.
The bug fixes will not be reviewed here, as most of them are already
described in the 1.2.6 release notes. But details for the new API and
some performance improvements are included here.
As with all snapshots, this is experimental code, and the new API
added here is still experimental and is not guaranteed to appear
unchanged in any future release of cairo.
API additions
-------------
Several new API additions are available in this release. There is a
common theme among all the additions in that they allow cairo to
advertise information about its state that it was refusing to
volunteer earlier. So this isn't groundbreaking new functionality, but
it is essential for easily achieving several tasks.
The new functions can be divided into three categories:
Getting information about the current clip region
-------------------------------------------------
cairo_clip_extents
cairo_copy_clip_rectangles
cairo_rectangle_list_destroy
Getting information about the current dash setting
--------------------------------------------------
cairo_get_dash_count
cairo_get_dash
Getting information from a pattern
----------------------------------
cairo_pattern_get_rgba
cairo_pattern_get_surface
cairo_pattern_get_color_stop_rgba
cairo_pattern_get_color_stop_count
cairo_pattern_get_linear_points
cairo_pattern_get_radial_circles
In each of these areas, we have new API for providing a list of
uniform values from cairo. The closest thing we had to this before was
cairo_copy_path, (which is rather unique in providing a list of
non-uniform data).
The copy_clip_rectangles/rectangle_list_destroy functions follow a
style similar to that of cairo_copy_path. Meanwhile, the dash and
pattern color stop functions introduce a new style in which there is a
single call to return the number of elements available (get_dash_count
and get_color_stop_count) and then a function to be called once to get
each element (get_dash and get_color_stop_rgba).
I'm interested in hearing feedback from users of these new API
functions, particularly from people writing language bindings. One
open question is whether the clip "getter" functionality should adopt
a style similar to that of the new dash and color_stop interfaces.
API deprecation
---------------
The CAIRO_FORMAT_RGB16_565 enum value has been deprecated. It never
worked as a format value for cairo_image_surface_create, and it wasn't
necessary for supporting 16-bit 565 X server visuals.
XCB backend changes
-------------------
The XCB backend has been updated to track the latest XCB API (which
recently had a 1.0 release).
New quartz backend
------------------
Vladimir Vukicevic has written a new "native quartz" backend which
will eventually replace the current "image-surface wrapping" quartz
backend. For now, both backends are available, (the old one is
"quartz" and the new one is "nquartz"). But it is anticipated that the
new backend will replace the old one and take on the "quartz" name
before this backend is marked as supported in a release of cairo.
New OS/2 backend
----------------
Doodle and Peter Weilbacher have contributed a new, experimental
backend for using cairo on OS/2 systems.
Performance improvements
------------------------
Here are some highlights from cairo's performance suite showing
improvements from cairo 1.2.6 to cairo 1.3.2. The command used to
generate this data is:
./cairo-perf-diff 1.2.6 HEAD
available in the perf/ directory of a recent checkout of cairo's
source, (the cairo-perf-diff script does require a git checkout and
will not work from a tar file---though ./cairo-perf can still be used
to generate a single report there and ./cairo-perf-diff-files can be
used to compare two reports).
Results are described below both for an x86 laptop (with an old Radeon
video card, recent X.org build, XAA, free software drivers), as well
as for a Nokia 770. First the x86 results with comments on each, (all
times are reported in milliseconds).
Copying subsets of an image surface to an xlib surface (much faster)
--------------------------------------------------------------------
xlib-rgba subimage_copy-512 10.50 -> : 53.97x speedup
█████████████████████████████████████████████████████
Thanks to Christopher (Monty) Montgomery for this big performance
improvement. Any application which has a large image surface and is
copying small pieces of it at a time to an xlib surface, (imagine an
application that loads a single image containing all the "sprites" for
that application), will benefit from this fix. The larger the ratio of
the image surface to the portion being copied, the larger the benefit.
Floating-point conversion (3x faster)
-------------------------------------
xlib-rgba pattern_create_radial-16 27.75 -> 3.93 : 2.94x speedup
██
image-rgb pattern_create_radial-16 26.06 -> 3.74 : 2.90x speedup
█▉
Thanks to Daniel Amelang, (and others who had contributed the idea
earlier), for this nice improvement in the speed of converting
floating-point values to fixed-point.
Text rendering (1.3 - 2x faster)
------------------------------
xlib-rgba text_image_rgba_source-256 319.73 -> 62.40 : 2.13x speedup
█▏
image-rgb text_solid_rgba_over-64 2.85 -> 0.88 : 1.35x speedup
▍
I don't think we've ever set out to improve text performance
specifically, but we did it a bit anyway. I believe the extra
improvement in the xlib backend is due to Monty's image copying fix
above, and the rest is due to the floating-point conversion speedup.
Thin stroke improvements (1.5x faster)
---------------------------------------------
image-rgb world_map-800 1641.09 -> 414.77 : 1.65x speedup
▋
xlib-rgba world_map-800 1939.66 -> 529.94 : 1.52x speedup
▌
The most modest stuff to announce in this release is the 50%
improvement I made in the world_map case. This is in improvement that
should help basically anything that is doing strokes with many
straight line segments, (and the thinner the better, since that makes
tessellation dominate rasterization). The fixes here are to use a
custom quadrilateral tessellator rather than the generic tessellator
for straight line segments and the miter joins.
Performance results from the Nokia 770
--------------------------------------
xlib-rgba subimage_copy-512 55.88 -> 2.04 : 27.34x speedup
██████████████████████████▍
xlib-rgb text_image_rgb_over-256 1487.58 -> 294.43 : 5.05x speedup
████
image-rgb pattern_create_radial-16 187.13 -> 91.86 : 2.04x speedup
█
xlib-rgba world_map-800 21261.41 -> 15628.02 : 1.36x speedup
▍
Here we see that the subimage_copy improvement was only about half as
large as the corresponding improvement on my laptop, (27x faster
compared to 54x) and the floating-point conversion fix also was quite
as significant, (2x compared to 3x). Oddly the improvement to text
rendering performance was more than twice as good (5x compared to
2x). I don't know what the reason for that is, but I don't think it's
anything anybody should complain about.
Shortlog of changes since 1.2.4
===============================
Adrian Johnson (14):
Get correct unhinted outlines on win32.
Fix Type 1 embedding in PDF
Correct the value of /LastChar in the PDF Type 1 font dictionary.
Improve error checking in TrueType subsetting
Generate Type 1 fonts from glyph outlines
cairo-type1-fallback.c: return correct error status
Correct an unsigned to signed conversion problem in truetype subsetting bbox
Type 1 fallback fonts - use binary encoding in PDF files
Type1 subsetting: Don't put .notdef in Encoding when there are 256 glyphs
PS: Add cairo version to PS header
PDF: Add cairo version to document info dictionary
type1 fallback: ensure all functions perform correct status checking
PS: Use xshow/yshow/xyshow for strings of glyphs
Add OpenType/CFF Subsetting
Alfred Peng (2):
Add Sun Pro C definition of pixman_private
Use pixman_private consistently as prefix not suffix
Behdad Esfahbod (47):
[Makefile.am] Remove unnecessary parantheses that were causing trouble with old bash
[ROADMAP] Add glyph cache inspection to 1.4 roadmap
[TODO] Add cairo_get_scaled_font
[ROADMAP] Remove 1.2.4 stuff out of the way
[test] bufferdiff: take abs of the pixel diffs. Oops!
[image] Print out cairo version in the unsupported-format message
Bug #7593: Avoid unsigned loop control variable to eliminate infinite, memory-scribbling loop.
[xlib] Bug 7593: rewrite loop to be more readable, and fix warnings
[PNG] Mark status volatile to fix gcc warning
[test] Add 128 to any diff component such that differences are visible
[test] Use $(srcdir) to find valgrind supressions
[test] Use FcFreeTypeQuery
[configure] Invalidate cached warning flags if list of flags changes
[Makefile] Fix typo
[Makefile] Add perf to DIST_SUBDIRS
Update
[perf/Makefile] Unset DIST_SUBDIRS
[test/Makefile] Unset DIST_SUBDIRS
Add scripts to sanity check the shared object for exported and PLT symbols
Add
[x86-64] check-plt.sh: match on JU?MP_SLO as on x86-64 "SLOT" is truncated
configure.in: Require automake version 1.9 here too
cairo_show_glphs: Mark glyphs argument as const.
[ROADMAP] Check RGB16_565 deprecated
[ROADMAP] Add polling API
check-headers.sh: Add a test for cairo_public decorators in public headers
cairo-pdf.h: Add missing cairo_public decorators
cairo-directfb.h: Add missing cairo_public decorators
cairo-nquartz.h: Add missing cairo_public decorators.
check-def.sh: Only allow _cairo_.*_test_.* symbols, not all _cairo.* ones
[configure] Print out whether SVG and PDF surfaces can be tested
[check-headers.sh] Don't use '\>' regexp syntax
[Makefile.am] Pass srcdir down to the tests
[slim] hide cairo_pattern_status() #8551
[slim] hide cairo_glitz_surface_create() (#8551)
[configure.in] Require pkg-config 0.19. (#8686)
[test] Make sure tests are not relinked unnecessarily
[perf] Remove SUBDIRS=../boilerplate and add explicit dependencies
Make autogen.sh extract required versions from configure.in
Require automake 1.7 again
[PDF] Set CTM before path construction
[autogen.sh] Make sed script portable
[Makefile.am] Minor fixes in release-publish output
[Makefile.am] Pass tag message to git-tag in release-publish
[configure] Err if a suitable pkg-config is not found
Fix typo.
Add notes for the 1.2.6 release.
Benjamin Otte (3):
boilerplate: Fix compilation for glitz.
perf: Add yield and fix double comparison
perf: Make cairo_perf_timer structure private. Make timer functions void.
Carl Worth (166):
Increment version to 1.2.5 after making the 1.2.4 release
Add -Wextra (as well as -Wno-missing-field-initializers -Wno-unused-parameter)
Put static first to avoid compiler warning.
Eliminate conditions checking for unsigned or enum values less than 0.
Split libcairotest files out from test/ and into boilerplate/
test: Add link to test log file in HTML output
Add boilerplate/README explaining its purpose
Separate the sharable stuff out of cairo-test.c into cairo-boilerplate.c
boilerplate: Remove custom read/write-png code in favor of using cairo surfaces
Move test-specific stuff out of boilerplate/ and back into test/
test: Ignore single-bit errors for SVG backend.
perf: Add initial skeleton of performance monitoring suite
Require librsvg >= 2.14.0 to test SVG backend
boilerplate: Fix missing include of config.h which was preventing many backends from being tested
perf: Don't measure meta-surface-backed surface types.
Initial hookup of Vlad's timer/alarm code
perf: Remove unused util.c
perf: Collapse timing.[ch] down into cairo-perf.[ch]
perf: Don't require a separate counter from the timer for perf loops.
perf: More simplification of PERF_LOOP macros.
perf: Rename timer-alarm files to cairo-perf-timer
perf: More consistency improvements for names.
perf: Drop separate setup function from each test case.
Make perf interface return a rate. Start print target and test names.
perf: Fix typo in backend blackballing so that image tests now run
perf: Add indication of content to output
perf: Run for multiple iterations and print std. deviation
perf: Switch from alarm to setitimer for more fine-grained control of timers
Two big improvements to bring the std. deviation down to where we want it.
perf: Add README file explaining how to add a new test
perf/README: Fix typo
bug 8104: Eliminate unused variables. Replicate assert statement to identify branch of interest.
pixman: Add pixman_private decorations to hide pixman symbols from public interface
Add many missing slim_hidden calls to bypass PLT entries for local use of public functions
slim_hidden_proto: Move smeicolon from definition to use for consistency and legibility
RELEASING: Add note on checking for local symbol PLT entries.
Move target tolerance to cairo_test_target structure (should let single-pixel SVG errors pass)
perf: Remove unused alarm functions
perf: Fold cairo-perf-timer.h into cairo-perf.h
perf: Rename functions in line with cairo's naming guidelines
perf: Report times not rates. Interface in integers not doubles.
perf: Move sorting and discarding outside of compute_stats. Adjust discard to slowest 15% only.
perf-paint: Spend more iterations on smaller sizes to balance testing.
perf/README: Update due to cairo_perf_timer API changes
Prefer CPU performance counters (if available) over gettimeofday.
perf: Fix cairo_perf_ticks_per_second to avoid wraparound
perf: Handle 32-bit wraparound of performance counter
perf: Allow CAIRO_TEST_TARGET to limit targets tested.
perf: Add tessellate test case (in -16, -64, and -256 varieties)
autogen.sh: Require automake version 1.9
test: Report details errors when image output files cannot be found.
Make _cairo_output_stream_destroy return the stream's status as a last gasp.
Use new return value from _cairo_output_stream_destroy
Check status value of output_stream object at time of destroy
Remove font->status from cairo_type1_font_t
cairo_type1_font_create: Fix missing NO_MEMORY check and cleanup style.
cairo-type1-fallback.c: Regularize some whitespace.
Add _cairo_array_size to allow querying the allocated size
type1: Enforce pre-allocation usage and fail-proof behavior of charstring_encode functions
Fix bitmap-font test failure by not generating a type1 font for a bitmap font.
boilerplate: Rename cairo_test_target_t to cairo_boilerplate_target_t
Use unsigned consistently to avoid compiler warning.
test/bitmap-font: Fix arguments to FcFreeTypeQuery to avoid warnings.
boilerplate: Allow targets to distinguish between test and perf.
boilerplate-xlib: New perf-specific surface creation for xlib backend.
perf: Don't skip COLOR tests
perf: Make xlib testing wait for the X server to finish rendering.
Deprecated CAIRO_FORMAT_RGB16_565. Add cairo-deprecated.h .
Move the REPLACED/DEPRECATED_BY macros from cairo.h to cairo-deprecated.h
Fix typo in error message (enhacement -> enhancement)
Add missing pixman_private to _FbOnes when a function.
Add test case from bug #8379 demonstrating infinite loop during round join
Add assert statement so the infinite-join test simply exits rather than looping infinitely.
ROADMAP: Add infinite-join bug (#8379) to the list for 1.4
ROADMAP: Add a couple of URLs for user-font API discussion
Fix cairo_copy_path and cairo_copy_path_flat to propagate errors.
Rename test from stale path-data name to copy-path
perf: Rework the suite to allow multiple performance tests to be defined in one file.
Fix typo in documentation of cairo_in_fill (thanks to Jonathan Watt) and clarify a bit.
tmpl: obnoxious churn
Use consistent wording to document cairo_in_fill, cairo_in_stroke, cairo_fill_extents, and cairo_stroke_extents.
Fix Makefile bug preventing 'make doc' from succeeding
Rename docs-publish target to doc-publish in order to be consistent with the doc target.
Fix dependency of 'make doc' so that necessary header files are built first.
Add documentation for cairo_rectangle_list_destroy
Add missing 'Since: 1.4' tags to documentation of 'clip getter' functions.
perf/paint: Make all sizes use a consistent number of iterations
perf: Move the per-size loop from cairo_perf_run to main
perf: Make cairo_t* available to perf functions
perf/paint: Dramatically simplify now that we don't need one callback per run.
perf/paint: Use loops for sources and operators rather than open coding.
perf/paint: Test image surface as well as similar surface sources
Fix cairo_image_surface_create to report INVALID_FORMAT errors.
Cast to squelch warning message
Add new _cairo_pattern_create_for_status so that patterns properly propagate errors.
Rename the create_for_status pattern to create_in_error.
Remove unused variable
perf: Move iteration over sources and operators from paint to new cairo-perf-cover
perf: Add stroke and fill tests
Shorten test names in output (drop unneeded _source and _surface)
perf: Add linear and radial gradients to the coverage
perf: Bail if cairo_status returns non-success at the end of a test.
Fix typo that was resulting in device glyph_extents of INT16_MAX in some cases.
perf: Add text test
perf: Add subimage_copy test to demonstrate performance bug found by monty
perf: Do backend synchronization in cairo_perf_timer_start as well as cairo_perf_timer_stop
perf: Rename finalize to synchronize as it is used in both start() and stop() now
Fix typo of , instead of || which was causing a test to be ignored
perf: Make iterations adaptive (bailing as soon as std. deviation is <= 3% for 5 consecutive iterations
Rename wait_for_rendering to syncrhonize
Bug #7497: Change _cairo_color_compute_shorts to not rely on any particular floating-point epsilon value.
perf: Change minimum size of paint test to 256
cairo-perf: Remove wasted whitespace in output. Squelch wanring.
perf: Print ticks as well as ms in output.
Add cairo-perf-diff program for comparing two cairo-perf reports.
test/infinite-join: Modify to draw something visible, and make the output a more reasonable size.
Fix infinite-join test case (bug #8379)
Merge branch '8379' into cairo
Add neglected reference images for infinite-join test
Use zero-size change bar for a speedup/slowdown of 1.0
test: Add clip-push-group to demonstrate crash in cairo_push_group
clip-push-group: Adjust test slightly to ensure mask-based clip is not anchored at the origin
Fix bug in _cairo_clip_init_deep_copy (fixes clip-push-group crash)
test: Update reference images due to previous change to _cairo_color_compute_shorts
8711: Fix transformed source surface patterns with xlib backend.
Fix repeating source surface patterns with xlib backend.
Add new paint-repeat test
test/paint-repeat: Use offset larger than source surface for better stress testing
Fix offset/extent bug in ps output for repeating source surface patterns
Fix typo
Add new cairo-perf-diff for finding the performance difference between any 2 revisions.
Make xlib and xcb backends tolerant of single-bit errors in the test suite output.
cairo-perf-diff: Simplify git usage and just run cairo-perf that gets built with cairo revision
cairo-perf: Change outlier elimination and report minimum times.
Remove typo (mean vs median)
Increment CAIRO_VERSION to 1.3.1 now that a 1.2.6 release exists
cairo-perf-diff: Fix to still function if run from the top-level directory containing .git
cairo-perf-diff: Build and run latest cairo-perf program rather than whatever was in the old checkout
Don't rely on NQUARTZ or OS2 surface types unless they exist.
cairo-perf-diff: Use two-part hash to avoid stale data when perf suite changes.
Add zrusin-another test cases (tessellate and fill).
cairo-perf: Add command line options for test cases to run, listing tests, and new raw mode.
test/Makefile.am: Fix typo in EXTRA_DIST that was breaking distcheck
Rewrite _cairo_matrix_transform_bounding_box to actually accept a box not a rectangle
boilerplate: Add xrealloc function
perf: Move statistics code into new cairo-stats.h for sharing
cairo-perf: Print ticks_per_ms value in raw mode so raw analysis tools can report times
cairo-perf-diff-files: Add support for diffing "raw" files from "cairo-perf -r"
perf: Eliminate CAIRO_STATS_MIN_VALID_SAMPLES
perf/Makefile.am: Add missing zrusin-another.h file to list
perf: Add world-map performance test case.
Fix broken size calculation for xrealloc
cairo-perf-diff: Allow incremental refinement of performance results
cairo-perf-diff: Separate old and new build directories
cairo-perf-diff: Use rsync instead of cp to avoid some unnecessary rebuilding
cairo-perf-diff: rsync only git-managed files from boilerplate/perf
Add a status field to cairo_traps_t to enable less error checking
Rewrite tessellate_rectangle as tessellate_convex_quad to make it more useful
Make _cairo_stroker_add_sub_edge use tessellate_convex_quad rather than tessellate_polygon
Make miter join code use tessellate_convex_quad rather than tessellate_polygon
cairo-perf-diff: Run git-ls-tree from the correct directory
Remove non-existent reference images from Makefile to avoid breaking distcheck target
Fix get-clip test for surfaces not implementing set_clip_region
Add missing pattern-getters-ref.png to Makefile to avoid breaking distcheck target
NEWS: Add notes for 1.3.2 snapshot
Update cairo version and libtool version for 1.3.2 snapshot
Christian Biesinger (11):
fix comment: pixman_private needs to be before the type of a variable
[win32] Add missing void
Fix win32 build when pthreads are available
Add missing ) in comment
Actually return a value from _cairo_type1_fallback_init_*
Fix prototype warning by including cairo-test-directfb.h
Don't return an uninitialized value if _cairo_output_stream_create fails
[beos] Fix build error
[win32] Add parentheses around & operator
[beos] make tests compile again
[beos] Allow a pixel error of 1 for BeOS tests
Christopher (Monty) Montgomery (1):
Add extents to clone_similar (fixing subimage_copy performance bug)
Dan Amelang (3):
Add new perf test "pattern_create_radial"
Add autoconf macro AX_C_FLOAT_WORDS_BIGENDIAN
Change _cairo_fixed_from_double to use the "magic number" technique
Ian Osgood (12):
Update XCB names for XCB 1.0 RC2 release.
Replace static fn with xcb-renderutil library fn.
XCB: Remove unnecessary differences with the Xlib surface.
Move XCB sections next to XLIB sections.
XCB: glyph rendering support
XCB: find_standard_format using wrong enumeration.
Merge branch 'master' of git+ssh://iano@git.cairographics.org/git/cairo
XCB: implement subimage_copy fix
XCB: bring composite, trapezoids up-to-date with Xlib
XCB: make create_internal match Xlib
bug: wrong xcb_copy_area param order
don't squish tiny images in test/index.html
Jamey Sharp (9):
XCB: add slim_hidden_proto and slim_hidden_def for cairo_xcb_surface_create_with_xrender_format.
XCB: update cairo-boilerplate to test for an error connection rather than NULL.
Update .gitignore in boilerplate and test.
[slim] hide cairo_version_string()
XCB: Add the have_clip_rects field to cairo_xcb_surface, to match the Xlib surface.
XCB: Move slim_hidden_def to cairo-xcb-surface.c, not cairo-xcb-xrender.h.
Add clip-push-group to .gitignore.
perf: cairo-perf-diff-files.c should generate cairo-perf-diff-files
XCB/perf: implement boilerplate_xcb_synchronize for fair performance tests.
Jinghua Luo (7):
glitz: fix a crash in _cairo_glitz_surface_get_image.
glitz: fix for clone similar.
glitz: fix test case glyph-cache-pressure.
glitz: don't go fackback path for bitmap glyphs.
glitz: my previous changes in _cairo_glitz_surface_create_similar is
glitz: further fix for clone_similar.
glitz: fix a memory leak in _cairo_glitz_surface_composite_trapezoids.
Kristian Høgsberg (1):
Compute right index when looking up left side bearing.
Michael Emmel (4):
Fixed directfb test code
Fixed test to compile
Fixed test to compile
Merge branch 'master' of ssh+git://git.cairographics.org/git/cairo
Nicholas Miell (2):
Make the SLIM macros robust in the face of macro-renamed symbols
Fix the AMD64 final link by removing SLIM from pixman
Peter Weilbacher (2):
OS/2 backend files
OS/2 build changes
Robert O'Callahan (4):
Fix _cairo_matrix_transform_bounding_box to return tightness info
Fix stroke/fill extents bounding boxes
Add clip getters API + tests
Remove redundant call to _cairo_surface_get_extents
Stuart Parmenter (1):
[win32] correct win32 show_glyphs for non-y-aligned text
Vladimir Vukicevic (24):
Add useful pieces from Vladimir's cairo-bench
[win32] Make cairo as a win32 static library possible
[win32] Misc win32 compilation fixes
[win32] win32-specific Makefiles for building with MSVC
Merge branch 'master' of git+ssh://git.cairographics.org/git/cairo into cairo-master
Improve make-html.pl, add self-contained output format
[win32] Fix boilerplate for win32 surfaces to use new _with_dib function
Merge branch 'master' of git+ssh://git.cairographics.org/git/cairo into cairo-master
Correctly acquire/release mutex in _cairo_scaled_font_map_destroy
[win32] Makefile.win32: fix test and add html targets
[win32] Makefile.win32: use correct (/MD) runtime library flag everywhere
[win32] Set win32 assertion failure handlers for tests to stderr
Check for valid path status value before calling _cairo_set_error
[win32] Support for DDBs, AlphaBlend fix
[nquartz] Initial commit of native quartz surface
[win32,perf] Fix cairo-perf-win32
[perf] Change perf output format, report times in ms, add a few paint tests
Add win32 output files to gitignore
dash and pattern getter functions
[nquartz] Return correct values from operation setup function
[test] Fix composite-integer-translate-over test
[win32] Update pixman MMX code to work with MSVC
[win32] clean up win32_surface_composite
[win32] implement EXTEND_REPEAT in composite when possible
Yevgen Muntyan (1):
Define WINVER if it's not defined. (bug 6456)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/cairo-announce/attachments/20061115/0cfec3fc/attachment-0001.pgp
More information about the cairo-announce
mailing list