version: Post release bump to 1.12.3
Use pixman glyphs
Revert "Use pixman glyphs"

This was pushed accidentally - apologies.

This reverts commit 752c3b69e008b7d219da8cc5c657cf995732d3b8.
snapshot: Hold a reference to target whilst querying

Due to race with cow and accessing target from multiple threads, we need
to be careful that we always acquire a reference for our access to
the snapshot target.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
snapshot: Avoid triggering assertion for grabbing the target during destroy

If the source wins the race to acquire the original surface as it is
being destroyed, it triggers an assertion.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Split finish into multiple stages

In order to handle the snapshot copy-on-write losing a race with another
thread using the snapshot as a source, we may find the target acquires a
fresh reference as we attempt to finalize it.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
gl: fix the translate value in copy_boxes.

Fixes 36 test cases (such as push-group-color)

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48221
Remove some unused functions

All of these are unused since af9fbd176b145f0424 "Introduce a new compositor
architecture". Since no one complained yet, I guess that means that we don't
need these any more. :-)

This was noticed while looking into the build log provided by
http://lists.cairographics.org/archives/cairo/2012-April/022993.html

Signed-off-by: Uli Schlachter <psychon@znc.in>
Remove some dead code

This code could never be executed, because the status variable doesn't get set
since the last time it is checked and errors get returned to the caller.

This was noticed while looking into the build log provided by
http://lists.cairographics.org/archives/cairo/2012-April/022993.html

Reported-by: Ryan Schmidt <cairo-2012b@ryandesign.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
gl/msaa: Prevent stroke overlap

When stroking we do not send our polygon to the tessellator, so
it may have overlapping stroke components. Use the stencil buffer
to prevent stroke components from overlapping.
gl/msaa: Support for texture sources

Add support for texture sources, by unforking _cairo_gl_composite_begin.
_cairo_gl_composite_begin_tristrip is now just a small wrapper. Also
properly emit the source texture coordinates when emitting tristrip
vertices.
gl/msaa: Support for masking

Add support for masking in the OpenGL MSAA compositor. This is
accomplished simply by properly setting up the masking source,
emitting the entire bounded composite region, and unforking
vertex emission.
gl/msaa: Add support for unbounded operators

When filling and stroking with an unbounded operator, first fill
and stroke to a temporary surface and then paint the entire surface
back to the original target.
check-doc-syntax: Make this work again

Commit ed90616b77570 changed the way the awk script gets invoked. Due to a
missing "test", this resulted in the awk script never getting invoked at all.

Signed-off-by: Uli Schlachter <psychon@znc.in>
check-doc-syntax: Find duplicate "Since:" tags

It makes no sense to say more than one time when some symbol was introduced.

Signed-off-by: Uli Schlachter <psychon@znc.in>
c_surface_set_mime_data: Remove duplicate "Since"

This fixes the following message from "make check":

./cairo-surface.c (1192): ERROR: cairo_surface_set_mime_data: Duplicate 'Since'
field

Signed-off-by: Uli Schlachter <psychon@znc.in>
damage: Avoid freeing the NIL error object

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
damage: Prevent accumulating damage to an error object

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
damage: Prevent reducing an error object

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
gl: Convert CLEAR to DEST_OUT when there's a mask for composite_boxes.

As Cairo's CLEAR sematics are for a bounded operation, and GL's uses the
simple semantics for its CLEAR composite, we need to convert the
operation into an equivalent DEST_OUT when we have a mask.