Carl Worth
aa883123d2
Optimize filling of a path that is a single device-axis-aligned rectangle.
...
It turns out that this case is extremely common and worth avoiding
the overhead of the path iteration and tessellation code.
The optimization here works only for device-axis-aligned rectangles
It should be possible to generalize this to catch more cases, (such
as any convex quadrilateral with 4 or fewer points).
This fix results in a 1.4-1.8x speedup for the rectangles perf case:
image-rgb rectangles-512 7.80 1.22% -> 4.35 1.62%: 1.79x speedup
▊
image-rgba rectangles-512 7.71 4.77% -> 4.37 0.30%: 1.77x speedup
▊
xlib-rgba rectangles-512 8.78 5.02% -> 5.58 5.54%: 1.57x speedup
▋
xlib-rgb rectangles-512 11.87 2.71% -> 8.75 0.08%: 1.36x speedup
▍
Which conveniently overcomes the ~ 1.3x slowdown we had been seeing
for this case since 1.2. Now, compared to 1.2.6 we see only a speedup:
image-rgba rectangles-512 6.19 0.29% -> 4.37 0.30%: 1.42x speedup
▎
image-rgb rectangles-512 6.12 1.68% -> 4.35 1.62%: 1.41x speedup
▎
xlib-rgba rectangles-512 7.48 1.07% -> 5.58 5.54%: 1.34x speedup
▏
xlib-rgb rectangles-512 10.35 1.03% -> 8.75 0.08%: 1.18x speedup
▏
2007-03-05 21:01:05 -08:00
Brian Ewins
e15bb8efe6
[quartz] remove unnecessary flushes
...
Removing calls to CGContextFlush; these were slowing down the
mac and on other platforms it is up to the client to flush
the surface.
2007-03-06 00:40:56 +00:00
Behdad Esfahbod
393908c34d
[test] Modify extend-reflect to need a smaller reference image
2007-03-05 19:23:10 -05:00
Behdad Esfahbod
4716ed760c
[test] Remove some ref images from random-intersections
...
Each one is larger than 100kb, so paint background black to reuse
same ref image for rgb24 and argb32 cases. Also remove Quartz ref
images for now.
2007-03-05 19:23:10 -05:00
Behdad Esfahbod
feba319413
[test] Remove unused variable
2007-03-05 19:23:10 -05:00
Emmanuel Pacaud
e1a598211b
Use the offset attribute to improve cairo-svg handling of EXTEND_REPEAT and EXTEND_REFLECT
...
With this change, the cairo-svg output is perfectly fine with
CAIRO_EXTEND_REPEAT, but is still very slightly wrong with
CAIRO_EXTEND_REFLECT, (though *much* better than it was before
this fix).
2007-03-05 16:04:24 -08:00
Emmanuel Pacaud
47f2bf4e28
Remove broken special-casing of radial gradient fx,fy under CAIRO_EXTEND_NONE
...
Carl can't explain why he added this special-case, and removing it
eliminates one failure case from the radial-gradient test matrix.
2007-03-05 16:04:24 -08:00
Brian Ewins
a724f816e1
[quartz,atsui] separate the quartz surface and atsui font backend
...
Make it possible to use the --enable-quartz and --enable-atsui
independently. Quartz on its own will use the ft font backend.
2007-03-05 23:19:24 +00:00
Behdad Esfahbod
83fcce0e93
[quartz] Make utility functions static
2007-03-05 17:56:57 -05:00
Behdad Esfahbod
d25548d679
In cairo_append_path(), allow excess path_data elements
2007-03-05 17:11:39 -05:00
Behdad Esfahbod
3ab9ca54aa
In cairo_text_path(), bail out if zero glyphs
2007-03-05 16:33:46 -05:00
Behdad Esfahbod
4f138e4af5
Uniform object handling in _reference(), _destroy(), and _get_reference_count()
...
All three now regard NULL and nil inputs the same. This is new for
_get_reference_count(). It now returns 0 on NULL too, like it does on
nil objects.
2007-03-05 16:28:31 -05:00
Behdad Esfahbod
cc12c5acc4
Make cairo_text_path() set current point correctly
...
This fixes the bitmap-text test that I just made reveal a bug.
2007-03-05 16:19:28 -05:00
Behdad Esfahbod
b63f5ae58f
[test] In the bitmap-font test, break cairo_text_path() call into two
...
such that it checks current-point handling after that call. It fails now,
because cairo_text_path does not set current-point explicitly.
2007-03-05 16:15:09 -05:00
Behdad Esfahbod
a487d09421
Rename all mutex variables to start with an underscore
...
since they are not static in some of the implementations (win32, ...)
2007-03-05 15:59:43 -05:00
Behdad Esfahbod
c8b84a4735
[beos] Update mutex initializers
...
This should be the last one. We are going to move to a central
mutex initialization scheme right after 1.4.0 is out.
2007-03-05 15:46:19 -05:00
Behdad Esfahbod
b8e2888fbe
[OS2] Add mutex initializer for cairo_font_face_mutex
2007-03-05 15:45:45 -05:00
Behdad Esfahbod
403b4b7c16
[OS2] Remove unused mutex cairo_toy_font_face_hash_table_mutex
2007-03-05 15:39:09 -05:00
Behdad Esfahbod
6358ec539d
[WIN32] Make cairo_ft_unscaled_font_map_mutex initialization conditional of ft
2007-03-05 15:38:52 -05:00
Behdad Esfahbod
972f7d9fc8
[WIN32] Remove unused mutex cairo_toy_font_face_hash_table_mutex
2007-03-05 15:36:51 -05:00
Behdad Esfahbod
0cdb96544e
[SVG] Cast -1 values to unsigned to indicate we really did mean to type them
2007-03-05 15:10:35 -05:00
Behdad Esfahbod
bbc3416144
[ROADMAP] Remove 1.3.14 items, add 1.4.2 ones
2007-03-05 14:54:02 -05:00
Dave Yeo
d6ac9b4770
[test] Fix build on Win32
2007-03-05 13:36:32 -05:00
Mathias Hasselmann
ffa86b17ab
[test/pdiff] Fix build problem with certain flavors of make
2007-03-04 16:39:00 -05:00
Hans Breuer
325e752390
Fix mutex initialization for win32 (missing cairo_font_face_mutex)
...
We've currently got a problem where it's easy to add a mutex
for a POSIX system and easy to forget to add its intialization
for other systems. Behdad has cooked up a plan for fixing this
properly:
http://lists.freedesktop.org/archives/cairo/2007-February/009679.html
In the meantime, we'll just kkeping breaking things, and patches
like this will be needed to fix up our mistakes.
This fix closes the following bug report:
cairo_font_face_mutex missing from cairo-win32-surface.c
https://bugs.freedesktop.org/show_bug.cgi?id=10175
2007-03-03 22:50:16 -08:00
Brian Ewins
5f2b5f1f92
[configure.in] --enable-quartz should require atsui and no xlib
...
Recent changes have made quartz and atsui interdependent. It is also
no longer possible to build quartz with xlib enabled due to a redefinition
of the 'Picture' symbol. This change makes '--enable-atsui' unnecessary
and refuses to switch on quartz when it cannot be built because xlib
is enabled.
2007-03-04 03:01:22 +00:00
Behdad Esfahbod
1720d0b950
[Makefile.am] --enable-test-surfaces in distcheck
2007-03-03 15:42:09 -05:00
Behdad Esfahbod
79acd268d9
[Makefile.am] Remove releasing instructions that are in RELEASING already
2007-03-03 15:41:32 -05:00
Behdad Esfahbod
f9f71457a5
[RELEASING] Update announcement mail instructions
2007-03-03 15:37:45 -05:00
Behdad Esfahbod
454c6a62a9
[RELEASING] Note that two versions should be added to bugzilla
2007-03-03 15:35:25 -05:00
Behdad Esfahbod
57e1b6fa98
[RELEASING] Reorder pushing tag and commits
...
We should push the tag only after pushing the actually release commit.
2007-03-03 15:34:19 -05:00
Behdad Esfahbod
052acc95e9
[RELEASING] Fix git-tag invocation
2007-03-03 15:32:42 -05:00
Behdad Esfahbod
9f0a1648b7
[configure.in] Increase version to 1.3.17 post-release
2007-03-03 00:22:53 -05:00
Behdad Esfahbod
b3e1fd8c1c
[configure.in] Increase version to 1.3.16 in preparation for release
2007-03-03 00:07:34 -05:00
Behdad Esfahbod
c6541b9ac2
[RELEASING] Add note about ChangeLog sanity
2007-03-03 00:07:14 -05:00
Behdad Esfahbod
9aecd7c815
[test] Include romedalen.png in dist, oops
2007-03-03 00:05:40 -05:00
Behdad Esfahbod
2f497c25f9
[Makefile.am] Check for ChangeLog sanity in release-publish
2007-03-02 23:59:55 -05:00
Behdad Esfahbod
eb8214c960
[ChangeLog.mk] Adapt to latest git-describe output format
2007-03-02 23:49:27 -05:00
Behdad Esfahbod
8a69a32795
[test] Update list of refrerence images
2007-03-02 23:29:54 -05:00
Behdad Esfahbod
55d4806127
[NEWS] Add note about documentation improvements
2007-03-02 22:52:38 -05:00
Behdad Esfahbod
77b27fd06b
[doc] Update templates
2007-03-02 22:45:50 -05:00
Behdad Esfahbod
1082fed692
[doc] Docuemnt all symbols but cairo_filter_t and cairo_operator_t
...
Lets see if this is enough to push Carl Worth document those two.
2007-03-02 22:42:17 -05:00
Behdad Esfahbod
e37b6ca3e2
Beautify cairo.h
2007-03-02 22:03:27 -05:00
Behdad Esfahbod
9be961eb0c
[doc] Some documentation love
2007-03-02 22:01:15 -05:00
Behdad Esfahbod
8a6308e144
[doc] Update list of header files to ignore
2007-03-02 22:00:25 -05:00
Behdad Esfahbod
fed13e77e1
[NEWS] Fix typos
2007-03-02 16:49:58 -05:00
Vladimir Vukicevic
ab1887f4b0
[quartz] Bug 3939 - Fix Quartz backend endianness problem
...
Add kCGBitmapByteOrder32Host to CGImageCreate call in release_dest_image
of Quartz surface.
2007-03-02 13:46:31 -08:00
Carl Worth
2640aa7e99
Add notes for 1.3.16
...
Now, maybe we won't actually make a 1.3.16 snapshot, but these are all
the things that will be new in 1.4.0 compared to 1.3.14.
2007-03-02 13:23:06 -08:00
Behdad Esfahbod
a0bc2ada78
[test] Support passing extra valgrind flags
...
using EXTRA_VALGRIND_FLAGS make variable or CAIRO_EXTRA_VALGRIND_FLAGS
env variable.
2007-03-02 15:45:02 -05:00
Carl Worth
cd43c03d16
Fix leak of an output stream in cairo_type1_font_destroy
2007-03-02 12:30:53 -08:00