Commit graph

142 commits

Author SHA1 Message Date
Bryce Harrington
3e41f7b381 NEWS: Flesh out docs for new APIs 2014-10-13 18:30:23 -07:00
Bryce Harrington
41561c527c NEWS: Update with latest changes and finalize for release 2014-10-13 18:20:45 -07:00
Bryce Harrington
bdd0721dcd NEWS: Revise downscaling feature description
Updated feature description using text from Bill.  Also updated bugfix
list to include recent fixes.
2014-09-23 16:41:36 -07:00
Bryce Harrington
40e7576796 NEWS: Note that downscaling changes only affect image + fallback 2014-09-22 15:06:54 -07:00
Bryce Harrington
3d68352e3c NEWS: Drop unfinished thought 2014-09-18 13:18:48 -07:00
Bryce Harrington
d1fa4d44fe NEWS: Bring up to date with recent bug fixes. 2014-09-17 20:04:01 -07:00
Bryce Harrington
2d95f803b1 NEWS: Add bug links and reword feature and bug descriptions 2014-04-18 12:33:45 -07:00
Bryce W. Harrington
457597e2dc NEWS: Summarize recent changes
This updates NEWS with items shown by `git log --stat 1.12.8..`
Hopefully I haven't misrepresented any of the work done.  For sake of
brevity where there were several changes in one area, I've given a
single general entry to summarize those changes.  The division between
features and bug fixes is quite rough.
2014-04-16 17:27:50 -07:00
Chris Wilson
8e11a42e3e 1.12.16 release 2013-08-26 17:56:27 +01:00
Chris Wilson
0dac37c414 1.12.14 release 2013-02-10 13:38:28 +00:00
Chris Wilson
15830fdb10 NEWS: fix a couple of typos
Reported-by: Thierry Vignaud
2013-01-31 18:50:39 +00:00
Chris Wilson
a201a1169f 1.12.12 release 2013-01-31 15:24:33 +00:00
Chris Wilson
2d6204c67d 1.12.10 release 2013-01-16 20:22:38 +00:00
Chris Wilson
cc162915a5 1.12.8 release 2012-11-04 14:23:09 +00:00
Chris Wilson
fab6958eff 1.12.6 release 2012-10-22 11:07:15 +01:00
Chris Wilson
117abd85ac 1.12.4 release 2012-10-05 16:44:00 +01:00
Chris Wilson
dbc0efad7e version: bump for cairo-1.12.2 release 2012-04-29 19:49:12 +01:00
Chris Wilson
a0bf6d25b5 version: bump for 1.12.0 release! 2012-03-23 19:33:07 +00:00
Chris Wilson
a8dbc68056 version: Bump for snapshot 1.11.4
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-12 09:26:07 +00:00
Chris Wilson
7e75e2d14a NEWS: 1.11.2 snapshot 2011-01-23 16:31:40 +00:00
Chris Wilson
de464ea778 NEWS: Add entry for 1.10.2 2010-12-25 13:24:37 +00:00
Chris Wilson
87fad10464 NEWS: Sum up 2 years of development for 1.10.0 in 60 lines 2010-09-06 17:14:41 +01:00
Chris Wilson
81094cf462 NEWS: 1.9.14 2010-07-26 12:52:56 +01:00
Chris Wilson
53b129dd8a NEWS for 1.9.12. 2010-07-12 12:19:54 +01:00
Chris Wilson
7a68a7bfd5 NEWS for 1.9.10 snapshot 2010-06-26 14:32:26 +01:00
Chris Wilson
5f10139cd9 NEWS: A couple more tweaks
I only spotted these in the release announcement.
2010-06-13 12:33:10 +01:00
Chris Wilson
ffc3a39c95 NEWS: Minor tweaks. 2010-06-13 10:25:49 +01:00
Chris Wilson
e9fb39daee NEWS: take two. 2010-06-12 19:40:42 +01:00
Chris Wilson
62899e5e23 NEWS: Boring stub for 1.9.10. 2010-06-12 18:51:31 +01:00
Carl Worth
1c3d417c30 NEWS: Add notes for the 1.9.6 snapshot.
Based on a very brief reading of the git log. There's certainly
a lot of interesting stuff missing here.
2010-02-19 17:24:01 -08:00
M Joonas Pihlaja
43a775f60d [meta] Rename cairo_meta_surface_t to cairo_recording_surface_t.
The new name is more descriptive than the rather opaque meta surface.
Discussed with vigour on the mailing list and #cairo:

http://lists.cairographics.org/archives/cairo/2009-July/017571.html
2009-10-22 02:29:47 +03:00
Carl Worth
37078b262a NEWS: Update with correct data for 1.9.4 snapshot 2009-10-15 14:11:04 -07:00
Benjamin Otte
6809e12161 [API] Make _cairo_meta_surface_replay() private again
Replaying a meta surface can be achieved by using it as a source for a
cairo_paint() so exporting a separate API is unnecesary and confusing.
So after consulting Chris and Carl, we decided to remove the function
again.
2009-09-30 08:58:19 +02:00
M Joonas Pihlaja
bb480d2358 [NEWS] Thank the AuroraUX team for facilitating Solaris testing. 2009-09-02 04:48:40 +01:00
Chris Wilson
f8bb3617c3 Eliminate self-intersecting strokes.
We refactor the surface fallbacks to convert full strokes and fills to the
intermediate polygon representation (as opposed to before where we
returned the trapezoidal representation). This allow greater flexibility
to choose how then to rasterize the polygon. Where possible we use the
local spans rasteriser for its increased performance, but still have the
option to use the tessellator instead (for example, with the current
Render protocol which does not yet have a polygon image).

In order to accommodate this, the spans interface is tweaked to accept
whole polygons instead of a path and the tessellator is tweaked for speed.

Performance Impact
==================

...
Still measuring, expecting some severe regressions.
...
2009-08-29 08:08:28 +01:00
Chris Wilson
786d1f962a [xlib] Use server-side gradients.
We can offload creation of gradients to server that support RENDER 0.10
and later. This greatly reduces the amount of traffic we need to send over
our display connection as the gradient patterns are much smaller than the
full image. Even if the server fallbacks to using pixman, performance
should be improved by the reduced transport overhead. Furthermore this is a
requisite to enable hardware accelerated gradients with the xlib backend.

Running cairo-perf-trace on tiny, Celeron/i915:

  before: firefox-20090601 211.585
   after: firefox-20090601 270.939

and on tiger, CoreDuo/nvidia:

  before: firefox-20090601 70.143
   after: firefox-20090601 87.326

where linear gradients are used extensively throughout the GTK+ theme.
Not quite the result I was expecting!

In particular, looking at tiny:

 xlib-rgba paint-with-alpha_linear-rgba_over-512   47.11 (47.16 0.05%) -> 123.42 (123.72 0.13%):  2.62x slowdown
█▋
 xlib-rgba paint-with-alpha_linear3-rgba_over-512   47.27 (47.32 0.04%) -> 123.78 (124.04 0.13%):  2.62x slowdown
█▋
 xlib-rgba paint-with-alpha_linear-rgb_over-512   47.19 (47.21 0.02%) -> 123.37 (123.70 0.13%):  2.61x slowdown
█▋
 xlib-rgba paint-with-alpha_linear3-rgb_over-512   47.30 (47.31 0.04%) -> 123.52 (123.62 0.09%):  2.61x slowdown
█▋
 xlib-rgba     paint_linear3-rgb_over-512   47.29 (47.32 0.05%) -> 118.95 (119.60 0.29%):  2.52x slowdown
█▌
 xlib-rgba     paint_linear-rgba_over-512   47.14 (47.17 0.06%) -> 116.76 (117.06 0.16%):  2.48x slowdown
█▌
 xlib-rgba    paint_linear3-rgba_over-512   47.32 (47.34 0.04%) -> 116.85 (116.98 0.05%):  2.47x slowdown
█▌
 xlib-rgba      paint_linear-rgb_over-512   47.15 (47.19 0.03%) -> 114.08 (114.55 0.20%):  2.42x slowdown
█▍
 xlib-rgba paint-with-alpha_radial-rgb_over-512  117.25 (119.43 1.21%) -> 194.36 (194.73 0.09%):  1.66x slowdown
▋
 xlib-rgba paint-with-alpha_radial-rgba_over-512  117.22 (117.26 0.02%) -> 193.81 (194.17 0.11%):  1.65x slowdown
▋
 xlib-rgba     paint_radial-rgba_over-512  117.23 (117.26 0.02%) -> 186.35 (186.41 0.03%):  1.59x slowdown
▋
 xlib-rgba      paint_radial-rgb_over-512  117.23 (117.27 0.02%) -> 184.14 (184.62 1.51%):  1.57x slowdown
▋

Before 1.10, we may choose to disable server-side gradients for the
current crop of Xorg servers, similar to the extended repeat modes.

[Updated by Chris Wilson. All bugs are his.]
2009-07-31 14:33:01 +01:00
Chris Wilson
bed2701e1c Remove clip handling from generic surface layer.
Handling clip as part of the surface state, as opposed to being part of
the operation state, is cumbersome and a hindrance to providing true proxy
surface support. For example, the clip must be copied from the surface
onto the fallback image, but this was forgotten causing undue hassle in
each backend. Another example is the contortion the meta surface
endures to ensure the clip is correctly recorded. By contrast passing the
clip along with the operation is quite simple and enables us to write
generic handlers for providing surface wrappers. (And in the future, we
should be able to write more esoteric wrappers, e.g. automatic 2x FSAA,
trivially.)

In brief, instead of the surface automatically applying the clip before
calling the backend, the backend can call into a generic helper to apply
clipping. For raster surfaces, clip regions are handled automatically as
part of the composite interface. For vector surfaces, a clip helper is
introduced to replay and callback into an intersect_clip_path() function
as necessary.

Whilst this is not primarily a performance related change (the change
should just move the computation of the clip from the moment it is applied
by the user to the moment it is required by the backend), it is important
to track any potential regression:

ppc:
Speedups
========
image-rgba         evolution-20090607-0    1026085.22 0.18% -> 672972.07 0.77%:  1.52x speedup
▌
image-rgba         evolution-20090618-0    680579.98 0.12% -> 573237.66  0.16%:  1.19x speedup
▎
image-rgba      swfdec-fill-rate-4xaa-0    460296.92 0.36% -> 407464.63  0.42%:  1.13x speedup
▏
image-rgba      swfdec-fill-rate-2xaa-0    128431.95 0.47% -> 115051.86  0.42%:  1.12x speedup
▏
Slowdowns
=========
image-rgba     firefox-periodic-table-0    56837.61 0.78% -> 66055.17    3.20%:  1.09x slowdown
▏
2009-07-23 15:32:14 +01:00
Chris Wilson
fed0006203 [NEWS] Add stub for OpenGL. 2009-07-22 07:49:05 +01:00
Chris Wilson
52fa8760ae Add OpenVG backend.
Based on the work by Øyvind Kolås and Pierre Tardy -- many thanks to
Pierre for pushing this backend for inclusion as well as testing and
reviewing my initial patch. And many more thanks to pippin for writing the
backend in the first place!

Hacked and chopped by myself into a suitable basis for a backend. Quite a
few issues remain open, but would seem to be ready for testing on suitable
hardware.
2009-07-17 11:50:02 +01:00
Chris Wilson
6003ab77e1 Export meta-surface
The meta-surface is a vital tool to record a trace of drawing commands
in-memory. As such it is used throughout cairo.

The value of such a surface is immediately obvious and should be
applicable for many applications. The first such case is by
cairo-test-trace which wants to record the entire graph of drawing commands
that affect a surface in the event of a failure.
2009-07-03 18:26:50 +01:00
Chris Wilson
4bc89e224f [NEWS] Add release notes from 1.8.8 2009-06-16 15:13:46 +01:00
Carl Worth
8ac8c5b428 NEWS: Fix date and name of 1.9.2 snapshot
It's a snapshot, not a release, and the broken REFERENCE_IMAGE list
derailed me from finishing yesterday.
2009-06-12 11:58:57 -07:00
Carl Worth
a4f023ef2e NEWS: Update date for snapshot planned for today. 2009-06-11 14:54:03 -07:00
Carl Worth
82139b4291 NEWS: Explain bovine polaroids a bit more.
It's a fun joke, but the COW snapshots feature is important enough
that we should actually tell users what it is.
2009-06-11 14:54:03 -07:00
Carl Worth
4d5f66d5b1 NEWS: Cleanup in preparation for 1.9.2 snapshot
Mostly just wrapping to a reasonable line length, and some minor
wording changes.
2009-06-11 14:54:03 -07:00
Chris Wilson
b40ce402ad [NEWS] Add more notes 2009-06-11 09:16:29 +01:00
Chris Wilson
17ce8584e7 [NEWS] Add API changes.
Scan the public headers for obvious additions.
2009-02-12 18:27:52 +00:00
Chris Wilson
8cec548854 [NEWS] Add notes for 1.8.6
Add the historical blurb for 1.8.6.
2008-12-14 16:42:59 +00:00
Carl Worth
456252a1c2 Merge branch '1.8'
Conflicts:

	NEWS
	cairo-version.h
2008-11-14 15:27:34 +01:00
Carl Worth
b9c1344ad8 NEWS: Add notes for cairo 1.8.4
Just a few bug fixes here.
2008-11-14 11:07:10 +01:00