[cairo-commit] [cairo-www] src/news

Carl Worth cworth at freedesktop.org
Fri Feb 19 17:58:37 PST 2010

 src/news/cairo-1.9.6.mdwn |  191 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 191 insertions(+)

New commits:
commit 0e07d300dca15eff849ddb1a605de4166ac14e56
Author: Carl Worth <cworth at cworth.org>
Date:   Fri Feb 19 17:58:00 2010 -0800

    Add news item for 1.9.6.
    A stable release and unstable snapshot in the same day.
    I deserve a restful weekend I think.

diff --git a/src/news/cairo-1.9.6.mdwn b/src/news/cairo-1.9.6.mdwn
new file mode 100644
index 0000000..dbfd435
--- /dev/null
+++ b/src/news/cairo-1.9.6.mdwn
@@ -0,0 +1,191 @@
+[[!meta title="cairo 1.9.6 snapshot available"]]
+[[!meta date="2010-02-19"]]
+	From: Carl Worth <cworth at cworth.org>
+	Date: Fri, 19 Feb 2010 17:56:14 -0800
+	To: cairo-announce at cairographics.org
+	Subject: cairo snapshot 1.9.6 now available
+	A new cairo snapshot 1.9.6 is now available from:
+	        http://cairographics.org/snapshots/cairo-1.9.6.tar.gz
+	    which can be verified with:
+	        http://cairographics.org/snapshots/cairo-1.9.6.tar.gz.sha1
+	        0e204b2c4f062dc65c1b854d4b1ccf360f3cb255  cairo-1.9.6.tar.gz
+	        http://cairographics.org/snapshots/cairo-1.9.6.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.9.6 tag which points to a commit named:
+	        cb090136b2b0b89bde69d9575f2f592b46e144e8
+	    which can be verified with:
+	        git verify-tag 1.9.6
+	    and can be checked out with a command such as:
+	        git checkout -b build 1.9.6
+	We're happy to share this snapshot of recent cairo development. We
+	apologize that it has been so long since the last snapshot, (snapshot
+	1.9.4 was 4 months ago), but we are optimistic that we can finish up
+	cairo 1.10 in the next month or so. Our goal going forward is to have
+	major cairo releases on a time-based schedule with releases at the end
+	of every March and September (or so).
+	This 1.9.6 snapshot is really exactly that---it's a snapshot of current
+	development. There hasn't been as much testing through the test suite as
+	we would normally do for a cairo release. But that's what we'll be doing
+	From now until cairo 1.10. We also hope that many of you will also test
+	this snapshot with your cairo applications and report back to us.
+	One of the most exciting things in the 1.9.6 snapshot is the cairo-gl
+	backend with dramatic improvements compared to cairo-gl in any previous
+	snapshots, (it's now using shaders to accelerate many operations). See
+	Eric's post here for some performance numbers:
+	        http://anholt.livejournal.com/42146.html
+	and please join me in thanking Eric and T. Zachary Laine (a welcome new
+	contributor!) for this work.
+	As usual, Chris Wilson has put in a remarkable amount of effort as
+	reflected in this snapshot. I give him my heartfelt thanks for keeping
+	cairo so vibrant while I have not been able to give it much personal
+	attention lately.
+	This snapshot also includes the cairo-drm backend worked on by Chris
+	Wilson and Kristian Høgsber. This is another interesting experimental
+	backend which currently outperforms cairo-gl in several benchmarks, (and
+	sets the bar for cairo-gl to reach). This direct-rendering backend only
+	support Intel graphics chipsets in the i915 and i965 families.
+	I've written a quick summary of other improvements in 1.9.6 below. I've
+	certainly missed many interesting things that have been done. If you are
+	aware of interesting work that I neglected, please let me know so that
+	we can get that work mentioned for the 1.10 release notes. (Best would
+	be a patch to the NEWS file adding the information).
+	I hope that everyone will have lots of fun with cairo!
+	-Carl
+	API additions
+	-------------
+	    Add cairo_device_t
+	    The device is a generic method for accessing the underlying interface
+	    with the native graphics subsystem, typically the X connection or
+	    perhaps the GL context. By exposing a cairo_device_t on a surface and
+	    its various methods we enable finer control over interoperability with
+	    external interactions of the device by applications. The use case in
+	    mind is, for example, a multi-threaded gstreamer which needs to serialise
+	    its own direct access to the device along with Cairo's across many
+	    threads.
+	    Secondly, the cairo_device_t is a unifying API for the mismash of
+	    backend specific methods for controlling creation of surfaces with
+	    explicit devices and a convenient hook for debugging and introspection.
+	    The principal components of the API are the memory management of:
+	      cairo_device_reference(),
+	      cairo_device_finish() and
+	      cairo_device_destroy();
+	    along with a pair of routines for serialising interaction:
+	      cairo_device_acquire() and
+	      cairo_device_release()
+	    and a method to flush any outstanding accesses:
+	      cairo_device_flush().
+	    The device for a particular surface may be retrieved using:
+	      cairo_surface_get_device().
+	    The device returned is owned by the surface.
+	API changes (to API new in the cairo 1.9.x series)
+	--------------------------------------------------
+	  cairo_recording_surface_create()
+	  cairo_recording_surface_ink_extents()
+	    These are the replacement names for the functions previously named
+	    cairo_meta_surface_create and cairo_meta_surface_ink_extents.
+	  cairo_surface_set_mime_data
+	    This interface is now changed such that the MIME data will be
+	    detached if the surface is modified at all. This guarantees that
+	    the MIME data will not become out of synch due to surface
+	    modifications, and also means that for the MIME data to be useful,
+	    it must be set after all modifications to the surface are
+	    complete.
+	API removal (of experiment API)
+	-------------------------------
+	  The cairo-glitz backend is removed entirely, (in favor of the new
+	  cairo-gl backend). See below for more on cairo-gl.
+	Generic fixes
+	-------------
+	  Many improvements for drawing of dashed strokes
+	        Fix incorrect handling of negative offset
+	        Faster computation of first dash (avoids near-infinite looping)
+	        Approximate extremely fine dash patterns with appropriate alpha value
+	  Optimize spans-based renderers for repeated rows, (such as in a rounded rectangle)
+	Backend-specific improvements
+	-----------------------------
+	cairo-drm
+	  This is a new, direct-rendering backend that supports Intel graphics
+	  chipsets in the i915 and i965 families. It's still experimental and
+	  will likely remain that way for a while. It's already got extremely
+	  good performance on the hardware it supports, so if nothing else
+	  provides a working proof and performance target for the cairo-gl
+	  work for Intel graphics.
+	cairo-gl
+	  Start using GLSL to accelerate many operations. Many thanks to Eric
+	  Anholt and T. Zachary Laine for this work. For the first time, we
+	  have what looks like what will be a very compelling OpenGL-based
+	  backend for cairo (in terms of both quality and performance).
+	  See this writeup from Eric for more details on recent progress of
+	  cairo-gl (which he presented at FOSDEM 2010):
+	        http://anholt.livejournal.com/42146.html
+	cairo-image
+	  The image backend is made dramatically faster (3-5 times faster for
+	  benchmarks consisting primarily of glyph rendering).
+	cairo-quartz fixes:
+	  Many fixes from Robert O'Callahan and Andrea Canciani including:
+	        Fixed gradient pattern painting
+	        Improved A8 image handling
+	        Fixes for "unbounded" and other compositing operators
+	cairo-pdf fixes:
+	  Improvements to embedding of JPEG and JPEG2000 data.
+	cairo-ps fixes:
+	  Fix printing of rotated user fonts.

More information about the cairo-commit mailing list