diff options
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 2776 |
1 files changed, 2776 insertions, 0 deletions
@@ -1,5 +1,2781 @@ # Generated by configure. Do not edit. +commit 0dac37c41473deafa4a2f154187c5c3d08b07c91 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Feb 10 13:38:28 2013 +0000 + + 1.12.14 release + + NEWS | 32 ++++++++++++++++++++++++++++++++ + cairo-version.h | 2 +- + 2 files changed, 33 insertions(+), 1 deletion(-) + +commit 93ddc3a28308bcd9e062178ceb453f26e9228fc4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Feb 10 13:13:31 2013 +0000 + + tests: Update reference images after adjustments to polygon line clipping + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/reference/clip-nesting.rgb24.ref.png | Bin 937 -> 936 bytes + test/reference/record-fill-alpha.argb32.ref.png | Bin 2736 -> 0 bytes + test/reference/record-fill-alpha.ref.png | Bin 2839 -> 2812 bytes + test/reference/record-fill-alpha.rgb24.ref.png | Bin 2736 -> 0 bytes + test/reference/record1414x-fill-alpha.argb32.ref.png | Bin 4129 -> 0 bytes + test/reference/record1414x-fill-alpha.rgb24.ref.png | Bin 4129 -> 0 bytes + test/reference/record2x-fill-alpha.argb32.ref.png | Bin 5715 -> 0 bytes + test/reference/record2x-fill-alpha.rgb24.ref.png | Bin 5715 -> 0 bytes + test/reference/record90-fill-alpha.argb32.ref.png | Bin 2651 -> 0 bytes + test/reference/record90-fill-alpha.rgb24.ref.png | Bin 2651 -> 0 bytes + test/reference/rel-path.rgb24.ref.png | Bin 216 -> 216 bytes + 11 files changed, 0 insertions(+), 0 deletions(-) + +commit d4651676e1496f0354acb0ef045e8b65601edf6d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Feb 8 22:17:13 2013 +0000 + + win32: Clear the similar-image before returning to the user + + Our userspace API mandates that surfaces created for the user are + cleared before they are returned. Make it so for the win32 similar image + constructor. + + Reported-by: Michael Henning <drawoc@darkrefraction.com> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=60519 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/win32/cairo-win32-display-surface.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +commit 2d7ac9e737f37daf8490c27e6a04c65bba642645 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Feb 8 15:19:14 2013 +0000 + + xlib: Only apply the dst offset to the glyph strings once + + The elts offset is a delta from the previous glyph coordinate. So by + subtracting the dst origin everytime, we were accumulating a glyph + position error. Instead we just want to offset the starting coordinate + and then always use relative positions. + + Reported-by: Theo Veenker <T.J.G.Veenker@uu.nl> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-render-compositor.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +commit ea16302e45ced56e6f12b8520e9f530e1ffc68c4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Feb 8 13:22:01 2013 +0000 + + polygon: Avoid computing the unused intersection coordinates + + If we only ignore the result of the computed boundary intersection, + because the edge is inside that boundary, then we can simply forgo the + calculation. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-polygon.c | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) + +commit 8cfbdf2f02ba01d5638a91c9f3f7fc228b402caa +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Feb 8 13:10:25 2013 +0000 + + polygon: Only rely on the computed boundary intersections for crossing edges + + If we need to extrapolate the edge to the boundary, then we run the risk + of an overflow for an immaterial result. So if the edge does not cross + the boundary, we can simply use the corresponding end-point and not emit + the boundary segment. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=60489 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-polygon.c | 35 +++++++++++++++++++++++++---------- + 1 file changed, 25 insertions(+), 10 deletions(-) + +commit 607a15db5df04d10e5be6d06599ec4e9d98d2446 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Feb 7 21:40:30 2013 +0000 + + gl: Mark up _cairo_gl_composite_set_operator* as private + + Add the cairo_private markup to hide the PLT entries and to keep make + check happy. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-private.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 562cc8227feb99b75fb53df7800df66887be129d +Author: Ravi Nanjundappa <ravi.nanjundappa@gmail.com> +Date: Mon Feb 6 10:56:55 2012 +0530 + + gl/spans: Handle SOURCE operations with opaque sources. + + SOURCE operations with an opaque are equivalent to OVER. + This can prevent us from falling back in certain cases. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-spans-compositor.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit 4b6b28b5e8b9020c72a60b01ff3340a70dd59478 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Feb 7 10:00:47 2013 +0000 + + win32: Fix is_win98() + + Since the translation into a separate function, its condition was + reversed: that is almost everybody thought they were on a win98 machine + and so had no working AlphaBlend(). + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/win32/cairo-win32-device.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 4b54c09c056e5dee65f2cf4e87835eb9127e5b1c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Feb 6 22:16:12 2013 +0000 + + image: Substitute OVER spans for SOURCE with an opaque pattern + + Based on an idea from Ravi Nanjundappa + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +commit 400ea9c2905461067df9e6d27c2e961d47f04676 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Wed Feb 6 12:53:14 2013 -0800 + + gl/msaa: Properly fall back when using CLEAR operator + + There are some situations that the MSAA compositor doesn't support using + the CLEAR operator. We should properly fall back in those cases. + + src/cairo-gl-msaa-compositor.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit 7bee1962f601009c507f987838de1a9dec3d9334 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Feb 5 21:57:52 2013 +1030 + + type1-subset: in latin subsets replace glyph names with standard names + + When using WinAnsiEncoding in PDF the glyphs are keyed by glyph + name. We need to ensure the correct names are used and can't assume + the glyph names in the font are correct. + + Bug 60248 + + src/cairo-type1-subset.c | 19 +++++++++++++++++-- + 1 file changed, 17 insertions(+), 2 deletions(-) + +commit 4cb181d985adbbf79e80ff695adc908810b41544 +Author: Henry Song <henry.song@samsung.com> +Date: Tue Jan 29 17:53:38 2013 +0000 + + gl: do not force flush everytime uploading a glyph image to glyph cache + + In normal cases, we want to flush pending operations reading from the + texture before modifying its contents. However during uploading of + glyphs into the glyph cache, we repeatedly modify the texture as we + construct the vbo (whilst referencing it for that operation). We track + unused areas in the glyph cache so that if we run out of space, we can + explicitly flush the pending glyphs and start afresh and avoid having to + flush the operation in common case. + + src/cairo-gl-glyphs.c | 2 +- + src/cairo-gl-private.h | 3 ++- + src/cairo-gl-spans-compositor.c | 2 +- + src/cairo-gl-surface-legacy.c | 7 ++++--- + src/cairo-gl-surface.c | 16 ++++++++++------ + src/cairo-gl-traps-compositor.c | 9 ++++++--- + 6 files changed, 24 insertions(+), 15 deletions(-) + +commit 260c16331a2c7bedbcf35d7f2cbab2f1f4098c87 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Feb 4 10:43:13 2013 +0000 + + gl: Include the vertex ident in the shader cache hash + + As we may specialise the vertex program depending upon details of the + fragment shader, and may have more than one program for the same + combination of fragment sources, we need to include the vertex tag in + the cache entry. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-shaders.c | 49 +++++++++++++++++++++++++++++------------------- + 1 file changed, 30 insertions(+), 19 deletions(-) + +commit 05ad89f91241b386f72f5b9bac3ebe62faff1d1b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Feb 3 16:51:35 2013 +0000 + + gl: Replace manual vertex transformation with VS computation of texcoords + + Not only is our point transformation code is quite slow (well at least + compared to a real GPU), but by deriving the texture coordinates from + the vertex position we can elide the multiple arrays that we need to + construct and pass to GL - improving performance by eliminating CPU + overhead from needless transforms and data shovelling. + + However, not all vertex emission is suitable. For instance, for glyphs + we need to emit discontiguous texture coordinates for each glyph, but + span generation is suitable - which fortuitously also has the largest + vertex density and so benefits the most. + + The only real concern is for hardware without true vertex shader support + (e.g. i915) but there we are already invoking the VS to transform the + vertex into the viewport. We would need to eliminate that transform as + well as manually compute the texture coordinates in order to eliminate + the vertex recomputation pass. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 70 +++++++++++++++++++++++++++++---------- + src/cairo-gl-msaa-compositor.c | 21 ++++++++---- + src/cairo-gl-operand.c | 67 +++++++++++++++++++++++++++---------- + src/cairo-gl-private.h | 24 +++++++++----- + src/cairo-gl-shaders.c | 31 ++++++++++++----- + src/cairo-gl-source.c | 3 +- + src/cairo-gl-spans-compositor.c | 6 ++-- + src/cairo-gl-traps-compositor.c | 3 +- + 8 files changed, 162 insertions(+), 63 deletions(-) + +commit d15a71f128c73ce1da19e6ff5a4e2fe044b58749 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Feb 3 12:51:13 2013 +0000 + + qt: Update for fallback compositor + + We now need to explicitly manage fallbacks and to provide an + implementation for map-to-image/unmap-image. + + src/cairo-qt-surface.cpp | 210 ++++++++++++++++++++++++++++++---------------- + 1 file changed, 140 insertions(+), 70 deletions(-) + +commit 10110d58cee179cded8e4c4ff8a8d02c477585bd +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Feb 2 08:47:26 2013 +0000 + + surface: Prevent reads from the user-data arrays during teardown + + In a similar fashion to the previous commit, we also need to be wary of + users simply trying to read from a potentially freed user-data array. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +commit 18cff63e3d288bf2d7773760f2ab25c80a4a2bc1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Feb 2 08:47:26 2013 +0000 + + surface: Prevent writes to the user-data arrays during teardown + + As we cleanup the user-data arrays, we call the user provided destroy + notifier callbacks. These callbacks are at liberty to write back into + the parent surface, and in particular try to write into the arrays that + we have just freed. This causes hard to control and fairly unpredictable + use-after-frees in the client, so lets just rule out the dangerous + behaviour. + + References:https://bugzilla.mozilla.org/show_bug.cgi?id=722975 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-surface.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +commit c391093f40472c2300f38d0e5857858f85586b60 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Feb 1 16:31:49 2013 +0000 + + image: Add a convenience function for creating an image from another's data + + The GL backend would like to extract a rectangle from another surface + and convert it to a different pixel format. The + _cairo_image_surface_create_from_image() does that by returning a new + image that has the contents of the specified rectangle in the source + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface-private.h | 7 +++++ + src/cairo-image-surface.c | 55 +++++++++++++++++++++++++++++++++++++ + 2 files changed, 62 insertions(+) + +commit 15830fdb1087f18dcd6351de1034a5025b8ed343 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jan 31 18:50:39 2013 +0000 + + NEWS: fix a couple of typos + + Reported-by: Thierry Vignaud + + NEWS | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 28dbafd5643fcf637a556fc196b5b984d44d151d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jan 31 16:23:24 2013 +0000 + + Post release version bump to 1.12.13 + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit a201a1169f472e822a66275b7dffe62f241d8ec0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jan 31 15:24:33 2013 +0000 + + 1.12.12 release + + NEWS | 24 ++++++++++++++++++++++++ + cairo-version.h | 2 +- + 2 files changed, 25 insertions(+), 1 deletion(-) + +commit 350f9fb5366079113eb8bca947d480362c3ae6be +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jan 31 15:15:03 2013 +0000 + + test: Refresh refs for aa noise following reduction of the 2-stage compositing + + A side effect of + + commit c986a7310bb06582b7d8a566d5f007ba4e5e75bf + Author: Chris Wilson <chris@chris-wilson.co.uk> + Date: Thu Jan 24 08:55:54 2013 +0000 + + image: Enable inplace compositing with opacities for general routines + + is that we should in theory be reducing the rounding errors when + compositing coverage. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/reference/bug-source-cu.rgb24.ref.png | Bin 3211 -> 3211 bytes + test/reference/clip-stroke-unbounded.argb32.ref.png | Bin 4128 -> 4127 bytes + test/reference/clip-stroke-unbounded.rgb24.ref.png | Bin 3546 -> 3566 bytes + test/reference/mask.argb32.ref.png | Bin 8579 -> 8565 bytes + test/reference/mask.rgb24.ref.png | Bin 7127 -> 7135 bytes + test/reference/record-paint-alpha-clip-mask.argb32.ref.png | Bin 340 -> 0 bytes + test/reference/record-paint-alpha-clip-mask.ref.png | Bin 333 -> 318 bytes + test/reference/record-paint-alpha-clip-mask.rgb24.ref.png | Bin 340 -> 0 bytes + test/reference/record-text-transform.argb32.ref.png | Bin 5579 -> 0 bytes + test/reference/record-text-transform.rgb24.ref.png | Bin 5579 -> 0 bytes + test/reference/record1414x-text-transform.ref.png | Bin 8706 -> 8365 bytes + test/reference/record2x-text-transform.ref.png | Bin 13476 -> 13072 bytes + test/reference/record90-paint-alpha-clip-mask.argb32.ref.png | Bin 343 -> 0 bytes + test/reference/record90-paint-alpha-clip-mask.ref.png | Bin 0 -> 316 bytes + test/reference/record90-paint-alpha-clip-mask.rgb24.ref.png | Bin 343 -> 0 bytes + test/reference/record90-paint-alpha-clip.argb32.ref.png | Bin 296 -> 0 bytes + test/reference/record90-paint-alpha-clip.ref.png | Bin 0 -> 320 bytes + test/reference/record90-paint-alpha-clip.rgb24.ref.png | Bin 296 -> 0 bytes + test/reference/record90-text-transform.argb32.ref.png | Bin 5811 -> 0 bytes + test/reference/record90-text-transform.ref.png | Bin 0 -> 5481 bytes + test/reference/record90-text-transform.rgb24.ref.png | Bin 5811 -> 0 bytes + test/reference/recording-surface-extend-none.argb32.ref.png | Bin 3051 -> 3153 bytes + test/reference/recording-surface-extend-none.rgb24.ref.png | Bin 3128 -> 3145 bytes + test/reference/recording-surface-extend-pad.argb32.ref.png | Bin 10822 -> 11200 bytes + test/reference/recording-surface-extend-pad.rgb24.ref.png | Bin 12582 -> 12586 bytes + test/reference/recording-surface-extend-reflect.argb32.ref.png | Bin 23518 -> 23967 bytes + test/reference/recording-surface-extend-reflect.rgb24.ref.png | Bin 23881 -> 23930 bytes + test/reference/recording-surface-extend-repeat.argb32.ref.png | Bin 24047 -> 24091 bytes + test/reference/recording-surface-extend-repeat.rgb24.ref.png | Bin 24038 -> 24075 bytes + test/reference/recording-surface-over.argb32.ref.png | Bin 0 -> 3153 bytes + test/reference/recording-surface-over.rgb24.ref.png | Bin 3128 -> 3145 bytes + test/reference/recording-surface-source.argb32.ref.png | Bin 3044 -> 3153 bytes + test/reference/recording-surface-source.rgb24.ref.png | Bin 3133 -> 3146 bytes + test/reference/stroke-clipped.ref.png | Bin 5886 -> 5790 bytes + 34 files changed, 0 insertions(+), 0 deletions(-) + +commit 22b7fae0368ba6cff23b2ebdf58bd7d1bfdfbd6f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jan 31 14:19:53 2013 +0000 + + image: Add a reference for the clone's parent image + + We use the parent as a flag during map-to-image/umap-image that the + resultant image came from a fallback rather than as direct call + to the backend's map_to_image(). Whilst we use it as a simple flag, + we need to make sure the parent surface obeys the reference counting + semantics and is consistent for all callers. + + Unlike other users of the parent pointer, there is no resource sharing + between the two surfaces. + + Reported-by: Henry Song <henry.song@samsung.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-surface.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +commit ec58fde294afd52c89fa5ed21ba2611edfdbd550 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jan 31 14:06:48 2013 +0000 + + perf: Synchronize before stopping the timers + + Fixes a regression from + + commit 2855ff4666922f2c38505414270d47f659b0d499 + Author: Andrea Canciani <ranma42@gmail.com> + Date: Wed Aug 31 16:42:03 2011 +0200 + + perf: Reuse cairo-time + + which dropped the essential call to synchronize when refactoring the + code. + + Reported-by: Siarhei Siamashka <siarhei.siamashka@gmail.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 2560c0b6577a6380ef175cf18bb804913784632c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 29 23:51:44 2013 +0000 + + xlib/shm: More clarification of seqno required + + Everytime I read the predicate wrong, but hopefully, this time I have it + right! + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 91834fbdee40f46e18d071fd2671a7a642e6aa86 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 29 22:12:00 2013 +0000 + + xlib/shm: Clarify testing of seqno + + Rename the seqno tests into seqno_passed(), seqno_before() and + seqno_after() in order to clarify their semantics. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-source.c | 2 +- + src/cairo-xlib-surface-shm.c | 20 ++++++++++++++++---- + 2 files changed, 17 insertions(+), 5 deletions(-) + +commit 89092b97b50a7740058d0f72f94dfc6defe15ed6 +Author: Henry Song <henry.song@samsung.com> +Date: Tue Jan 29 13:21:00 2013 -0800 + + gl/msaa: Don't emit alpha when emitting vertices + + The color attribute is disabled when not in spans mode, so the emitted + alpha is simply overwritten by the next vertex. Additionally, this can + potentially cause the alpha to be written past the end of the buffer. + + src/cairo-gl-composite.c | 24 +++++++++++------------- + 1 file changed, 11 insertions(+), 13 deletions(-) + +commit 74a19c527c1fa07ade2042a8d2acecbb5f6ccab1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 29 10:31:05 2013 +0000 + + configure: Include X11.h before testing for usability of Xrender.h + + On Solaris at least, the Xrender.h header is not standalone and requires + X11/X.h to be included first to define the essential types. + + Reported-by: Andreas F. Borchert <bugzilla@andreas-borchert.de> + Bugzilla; https://bugs.freedesktop.org/show_bug.cgi?id=58199 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + configure.ac | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 41ae904461e344fbfa3be3d276a7102bb4304b19 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 29 03:52:02 2013 +0000 + + xlib/shm: Appease the compiler for a 'maybe used uninitialised' variable + + Initialise shm during its declaration so that it is indeed initialised + for the cleanup after every path. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-render-compositor.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 9b92625151ca75a6ee10f231f83b53f67a371947 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 29 03:49:56 2013 +0000 + + xlib/shm: Simplify uploading of SHM image data + + Make sure that we simply copy from the SHM segment into the target + drawable, and not inadvertently stage it through another SHM buffer. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-render-compositor.c | 22 ++++++++++++---------- + 1 file changed, 12 insertions(+), 10 deletions(-) + +commit c006b886d28a772d7a62cec52ab7e0c8196c36f6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 29 03:01:31 2013 +0000 + + xlib/shm: Force synchronisation for scratch SHM image buffers + + The scratch image buffers are used for uploads to the xserver and so we + must be careful not to overwrite active SHM segments. Unfortunately we + told the core SHM allocator that we would sync before using the images, + which was a lie. + + Reported-by: Michael Natterer <mitch@gimp.org> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit fd59e6d86a3a1fc6720316f20deb8a0bd6f7b767 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 29 03:00:46 2013 +0000 + + xlib/shm: Always request a CompletionEvent from ShmPutImage + + ...and treat is as an expected event for synchronisation. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 11 +++-------- + src/cairo-xlib-surface.c | 3 +-- + 2 files changed, 4 insertions(+), 10 deletions(-) + +commit a364a106b257c4493ba7b3badacc63599ba6064a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 29 02:52:10 2013 +0000 + + xlib/shm: Tidy up destroying the mempool for a shm block + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 02a2baa8dcf49ad2d9766d43578ba216fab0d464 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 29 02:51:25 2013 +0000 + + xlib/shm: Tidy creation of the proxy source for ShmPixmaps + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-source.c | 10 +++------- + 1 file changed, 3 insertions(+), 7 deletions(-) + +commit 30e950515171b25d9bc3da8d535cfe05d8be69c8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 29 02:49:26 2013 +0000 + + xlib/shm: Skip creating new SHM segments if the data is already in the xserver + + If the image is already inside a SHM segment, but the image format does + not match the surface, fallback to the XRender paths in order to perform + colorspace conversion on the data already inside the Xserver. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-render-compositor.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 1d1af825bb4fcfd7c4a54b65292734ba244e096d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 29 02:47:48 2013 +0000 + + xlib/shm: Tighten mark-active to the actual CopyArea on the ShmPixmap + + Along the draw_image_boxes() upload path, we were actually marking the + ShmPixmap as still active for the subsequent drawing operation - which + could in theory never be submitted... + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-render-compositor.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 3c18bae20ee2fea24d75f6986390ef8157d0207d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Jan 28 10:03:54 2013 +0000 + + perf; Do not allow the backends to optimize away the clear before sync + + The importance of writing to the scratch surface before retrieving an + image is that it makes that the write lands in the server queue, as well + as the GetImage, in order to serialise the timer against all the + operations. + + Reported-by: Siarhei Siamashka <siarhei.siamashka@gmail.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-trace.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +commit d9d5adec256b3935e4f261d81c37c77a2649248b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 27 16:51:52 2013 +0000 + + image: And more fallout from c986a73, restore the absent short runs + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 34 ++++++++++++++++------------------ + 1 file changed, 16 insertions(+), 18 deletions(-) + +commit 1ba9fb6fadcc1cb619af0ef974dffb0ff8672244 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 27 16:15:35 2013 +0000 + + Mark _cairo_path_is_simple_quad as private + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-fixed-private.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 1d105f215a9c62f5b60541da209bf71182a2e9df +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 27 16:29:44 2013 +0000 + + image: Fix opaque span fills + + I should have realised the previous result was too good to be true! + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit c986a7310bb06582b7d8a566d5f007ba4e5e75bf +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jan 24 08:55:54 2013 +0000 + + image: Enable inplace compositing with opacities for general routines + + On a SNB i5-2500: + + Speedups + ======== + firefox-chalkboard 34284.16 -> 19637.40: 1.74x speedup + swfdec-giant-steps 778.35 -> 665.37: 1.17x speedup + ocitysmap 485.64 -> 431.94: 1.12x speedup + + Slowdowns + ========= + firefox-fishbowl 46878.98 -> 54407.14: 1.16x slowdown + + That slow down is due to overhead of the increased number of calls to + pixman_image_composite32() (pixman_transform_point for analyzing the + source extents in particular) outweighing any advantage gained by + performing the rasterisation in a single pass and eliding gaps. The + solution that has been floated in the past is for an interface into + pixman to only perform the analysis once and then to return a kernel to + use for all spans. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 190 ++++++++++++++++++++++++++++------ + src/cairo-spans-compositor-private.h | 2 +- + 2 files changed, 162 insertions(+), 30 deletions(-) + +commit cfe0e59663c71a6ecd0c976797ac32339e363af2 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Tue Jan 22 20:09:01 2013 -0800 + + gl/msaa: Add a fast path for fills that are simple quads + + Instead of invoking Bentley-Ottman for fills that are simple + quadrilaterals, just pass the geometry straight to OpenGL. + + src/cairo-gl-msaa-compositor.c | 45 +++++++++++-- + src/cairo-path-fixed-private.h | 17 +++++ + src/cairo-path-fixed.c | 136 ++++++++++++++++++++++++++++++---------- + 3 files changed, 158 insertions(+), 40 deletions(-) + +commit 1e3424cfd1fea3f9aa2b1c8af4bb72239a94f365 +Author: Henry Song <henry.song@samsung.com> +Date: Tue Jan 22 14:54:38 2013 -0800 + + gl: Use GL_ALPHA textures for CAIRO_CONTENT_ALPHA glyph caching + + It's safe to us GL_ALPHA for glyph caching surfaces, since Cairo only + uses them for texture uploading. This saves a little bit of memory. + + src/cairo-gl-glyphs.c | 16 ++++++++-------- + src/cairo-gl-private.h | 6 ++++++ + src/cairo-gl-surface.c | 38 +++++++++++++++++++++++++++++++------- + 3 files changed, 45 insertions(+), 15 deletions(-) + +commit a44b8bd70683a92d862b11c2d7359ce2b0a6a968 +Author: Henry Song <henry.song@samsung.com> +Date: Fri Jan 25 12:45:10 2013 -0800 + + gl: Fix typos in multisampling detection + + Instead of looking for the EXT_framebuffer_multisample, this code should + look for GL_EXT_framebuffer_multisample. GL_ARB_framebuffer_object also + contains all necessary API for using multisampling, so we don't need to + check for both it and the GL_EXT_framebuffer_blit and + GL_EXT_framebuffer_multisample pair. + + src/cairo-gl-device.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit bb4072046016610a510373df3b67cdeb2ac1b583 +Author: Henry Song <henry.song@samsung.com> +Date: Fri Jan 25 11:55:10 2013 -0800 + + gl/msaa: Fix a memory leak in _clip_to_traps + + We need to clean up the polygon we create when decomposing a path into + trapezoids. + + src/cairo-gl-msaa-compositor.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 7054c9969cb0e41845635d6658935da223899f08 +Author: Henry Song <henry.song@samsung.com> +Date: Wed Jan 16 15:32:32 2013 +0100 + + gl: Don't query the display when checking if the context changed + + If display has changed, the associated context must change. A + context is tied a display so we can avoid this check, eliminating + unnecessary work during context acquisition and release. + + src/cairo-egl-context.c | 13 ++++--------- + src/cairo-glx-context.c | 13 ++++--------- + 2 files changed, 8 insertions(+), 18 deletions(-) + +commit fa4f48cccb6c7f4e1afb2ff4b98b906b7d8d4afc +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jan 23 15:04:26 2013 +0000 + + xlib: Do not upload the whole image just because we want an entire row + + Fixes regression exposed by + + commit a73e7ff0186176bc82cd3ae1432c054c1fd3aebd + Author: Chris Wilson <chris@chris-wilson.co.uk> + Date: Sun Jan 6 11:29:27 2013 +0000 + + xlib: Simplify source creation by use of map-to-image + + but ultimately from + + commit 74941f822015cc50cd8477d0cf97f1a70dbff60b + Author: Chris Wilson <chris@chris-wilson.co.uk> + Date: Wed Jan 2 22:27:55 2013 +0000 + + xlib: Use SHM transport for ordinary image uploads + + Reported-by: Gökçen Eraslan <gokcen.eraslan@gmail.com> + Reported-by: Guillaume Ayoub <guillaume.ayoub@kozea.fr> + Reported-by: Emmanuel Benisty <benisty.e@gmail.com> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59635 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-source.c | 8 +++++++- + src/cairo-xlib-surface.c | 24 +++++++++++------------- + 2 files changed, 18 insertions(+), 14 deletions(-) + +commit ed2fa6b16b03fccc3e21598cdb9157cbcebd1d37 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jan 16 20:58:46 2013 +0000 + + version: Post-release bump to 1.12.11 + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 2d6204c67d4d0d9c5d03087c4c1609a81ef1fdb7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jan 16 20:22:38 2013 +0000 + + 1.12.10 release + + NEWS | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ + cairo-version.h | 2 +- + 2 files changed, 50 insertions(+), 1 deletion(-) + +commit 1dfea39841fc6d545e45420b1999239f29556c05 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Tue Jan 15 17:12:23 2013 -0800 + + gl: Follow up fix for the previous commit + + Handle "fake" surfaces created by _cairo_gl_pattern_to_source which just + embed a GL backend operand. These surfaces do not have a backend, so we + should not fall back if a surface without a backend is not a texture + surface. + + src/cairo-gl-operand.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 769ea3b2c757adc9f8f348fdc93bb46f35c2f6b8 +Author: Henry Song <henry.song@samsung.com> +Date: Wed May 2 21:54:55 2012 +0200 + + gl: Support for non-texture sources and masks + + If a GL surface is not a texture and is used as source or mask, + fall back to using an image surface as an intermediary. + + Fixes subsurface-image-repeat, subsurface-modify-child, + subsurface-modify-parent, subsurface-outside-target, subsurface-pad, + subsurface-reflect, subsurface-repeat, and subsurface-scale. + + src/cairo-gl-operand.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit d01a502710296c9b15755f445f6fdda289a2df0b +Author: Martin Robinson <mrobinson@igalia.com> +Date: Tue Jan 15 12:07:33 2013 -0800 + + gl/msaa: Check for more extensions before using MSAA + + The MSAA compositor is implicitly relying on the existence of several + OpenGL extensions. This change makes those dependencies explicit. + + src/cairo-gl-device.c | 33 +++++++++++++++++---------------- + 1 file changed, 17 insertions(+), 16 deletions(-) + +commit 768b81b78eabbebb1bb443355441cac567739035 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Jan 14 03:27:11 2013 +0000 + + script: Set decompression length prior to calling decompressors + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59224 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-script/cairo-script-operators.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 6639c1231072d71d33eb0952bae5f95e7480cd0d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 13 22:48:30 2013 +0000 + + xlib: Initialise Pixmap for proxy sources + + So that we do not try to tell X to free a garbage pixmap and promptly + kill us. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-source.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit fd34f420ec3ba02eb39f22f6551705ab23ebfc28 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 13 18:16:17 2013 +0000 + + compositor: Pass back the internal failure + + In order to pass back a CAIRO_INT_STATUS_UNSUPPORTED, we need to use the + internal error surface creation functions as they do not assert on + private error codes. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-mask-compositor.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 14c32ee1cf6bfcaeb07d50a80b6d5a388a1f2885 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 13 18:11:31 2013 +0000 + + compositor: Convert image surface into backend source + + Before passing a surface to the backend composite functions, they expect + them to be a native source. The copy'n'paste code for the mask + compositor forgot to perform the conversion upon the clip surfaces, + which originally were native to the backend and are now images. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-mask-compositor.c | 61 ++++++++++++++++++++++++++++++++----------- + 1 file changed, 46 insertions(+), 15 deletions(-) + +commit 7012334ebb424b619312e1fa397cc3b8a3ffd770 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 13 17:20:24 2013 +0000 + + xlib: Handle lack of XRenderFillRectangles + + Remember to check for a supported render version before making a + FillRectangle request, and fallback to the core protocol where possible + instead. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-core-compositor.c | 79 +++++++++++++++++++++++++++--------- + src/cairo-xlib-private.h | 15 ++++++- + src/cairo-xlib-render-compositor.c | 30 +++++++++++--- + src/cairo-xlib-source.c | 70 +++++++++++++++++++++++++++----- + 4 files changed, 157 insertions(+), 37 deletions(-) + +commit 503b6b9e2ea65805a77d527c00cf242ec86d479b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jan 11 13:10:56 2013 +0000 + + xlib: Only fallback through the mask intermediate if we can composite the mask + + Before rendering into the mask, we should first check whether the + subsequent call to composite the mask will trigger a fallback. In that + case, we should fallback earlier and do the operation in place. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-compositor-private.h | 3 +++ + src/cairo-mask-compositor.c | 27 +++++++++++++++++++++++---- + src/cairo-xlib-render-compositor.c | 24 ++++++++++++------------ + 3 files changed, 38 insertions(+), 16 deletions(-) + +commit 1bcd59ef4c9dceaefa51ec6db1f5240d75940724 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Wed Jan 9 14:16:59 2013 -0800 + + gl/msaa: Rely on the stencil buffer to cache the clip + + When using a texture surface the depth/stencil buffer is private to + cairo so we can rely on the fact that any previously painted clip is + still valid. + + We also only scissor when there's a previously painted clip on the + stencil buffer, otherwise we disable the scissor test. This fixes a few + test cases. + + src/cairo-gl-composite.c | 58 ++++++++++++++++++++++++++++------------ + src/cairo-gl-msaa-compositor.c | 4 +++ + src/cairo-gl-private.h | 1 + + 3 files changed, 46 insertions(+), 17 deletions(-) + +commit d524697ede85d36e4f88fa44d6a8b884685d804b +Author: Martin Robinson <mrobinson@igalia.com> +Date: Tue Jan 8 17:08:52 2013 -0800 + + gl/msaa: No need to set the clip when masking + + After 5e9083f882859201c5df18fc870577a224f88cbb there's no need to set a + clip on the cairo_gl_composite_t when masking. Clips are converted to + traps and rendered directly when masking now. + + src/cairo-gl-msaa-compositor.c | 1 - + 1 file changed, 1 deletion(-) + +commit 17418371b6755ef22b6d0c5787f71de3005e0730 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jan 9 15:06:28 2013 +0000 + + xcb: _cairo_scaled_font_reset_cache does it own locking + + So we can drop ours. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xcb-surface-render.c | 2 -- + 1 file changed, 2 deletions(-) + +commit dd20c1f4d6419238bbb37fb93a48986f83c6e6c2 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jan 9 12:38:09 2013 +0000 + + xlib: map-to-image requires an extents + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-source.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 351a9e756d0863ae7408c6d43a622620daa0c354 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jan 9 12:31:10 2013 +0000 + + stroke: Flip the dev slope as well for computing the cusp on a degeneracy + + Otherwise, the join think it starts and end in exactly the same + direction and elimiates the round capping. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-stroke-traps.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 14720cd0dbc325a2140fbd5b2a7ce4b257ae5f5e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jan 9 12:11:25 2013 +0000 + + gstate: Use the polygon intermediate for geometry queries + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gstate.c | 24 ++++++++++++------------ + 1 file changed, 12 insertions(+), 12 deletions(-) + +commit a942938e90a219a0b88153f9fa96c606ce644ef1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jan 9 00:36:13 2013 +0000 + + scaled-font: Fix use after free when clearing the glyph cache + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-scaled-font.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit c5b353c3725a1a8c116b790df4206f060d64eb5c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 8 22:56:28 2013 +0000 + + scaled-font: Make reset-font-cache threadsafe + + Stop trying to workaround the destroy-callback requiring the font mutex + as we already hold the mutex whilst cleaning up the font caches. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-scaled-font.c | 66 ++++++++++++++++++++++------------------------- + 1 file changed, 31 insertions(+), 35 deletions(-) + +commit d1184b69e8871180b7b357a02d1a0bed3e68d897 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Thu Feb 2 20:38:51 2012 -0800 + + gl: Do less work when acquiring and releasing devices + + After acquiring a GL device and the same GL context, surface, and + display combination is already active outside of Cairo, do not ask EGL + or GLX to change the current context as that may cause a flush on some + drivers. Also do not unset the context when releasing the device for the + same reason. + + src/cairo-egl-context.c | 64 +++++++++++++--- + src/cairo-glx-context.c | 78 ++++++++++++++++---- + test/Makefile.sources | 1 + + test/gl-device-release.c | 182 ++++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 301 insertions(+), 24 deletions(-) + +commit 7401455cb4136473521b9f33b09944aa0bc66971 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 8 17:52:04 2013 +0000 + + image: Allocate a temporary buffer for inline span composition + + Allow the inpline span compositor to operate on wider images than its + temporary buffer by allocating a scanline mask. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 24 ++++++++++++++++++++---- + 1 file changed, 20 insertions(+), 4 deletions(-) + +commit 0d38518c38fec68a1fa8cf9d3ae946faa08d6c42 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 8 18:52:08 2013 +0000 + + scaled-font: Remove a non-threadsafe double-freeze assert + + Sadly we cannot check ahead of acquiring the lock whether we hold the + lock. Just have to rely on lockdep. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-scaled-font.c | 1 - + 1 file changed, 1 deletion(-) + +commit e4acba6d1ddfe1c6d27b5a77edccea9d69b178f8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 8 16:38:11 2013 +0000 + + xlib/shm: Only destroy an existing damage + + _cairo_damage_destroy() does not like to be passed a NULL. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit 2ed484817ef3a5084dc65a2ae1acdef551acd107 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 8 16:06:02 2013 +0000 + + xlib/shm: Discard damage upon shm finish + + Both to make sure we do not leak the memory, but to also prevent + _cairo_xlib_surface_put_shm() from operating upon the finished shm + surface after the display is closed. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=58253 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-damage-private.h | 3 +++ + src/cairo-damage.c | 7 +++++++ + src/cairo-xlib-surface-shm.c | 3 +++ + 3 files changed, 13 insertions(+) + +commit b5dcc8ce4450de1e48fd0586fddb5ed658719b28 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 8 11:20:08 2013 +0000 + + scaled-font: Hold the scaled font mutex whilst reaping from the global cache + + If we need to reap the global cache, this will call back into the scaled + font to free the glyph page. We therefore need to be careful not to run + concurrently with a user adding to the glyph page, ergo we need locking. + To complicate matters we need to be wary of a lock-inversion as we hold + the scaled_font lock whilst thawing the global cache. We prevent the + deadlock by careful ordering of the thaw-unlock and by inspecting the + current frozen state of the scaled-font before releasing the glyph + page. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-scaled-font.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +commit c4ea7b13b406bf0ea1dc9b337010131d3704bc4a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 8 13:35:43 2013 +0000 + + scaled-font: Assert if attempting to finish a frozen font + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-scaled-font.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +commit 4d4bf8fddff49d349e03282ffa827f6f4659e3fe +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 8 14:56:07 2013 +0000 + + scaled-font: Free the cached glyphs from the font before taking the global lock + + In the case of a recording surface we may recurse into the global glyph + cache so we need to be careful and stage the ordering of how we free the + glyphs. So first we finish any information and surfaces from the scaled + font glyph cache (and so triggering recursion into other scaled fonts) + and then take the global cache and remove our pages. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54950 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-scaled-font.c | 21 ++++++++++++++++++++- + 1 file changed, 20 insertions(+), 1 deletion(-) + +commit 44a093eb95c950b0e8f2d7d1cdb9719cb8a550f7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 8 14:58:41 2013 +0000 + + scaled-font: Always hold the mutex even for single glyph probes + + The freeze/thaw routines have a side-effect of managing the global glyph + cache in addition to taking the mutex on the font. If we don't call + them, we may end up indefinitely keeping the global glyph cache frozen + (effectively leaking glyphs to the maximum of all open fonts) and + triggering asserts. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-scaled-font.c | 41 +++++++++++++++++++++-------------------- + 1 file changed, 21 insertions(+), 20 deletions(-) + +commit 80cc532271d7e94ad02732841fbcdc811cce8754 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 8 13:47:23 2013 +0000 + + script: Thaw the scaled font cache on the error path + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-script-surface.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit e1307da8616027004dd6c901017a667b1503781d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 8 12:53:24 2013 +0000 + + script: Simply exchange source/dest images for _set_source_image + + But note we can only do the exchange if they do indeed match and + there are no other references (the objects are only on the stack). + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-script/cairo-script-operators.c | 19 ++++++++++++++----- + 1 file changed, 14 insertions(+), 5 deletions(-) + +commit 146da77d85b304651949a819bc8b0a74819f0416 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Jan 8 12:19:33 2013 +0000 + + script: Attempt to decompress images in place + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-trace.c | 16 +- + util/cairo-script/cairo-script-interpreter.h | 7 + + util/cairo-script/cairo-script-operators.c | 391 +++++++++++++++----------- + 3 files changed, 247 insertions(+), 167 deletions(-) + +commit 5f2e89660d5e38d8e2682945962521958f150825 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Jan 7 13:11:06 2013 +0000 + + image: Call pixman without a mask for opaque regions of inplace_spans + + Speedups + ======== + firefox-paintball 59462.09 -> 40928.76: 1.45x speedup + firefox-fishtank 43687.33 -> 34627.78: 1.26x speedup + firefox-tron 52526.00 -> 45754.73: 1.15x speedup + + However in order to avoid a regression with firefox-talos-svg we need to + prevent splitting up the scanline when using a gradient source. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 57 ++++++++++++++++++++++++++++++++++-------- + 1 file changed, 47 insertions(+), 10 deletions(-) + +commit a73e7ff0186176bc82cd3ae1432c054c1fd3aebd +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 6 11:29:27 2013 +0000 + + xlib: Simplify source creation by use of map-to-image + + We were open-coding the functionality of map-to-image inside the source + creation routines. so refactor to actually use map-to-image instead. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-source.c | 92 +++++++++++++++++------------------------------ + 1 file changed, 33 insertions(+), 59 deletions(-) + +commit 4f142f3a7bf24b659c5caccab3a1aedd6b680909 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jan 6 10:32:25 2013 +0000 + + xlib/shm: Only mark the shm pixmap as active if we upload into it + + Be more strict with when we mark the pixmap as active so that we only + wait for the actual XCopyArea involving the pixmap to complete. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 23 ++++++++++++++--------- + 1 file changed, 14 insertions(+), 9 deletions(-) + +commit 45a4b42a361eb791c571b201e11c3505a0a1a396 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jan 4 17:32:46 2013 +0000 + + script: Recompress strings using LZO whilst binding traces + + Try using the lighter-weight LZO decompressor in an effort to speed up + replays (at the cost of making the bound traces slightly larger). + Presuming that with the slight increase in file size (from -1% to +10%), + the file data remains in the readahead buffer cache, replays see a + performance improvement of between 5-10%. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + configure.ac | 12 ++ + util/cairo-script/Makefile.am | 2 +- + util/cairo-script/cairo-script-file.c | 32 ++++- + util/cairo-script/cairo-script-objects.c | 3 + + util/cairo-script/cairo-script-operators.c | 45 +++++-- + util/cairo-script/cairo-script-private.h | 5 + + util/cairo-script/cairo-script-scanner.c | 184 +++++++++++++++++++++------- + 7 files changed, 227 insertions(+), 56 deletions(-) + +commit 9194904fa838a115b4dc58e5bff7a235cc2a9a7a +Author: Martin Robinson <mrobinson@igalia.com> +Date: Fri Jan 4 16:31:01 2013 -0800 + + gl: Better handling of clear surfaces + + When clearing a GL surface, set is_clear to true, and when mapping to an + image, handle is_clear like surfaces without modification. Additionally, + explicitly clear surfaces created via cairo_surface_create_similar. + + src/cairo-gl-surface.c | 43 +++++++++++++++++++++++++++++++++++++------ + 1 file changed, 37 insertions(+), 6 deletions(-) + +commit 9bff4508443abe002fcb0ffdb9b1897272f1c588 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Fri Jan 4 15:47:13 2013 -0800 + + boilerplate/glx: Add a target with multisampling and stencil support + + Add a gl-window target that supports multisampling. This is useful for + testing the MSAA backend on the default framebuffer. + + boilerplate/cairo-boilerplate-glx.c | 170 ++++++++++++++++++++--------------- + 1 file changed, 96 insertions(+), 74 deletions(-) + +commit 8cd604e18adc1dbe22303d5c57dae374d7e8cd2b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Jan 4 14:03:40 2013 +0000 + + gobject: Fix my typo s/TEST/TEXT/ in the previous commit + + Again reported by Kouhei Sutou, who I am grateful for his deligence. + + util/cairo-gobject/cairo-gobject.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit a4f221498c20bd9bd6178fddc1ba481ff3fd6cb3 +Author: Kouhei Sutou <kou@clear-code.com> +Date: Fri Jan 4 12:18:29 2013 +0000 + + gobject: Fix "text_cluster_flags_get_type" typo + + The macro missed the text from the name, rendering it useless. + + util/cairo-gobject/cairo-gobject.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 9dde964553f74ccbc037b13ca83d0abb46adb194 +Author: Henry Song <henry.song@samsung.com> +Date: Thu Jan 3 16:03:55 2013 -0800 + + gl/msaa: Only clear parts of the stencil buffer we will use + + Writing to the stencil buffer can be expensive, so when using the + stencil buffer for clipping only clear the clip extent. When using the + stencil buffer to prevent overlapping rendering during stroking, only + clear the approximate stroke extents. + + src/cairo-gl-composite.c | 17 ++++++++++------- + src/cairo-gl-msaa-compositor.c | 34 ++++++++++++++++++++++++++++++---- + src/cairo-gl-private.h | 4 ++++ + 3 files changed, 44 insertions(+), 11 deletions(-) + +commit 5e9083f882859201c5df18fc870577a224f88cbb +Author: Alejandro G. Castro <alex@igalia.com> +Date: Wed Mar 7 14:38:52 2012 +0100 + + gl/msaa: Avoid the stencil buffer when possible during masking + + In this case we can draw the clip path and avoid the stencil buffer, + which can be expensive. + + src/cairo-gl-msaa-compositor.c | 68 +++++++++++++++++++++++++++++++--------- + 1 file changed, 53 insertions(+), 15 deletions(-) + +commit dd850583a7f57a666da6af218841bb10b536df46 +Author: Henry Song <henry.song@samsung.com> +Date: Tue Mar 13 08:43:24 2012 -0700 + + gl/msaa: Add full support for masking with the SOURCE operator + + Since OpenGL does not have a means to represent a masking SOURCE + operation in one step, we use two steps combined with the ADD + operator. + + src/cairo-gl-composite.c | 108 ++++++++++++++++++++++++---------------- + src/cairo-gl-msaa-compositor.c | 84 ++++++++++++++++++++++++++++--- + src/cairo-gl-private.h | 9 ++++ + 3 files changed, 152 insertions(+), 49 deletions(-) + +commit c743e93451f467782b861c67a6894df26082d5c6 +Author: Chuanbo Weng <chuanbo.weng@intel.com> +Date: Wed Jan 2 18:03:44 2013 +0100 + + gl: Support the GL_IMG_texture_npot extension + + This extension, used by older PowerVR drivers, is functionally + equivalent to the GL_OES_TEXTURE_NPOT extension. + + src/cairo-gl-device.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit ae1724ced98b86aaf97c7be9c4294fa3823d7350 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jan 3 13:46:20 2013 +0000 + + Add missing local slim proto for cairo_recording_surface_create + + Dependency introduced in 749ef6be4d11b95d666b0e5fe06df926b828d655 + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairoint.h | 1 + + 1 file changed, 1 insertion(+) + +commit 872a92b874270ac3b83b0e206fb5b15a7405502a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jan 3 13:30:13 2013 +0000 + + scaled-font: Mention ownership of returned object from get_font_face() + + As suggested by Simon Sapin. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-scaled-font.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 734a541dc34565f40fe0ae4e93c81c4849198a79 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jan 3 13:01:34 2013 +0000 + + xlib: Avoid copying the source twice if it is an image + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-source.c | 37 +++++++++++++++++++++++++++---------- + 1 file changed, 27 insertions(+), 10 deletions(-) + +commit ecc8c28b24cb5fcd85aee5d4c82b9ad72c87fa69 +Author: Kouhei Sutou <kou@clear-code.com> +Date: Thu Jan 3 12:37:43 2013 +0000 + + gobject: Add the correct macro name for the hint-metrics type + + s/CAIRO_GOBJECT_TYPE_HNT_METRICS/CAIRO_GOBJECT_TYPE_HINT_METRICS/ + + However, as we have already released the broken headers, we need to + preserve that mistake in case applications are already using. Since it + is just a #define, there is little associated cost with carrying both + the incorrect spelling and the corrected define. + + util/cairo-gobject/cairo-gobject.h | 2 ++ + 1 file changed, 2 insertions(+) + +commit 5bc1b1f6aac108d9a3963352ad774bb4fcd69e28 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 24 17:22:34 2012 +0100 + + stroke: Make the incremental trapezoid stroker optionally available again + + Whilst it cannot handle self-intersecting strokes (which includes the + antialias region of neighbouring lines and joints), it is about 3x + faster to use than the more robust algorithm. As some backends delegate + the rendering, the quality may still be preserved and so they should be + responsible for choosing the appropriate method for generation of the + stroke geometry. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/Makefile.sources | 1 + + src/cairo-cogl-surface.c | 6 +- + src/cairo-path-stroke-traps.c | 1120 ++++++++++++++++++++++++++++++++++++ + src/cairo-path-stroke.c | 12 +- + src/cairo-recording-surface.c | 12 +- + src/cairo-rectangle.c | 2 +- + src/cairo-stroke-style.c | 39 ++ + src/cairo-traps-compositor.c | 37 +- + src/cairo-traps-private.h | 9 + + src/cairo-traps.c | 252 ++++++++ + src/cairoint.h | 21 +- + src/test-base-compositor-surface.c | 8 +- + 12 files changed, 1489 insertions(+), 30 deletions(-) + +commit 74941f822015cc50cd8477d0cf97f1a70dbff60b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Jan 2 22:27:55 2013 +0000 + + xlib: Use SHM transport for ordinary image uploads + + In theory this should just save a single copy, however PutImage will + break up requests into a series of scanlines requests which is less + efficient than the single-shot transfer provided by ShmPutImage. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface.c | 100 +++++++++++++++++++++++++++++++++++----------- + 1 file changed, 77 insertions(+), 23 deletions(-) + +commit bf2a04c5ab91c93d4d188afd030b3004c67a180f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jan 3 12:24:14 2013 +0000 + + xlib/shm: Fix typo in creation of a SHM image + + Pass along the size the caller requests, not the size of the related + drawable. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +commit c29ab389fb2b3b91c895f2df684b0e9af8225d12 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Dec 30 12:32:45 2012 +0000 + + gl: Provide a fast emitter for solid spans + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 55 +++++++++++++++++++++++++++++++++++++++++----- + 1 file changed, 50 insertions(+), 5 deletions(-) + +commit d3848521c497dbcd3d9ae0fab34fa70c72752e60 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Dec 30 12:32:45 2012 +0000 + + gl: Provide a fast emitter for solid glyphs + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 62 ++++++++++++++++++++++++++++++++++++---------- + 1 file changed, 49 insertions(+), 13 deletions(-) + +commit 127dd466695dcb05e6178e4ed2471dba1b229d17 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Dec 30 12:21:11 2012 +0000 + + gl: Use vfunc for vertex emission + + In order to overload the emitters in future to provide specialised + routines for the common types of operands, begin by switching the + current users over to a vfunc interface. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-composite.c | 107 +++++++++++++++++++++++++++--------- + src/cairo-gl-glyphs.c | 11 ++-- + src/cairo-gl-private.h | 48 +++++++++------- + src/cairo-gl-spans-compositor.c | 115 +++++++++++++++++++++------------------ + src/cairo-gl-surface.c | 2 +- + src/cairo-gl-traps-compositor.c | 21 +++---- + 6 files changed, 190 insertions(+), 114 deletions(-) + +commit 9558cb62c6a3ed59a53f00f740a261251b9b64b2 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Dec 29 18:30:48 2012 +0000 + + perf/chart: Contract the default output filenames + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-chart.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +commit fbd4864995e261a4cfc5e53273b53ce8a22d72db +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Dec 29 18:30:48 2012 +0000 + + perf/chart: Show the geometric average as an extra column + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + perf/cairo-perf-chart.c | 112 ++++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 111 insertions(+), 1 deletion(-) + +commit 71028865fae38bf26c45aae72e0a6773a19a640d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Dec 29 15:05:53 2012 +0000 + + Revert "xlib/shm: Do not trigger a surplus event from XShmPutImage" + + This reverts commit c97f2d4acd5c4a1a4b839c72626f84e242e60b23. + + Testing suggests that keeping that event is a win; so do so. + + src/cairo-xlib-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c97f2d4acd5c4a1a4b839c72626f84e242e60b23 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Dec 29 14:56:24 2012 +0000 + + xlib/shm: Do not trigger a surplus event from XShmPutImage + + As our lazy event mechanism is sufficient for tracking when to reuse shm + memory, and the events are not necessary for ShmPut/ShmGetImage paths. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 0c84a5474d4e90fc9361ccbb0ebc3d0580bad82b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Dec 29 11:41:17 2012 +0000 + + xlib/shm: Rate-limit events and only use as necessary + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-render-compositor.c | 4 +- + src/cairo-xlib-surface-shm.c | 110 +++++++++++++++++++++++++----------- + 2 files changed, 79 insertions(+), 35 deletions(-) + +commit 21db1c99108dc84166cbd9641f3256b22f571ee3 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Fri Dec 28 14:10:29 2012 -0800 + + gl: Cleanup selection of multisampling mode + + Fold the choice of multisampling mode into the cairo_gl_composite_t + structure itself. This makes it more similar to other settings. + + src/cairo-gl-composite.c | 20 +++++++++----------- + src/cairo-gl-msaa-compositor.c | 14 +++++++++----- + src/cairo-gl-private.h | 9 ++++----- + 3 files changed, 22 insertions(+), 21 deletions(-) + +commit 7d02e2d62d1d2d2852f256905af60f418216b9ea +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Dec 23 11:12:21 2012 +0000 + + xlib/shm: Populate send_event and serial + + Hopefully this random choice is more meaningful than random junk. + + Bugzilla; https://bugs.freedesktop.org/show_bug.cgi?id=58672 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit e748c122435c1047894f73c14266bc81ad2edecd +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Dec 22 18:34:43 2012 +1030 + + doc: Add CAIRO_MIME_TYPE_UNIQUE_ID to list of supported mime types + + src/cairo-surface.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 4e751fcb031557e6ad720f5bf5f14e181564ab9b +Author: David Maxwell <damaxwell@alaska.edu> +Date: Thu Oct 11 08:52:36 2012 -0800 + + type1-subset: always include subroutine 4 (hint replacement idiom) + + http://lists.cairographics.org/archives/cairo/2012-December/023846.html + + src/cairo-type1-subset.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit b94a519aad3d5b50aa6de47ee16ee6a099de9791 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Dec 21 18:40:08 2012 -0500 + + [ft] Fix resizing of bitmap fonts + + Say, you were asking cairo for a font at 200px. For bitmap-only fonts, + cairo was finding the closes strike size and using it. If the strike + was at 20px, well, that's what you were getting. We now scale that 20px + strike by a factor of 10 to get the correct size rendering. + + Note that by itself this patch doesn't change much on the Linux desktop. + The reason is that the size you are interested in (eg. 200px) is lost by + fontconfig. When you request a font at 200px, fontconfig returns a font + pattern that says 20px, and so the next layers thing you want a font at + 20px. To address that, one also needs a piece of fontconfig config that + puts the 200 back into the pixelsize. Something like this: + + <match target="font"> + <test name="scalable" mode="eq"> + <bool>false</bool> + </test> + <edit name="pixelsize" mode="assign"> + <times> + <name>size</name> + <name>dpi</name> + <double>0.0138888888888</double> <!--1/72.--> + </times> + </edit> + </match> + + I'm going to try to upstream this config so it will be enabled by + default. The config can be a bit smarter. For example, if + metricshinting is enabled and the size difference is small, we may as + well not scale. + + The nice thing about this is that the configuration of whether and when + to scale bitmaps will be done in fontconfig, not cairo / Qt / ... code. + + src/cairo-ft-font.c | 66 ++++++++++++++++++++++++++------------------------- + 1 file changed, 34 insertions(+), 32 deletions(-) + +commit 1404ed9692af1958b4090c46d1a27e0fe4a5616e +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Dec 21 18:35:41 2012 -0500 + + [ft] Remove ancient check for FT_Bitmap_Size.y_ppem + + That member is available in the version of FreeType we require. + + configure.ac | 7 ------- + src/cairo-ft-font.c | 11 +---------- + 2 files changed, 1 insertion(+), 17 deletions(-) + +commit 867c876b0e7ce3dcc8afc7227ef6317701a6dda0 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Nov 7 14:30:35 2012 -0800 + + [Minor] Improve logging + + src/cairo-xlib-render-compositor.c | 2 ++ + src/cairoint.h | 2 +- + 2 files changed, 3 insertions(+), 1 deletion(-) + +commit 5d21c9e224617110678a5b854a6a41049a02fca2 +Author: Adam Jackson <ajax@redhat.com> +Date: Tue Dec 18 13:33:13 2012 -0500 + + xlib/shm: Fix memory leak + + Despite subclassing image surfaces, we never called down to the image + surface destructor, so we leaked a pixman_image_t every time. + + Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=882976 + Signed-off-by: Adam Jackson <ajax@redhat.com> + + src/cairo-xlib-surface-shm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 51435eeb0c4d9e53d76dae8b5af279ad518a05f8 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Dec 17 18:33:22 2012 +0100 + + xcb: Fix xcb-huge-subimage + + This teaches the xcb backend how to split up a PutImage request for a subimage + into multiple requests. The backend already does the same for "normal" PutImage + where it doesn't have to assemble the image from various rows. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-connection-core.c | 72 +++++++++++++++++++++++++++++++-------- + 1 file changed, 58 insertions(+), 14 deletions(-) + +commit 5fb364287f96e4457d8df107ba3d0dc3f99f6f04 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Dec 17 18:29:21 2012 +0100 + + test: Add xcb-huge-subimage + + This creates an image surface with a non-natural stride and paints it to a + similar surface. + + In the xcb backend, this causes a call to _cairo_xcb_connection_put_subimage() + which tries to send a huge PutImage request. As a result, xcb kills the X11 + connection. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/Makefile.sources | 1 + + test/reference/xcb-huge-subimage.ref.png | Bin 0 -> 97 bytes + test/xcb-huge-subimage.c | 81 ++++++++++++++++++++++++++++++ + 3 files changed, 82 insertions(+) + +commit 749ef6be4d11b95d666b0e5fe06df926b828d655 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Dec 17 17:45:25 2012 +0100 + + context: Use recording surfaces for unbounded groups + + The old code uses an uninitialized variable for the extents of the group that is + created. This patch makes it use an unbounded recording surface instead. + + This has the implicit assumption that everything that is unbounded smells like a + recording surface. Let's see when this assumption breaks. :-) + + http://lists.cairographics.org/archives/cairo/2012-October/023585.html + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-default-context.c | 23 ++++++++++++++--------- + 1 file changed, 14 insertions(+), 9 deletions(-) + +commit 433a5829d7c38a9301346fc5a643e623565c1625 +Author: Martin Robinson <mrobinson@igalia.com> +Date: Mon Dec 17 17:53:33 2012 +0100 + + Revert "gl/msaa: Share the depth/stencil buffer among all surfaces" + + This was pushed mistakenly. Sorry. + + This reverts commit a7d684e6fe4bbeea2262276aaa57bb2a47c401df. + + src/cairo-gl-device.c | 118 ++++++++++++++---------------------------------- + src/cairo-gl-private.h | 13 ------ + src/cairo-gl-surface.c | 31 ++----------- + 3 files changed, 38 insertions(+), 124 deletions(-) + +commit 000a137a6554cfc350407f3b719fb4aa3a1c33c6 +Author: Uli Schlachter <psychon@znc.in> +Date: Mon Dec 17 17:12:59 2012 +0100 + + boilerplate-xcb: Ignore MappingNotify events + + The boilerplate code makes sure that our tests didn't cause any X11 errors or + X11 events, because those might confuse API users. + + However, when the keyboard layout changes, every connection gets a MappingNotify + event. This means that the test and performance test suites failed when the + keyboard layout was changed while they are running. + + Fix this by ignoring MappingNotifies. + + Reported by Arthur Huillet on IRC. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + boilerplate/cairo-boilerplate-xcb.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +commit 9d9aa04b60e24542b6b2a4c6bf87115db7736c2f +Author: Martin Robinson <mrobinson@igalia.com> +Date: Mon Dec 3 16:08:23 2012 -0800 + + gl: Add BGRA download support for GLES2 + + Some OpenGLES2 drivers support downloading BGRA data. On little-endian + systems BGRA and GL_UNSIGNED_BYTe is equivalent to the typical + cairo_image_t format, so this can prevent CPU bit swizzling for + operations that involve images. + + src/cairo-gl-device.c | 18 +++++++++++++++++ + src/cairo-gl-private.h | 1 + + src/cairo-gl-surface.c | 51 ++++++++++++++++++++++++------------------------ + 3 files changed, 44 insertions(+), 26 deletions(-) + +commit a7d684e6fe4bbeea2262276aaa57bb2a47c401df +Author: Martin Robinson <mrobinson@igalia.com> +Date: Mon Mar 5 23:11:19 2012 -0800 + + gl/msaa: Share the depth/stencil buffer among all surfaces + + Instead of allocating a depth/stencil buffer for all surfaces, share a + common buffer that's the size of the largest surface. This reduces + video memory usage when there are many GL surfaces. + + src/cairo-gl-device.c | 118 ++++++++++++++++++++++++++++++++++-------------- + src/cairo-gl-private.h | 13 ++++++ + src/cairo-gl-surface.c | 31 +++++++++++-- + 3 files changed, 124 insertions(+), 38 deletions(-) + +commit ba4a4eae051cd932e59e3092ef36d4f6cded0159 +Author: Chuanbo Weng <chuanbo.weng@intel.com> +Date: Tue Oct 2 13:58:49 2012 +0200 + + gl/msaa: Use GL_IMG_multisampled_render_to_texture when available + + Some OpenGLES platforms support GL_IMG_multisampled_render_to_texture + instead of GL_EXT_multisampled_render_to_texture. + + src/cairo-gl-device.c | 8 ++++++++ + src/cairo-gl-dispatch-private.h | 10 +++++++--- + src/cairo-gl-dispatch.c | 26 ++++++++++++++++++++++++++ + 3 files changed, 41 insertions(+), 3 deletions(-) + +commit 3bedff0c009e645fff2d6f40976b4483871e73e1 +Author: Henry Song <henry.song@samsung.com> +Date: Tue May 15 20:32:44 2012 +0200 + + gl: Properly disable ctx->spans when necessary + + When compositing starts, if we are not using the spans compositor, we + should set the spans member of the context to false. + + src/cairo-gl-composite.c | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +commit 18e7234c7e56ca26d7d7a2e29b1da2bb6944bb34 +Author: Henry Song <henry.song@samsung.com> +Date: Wed May 23 15:12:16 2012 +0200 + + gl/msaa: Also setmsaa_active to true for non-texture surfaces + + This is important because there are places in the code where msaa_active + is used to decide whether or not to complete an operation with + multisampling or not. + + src/cairo-gl-device.c | 1 + + 1 file changed, 1 insertion(+) + +commit 9f43f096b22a13f02d638b86b4460c7ed66d3c96 +Author: Henry Song <henry.song@samsung.com> +Date: Sat Dec 1 17:08:56 2012 +0000 + + gl: Flush context upon evicting a gradient + + As the random selection of a gradient can possible destroy the currently + active gradient, we need to flush the context in order to flush any + references to the texture before deletion. + + src/cairo-gl-gradient.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit a0fb1391315033de54368715a8855aedea258e67 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Dec 1 09:21:15 2012 +0000 + + mempool: Reduce the assertion into an alignment adjustment for the base + + Instead of asserting that the caller passed in a chunk-aligned base + pointer, just perform the fixup whilst initialising the mempool. This + means that the caller (xcb!) cannot assume that the mempool->base is + then the same base pointer as passed in and so needs to store it + separately for use in computing SHM offsets. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-mempool.c | 9 +++++++++ + src/cairo-xcb-shm.c | 14 +++++++------- + 2 files changed, 16 insertions(+), 7 deletions(-) + +commit 153b11612f34294241429b53722839984f367f2e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Nov 28 09:57:29 2012 +0000 + + script: Fix map-to-image/unmap stack manipulations + + The idiom (and expectation) for surface operators is that it leaves the + surface on the stack for the next operation. Also we need to hold onto a + surface reference for objects put onto the stack, yet for the + map-to-image return we did not own one. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-script/cairo-script-operators.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit dfbf80a57d161707d105d1b5711c85890fe18a6d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Nov 27 12:25:56 2012 +0000 + + trace: Do not forcibly add surfaces to the dictionary + + Adjust the stack manipulation to avoid moving an unknown surface to + the dictionary. + + Reported-by: Dongyeon Kim <dy5.kim@samsung.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-trace/trace.c | 50 +++++++++++++++++++++++++++++----------------- + 1 file changed, 32 insertions(+), 18 deletions(-) + +commit 376d39121c0d4eba8f0a22be71f782ce18e50923 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Nov 27 12:25:56 2012 +0000 + + trace: Fix operand emission for map-to-image and unmap-image + + Reported-by: Dongyeon Kim <dy5.kim@samsung.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/cairo-trace/trace.c | 58 +++++++++++++++++++++++++++------------------- + 1 file changed, 34 insertions(+), 24 deletions(-) + +commit 62b795fe52c73ad58101c101aa77449f4b61a576 +Author: Zozó Teki <teknos@gmail.com> +Date: Sat Nov 10 08:35:33 2012 +0000 + + recording: Append new elements to the end of the bbtree chain + + I have noticed that some of my objects were lost when drawing them on + a recording surface and playing them back. Later elements with the same + extents as a prior one tend to disappear from the chain of headers + having similar extents. After doing some debugging, I found that they + are not properly added to the bbtree during playback, and were instead + clobbering the existing chain. + + src/cairo-recording-surface.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 6ed1da67b5814c5ff062831f17621a585f81d704 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Nov 4 15:34:34 2012 +0000 + + version: Post-release bump to 1.12.9 + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit cc162915a55cc67587677352bd9e389f16117853 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Nov 4 14:23:09 2012 +0000 + + 1.12.8 release + + NEWS | 42 ++++++++++++++++++++++++++++++++++++++++++ + cairo-version.h | 2 +- + 2 files changed, 43 insertions(+), 1 deletion(-) + +commit cf07bd866dc3fdbfaf3d7e7fdc83cc2a4ef5698c +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Nov 3 11:08:01 2012 +1030 + + type1-subset: remove unused variable + + src/cairo-type1-subset.c | 4 ---- + 1 file changed, 4 deletions(-) + +commit 9f537156adcab5e7a9b21cd2bb5cc7676db52713 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Nov 3 11:07:02 2012 +1030 + + type1-subset: fix memory leak + + src/cairo-type1-subset.c | 52 +++++++++++++++++++++++++++++----------------- + 1 file changed, 33 insertions(+), 19 deletions(-) + +commit 724c6dfa9521e887682029add879c2fcdd518b14 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Nov 2 16:54:46 2012 +0000 + + xlib/shm: Need IncludeInferiors when creating the source fallback + + Reported-by: Benjamin Otte <otte@redhat.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +commit 1f4d05b55c96347aa4240190fda27f951b00c539 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Nov 2 14:52:03 2012 +0000 + + stroke: Fix calling '_cairo_spline_intersect' for in-bounds checking of splines + + Fixes stroke-clipped, within reason. There still remains some + antialiasing noise (between rendering the circle piecewise and wholly) + worth investigating - but that is probably an artefact of switching + between analytical rendering modes in the scanline + rasterisation. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-stroke-polygon.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 2dd4ff32064c3c564e0902ae07330272e6676c22 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Nov 2 14:48:40 2012 +0000 + + test: Add stroke-clipped + + Exercise a bug in the determine of clip-bounds when stroking, as + reported by ed44. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + test/Makefile.sources | 1 + + test/reference/stroke-clipped.ref.png | Bin 0 -> 5886 bytes + test/stroke-clipped.c | 54 +++++++++++++++++++++++++++++++++ + 3 files changed, 55 insertions(+) + +commit e9d45705844f67f4c8342d68fe35ad08ea008e30 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Nov 1 11:42:46 2012 +0000 + + pen: Tighten checking for bevel (start==stop) joins + + From commit d7f5a1bec421d6c7b92d16daae681fa31ac7c212 + Author: Chris Wilson <chris@chris-wilson.co.uk> + Date: Wed Oct 31 09:27:52 2012 +0000 + + pen: First check whether the in/out edges lie within the single pen vertex + + makes a couple of tests much happier. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-pen.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 90860241bb8f8eff3c1ab40641b1bfca0798b238 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Nov 1 09:47:00 2012 +0000 + + gl: Tune the default VBO size to reduce overhead on embedded devices + + Henry Song found that the 256k buffers were disadvantageous on his + embedded hardware. As there is no obvious right value for the default + VBO size, we can tune for the more obvious constraints. + + Based on a patch by Henry Song <henry.song@samsung.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-gl-private.h | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit 0c1ff1572f1fc4c11b429e39f7de798030530740 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Nov 1 08:45:37 2012 +0000 + + xlib: Fixup standalone header compilation for 'make check' + + Missing include of string.h + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-private.h | 1 + + 1 file changed, 1 insertion(+) + +commit b6daf47fa08c74d9672040b2b98ac6dd1f841429 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Nov 1 08:39:01 2012 +0000 + + spans: Do not assume that we manage to perform the clip geometrically + + Even for bounded masks, we may fail to perform the clipping + geometrically for a variety of reasons, the prime one being that the + clip has a mixture of antialias settings. So when compositing the + polygon, we need to check whether a clip path still remains and so + requires a clipmask. + + Fixes regression from + + commit cd1004ce19c7ea28c7fedb6464562a08416586c0 + Author: Chris Wilson <chris@chris-wilson.co.uk> + Date: Fri May 11 21:20:35 2012 +0100 + + traps,spans-compositor: Avoid mistreating unaligned clips as aligned + + and + + commit 4ea3ace6c810ba090464e48795fac5456f6cdc24 + Author: Chris Wilson <chris@chris-wilson.co.uk> + Date: Fri May 11 21:51:44 2012 +0100 + + spans: Only fallback for a clipmask if unbounded + + Reported-by: Dominik Röttsches <dominik.rottsches@intel.com> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56574 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-spans-compositor.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +commit 5844dead01db9ddab7f10a4d685bc5ee874d0eba +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Nov 1 08:37:58 2012 +0000 + + util/show-polygon: Show the limited range of each edge + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + util/show-polygon.c | 52 +++++++++++++++++++++++++++++++++++++++++++++++---- + 1 file changed, 48 insertions(+), 4 deletions(-) + +commit 03adea2f50aa10d49ff578389927e7b37e265918 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Nov 1 08:37:01 2012 +0000 + + stroke: Precompute the line half-width + + As we regularly recompute stroke->line_width/2 we may as compute it once + during initialisation. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-path-stroke.c | 17 +++++++++-------- + 1 file changed, 9 insertions(+), 8 deletions(-) + +commit dbc0d83f2a7a0e6658f3b97b5f9921c44ef6a11f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Oct 31 15:18:21 2012 +0000 + + image: Add a couple of tracepoints for spans fallbacks + + References: https://bugs.freedesktop.org/show_bug.cgi?id=56574 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-image-compositor.c | 3 ++- + src/cairo-spans-compositor.c | 13 ++++++++++--- + 2 files changed, 12 insertions(+), 4 deletions(-) + +commit 9b7ed9b2cd6c9ee4dfab71aed9b7d97b720fceb0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Oct 31 13:15:07 2012 +0000 + + xlib/shm: Fix bogus assertion without shm available + + In particular note that _cairo_xlib_surface_put_shm is indeed called and + is expected to be a no-op when shm is not available. + + Reported-by: Thomas Klausner <wiz@NetBSD.org> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d7f5a1bec421d6c7b92d16daae681fa31ac7c212 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Oct 31 09:27:52 2012 +0000 + + pen: First check whether the in/out edges lie within the single pen vertex + + In order to prevent underflow when searching for the closing pen vertex, + we first need to be sure that it does not simply lie next to the opening + pen vertex. As a result we were missing many cases that should have been + a bevel (in == out) and generating almost complete round caps instead. + + Reported-by: Dominik Röttsches <dominik.rottsches@intel.com> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56432 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-pen.c | 60 ++++++++++++++++--------------- + test/reference/arc-looping-dash.ref.png | Bin 502 -> 464 bytes + test/reference/caps-tails-curve.ref.png | Bin 54750 -> 54314 bytes + test/reference/reflected-stroke.ref.png | Bin 5139 -> 5116 bytes + 4 files changed, 32 insertions(+), 28 deletions(-) + +commit 66625cb46c985321c46b79d2163a4d676d6700ba +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Oct 30 12:40:41 2012 +0000 + + xlib: Apply the image offsets to the destination rather the source + + So that we can specify the entire source surface as the region to copy + and not introduce clipping errors. + + Fixes regression from + commit c068691ff57c2f6cd750a54db17393c0e132cb00 + Author: Chris Wilson <chris@chris-wilson.co.uk> + Date: Fri Aug 17 21:33:54 2012 +0100 + + xlib/shm: Use an impromptu upload ShmSegment + + Reported-by: John Lindgren <john.lindgren@aol.com> + Reported-by: Kalev Lember <kalevlember@gmail.com> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56547 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-render-compositor.c | 22 ++++++++++------------ + 1 file changed, 10 insertions(+), 12 deletions(-) + +commit 65176b7380f0d633da514be1febe16f17b99d876 +Author: Kevin Tardif <kiyoka@gmail.com> +Date: Tue Oct 30 00:27:27 2012 -0400 + + type1-subset, cff-subset: Plugged 2 memory leaks + + - _cairo_type1_font_subset_fini doesn't free font->cleartext + - _cairo_cff_font_create can exit without freeing font->font_name and/or + font->data; _cairo_cff_font_load_opentype_cff is called to allocate + font_name, then _cairo_cff_font_load_cff is called to allocate + font->data, then _cairo_cff_font_load_cff's return status is checked + and if it failed, it jumps to fail1. This can cause font_name to leak + since the fail1 target only frees the font variable. In addition, + _cairo_cff_font_load_cff can fail -after- allocating data, and then + data won't be freed either. + + Bug 56566 + + src/cairo-cff-subset.c | 6 +++--- + src/cairo-type1-subset.c | 2 ++ + 2 files changed, 5 insertions(+), 3 deletions(-) + +commit 0c800dc3f64ee030df1cd0a6a1dcd6df71502dea +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Oct 30 19:23:30 2012 +1030 + + type1-subset: ensure subroutine numnber is an integer + + src/cairo-type1-subset.c | 21 ++++++++++++--------- + 1 file changed, 12 insertions(+), 9 deletions(-) + +commit 5a6e1d680a5bf1c4091e74f999abd611abd92334 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Oct 28 20:58:52 2012 +1030 + + type1-subset: restore correct callothersub behavior + + that was removed in d57e652f. Without this subsetting of subroutines + won't work for some fonts. + + src/cairo-type1-subset.c | 35 +++++++++++++++++++++++++++++------ + 1 file changed, 29 insertions(+), 6 deletions(-) + +commit 0e2458697848cf8c89c9d57fa9b64f0ea7bd0877 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Oct 28 10:08:39 2012 +0000 + + xlib/shm: Use shmstr.h instead of shmproto.h if available + + Before it was known as shmproto.h, the wire protocol definition was to + be found in shmstr.h, so if we don't have the current version of libXext + try to use the older includes. + + Reported-by: Sebastian Haas <sehaas@gmail.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + configure.ac | 2 +- + src/cairo-xlib-surface-shm.c | 6 +++++- + 2 files changed, 6 insertions(+), 2 deletions(-) + +commit f18199fcfb3b052c198041fc05156ae3d9e6aee7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Oct 28 10:04:12 2012 +0000 + + xlib/shm: Check for XShm headers + + Not all version of libXext ship the same set of headers, so play safe + and check during configure that we have the headers we depend upon in + the code. + + Reported-by: Sebastian Haas <sehaas@gmail.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + configure.ac | 4 ++ + src/cairo-xlib-surface-shm.c | 99 ++++++++++++++++++++++++++++++++++++++++-- + 2 files changed, 100 insertions(+), 3 deletions(-) + +commit d57e652f08f5ff7c334d01bc071962e6a131928f +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Oct 26 23:00:01 2012 +1030 + + type1-subset: parse all operators + + The PDF at bug 56265 contained a Type 1 font that used the "div" + operator to compute the glyph width. As the "div" operator was + not handled by the charstring parser this resulted in an incorrect + glyph width in the PDF output. + + Fix this by upgrading the charstring parsing to handle all Type 1 + operators. + + src/cairo-type1-subset.c | 167 +++++++++++++++++++++++++++------------------- + 1 file changed, 100 insertions(+), 67 deletions(-) + +commit fdd2082f923012a1354be7086d03f78fb166695b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Oct 26 10:51:31 2012 +0100 + + xlib: Check for both X.org and Xorg ServerVendors + + Martin Husemann reported that on his NetBSD machine the vendor was being + reported as "The Xorg Foundation", a non-conformist separatist split of + the Peoples' Liberation Army^W^W^W "The X.Org Foundation". Simply check + for both during initialisation. + + Reported-by: Martin Husemann <martin@duskware.de> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-display.c | 2 +- + src/cairo-xlib-private.h | 7 +++++++ + src/cairo-xlib-surface-shm.c | 2 +- + 3 files changed, 9 insertions(+), 2 deletions(-) + +commit 00feb8ce530a472abbde445b52d9ae8c99ec97f0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Oct 26 10:51:31 2012 +0100 + + xlib/shm: Sanity check that the server handles XSendEvent with ShmCompletion + + Uli Schlachter suggested it would be wiser to complement our blacklist + of known broken X/libXext with an explicit roundtrip to check for a + BadValue error return when we try to use XSendEvent. + + Suggested-by: Uli Schlachter <psychon@znc.in> + Reported-by: Martin Husemann <martin@duskware.de> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 77 +++++++++++++++++++++++++++++++++++++----- + 1 file changed, 69 insertions(+), 8 deletions(-) + +commit e43f53bf7f3d371116f31f22ab9754b08b5abe7f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Oct 22 13:47:11 2012 +0100 + + version: Post release bump to 1.12.7 + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit fab6958eff35a94cf46e38f19a7e75e10aa2b182 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Oct 22 11:07:15 2012 +0100 + + 1.12.6 release + + NEWS | 35 +++++++++++++++++++++++++++++++++++ + cairo-version.h | 2 +- + 2 files changed, 36 insertions(+), 1 deletion(-) + +commit d49b2284b505e93cd415af4da3cd2cc2d3d168d3 +Author: Gilles Espinasse <g.esp@free.fr> +Date: Sat Oct 20 20:22:51 2012 +0200 + + configure: fix unrecognized -Wno option + + gcc-4.4 and later accept every -Wno option. So we can test for the + option without no in the name to check if the option is supported. + + Each time a warning is emitted and without this fix, on gcc-4.4 that will + add this warning: + cc1: warning: unrecognized command line option "-Wno-unused-but-set-variable" + + bugs.freedesktop.org #51633, rediffed after 1.12.4 + + Of course this assumes that all compilers will behave like gcc, which is + reasonably implicit in the set of warning flags. + + Signed-off-by: Gilles Espinasse <g.esp@free.fr> + [ickle: slight modification to test both -W and -Wno variants to ideally + preserve compatability with non-GCC compilers sharing GCC options!] + + build/configure.ac.warnings | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +commit b12a94b98306d87689bad23dad4c0ec033037046 +Author: Gilles Espinasse <g.esp@free.fr> +Date: Sat Oct 20 20:22:50 2012 +0200 + + configure: fix PKG_CHECK_MODULES tests displaying no no + + Inside PKG_CHECK_MODULES, AC_MSG_RESULT(no) is already displayed, so the + caller should not use another AC_MSG_RESULT(no). + + Add a comment that empty ACTION-IF-NOT-FOUND is not allowed for + PKG_CHECK_MODULES, but a simple : is enough. + + This is bugs.freedesktop.org #51628, rediffed after 1.12.4 + + Signed-off-by: Gilles Espinasse <g.esp@free.fr> + + build/aclocal.pkg.m4 | 2 ++ + configure.ac | 41 +++++++++++++++++------------------------ + 2 files changed, 19 insertions(+), 24 deletions(-) + +commit 813143c2205c12923519ce6dcf3c8e10f63f1085 +Author: Gilles Espinasse <g.esp@free.fr> +Date: Sat Oct 20 23:06:44 2012 +0200 + + ft: Fix compilation on 1.12 without FT_Get_X11_Font_Format + + Signed-off-by: Gilles Espinasse <g.esp@free.fr> + + configure.ac | 2 +- + src/cairo-ft-font.c | 23 +++++++++++++++++------ + 2 files changed, 18 insertions(+), 7 deletions(-) + +commit c565bad8901dbe66e1402cdc2418986e96e698e3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Oct 19 12:22:58 2012 +0100 + + pen: Relax invisibility criteria from half-tolerance to quarter-tolerance + + Inkscape is one user who sets geometric tolerance to 1.25 pixels when + stroking sub-pixel lines. Whilst we wait for inkscape to set sensible + values for their tolerance, we have to allow through the current values + in order to prevent the fine strokes from disappearing. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56099 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-pen.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5041b462d084de8552336275914d30c23bf5dd35 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Oct 19 12:04:50 2012 +0100 + + xlib/shm: Sync the XShmAttach before removing the ShmSegment id + + Whilst reading through other users of XShm, it became apparent that + IPC_RMID behaves differently across the platforms. Linux allows + processes to attach to an existing ShmSegment id after a IPC_RMID, but + for others the IPC_RMID takes immediate effect. On those platforms + without a "deferred" IPC_RMID, we then need to perform the XShmAttach + synchronously before perfomring the IPC_RMID. + + Reported-by: Thomas Klausner <wiz@NetBSD.org> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + configure.ac | 32 ++++++++++++++++++++++++++++++++ + src/cairo-xlib-surface-shm.c | 3 +++ + 2 files changed, 35 insertions(+) + +commit d5f9c694b9145f0464c8bd58d844bddedcb77d5e +Author: Uli Schlachter <psychon@znc.in> +Date: Tue Oct 16 17:09:42 2012 +0200 + + test: Define optional exception classes + + According to musl libc author: + + "C99 requires the FE_ macros to be defined if and only if the exception they + correspond to is supported" + + So we define these macros to 0 if they are not supported. Support for these FPU + exceptions is not necessary for correct functionality, but makes some tests less + effective. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55771 + Signed-off-by: Uli Schlachter <psychon@znc.in> + + test/cairo-test.c | 3 --- + test/cairo-test.h | 20 ++++++++++++++++++++ + test/invalid-matrix.c | 4 ---- + 3 files changed, 20 insertions(+), 7 deletions(-) + +commit db488a1703d4ef3bcbd54138b51c01600a2f4d3a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Oct 11 17:00:57 2012 +0100 + + recording: Copy across the is-clear? during snapshotting + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55799 + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-recording-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ed720007ba6be17434eb68b604fd36bd91c0d894 +Author: Henry Song <henry.song@samsung.com> +Date: Thu Oct 11 16:57:57 2012 +0100 + + recording: copy reverses its dst and src parameters + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55799 + + src/cairo-recording-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 26c8accd41163d86711ba900bec7d9cd6591d8a3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Oct 11 16:52:07 2012 +0100 + + xlib: Reorder CloseDisplay hooks + + As we may utilize X extensions as we shutdown and release resources + during CloseDisplay, we need to run our own callback first. If we run + last, than we reinstantiate the extensions which often have the + unfortunate habit of then persisting with stale data across the next + Display connection, causing invalid requests to be generated and raise + XErrors. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-display.c | 34 +++++++++++++++++----------------- + 1 file changed, 17 insertions(+), 17 deletions(-) + +commit fbf528f46deaebc7d8cf38fc61be9e016f207575 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Oct 9 17:37:53 2012 +0100 + + compositor: Reduce glyph "overlap" if the inked pixels are opaque + + We can ignore the issue of overdraw if when we paint the glyphs, the + result is opaque. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-composite-rectangles.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit 66500ef29fea41ccda554f85d82a6aa3de774903 +Author: Henry Song <henry.song@samsung.com> +Date: Thu Sep 27 19:22:23 2012 +0000 + + gl/traps: ensure RGBA surface before upload image to texture for GLES2 + + As GLESv2 may only use an RGBA surface as its source for texture + uploads, we therefore need to perform a conversion. + + src/cairo-gl-traps-compositor.c | 32 ++++++++++++++++++++++++++++++++ + 1 file changed, 32 insertions(+) + +commit 188c34b40d6f08851b4076ad11aefe69d4a78a25 +Author: Henry Song <henry.song@samsung.com> +Date: Thu Sep 27 18:25:52 2012 +0000 + + gl: gles2 only supports GL_DEPTH24_STENCIL8_OES + + Patch also provided by U. Artie Eoff <ullysses.a.eoff@intel.com> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50355 + + src/cairo-gl-device.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f78a9269228f2f48e8eb496e341ef990db39c6c3 +Author: Alexis Ballier <aballier@gentoo.org> +Date: Fri Sep 21 08:22:55 2012 -0300 + + cairo-sphinx: protect -ldl link with CAIRO_HAS_DL like in cairo-trace. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + util/cairo-sphinx/Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +commit 3d2712d56a22f2a86fb80da94c3e55be8d26a330 +Author: Alexis Ballier <aballier@gentoo.org> +Date: Fri Sep 21 08:22:54 2012 -0300 + + cairo-fdr: protect -ldl link with CAIRO_HAS_DL like in cairo-trace. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + util/cairo-fdr/Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +commit 9ab9916114db9917108198111d3232a18ae505ed +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Oct 7 23:54:20 2012 +1030 + + remove debug code + + src/cairo-type1-subset.c | 2 -- + 1 file changed, 2 deletions(-) + +commit 9c2a92c70836b8534ef8c26d943fa17f891da105 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Oct 7 23:50:54 2012 +1030 + + type1: convert '.' to locale specific decimal point before using sscanf + + src/cairo-type1-subset.c | 31 +++++++++++++++++++++++++++---- + 1 file changed, 27 insertions(+), 4 deletions(-) + +commit 0d5f63755e7ceb1bb5678fcf1f4661f3435470fb +Author: David Maxwell <damaxwell@alaska.edu> +Date: Sun Oct 7 00:01:53 2012 -0800 + + type1-subset: always subset subroutines 0-3 (Flex/hint replacement) + + http://lists.cairographics.org/archives/cairo/2012-October/023576.html + + src/cairo-type1-subset.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 599e78ea2ee146c74fc7ffcee32a055dabbefdda +Author: David Maxwell <damaxwell@alaska.edu> +Date: Tue Oct 2 16:16:28 2012 -0800 + + type1: lenIV support + + http://lists.cairographics.org/archives/cairo/2012-October/023557.html + + src/cairo-type1-subset.c | 42 ++++++++++++++++++++++++++++++++++++++---- + 1 file changed, 38 insertions(+), 4 deletions(-) + +commit cffbdf50ce0117d62d6e157369c60e4a8572fd21 +Author: David Maxwell <damaxwell@alaska.edu> +Date: Tue Oct 2 16:16:28 2012 -0800 + + type1: buildchar stack fix + + http://lists.cairographics.org/archives/cairo/2012-October/023557.html + + src/cairo-type1-subset.c | 1 + + 1 file changed, 1 insertion(+) + +commit e29bb5f295d055068a24b629fa1bd5f06a93431b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Oct 6 18:53:41 2012 +0100 + + win32: Use the image surface below the fallback when unmapping an HDC + + As for a native window, the surface does not have an image delegate + itself but instead installs a fallback surface during map_to_image. So + during unmap_image, we then need to unmap from the fallback surface + instead. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/win32/cairo-win32-display-surface.c | 1 + + 1 file changed, 1 insertion(+) + +commit 0251f0951d8dcdd198912326c11489823989a3eb +Author: Uli Schlachter <psychon@znc.in> +Date: Sat Oct 6 15:00:51 2012 +0200 + + xcb: Clear the result of create_similar_image + + The documentation of cairo_surface_create_similar_image() states that the + image's contents are initially all 0. However, the implementation didn't live up + to the documentation. + + This was found via the corresponding assert in + cairo_surface_create_similar_image(). + + There are some cairo-xcb-internal users of this function which cleared the image + right after creating it. Obviously, this isn't needed anymore. + + Fixes: Nothing. The existing call in the testsuite to + cairo_surface_create_similar_image() doesn't hit this issue, since it creates a + too small image to hit the SHM-case. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + + src/cairo-xcb-surface-render.c | 14 -------------- + src/cairo-xcb-surface.c | 5 +++++ + 2 files changed, 5 insertions(+), 14 deletions(-) + +commit 15ef4a3248bbf32d05da7ed2480a2ce58c26d9bc +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Oct 5 19:46:41 2012 +0100 + + xlib/shm: Note the bug is an interaction between libXext and xorg + + Søren thought it was bit harsh to lay the blame solely on xorg for it + crashing due to an unexpected input value, and that we should mention + libXext was also partly to blame for incorrectly setting the SEND_EVENT + bit in the ShmCompletionEvent. + + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +commit b1532f465e05d566f6d160c5ca916a5a12614067 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Oct 5 19:20:18 2012 +0100 + + xlib/shm: Avoid using XSendEvent with old versions of Xorg + + Søren Sandmann Pedersen pointed out that all versions of Xorg prior to + and including xorg-1.11.0 contained a bug that would cause them to crash + if they ever processed an event sent by XSendEvent. This was fixed in + + commit 2d2dce558d24eeea0eb011ec9ebaa6c5c2273c39 + Author: Sam Spilsbury <sam.spilsbury@canonical.com> + Date: Wed Sep 14 09:58:34 2011 +0800 + + Remove the SendEvent bit (0x80) before doing range checks on event type. + + so make sure we do not use XSendEvent prior to that commit, which + fortuitously is quite easy as we only do so along the ShmPixmap path. + + Reported-by: Søren Sandmann Pedersen <ssp@redhat.com> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + + src/cairo-xlib-surface-shm.c | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + +commit dba46f4eab716c0148d278ba7cae0cb075b5df01 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Oct 5 17:24:56 2012 +0100 + + version: Post release bump to 1.12.5 + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + commit 117abd85ac7ff41e484fe0d98f16704ec30abd09 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Oct 5 16:44:00 2012 +0100 |