spans: Mark the surface as cleared in preparing for recording surface playback

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
recording: Avoid indirection through indices array if not reduced

If we don't discard any elements, then the index array is simply a 1:1
mapping of the element array, and we may as well bypass it.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
path: Fix bbox computation for negative scale factors

The fast path for transforming a path by a simple scale factor, forgot
to fix up the orientation of the box if that scale factor was negative.

Reported-by: Edward Zimmermann <Edward.Zimmermann@cib.de>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
test: Exercise replaying a recording surface through a flip matrix
gl: disable GL_DITHER

GL_DITHER is enabled by default by spec. Leaving GL_DITHER enabled
causes color pixel mismatch on some drivers by comparing uploading then
readPixels and original image.
image: Compare against the true size of the embedded buffer

When querying whether the run is small enough to fit inside the
pre-allocated temporary buffer, we need to avoid comparing against
sizeof(buf) as buf is a variable length array and so sizeof() is
meaningless.

Reported-by: Edward Zimmermann <Edward.Zimmermann@cib.de>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
pdf: add missing 'endobj' to shading dict

https://bugs.launchpad.net/ubuntu/+source/libcairo/+bug/1051939
xlib: Fix invocation of XRenderFindFormat()

The 'count' parameter is an indication to libXrender of the number of
matches to skip before reporting (rather than a limit on the number to
report). As we only want the first match, always pass 0.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
pdf: Fix crash

Bug 61451
Prefer downscaling bitmap glyphs to upscaling

Say, you have bitmap strikes for sizes 50ppem and 100ppem.
To render at 60ppem, it's much better to downscale the 100ppem
bitmap than upscale 50ppem one.  Prefer downscaling.
gl: Export query for EGLContext and EGLDisplay from device

Similar to glx, add query for the EGLContext and EGLDisplay to egl-based
cairo devices.
gl: Fix typo s/bool/cairo_bool_t/

One quickly gets used to having stdbool.h available.
gl: Setup operands when the vertex size changes

Previously _cairo_gl_composite_setup_vbo was overwriting the old context
vertex_size, while _cairo_gl_context_setup_operand was relying on it to
determine if the vertex size changed. Instead of a fragile ordering of
statements, pass whether the vertex size changed as an argument to enforce
the calling order via method parameters.
bump version and add symbols for new egl backend fetchers

Signed-off-by: Matt Sealey <matt@genesi-usa.com>