[cairo] cairo snapshot 1.11.4 now available
Chris Wilson
chris at chris-wilson.co.uk
Mon Mar 12 03:18:04 PDT 2012
A new cairo snapshot 1.11.4 is now available from:
http://cairographics.org/snapshots/cairo-1.11.4.tar.gz
which can be verified with:
http://cairographics.org/snapshots/cairo-1.11.4.tar.gz.sha1
ac4c37de8827ec1c4092509b9eec72106173d350 cairo-1.11.4.tar.gz
http://cairographics.org/snapshots/cairo-1.11.4.tar.gz.sha1.asc
(signed by Chris Wilson)
Additionally, a git clone of the source tree:
git clone git://git.cairographics.org/git/cairo
will include a signed 1.11.4 tag which points to a commit named:
a8dbc68056af9f32b6ebc6c1a0191e9ca7ec2e7d
which can be verified with:
git verify-tag 1.11.4
and can be checked out with a command such as:
git checkout -b build 1.11.4
Snapshot 1.11.4 (2012-13-12)
============================
The cairo community is pleased to finally announce the long aniticpated
release candidate for 1.12, 1.11.4, of the cairo graphics library. This
is the first major update to cairo in over a year and brings a large
number of new features; undoubtably a few bugs as well.
While many people have contributed and have helped to test the release,
providing feedback on 1.10 and suggesting improvements, this release
is the result of a few persevering souls who deserve recognition for their
outstanding contributions: Andrea Canciani (all round bug fixing,
performance tuning and master of the gradients), Adrian Johnson (PDF
supremo) and Uli Schlachter (who stepped forward as maintainer for the
XCB backend).
Major additions since 1.11.2:
* cairo_surface_map_to_image API for pixel level access to any surface
* New antialias hints to control the trade-off between speed and
* quality
* A callback pattern, cairo_pattern_create_raster_source, for lazy
decoding of image data.
* cairo_surface_observer_t, a new type of surface to gather performance
statistics
* XCB as a supported backend
* A rewritten compositor pipeline for performance improvements for, but not
limited to, the xlib and image backends.
From ION and PineView through to SandyBridge, every machine I have shows
across the board performance improvement on the cairo-traces:
i5-2520m gnome-system-monitor: 5.97x speedup
pnv gnome-system-monitor: 4.86x speedup
i5-2520m firefox-asteroids: 4.66x speedup
pnv firefox-asteroids: 4.43x speedup
image firefox-canvas: 3.82x speedup
i5-2520m firefox-canvas-alpha: 3.49x speedup
image firefox-asteroids: 2.87x speedup
pnv firefox-talos-svg: 2.83x speedup
ion grads-heat-map: 2.75x speedup
pnv firefox-canvas-alpha: 2.66x speedup
image gnome-system-monitor: 2.66x speedup
image swfdec-giant-steps: 2.46x speedup
image firefox-canvas-alpha: 2.14x speedup
i5-2520m firefox-talos-svg: 2.03x speedup
image grads-heat-map: 2.02x speedup
ion gnome-system-monitor: 2.00x speedup
pnv firefox-particles: 1.99x speedup
i5-2520m grads-heat-map: 1.96x speedup
pnv firefox-canvas: 1.92x speedup
ion firefox-particles: 1.80x speedup
image poppler-reseau: 1.77x speedup
pnv xfce4-terminal-a1: 1.72x speedup
image firefox-talos-svg: 1.65x speedup
pnv grads-heat-map: 1.63x speedup
i5-2520m firefox-canvas: 1.63x speedup
pnv swfdec-youtube: 1.62x speedup
image ocitysmap: 1.59x speedup
i5-2520m firefox-fishbowl: 1.56x speedup
i5-2520m poppler-reseau: 1.50x speedup
i5-2520m evolution: 1.50x speedup
i5-2520m midori-zoomed: 1.43x speedup
pnv firefox-planet-gnome: 1.42x speedup
i5-2520m firefox-talos-gfx: 1.41x speedup
i5-2520m gvim: 1.41x speedup
pnv ocitysmap: 1.37x speedup
image poppler: 1.31x speedup
ion firefox-canvas-alpha: 1.35x speedup
ion firefox-talos-svg: 1.34x speedup
i5-2520m ocitysmap: 1.32x speedup
pnv poppler-reseau: 1.31x speedup
i5-2520m firefox-planet-gnome: 1.31x speedup
pnv firefox-fishbowl: 1.30x speedup
pnv evolution: 1.28x speedup
image gvim: 1.27x speedup
i5-2520m swfdec-youtube: 1.25x speedup
pnv gnome-terminal-vim: 1.27x speedup
pnv gvim: 1.25x speedup
image firefox-planet-gnome: 1.25x speedup
image swfdec-youtube: 1.25x speedup
...
And a plethora of minor improvements everywhere!
-Chris
What is cairo
=============
Cairo is a 2D graphics library with support for multiple output
devices. Currently supported output targets include the X Window
System, quartz, win32, and image buffers, as well as PDF, PostScript,
and SVG file output. Experimental backends include OpenGL, XCB, BeOS,
OS/2, and DirectFB.
Cairo is designed to produce consistent output on all output media
while taking advantage of display hardware acceleration when available
(for example, through the X Render Extension).
The cairo API provides operations similar to the drawing operators of
PostScript and PDF. Operations in cairo include stroking and filling
cubic Bézier splines, transforming and compositing translucent images,
and antialiased text rendering. All drawing operations can be
transformed by any affine transformation (scale, rotation, shear,
etc.).
Cairo has been designed to let you draw anything you want in a modern
2D graphical user interface. At the same time, the cairo API has been
designed to be as fun and easy to learn as possible. If you're not
having fun while programming with cairo, then we have failed
somewhere---let us know and we'll try to fix it next time around.
Cairo is free software and is available to be redistributed and/or
modified under the terms of either the GNU Lesser General Public
License (LGPL) version 2.1 or the Mozilla Public License (MPL) version
1.1.
Where to get more information about cairo
=========================================
The primary source of information about cairo is:
http://cairographics.org/
The latest versions of cairo can always be found at:
http://cairographics.org/download
Documentation on using cairo and frequently-asked questions:
http://cairographics.org/documentation
http://cairographics.org/FAQ
Mailing lists for contacting cairo users and developers:
http://cairographics.org/lists
Roadmap and unscheduled things to do, (please feel free to help out):
http://cairographics.org/roadmap
http://cairographics.org/todo
List of all changes since 1.11.2
================================
Adrian Johnson (90):
Type1-subset: Fallback if font contains more than one /Encoding
cff: Fix heap corruption
PS: Use tight bounding box
png: fix type1 encoding bugs
cff-subset: Fix /guillemotright SID encoding
type1-subset: Remove FT dependency part 1
type1-subset: Remove FT dependency part 2
type1-subset: Remove FT dependency part 3
type1-subset: Remove FT dependency part 4
type1-subset: Remove FT dependency part 5
type1-subset: Remove FT dependency part 6
Add win32 font backend functions for Type 1 subsetting
Remove HAS_FT_FONT from cairo-scaled-font-subsets-private.h
win32: Fix build breakage
ps: Don't return CAIRO_INT_STATUS_NOTHING_TO_DO for empty glyphs
analysis: CAIRO_INT_STATUS_NOTHING_TO_DO should not cause fallback
Add support for subsetting bare CFF fonts
type1-subset: Subset the subroutines
Check glyph_index range in _index_to_glyph_name
ps: remove unnecessary flush
pdf: check if images are grayscale or monochrome and encode as such
image: fix bug in analyze_color
ps: check if images are grayscale or monochrome and encode as such
image: check if A8 image is bilevel when analyzing transparency
pdf: check if smask is bilevel and encode as such
ps: use show_text_glyphs
subsets: use show_text_glyphs supplied utf8 to determine latin character
ps: use deflate compression for ps level 3
pdf: change end of line in pdf output from \r\n to \n
cff-subset: fallback when parsing the charstrings in bare cff fonts fails
cff-subset: don't easily give up parsing a charstring if we already have the width
cff-subset: fix decoding of real numbers
font-subsets: fix wrong string length
ps/pdf: use a new clipper object when emitting a recording surface
pdf: use a new clipper object in recording_subsurface
pdf: use ink extents for smask bbox
pdf: use ink extents for pattern bbox
pdf: use ink extents in content stream XObjects
pdf: each row of 1-bit image data needs to begin on a byte boundary
ps: each row of 1-bit image data needs to begin on a byte boundary
pdf: use _emit_smask() instead of _emit_imagemask to emit stencil mask
ps: support stencil masks
ps/pdf: fix the polarity of stencil masks
pdf: use interpolate in image smask
cff: strip subset tag when reading font name
pdf: latin text must use character codes in the toUnicode CMap, not glyph indices
ps: use reusable stream for mesh pattern data
ps: improve formatting of fallback image comment
pdf: add status check
ft: fix warning
scaled-subsets: ensure different glyphs with same utf8 mapping are not merged together
ps: turn off debug
Refresh some pdf/ps ref images
subsetting: Support unicode fontnames
analysis mask: unwrap recording surface snapshot
test: add mask-alpha ps ref
test: refresh some pdf/ps refs
test: refresh some pdf/ps refs
pdf: ensure ink extents is not larger than bounded extents
test: refresh pdf mask ref images
subsets: latin char map needs to belong to the font, not the subset
test: Add stroke-pattern
test: make text-pattern draw with both opaque and translucent patterns
cff: in CID fonts the CID is the glyph index
cff: fallback if seac style endchar is found
truetype-subset: remove unused variable
type1-subset: remove unused variables
pdf: don't use patterns with padded images
ps: avoid padding images if the padding is not required to fill the extents
pdf: allow embedding of cmyk jpeg images
ps: allow embedding of cmyk jpeg images
pdf: avoid using pdf patterns to paint/fill opaque linear/radial gradients
pdf: avoid using pdf patterns to paint/fill translucent linear/radial gradients
ps: simplify the EPS save and restore
doc: fix typos
test: add fallback
pdf: support RASTER_SOURCE patterns
test: add push/pop group to fallback test
ps: handle different x/y fallback resolution in Fallback Image comment
api: add cairo_surface_supports_mime_type
ps: support RASTER_SOURCE patterns
ps: avoid using ps patterns to paint/fill gradients
ps: add missing 'Q' to end of page
ps: ensure shading domain is [ 0 1 ]
ps: fix extend-pad-border test failure
type1-subset: some fonts have "noaccess put" instead of NP in the Subrs
type1-subset: ensure additional glyphs required by seac operator are parsed
win32: fix compilation on cygwin
test: add test to check that pdf transparency groups are non-isolated
pdf: ensure all transparency groups are isolated
Alexandros Frantzis (32):
gl: Fail if GL implementation doesn't support shaders
gl: Remove unnecessary checks for NULL shader implementation
gl: Remove fixed-function related code paths
gl: Add entry for UniformMatrix4fv in the gl dispatch table
gl: Add function to bind a 4x4 float matrix shader uniform
gl: Replace ftransform() with manual coordinate calculation in shaders
gl: Use a custom shader uniform for the ModelViewProjection matrix
gl: Add gl dispatch entries for functions related to vertex attributes
gl: Replace built-in vertex attributes with custom attributes
egl: Ensure that the dummy pbuffer surface is compatible with the supplied context
boilerplate/egl: Ensure that we are using an RGBA32 egl config
gl: Correctly extract GL version from OpenGL ES version strings
gl: Store the GL flavor (Desktop or ES) in the device struct
gl: Add GLES2 support to dispatch table initialization
gl: Pass more information to the shader emitter functions
gl: Add functions to get the filter and extend of gl operands.
gl: Provide a shader implementation of GL_CLAMP_TO_BORDER for GLES2
gl: Store gradients in 2D textures of height 1 instead of 1D textures
Extract function to query endianness from xlib/xcb and make it common
gl: Require the GL_EXT_texture_format_BGRA8888 extension for GLES2
gl: Use conventional texture upload for GLES2
gl: Add support for creating image surfaces for GLES2
gl: Add GLES2 support for drawing image surfaces on gl surfaces
gl: Remove unnecessary call to glDisableClientState()
gl: Use GL_MAX_TEXTURE_IMAGE_UNITS to query the maximum texture units
gl: Require the GL_OES_texture_npot extension for GLES2
gl: Add GLESv2 backend to build system
gl: Fix build issues for GLES2
boilerplate/egl: Add GLES2 support
gl: Define the float precision in the fragment shader for GLES2
gl: Fall back to dlsym() if *GetProcAddress() fails
gl: Add fallback path for GLES2 implementations not supporting GL_OES_mapbuffer
Andrea Canciani (189):
Fix regressions from 1.10 merge
xcb: Fix compositing of pixel-aligned rectangles
mesh: Rename cairo_pattern_mesh_* functions to cairo_mesh_pattern_*
test: Fix clip-device-offset
test: Fix surface-pattern-scale-down-extend
test: Fix REFERENCE_IMAGES
xlib: Fix compilation when gradient functions are not available
image: Fix surface acquisition if PIXMAN_HAS_ATOMIC_OPS
test: Fix missing REFERENCE_IMAGES
test: Silence gcc
test: Silence gcc warning
test: Silence gcc warnings
test: Cleanup macros
test: Use ARRAY_LENGTH() macro
test: Add show-glyphs-advance
quartz: Fix y glyph advance
xcb,xlib: Fix 1-stop gradients
xcb,xlib: Fallback upon generic radial gradients
test: Add stroke-open-box
path: Fix _cairo_path_fixed_is_rectangle()
script: Fix stroking of 3 sided boxes
Make cairo_set_font_size() a wrapper of cairo_set_font_matrix()
quartz-font: Remove unused variables
Improve cairo_rectangle_list_t error handling
trace: Always emit a function name for write-to-png-stream
image: Silence missing enum value warning
image: Silence gcc warning
Do not warn when ignoring the return value of _cairo_rectangle_intersect()
Remove unused function declarations
Do not use fmax()
Revert "Add an implementation of fmax for use with MSVC"
Improve headers-standalone target
Fix warning by check-doc-syntax
Fix visibility issues found by make check
Remove if's from Makefile.sources
boilerplate: Add generation of constructors on win32
test: Update generation of constructors on win32
test: Fix compilation on win32
test: Use POSIX-compatible unlink
path-stroke: Avoid mixing cap and join values
toy-font-face: Do not assume hash != 0
xlib: Fix build of xlib-xcb
build: Don't build cairo-sphinx when the tee surface is off
xlib-xcb: Implement cairo_xlib_device_debug_{g,s}et_precision
script: Return status when flushing device
toy-font: Do not open-code cairo_font_face_reference ()
boilerplate: Silence MSVC warnings
Avoid deprecated functions on win32
win32-font: Do not return font in error status
win32-font: Implement destroy function
win32-font: Improve static data reset function
build: Improve generation of cairo-features.h on win32
build: Improve dependencies in win32 Makefiles
build: Use common rules for making pdiff
build: Clean up environment variables and flags for the win32 build
build: Silence autoconf warnings
Hide private symbols on MacOSX
error: Do not define _cairo_error twice
test: Cleanup build on Win32
script-interpreter: Build on win32
perf: Ensure M_SQRT2 is defined
perf: Fix build on win32
test: Improve check-ref-missing
test: Fix typo
clip: Fix boxes extents computation in intersect_with_boxes
test: Make parsing of log files more solid
test: Ignore \r when parsing test log files
test: Add extended-blend-solid tests
win32: Fallback upon PDF blend operators
test: Merge text-antialias-*
test: Fix check-ref-missing
Do not open-code freed-pool
Remove conditional compilation of freed-pools
Clean up context_pool upon static data reset
Make error contexts static
pattern: Implement _rgb functions as wrappers over _rgba functions
color: Remove unused functions
gstate: Remove useless code
device: Add CAIRO_STATUS_DEVICE_FINISHED
device: Define the CAIRO_DEVICE_TYPE_INVALID device type
device: Fix documentation of device types
build: Fix automake error
build: Fix compilation
xcb,xlib: Cleanup GC cache handling
Use new pixman formats
quartz: Silence const cast warnings
Fix surface backend structures
win32: Fix compilation
win32: Constify
surface: Check image parameter in cairo_surface_unmap_image()
win32: Fix typos in documentation
test: Update image references
test: Improve horizontal-clip
polygon: Simplify code for edge clipping
polygon: Fix generic case of edge clipping
script: Initialize recording extents
directfb: Unbreak compilation
Silence gcc warnings
Silence Clang static analyzer reports
cff-subset: Do not use garbage values
quartz: Silence some clang warnings
device: Flush on a finished device is a no-op
pattern: Complete the list of possible pattern errors
build: Respect CFLAGS and LIBS env settings
default-context: Do not allow restoring pushed gstates
clip: Fix copy of clip rectangles list
Fix make check
Update FSF address
Tighten error validation
surface: Set errors through _cairo_surface_set_status()
pattern: Do not provide type field in cairo_pattern_union_t
font-face: Cleanup backend-specific destruction code
Remove useless checks for NULL before freeing
hash: Improve double hashing
hash: Compare hash values before calling keys_equal
scaled-font: Remove _cairo_ft_scaled_font_get_unscaled_font()
scaled-font: Make unscaled font utility functions static
perf: Add hash table benchmark
hash: Improve handling of dead entries
hash: Code cleanup
clipper: Fix crashes
perf: Silence gcc warning
quartz: Fix compilation
win32: Fix compilation
time: Add cairo_time_t type
Introduce the cairo-missing library
perf: Reuse cairo-time
perf: Drop cairo_perf_ticks_t in favor of cairo_time_t
perf: Get rid of cairo_perf_ticks_per_second()
perf: Fix readme
script: Fix make check
surface: Fix make check
win32: Fix linking
perf: Fix win32 build
observer: Fix build on suncc
cairo-missing: Fix and cleanup ssize_t type definition
malloc: Fix build on suncc
wideint: Fix build on suncc
cairo-missing: Fix build
quartz: Fix build
Make cairo-missing a static library
quartz-font: Fix scaled font backend hooks
quartz: Fix the 32-bits build on MacOSX 10.7
rectangle: Fix warning
stroke: Fix typos
quartz-image: Fix build
vg: Fix build
cogl: Fix 'make check'
default-context: Fix 'make check'
xml: Fix backend structure
Silence some 'unused var' warnings
cairo-script: Don't ask for inlining of a cold-path function
boilerplate: Provide close callback after opening any2ppm output
Sort option flags
Improve the documentation of the flags
test: Re-enable pass-through
test: Remove dead code
test: Remove unused thread field
boilerplate: Remove unused thread id parameter
test: Reuse cairo_test_logv()
Use xstrdup instead of xmalloc when possible
Remove useless checks for NULL before freeing
boilerplate: Fix svg extension
test: Use cairo_test_list_t for the main test list
test: Do not open files in non-existing dirs
xcb: Fix typo
subsurface: Fix 'make check'
test: Use fork() on MacOS X
test: Add negative-stride-image
test: Add stride-12-image
quartz: Fix building with QUARTZ_DEBUG
quartz: Make glyph antialiasing consistent with quartz-font
quartz: Do not export private functions
raster-source: Do not return value in void function
pattern: Infinite color-only sources are always opaque
rectangle: Implement _cairo_rectangle_contains_rectangle()
observer: Return status when printing the observed data
observer: Silence gcc warning
win32: Fix Makefile.win32 build
device: Minor documentation fixes
build: Add 'clean' target to Makefile.win32 build system
test: Compile any2ppm on Windows
test: Fix any2ppm on MSVC
test: Create output directory even on Win32
build: Make 'all' the default target in the base Makefile.win32 build
path-fixed: Silence gcc warnings
stroke-style: Silence gcc warning
perf: Don't use a boolean value as integer
boilerplate: Use any2ppm from ANY2PPM env variable
Behdad Esfahbod (4):
Don't err on non-invertible font matrix
Bug 34011 - headers-standalone target is incorrect for some non-gcc compilers
Don't cache _CAIRO_ENABLE results
[ft] Minor
Benjamin Franzke (1):
egl: Fix eglMakeCurrent for egl surfaces
Benjamin Otte (22):
AUTHORS: Use correct email for me
tests: Add line-width-tolerance
tests: Fix gcc complaint
test: Add line-width-overlap
xcb: Don't operate on a status variable that is never set
Assert that an error is valid when set
surface: Don't be nice to people setting internal error codes
device: Don't be nice to people setting internal error codes
region: Don't be nice to people setting internal error code
surface: Allow NOTHING_TO_DO as a valid error for now
test: Add missing format to any2ppm to silence gcc
surface: Actually return a value from _cairo_surface_set_error()
arc: Handle radius == 0 the same no matter the arc direction
Revert accidental checkin in last commit
Declare variables first so gcc shuts up
test: Add a test for 0-radius negative arcs
test: Fix gcc complaints about old style definitions
test: Fix copy/paste error
arc: Remove erroneous return statement
test: Fix gcc signedness warning
build: Use $GREP -e instead of plain grep -e
image: Don't crash on weird pixman formats
Carlos Garcia Campos (1):
xlib: Check pixman format before trying to create an image surface for it
Chris Wilson (533):
version: Post-snapshot bump
xcb: Only use clip rectangles for more than 1 pixel-aligned box
image: Limit span rendering to bounded extents
test: Attempt to capture out-of-bounds spans compositing bug
surface: Don't pass INT_UNSUPPORTED to _cairo_surface_set_error
configure: Test for funlockfile
xcb: Compile fix when using xcb-drm
trace: Fix hint_style/hint_metrics typo
image: Fix pixman format to RGB30 conversion
Silence the compiler for another couple of RGB30 switches
cairo-trace: Fix an obscure bug recording the fishtank
xlib,xcb: Force strict adherence to the Render specification when testing
boilerplate/xcb: Fix silly cut'n'paste errors in previous commit
test: Add unaligned-box
perf/micro: Add wave
perf
gl: Mark the use-once vertex buffers as DYNAMIC
boilerplate: Introduce create_similar hook
cairo-trace: Fix use of buf outside of scope
cairo-perf-diff-files: Don't print size/content for trace results
test: Add a Makefile.refs generator
xlib: Create an exact match for the image surface if possible using Xrender
png: Fix support of depth-30 images
test: Test a1 clipping semantics
ft-font: If the pattern is already resolved, use it immediately
scaled-font: Key the cache on the orignal font_face
Excise DRM-Xr
Excise xcb-drm
scaled-font: Fix assertions for original font-face vs font-face
image: Only discard the outer boxes
tests: Add clip-complex-shape
tests: Add paint-clip-fill
Implement cairo_backend_t
pattern: Add observer hooks
xcb: Remove more bits of drm integration
test: Always compile cairo-test-suite
test: Add random-clips to stress test clipping
gl: Compile fix, missing include cairo-pattern-private.h
tests,perf: Add a hatchings clip-test
test,perf: Another hatching!
ps: Add HAS_FT_FONT guards for type1
clip: Rudimentary support for clip-polygon extraction
win32: Fixup clip-mask fallback after API changes
clip-boxes: Intersection with 0 boxes means clip-all
xcb: Take advantage of clip-boxes
xcb: squash initial ChangePicture request for precision
xcb: Reduce one pass for masking, now just 2 passes required!
Fix proxying of ->context_create()
gstate: Handle NULL clip for in_clip()
xcb: Always send a clip region along with clipped glyphs
test: Expand partial-clip-text
test: Extend recording-surface-pattern to include a SOURCE operator test
test: Add a paint-with-alpha variant to test clip-boxes fast path
image: Fix partial clipping of text
image: replay the recording surface directly onto the target
image: Apply mask-opacity to clip boxes
tests: Missing ref images for new recording-surface test
tests: Another missing ref, this time clip-disjoint-hatching
region: Directly handle single rectangle creation in create_rectangles()
trace: Create a new opcode for recording surface
surface-wrapper: Fix use of uninitialised variable
clip: Embed a single box to avoid a common allocation
freed-pool: Enlarge the freed cache
scaled-font: Single glyph extent computations are worryingly frequent
composite: Perform a quick is-clipped for glyphs
recording: Only look for a fill-stroke operation if the target supports one
test: Exercise replaying basic painting paths
test: Add clip-intersect
image: Fix clip-intersect
xcb: set the right members of cairo_color_t for generating the opacity mask
recording: Move the glyph allocation into the wrapper after checking clip status
wrapper: Factor out the common clip handling
wrapper: Use the stack for small glyph allocations
wrapper: show-text-glyphs can now operate on constant array of glyphs
wrapper: Correct translation of clip for wrapper extents
clip: Skip processing of rectangle-intersection if it wholly subsumes the clip
clip: Short-cut the common condition of intersecting with a single box
recording: Combine the clip to the recording + target surface extents
xcb: Make composite_opacity_boxes slightly less silly
record: Store the untransformed operation extents along with the command
record: Check the operation against the target device extents.
wrapper: target to recording needs the inverse transform
rectangle: speed up the is-intersecting test.
API: map-to-image and create-similar-image
composite: Pass unbounded extents to initialisation
wrapper: translate the clip by the device transform
polygon: Don't skip clipped horizontal edges
polygon: Fix clipping of edges outside of their range
test: Add horizontal clip test
record: Use a bbtree to reduce is-visible checking overheads
record: And remember to offset the index of unbounded playback
record: We can only skip the clear so long as we know the destination is clear
record: Recording surfaces need an explicit clear
record: Assume recording surface targets are clear
clip: Fix cairo_clip_equal()
clipper: Detect a incremental change in the general clip-path
record: Only reduce fill+stroke if the clip doesn't change between the commands
fallback: Prevent recursion when combining with the clip
xcb: Short-circuit multiplying the alpha mask by 1.0
clip: Fix clip-equal to handle one or the other being NULL/all-clipped
clipper: Also need to guard against the incoming clip being NULL
pdf: Remove redundant clip regions
pdf: Don't remove the current clip if redundant
ps: Apply the clip reduction techniques from pdf
gl: Rectangular fast path
gl: Rectilinear fast path
xcb: Convert the box back to integer coordinates for uploading the image
trace: Emit the content type for image surfaces
image: extend support of direct replay for paginated surfaces
image: Free clip_surface after use
paginated: Remove an impossible test
test: Exercise extend modes with recording patterns
spans: fast-path common case of a single box.
tor: Use longjmp to throw an error whilst generating spans
image: Reduce compositing bounded boxes with a clip-mask to a polygon
clip: Mark __cairo_clip_all as private and do not export
tor: Sort the initial edge correctly
image: the boxes are already pixel-aligned so skip the extra rounding step
test: Extend PDF blend tests to include an opacity mask
tor: Suppress repeated spans
perf: Add a few more variations to dragon to exercise unaligned lines/spans
bo-rectangular: perform an incremental sort
perf: Save/restore gstate across runs
test: Add an test case to exercise overlapping caps between dash segments
test: Add a second ring to overlapping-dash-caps
bo-rectangular: handle in==out specifically for the single box case
perf: Add stroke/fill variants to world-map
test: Add world-map from the perf-suite
test: Add a couple of tests to exercise stroking of short tail segments
clipper: Don't emit an empty clip-path for no clip boxes
test: Add join-star, another stroker exercise
test: Add an loopy I-bar stroker test
test: Add joins-retrace
util: Add show-polygons
test: Add a1-sample
test: Add unclosed-strokes
perf: Add many-strokes
perf: add the usual special cases to many-strokes
tor: First perform a bucket sort before merge the sub-edges from the polygon
tor: Inline reverse insertion sort for handling intersections
build: Add a missing cairo-backend-private.h
perf: Add many-fills
fill: A horizontal/vertical line is also a degenerate fill box
bo-rectangular: Eliminate allocation for pqueue
bo-rectangular: Use a mergesort to speedup insertion
bo-rectangular: Correctly mergesort a doubly-linked list
tor: trivial changes
tor: Fix mergesort to handle doubly-linked list
perf: add many-curves
perf: add curve
tor: update is-vertical along with min-height
fixed: Allow the implicit close of the last fill path to complete a fill-box
trace: Pop the surface after write-to-png
script: Include an operator to replay a recording surface to a file
script: Compile fix
recording: do not reduce required clips
test: Add record-extend
util/show-polygon: Show end-points
util/show-traps: Cache the rendering of the traps+edges
script: Remove reference to image-surface-private
default-context: Tidy push-group
tor: Micro-optimise
bo: Perform an initial bucket sort on the start events
xlib: Set the clip_region for glyphs
test/line-width: Add a non-antialiased variant
perf/micro: Test wide vs hairline strokes
perf/micro: diagonal lines
bo-rect: Micro-optimisation
image: move surface definition to new header for subclassing
skia: Update to use cairo_backend_t interface
Fix pollution from skia commit
surface-wrapper: Initialise clip to NULL
bo-rect: One step too far...
boilerplate: improve fidelity of surface extraction
recording-surface: Don't store the transient error when returning the path
surface: propagate internal statuses
pdf: Propagate NOTHING_TO_DO
surface: Don't modify operator
recording: replay_all is meant to mean REPLAY && ALL!
pdf: Compute fill-stroke extents first before trying to use it to set the clip
pdf: composite-rectangles now require freeing after use
Only reduce the clip if it is not in active use for the operation
test/line-width: Refactor and tidy
test: Add a couple of variants to line-width-overlap
stroke: Rely on the tessellator to remove self-intersections
Add missing 'cairo-image-surface-private.h'
test/xlib-expose-event: Be kinder to recording surfaces
script: Emit sequences of boxes to as 'rectangle' for clarity
snapshot: Defer acquisition
script: Support unbounded native recording surfaces
recording: remove the duplicate 'content' field
recording: break self-copy loop
subsurface: call the high-level cairo_surface_flush
subsurface+recording: handle recursion
image: peek through a snapshot to the recording surface behind
paginated: unwrap subsurfaces during context creation
analysis: prevent recursion whilst analysing recording patterns
ps: unwrap recording surface snapshots
snapshot: Assert that we do not generate a snapshot clone
paginated: Use the backend->snapshot
wrapper: Use the backend->snapshot function
pdf: If the recording surface is unbounded, limit the pattern to the ink extents
script: leave the tail of the RGB24 data unmolested
script: take advantage of the polymorphism of the interpreter
script: Missed break for creating unbounded recording surfaces.
xlib: Mark surfaces as finished when the Display is finished/destroyed/closed.
xlib: Move the Display pointer nullify into destroy from finish
record: Offset the clip by the replay transformation as well
surface: Rearrange nothing_to_do? to catch OVER + clear source
script: Hook image caching into the snapshot mechanism
gstate: Copy clusters for an untransformed unbounded surface
Introduce cairo_surface_observer_t for performance analysis
script: enable by default
tee: compile fix for migration of _cairo_is_recording_surface()
xml: Include 'cairo-image-surface-private.h'
Introduce cairo_mime_surface_t
check: make check-headers happy
recording: Defend against bad user-input
stroke: move normal stroker to new file
stroke: Convert the outlines into contour and then into a polygon
observer: report number of solid patterns first
observer: print operator frequencies
observer: print stroke caps/joins frequencies
snapshot: restore the order of detach vs callback
observer: print path antialias modes
obverser: only print out the active patterns
observer: only print out the non-zero path types
observer: only print out the non-zero clip types
observer: further classify general clips
observer: put a comma between array items when printing
obsever: include the operation timings
perf: Cleanup target after each run
observer: record all operations and their timings
xlib: Fix typo in snapshotting.
recording: optionally disable optimise away clears
observer: copy glyphs around call into backend
observer: bypass surface mid-layer and call into recording surface directly
test: Add checkerboard
test: Add big-little-box
test: Add record-mesh
test: Extend record-extend to exercise similar surface sources
test: Extend rotate-image-surface-paint
test: Add shape-general-concave
observer: correct classification of aligned paths
observe: Provide the sum of the elapsed time of the individual operations
test: Add clip-mixed-antialias
test: Add big-little-triangle
test: Add big-empty-box
test: Add big-empty-triangle
perf: Print a summary of each operation for a trace (using '-s')
api: Extend cairo_antialias_t to include performace/quality hints
observer: Add missing return codes
perf/Makefile.am: Add missing '\' line continuation
Introduce a new compositor architecture
test-surfaces: compilation fixes
perf/micro: Add measurement of setting the pixel directly using pixman
test: Update ref images
mono-scan-converter: Decrement height as we skip straight edges
perf/stats: Avoid overflow when summing time-squared
traps: Send unaligned boxes as trapezoids
traps: Skip compositing an empty bounded regions
image: Adapt to updated pixman lerp operators
test: Add the PS tiger
perf/micro: Add the PS tiger as a measure for the antialias hints
mono: Amalgamate adjacent spans
skia: fix compilation
image: fix compilation of spans with LERP
test: Fix ref images for a1-clip-*
test: Add ref image for random-clip
perf: Add an a1-pixel variant
test: Use the trapezoid reference image for random-clip
test: Complete set of baseline reference images
ps: Set transparency for stencil_masks
test: Move all the reference images to their own directory
test: Write the individual test logs to output/
ps: Fix return value for mask_supported and ps2
ps: Check earlier for a supported mask
test: Mark some more raster-only tests
composite: Reduce an unaligned clip
script: Tag the similar surface rather than snapshot
test: Fix reference image for unbounded operator
build: Add missing cairo-surface-backend-private.h to sources
build: Another missing private.h
check: Make the newly added privates pass make check
image: Invert recording matrix before replay
test: refresh clip-operator ref.png
test: Record the failure of recent freetype libraries for type1 vertical layout
test: Update refernece dir for create-from-png-stream
test: Update couple of refs for the improved mono rasteriser
test: Use the test-traps as the reference images for xlib/xcb
test: Replace xlib reference images with the traps references
fdr,tee: Reorder master/slave invocation to capture death-upon-signals
test: Hack cairo-test-trace to write at trace for all contexts
test: Add bug-bo-ricotz
bentley-ottman: End subsumed colinear traps
test: Update reference images for test-base
base: Make sure we have fuzzy clip boxes!
path: Skip calls to zero-length memcpy
test: Add a1-fill
test: Refresh reference images for spans/traps
image: Use A8 for creating a mask from a recording surface
image: Use the recording surface content for the recording source
wrapper: intersect with target extents
image: intersect the source extents with the replay extents for EXTEND_NONE
test: Record the current status of radial-outer-focus as xfail
composite-rectangle: Add a helper to refine source extents
pdf: Use the helper functions to update the composite rectangles
os2: Blindly update os2 to the new fallback compositor
test: Make cairo_test_suite depend upon the any2ppm exectuable on all platforms
traps: use the customised _cairo_clip_get_surface
xcb: track fallback damage
wrapper: transform the clip into device space
image: clip the replay to the sample extents in device space
image: don't offset by device transform for replay onto source surface
test/trace: Hack to dump out per-context images and traces
test/create-from-png: Update to point to new reference/ images
test: refresh text-pattern reference
test: Exercise scaling from an atlas through a subsurface
test: Redefine success for miter-precision
spans: Fix empty polygon unbounded fixup
test: Refresh tighten-bounds reference image
test: Refresh rotated-clip reference
test: Mark the record-select-font-face as XFAIL
boilerplate: Skip testing of null surfaces
win32: Compile, but broken
script: compile without
polygon-intersect: Remove surplus edge direction
test/random-clips: Paint clip to highlight the issues
test: Refresh reference images
trace: Emit an stack operation to create a pattern from an undefined surface
test: Add line-width-large-overlap
stroke: Use the tessellator to resolve overlapping strokes
image: Enable use of LERP_SRC for masked source composition
fill: Fix unantialiased rectilinear-fill-to-boxes
test: Add clip-rectilinear
gl: Declare coverage input for fragment shaders.
gl: Basic fixes to get cairo-gl running again
gl: Need to increment reference count when copying operands
botor: Remove a couple of inlines to cleanup -Winline
perf
debug-traps
gl: Include use-coverage in shader hash
gl: Spans start after the mask, not coincident!
gl: Remove unused alpha argument from operand_emit
xcb: Re-enable glyph rendering
observer: Fix typo and handle the condition of no script device
mono: Silence valgrind by placing a sentinel value in the sorted buckets
spans: Propagate internal status when retrieving the clip surface
test: Add clip-polygons
surface-clipper: Fix path leak due to typo
clip: Free the freed clip pool on reset
clip: Replace the original clip when transforming
recording-surface: Free the contents of the command array when clearing
recording-surface: Optimize away anything below an opaque fill
spans: Refresh polygon limits after trimming the composite extents
gstate: Prevent leak of old clip when creating a group with translation
recording-surface: Initialize optimize-clears before use in snapshotting
ft: Add missing break to enable BGR subpixel rendering
gl/msaa: Markup the new symbols as private for PLT hiding
xlib: Reduce the composite traps operator for when the dest is clear
xlib-xp
Merge branch 'master' of git://cairographics.org/git/cairo
Merge branch 'master' of git://cairographics.org/git/cairo
gl: Initialize spans on the context
Revert "xcb: Fix xcb-huge-image-shm"
xcb: Handle SHM exhaustion gracefully
perf: Compile fix, add the index to cairo_perf_report_load()
polygon-intersection: Finish any edges upon intersection
image: Only unwrap a subsurface if the sample is fully contained
subsurface: Simplify acquire_source_image
image: Remove dubious "optimisations" for acquired source images
subsurface: And remove the dead code for releasing complex source
xlib: ADD only reduces to SOURCE for alpha-only targets
xlib: Handle subsurfaces correctly
subsurface: Support caching for cloned subsurfaces
surface: Bump reference count around finish
xlib: Cache the subsurface Picture
xlib: Eliminate redundant copies of subsurfaces
gl: Update glyphs to use cairo_gl_source_t
gl: Correctly offset sub-image uploads
gl: Fallback for complex subsurfaces
gl: Avoid cleaning up an uninitialised composite upon UNSUPPORTED
gl: Embed a operand into the surface for pass-through
gl: Prevent the traps compositor from exploding
Convert cairo_mime_surface_t to cairo_raster_source_pattern_t
script: Prefer polymorphorism for mesh path construction
trace: Remove the warning about the unstable format
gl: Temporarily clone a subsurface as required
gl: And enable subsurface caching of the clones
subsurface: Replace any existing snapshot
gl: Even repeating subsurfaces need to be cloned
xcb: Silence a compiler warning for mixing status and internal status enums
doc: Add similar-image, map-to-image, unmap-image
doc: Add sections for cairo-script
script: Add documentation
doc: Add new antialias symbols
doc: add CAIRO_DEVICE_TYPE_COGL
doc: Drop the gtk-doc markup from _cairo_radial_pattern_focus_is_inside
gl: Make the backend struct static
gl: Check against user-provided invalid sizes
gl: Propagate surface texture to embedded operand
gl: Use the embedded operand to allow passing sources around
gl: Embed the operand rather than a pattern into the glyph cache
gl: Decouple glyphs on shutdown from the scaled font caches
gl: Substitute the white source for the default pattern
gl: Propagate clip region
gl: Set the device offset on map-to-image
fallback: fix the offset for painting
gl: Unbreak the glyph cache
gl: Re-enable the CLEAR optimisation
polygon: Assert that we add edges that are wholly contained by the clip
polygon: Tweak the y-coordinates of the edge so that it is inside the clip
test: reference ref images after tweaking polygon clipping
test: Exercise copy/filling unsorted rectangles
gl: Defer stencil allocation until use
gl: Prevent leak of the white source used with glyph masks
doc: Add documentation for cairo_raster_source_pattern
gl: Decouple the glyph upon eviction
gl: Track surface references through operands
gl: Set the destination for swap buffers, required by EGL at least
gl: Disable the msaa compositor by default (for release testing)
perf/chart: Tweak labels on right not to fall off the edge
perf/chart: Show values next to the column if too small to fit inside
perf/chart: Make the columns transculent so that the label behind is visible
test: Add arc-direction
xlib: Do not upload inplace if the image does not match the surface format
xcb: Add dimension guards to create-similar-image
subsurface: Add guards for creating similar surface
xlib: Fix typo in 5045155de6, lack of closing ';'
xlib: Improve choice of bits-per-pixel for depth
xlib: Set IncludeInferiors when using CopyArea
xlib: Set IncludeInferiors when acquiring the source image
xlib: Only reduce a readback of an uninitialised source for pixmaps
gl: Just flush the context upon operand destroy
Replace the ad-hoc surface unwrappers with a function pointer
test: Referesh traps (xlib) reference images for font updates
directfb: Discard long broken code and return to basics
polygon: Extend intersection edges to cover entire range
tor: Restore the 256x15 sampling of the original rasteriser
clip: Check whether an extents only clip contains the box
clip: Apply the partial boxes for clip_combine_with_surface
spans: Pass unbounded operations to the spans compositors
traps: composite_boxes() is not a mask constructor
polygon-intersection: The edge direction is immaterial
gl: Transfer ownership of trapezoid mask to operand
analysis: replace open-coded _cairo_box_add_box()
quartz: Add missing source hook
Add preliminary damage tracking
win32: Move to separate directoy
win32: Rebase on the new compositor infrastructure
win32: Fix lifetime tracking of create_similar_image()
win32: Cast the surface to an image-surface to find its parent (compile fix)
test: Refresh reference images for antialiasing fix
image: Add the get-font-options callback again.
test/README: Update sha1sums for fonts used
test: Update base reference images for new reference font
test: Update traps for changes in reference font
boilerplate/xlib: The xlib-fallback should be visually identical to image
test/xlib: Remove stale reference images
xlib: Replace obsolete disable-xrender with shiny new device debug interface
test: Add a set of reference images for the mask-based compositor
boilerplate/xlib: Exercise the mask based compositor for xrender version 0.0
xlib: Hook up copy_boxes for the mask compositor
mask-compositor: Acquire the target surface when creating the composite mask
traps-compositor: Reduce a complex clip generation to an ADD operator
xlib: Trim the intermediate upload image to match the upload extents
xlib: Correct the device-offset applied to the map-to-image result
xlib: Make the core compositor actually paint
xlib: Trim the ximage to match the trimming of the intermediate
traps-compositor: add a missing release()
script: Update mesh pattern for earlier change of csi operators
image: Tidy reduction to EXTEND_NONE for replay surfaces
surface-wrapper: Transform the clip by the device-transform correctly
xlib-xcb: Wrap cairo_xlib_device_debug_cap_xrender_version
xlib: Tidy conversion of xrender format to cairo_content_t
xlib: Handle window-to-window copies by avoiding the use of a clip region
{mask,traps}-composite: Restore unsetting of the is-clear flags for the mask
image: Handle recursive drawing of recording surface
debug: Add some TRACE statements for recording surfaces and snapshots
recording: Optimize a copy of one recording surface onto another
subsurface: Fix typo in snapshot creation
test: Add a couple of reference images for the recording surface
recording: Remove superfluous reset
test: a1-line-width is a test of rasterisation, so skip for the vector backends
pdf,ps: The device offset only needs to taken into account for raster patterns
test: Verify scaled replay of a recording surface
surface-wrapper: Apply replay transforms to scaled font
test/record: Fix typo in record*-text-transform
test: Set record2x-fill-alpha as an xfail
scaled-font: Key the cache on the original font face
scaled-font: Refactor the hash computation
test: Add record90 to exercise replaying a rotated recording surface
scaled-font: Assign a temporary hash value for the placeholder
test: Regenerate reference images for vanilla record tests
surface-wrapper: Apply the scaled-font ctm and non-default font-options
spans+image: Fix clipping with polygons and spans
gl: Various fixes for glyphs
ft: Remove unused HINT_METRICS from ft_font.extra-flags
ft: Export FreeType synthesis options
spans,traps-compositor: Check for all-clipped after intersecting clip with boxes
test/record1414: Pixel align the clip for replay
base: Remove the double application of the clip boxes
image: Correct origin of unbound recording surface source
spans: Pass antialiasing hint down to the backends
image: Add a fast path for solid-filled polygons
spans: Retrim extents to clipped polygon
image: Perform the general composite operation inplace for mono rasterisation
image: Add a fast-path for mono-rasterised blits
spans: Reduce composite_aligned_boxes with over to source for opaque patterns
spans,image,gl: Add fast-path for simple copies
traps: Use the mono-scan-converter to reduce the number of traps
traps: First attempt to convert curvy unantialiased polygon to scanlines
spans: Handle fallbacks from upload-boxes by reverting to the normal composite
image: Perform the simple solid-fill spans inplace
image: Add a simple inplace blitter for spans
image: Try performing span composition a row at a time
surface-wrapper: Only apply the wrapped transform to the scaled-font
image: Add unbounded support to the mono rasteriser fast-paths
clip: Use the boxes-intersection routine for computing the clip polygon
traps: Avoid double application of unaligned clip boxes
traps: The CompositeTrapezoids requires the unbounded fixup for clipping
xlib: Apply the glyph offset
surface: Relax assertion about not rendering to a snapshot
test: Refresh the fallback-resolution reference images
hash: Keep a simple lut in front of the main hash
bentley-ottmann: Skip intersection check if the bounds do not overlap
bentley-ottmann: Sort by edge bounding boxes before computing x
mono-scan-converter: Use edge->is_vertical flag
stroke: Do not initialise the pen if will not use it
skia: compile fix
test: Restore 'release-verify-sane-tests' makefile target
version: Bump for snapshot 1.11.4
version: Post-release version bump to 1.11.5
Chuanbo Weng (1):
gl: fix bug in _cairo_gl_surface_embedded_operand_init()
Dagobert Michelsen (1):
Use detected EGREP instead of generic grep
Dave Yeo (3):
os2-surface needs to include cairo-image-surface-private.h
Fix the number of parameters for cairo_os2_surface_set_size()
On OS/2, WIFSIGNALED and WTERMSIG are prototyped in sys/wait.h
Ehsan Akhgari (1):
Avoid defining inline when compling C++ on MSVC.
Eric Anholt (4):
gl: Don't reset the FBO draw/readbuffers every time we bind the FBO.
gl: Add a first bit of general documentation on cairo-gl usage.
gl: Take advantage of GLX_MESA_multithread_makecurrent to avoid unbinding.
gl: Bind samplers just once at program compile time.
Haithem Rahmani (1):
boilerplate: Use correct flag type in DFBWindowDescription
Henry (Yu) Song (1):
gl: initialize temporary surface with size same as subsurface
Jeff Muizelaar (5):
Add UINT32_MAX define.
Add an implementation of fmax for use with MSVC
Remove quartz-image extents.
win32: Explain the purpose of the surface extents
Avoid implicit conversion to double when rounding
Jesse Barnes (1):
Expose 30bpp/10bpc support: CAIRO_FORMAT_RGB30
Jesse van den Kieboom (1):
quartz: Rename declaration of _cairo_quartz_create_cgimage
Keith Packard (4):
cairo-xcb: gtk-doc doesn't like _ in parameter names
Create XCB documentation.
Add cairo_xcb_surface_set_drawable
Clip rectangles are not necessarily YSorted
Krzysztof Kosinski (1):
test: Add radial-outer-focus
Krzysztof KosiÅski (1):
test: Add test case from bug-40410
M Joonas Pihlaja (1):
image: Avoid reusing pixman images for threadsafety.
Martin Robinson (14):
gl/msaa: Introduce an MSAA compositor for OpenGL
gl/msaa: Implement basic solid color fill
gl/msaa: Add clipping support
gl/msaa: Support for solid color strokes.
gl/msaa: Fix glScissor bounds
gl/msaa: Fix scissor bounds
gl: Fix offset for non-texture surface patterns
gl: Properly prepare the source when compositing glyphs with a mask.
gl/msaa: If stenciling the clip fails, reset the color mask.
gl/msaa: Ignore the antialiasing property of the clip.
gl/msaa: Scissor simple rectangular clips
gl: Fix the offset of non-texture source surfaces
gl: Fix gl-source-surface test
gl/msaa: Do not attach a depth-stencil attachment to the default framebuffer
Matt Peterson (1):
gl: Use cairo_rectangle_int_t
Murray Cumming (2):
cairo: Remove trailing comma from cairo_format_t
cairo_surface_observer_mode_t: Remove trailing comma.
Nis Martensen (24):
Fix typos
Mark the new API as such
doc: Fix pattern name mismatch
doc: fix typo
doc: add missing colons to since tags
doc: typo
doc: add index of new symbols in 1.12
doc: add colon to .._padded_image_from_image
doc: add missing _face to function names
doc: do not confuse gtk-doc by @ and double *
doc: Add colon to Returns statement
doc: script_mode_t needs at least one line of text
doc: fix a few typos found by codespell
doc: preserve whitespace by using docbook screen tag
doc: symbol names in header and comment must match
doc: ensure "compatibility" spelling
doc: move value descriptions up
doc: avoid confusing gtk-doc by double asterisks
doc: describe cairo_recording_surface_get_extents
doc/ft-font: add reference to cairo_ft_synthesize_t
doc/ps-surface: minor improvements
doc/xlib/xcb: document get/set_precision API
doc/xcb: document cairo_xcb_device_get_connection
doc: fix broken link
Oleg Romashin (1):
qt: Fix compilation, also minor fix for building against Qt5
Paulo Zanoni (3):
test: fix append_argv()
test/README: add missing "S"
cairo-test-runner: don't leak argv
Pekka Paalanen (1):
egl: do not destroy dummy_surface if it does not exist
Pino Toscano (1):
LD_PRELOAD is supported on Hurd
Rob Bradford (1):
build: Specify the reference images as a directory for EXTRA_DIST
Robert Bragg (1):
backends: Adds a new Cogl based backend
Seongwon Cho (1):
mono-scan-convertor: Include space for the closing span
Søren Sandmann Pedersen (1):
Include pixman.h in cairo-xlib-private.h
Taekyun Kim (4):
tessellator: Fix boxes tessellator to handle num_boxes <= 1 correctly
tessellator: Fixed to produce an output box with x1 <= x2 for single box input
Fix intersect_with_boxes() to produce tight clip extents
image: Maximum number of spans can be upto (extents->width + 1)
Uli Schlachter (131):
xcb: Fix a BadPicture when clearing a surface
xcb: Automatically enable the backend if the libs are available
xcb: Document all public functions
User fonts: Make it clear what should NOT be freed
scaled font: Fix the docs for cairo_scaled_font_get_font_face
xcb: Limit the amount of SHM used
xcb: Remove a duplicate static function
xcb: Move the allocation of a shm surface into its own function
xcb: Use a normal image surface if SHM fails
XCB: Fix build with xcb-shm disabled
ps: Update xlib-surface-source ref images
xcb-surface-source: Add image16 and ps ref images
Finish devices after their finish callback returns
xcb: Fix a crash when finishing a device
xcb: Remove the surface pattern cache
Fix errors from src/check-plt.sh
arc-looping-dash: Add a missing cairo_restore ()
xcb: Remove some unused code
xcb: Fix for PDF operators with RENDER 0.11
xcb: Remove CAIRO_XCB_RENDER_HAS_COMPOSITE_SPANS
xcb boilerplate: Handle device offsets correctly
xcb: Remove _cairo_xcb_picture_copy
xcb: Never return NULL from create_similar
xcb-drm: Fix undeclared variable error
Add unaligned boxes to "operator-source" test
image: Don't use the fast path if it's wrong
test/Makefile.am: Don't reference non-existant files
Revert "xcb: Never return NULL from create_similar"
XCB: Implement PDF blend operators natively
xcb: Fallback to image surface for create similar
xcb,xlib,surface: Check for too small sizes
xcb: Don't hardcode the RENDER version number
xcb: Prettify some code
xcb: Initialize the new precision fields
xcb: Use defines instead of magic numbers
xlib-xcb: Use slim_hidden_proto correctly
xlib-xcb: Fix api-special-cases test
xlib-xcb: Verify we really have an xcb surface
xlib-xcb: Fix cairo_surface_flush()
xcb: Remove an unused function argument
xlib-xcb: Fix some use-after-free
xlib-xcb: Don't call directly into the xcb backend
Xlib: Fix boilerplate to work with xlib-xcb
xlib-xcb: Register a XCloseDisplay hook
xcb: Move cairo_xcb_picture_t to cairo-xcb-private.h
xcb: Track cairo_xcb_picture_t surfaces
Add a test case that asserts on xcb
xcb: Don't use xcb surfaces as snapshots
Handle CAIRO_STATUS_DEVICE_FINISHED in switches
cairo-trace: Fix mark-dirty with xcb backend
xlib-xcb: Fix an "extension leak"
cairo-xcb: Drop some unused definitions/file
xcb: Fix _set_clip_region for many rectangles
xcb: Fix a GC leak when a screen is finished
xlib-xcb: Fix 'incompatible pointer type' warnings
XCB: Store the flags per-connection only
xcb: Make it possible to undo _cairo_xcb_device_debug_cap_*
Xlib,xcb: Make *_debug_[sg]et_precision() more robust
xcb: Parse $CAIRO_DEBUG just like cairo-xlib does
xcb: Fix a NULL dereference
xcb: Handle deferred_clear in _get_image
xcb: Unset the deferred_clear flag on fallback
xcb: Work around wrong extent computation in the X server
xlib: Fix a typo
xcb: Check that the extents are inside our surface
Make _cairo_xcb_surface_get_extents no_warn
xcb: Assert that pixmap sizes are positive
xcb: Error on 0x0 source surfaces
xcb: Handle deferred clear in map_to_image
xcb: _get_image only works without fallback
xcb: Handle fallback in map_to_image
xcb: Handle deferred clear in _upload_image_inplace
surface_unmap_image: Fix fallback
xlib-xcb: Implement the new backend functions
perf: Also build the code in perf/micro
Clarify the API docs for the newest functions
cairo.h: Document CAIRO_DEVICE_TYPE_INVALID
xlib-xcb: Fix a double free in surface_unmap
map_to_image: Verify the given extents
map-to-image: Handle non-32bpp formats
xcb: Fallback to image if allocating SHM fails
xcb: Merge two functions for creating shm images
test: Add a test that maps a huge surface
xcb: Handle SHM exhaustion via falling back
xcb-shm: Fix a logic error while allocating mem
test: Add tighten-bounds
xcb: Add an assert for the tighten-bounds test
xcb: Fix fallback for *_shm_put_image
xcb: Skip drawing if bounded extents are empty
xcb: Fix fixup_unbounded_with_mask
xcb: Steal from the pending list for GetImage
cairo_clip_path_t: Remove extents
xcb: Remove some dead code
xlib-xcb: Make this compile again
Tee: compile fix for recent compositor API
Revert "xcb: Error on 0x0 source surfaces"
xcb: Improve error cases in _clip_and_composite_combine
cairo-xcb: Require libxcb 1.6
boilerplate-xcb: Print sequence numbers
path: Fix a minor oversight in 1ce5d4707cf26061
_cairo_clip_get_surface(): Don't lose errors
xcb: Stop using _cairo_clip_get_surface()
xcb: Use a mask in _composite_boxes() when needed
xcb: Remove an unused variable
xcb: Don't try to fallback more than once
xcb: Honor clips for defer clear
xcb: Fix a "incompatible pointer" compiler warning
xcb: Fix device offsets with unmap_image()
test: Add mime-surface-api
Make the new mime-surface-api succeed
xlib: Fix compilation with --disable-xlib-xrender
create-from-png*: Test mark_dirty with mime data
flush: Detach mime data
test: Add clip-double-free
clip: Fix clip-double-free
clip_intersect_boxes: Fix memleak
test: Add text-antialias-subpixel-{,v}{bgr,rgb}
xcb: Fix some invalid casts
xcb: Fix xcb-huge-image-shm
xcb: Fixup some internal state in set_{drawable,size}
xlib-xcb: Implement surface_set_drawable
xcb: Fix invalid casts from cairo_content_t to cairo_format_t
xcb: Silence a compiler warning for mixing type and internal type enums
xcb: Silence compiler warnings about ignored return values
xcb: Move the surface picture setup into its own function
xcb: Add a special case for recording surface
xcb: Use int instead of uint16_t for rowstride
xlib-xcb: Make this compile again
Wrapper: Don't translate clips extents' origin
Fix docs for cairo_xlib_device_debug_cap_xrender_version
xlib-xcb: Fix make check
Zhigang Gong (1):
mono: Always bias initial edge advancement
--
Chris Wilson, Intel Open Source Technology Centre
More information about the cairo
mailing list