summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-03-01api: Introduce CAIRO_FORMAT_INVALID formally in the API.M Joonas Pihlaja24-43/+88
We were exposing the actual value of CAIRO_FORMAT_INVALID through API functions already, so it makes sense to just go ahead and put it in the cairo_format_t enum.
2010-02-28image: Allow reduction of repeat modes for unity scaled patterns.Chris Wilson1-4/+5
2010-02-28image: Fix bug optimizing surface pattern extend modes.M Joonas Pihlaja1-0/+4
The image surface tries to convert surface pattern's extend modes to EXTEND_NONE, if it can, when converting a cairo_pattern_t to a pixman_image_t. The check was not taking into account the transformation matrix on the pattern, so it was possible to trick it into using EXTEND_NONE by downscaling the source pattern enough. This patch changes the optimization to only take if the pattern has no transformation. Fixes surface-pattern-scale-down-extend-{pad,reflect,repeat} failures in the test suite for the image backend.
2010-02-27test: Test downscaling and extending a surface pattern.M Joonas Pihlaja6-0/+108
Franz Schmid reported a regression in 1.9.6 when downscaling and using EXTEND_REPEAT for an image surface pattern. This patch adds such tests for every extend mode.
2010-02-27test: Add tests covering more clip fast paths in groups.M Joonas Pihlaja5-0/+190
The clip-group-shapes-* tests check that it doesn't matter whether the clip path is set before or after pushing a group using specific types of clip paths (aligned/unaligned rectangles and general paths.)
2010-02-26gl: Markup internal functions with cairo_privateChris Wilson1-11/+11
2010-02-25compiler: Explain the slim hidden macros.M Joonas Pihlaja1-0/+30
The slim_hidden_* macro definitions are rather cryptic at first sight and I keep needing to rederive how they work just find out what they're supposed to do. This patch adds a comment explaining how they're used and work.
2010-02-25test: Fix a wrongly typed return value in scaled-font-zero-matrix.M Joonas Pihlaja1-1/+3
The test was returning a cairo_status_t, but should be returning a cairo_test_status_t instead. When the test failed it was being reported as having crashed, rather than merely failed, because the enum value of CAIRO_TEST_CRASHED happened to be same as the cairo_status_t value of the cairo context at the end of the failing test.
2010-02-23image: split cairo_image_surface_coerce()Benjamin Otte10-34/+30
Split into a general cairo_image_surface_coerce() that coerces to one of the 3 supported formats (ARGB32, RGB24, A8) based on content and the more general cairo_image_surface_coerce_to_format() that coerces to a specified format.
2010-02-23drm: Add missing private headersChris Wilson1-0/+2
Reported by: Thomas Jones <thomas.jones@utoronto.ca>
2010-02-23bo-rectangular: Fix incorrect skipping of colinear eo edgesChris Wilson1-17/+14
Fixes test/bug-bo-rectangular After skipping edges, we need to bd careful to only terminate the box on a closing edge.
2010-02-23test: Add bug-bo-rectangularBenjamin Otte4-0/+69
Exercises a bug found in the special case rectangular tessellator with colinear eo edges.
2010-02-22fallback: Initialize rects.is_bounded for span renderer.Chris Wilson1-1/+2
2010-02-22gl: Initialise glyphs mask to ensure allocation in absence of stash.Chris Wilson1-0/+1
2010-02-22gl: Avoid attempting to create a program on GLSL-incapable h/w for spansChris Wilson2-5/+18
2010-02-22gl: Return unsupported for h/w that cannot handle shaders.Chris Wilson1-13/+15
Remove the ASSERT_NOT_REACHED and propagate the unsupported status so that we fallback to fixed-function gracefully.
2010-02-22bo-rectangular: Prevent invalid read during edge traversalChris Wilson1-0/+6
Benjamin Otte tracked down an invalid read triggered by WebKit. The cause is that we attempt to dereference the list_head as an edge as we failed to check that during the skipping of colinear edges we advanced to the end, under the false assumption that there would always be a closing edge in a rectangle. This assumption is broken if the tail rectangles having colinear right edges.
2010-02-22text: Fix assert failure from compositing by SOURCE with a mask internally.M Joonas Pihlaja1-1/+1
Change the operator used to upgrade the format of a glyph mask from CAIRO_OPERATOR_SOURCE to CAIRO_OPERATOR_ADD. The _cairo_scaled_font_show_glyphs() function upgrades the pixel format of a glyph mask by calling _cairo_surface_composite() to copy the mask to an image surface of the upgraded destination. The way it was doing it however was to use CAIRO_OPERATOR_SOURCE, a white source pattern and the glyph's rasterised glyph as the mask pattern. This combination isn't supported by _cairo_surface_composite(), which asserts that no mask is present when the operator is SOURCE or CLEAR. Reported by Mikael Magnusson to #cairo on irc.freenode.net.
2010-02-21xcb: Fix compilation without dri2Andrea Canciani1-0/+2
XCB should be able to compile without xcb-drm. To do so it can include xcb/dri2.h only if xcb-drm is enabled.
2010-02-19Update version to 1.9.7.Carl Worth1-1/+1
Following the 1.9.6 snapshot.
2010-02-19Update REFERENCE_IMAGES list for "make distcheck".Carl Worth1-1/+3
As usual, "make distcheck" does not work until we update this list.
2010-02-19Update version to 1.9.6Carl Worth1-1/+1
For a new cairo 1.9.6 snapshot.
2010-02-19NEWS: Add notes for the 1.9.6 snapshot.Carl Worth1-2/+112
Based on a very brief reading of the git log. There's certainly a lot of interesting stuff missing here.
2010-02-17test: Add an option to explicitly specify a test name to the runner.Eric Anholt1-3/+11
2010-02-17gl: Be sure to do linear interpolation on gradients.Eric Anholt1-1/+3
2010-02-17gl: Stop trying to handle first/last stop offset in the gradient shaders.Eric Anholt3-64/+3
Since moving to pixman for the gradient textures, first=0 and last=1, so there's no need to rescale to 0,1 any more. Shaves 6 Gen4 ISA instructions, including 2 inverses, in the radial fragment shader.
2010-02-17gl: Remove the old unused radial/linear gradients shaders.Eric Anholt2-123/+0
They're dynamically generated now for source/mask.
2010-02-17gl: Reduce complexity of radial fragment shaders.Eric Anholt1-8/+2
This shaves 1 Mesa IR instruction, and 6 Gen4 ISA instructions.
2010-02-16gl: Implement draw_image for window targets.Eric Anholt1-33/+124
Creates a texture and draws with it instead of doing TexSubImage. Open question is whether this wouldn't be better in general. Fixes several failures with ARB_texture_rectangle path due to fallbacks to window drawing.
2010-02-16gl: Fix glyphs texture coordinates for ARB_texture_rectangle.Eric Anholt1-6/+10
Fixes most of the text testcases to match the ARB_texture_non_power_of_two results.
2010-02-16gl: Add GLSL support for ARB_texture_rectangle, and repeat/reflect fallbacks.Eric Anholt2-6/+59
Most testcases are now passing like the ARB_texture_non_power_of_two case. EXT_texture_rectangle support is dropped in favor of ARB_texture_non_power_of_two. If we have issues with drivers not having that but having EXT (which just lacks the GLSL part of the spec), we can split it out. Right now non-GLSL support in cairo-gl is probably in bad shape anyway and will require someone that cares for it in order to get fixed up.
2010-02-16gl: initial support for EXT_texture_rectangle extensionDave Airlie3-61/+89
The only issue is the repeat modes aren't supported for rectangular textures. In any case even with ARB_npot radeon's pre-r600 lie and fail to do repeats anyway.
2010-02-16gl: Reduce the size of the gradient texture for small numbers of stops.Eric Anholt1-18/+45
This code is stolen straight from cairo-drm-intel.c. This saves a bunch of time calculating interpolated points when we just do interpolation between points at sampling time anyway. Reduces firefox-talos-svg from 47 seconds back to the 42 it was at before the pixman change. This regresses the reported result of huge-radial, but there's no visible difference.
2010-02-12drm/i915: Set a source for unbounded fixups.Chris Wilson1-11/+41
2010-02-12drm/i915: Use correct linear mode for mask.Chris Wilson1-2/+2
2010-02-12clip: Avoiding derefencing NULL clip_regionChris Wilson2-24/+28
2010-02-12boilerplate: Include X11.h for GL/GLXChris Wilson1-0/+3
2010-02-12clip: Restrict composite extents to clip extentsChris Wilson7-270/+137
Fixes test/clip-rectangle-twice.
2010-02-12test: Add clip-twice-rectangleChris Wilson4-0/+72
Jeff Muizeelar found another bug with clipping whereby the clip was been incorrectly discarded.
2010-02-11gl: Remove eagle supportChris Wilson9-240/+0
Eagle is no more, Kristian has superseded it with true EGL support. He is so happy...
2010-02-10build: Add -Wdeclaration-after-statementBenjamin Otte4-7/+9
... and fix the compile errors from it I get on my build. It's Cairo style to put declarations before the code, so better warn about it. Besides, it eases porting to old compilers like MSVC.
2010-02-10drm/i965: fix use of uninitialized variable whilst dumping errorsChris Wilson1-4/+2
Cut'n'paste bug from i915 error path.
2010-02-10script: Compile without mmapChris Wilson1-2/+3
Should fix: Bug 26509 - Cairo fails to compile without mmap http://bugs.freedesktop.org/show_bug.cgi?id=26509 As reported by Hib Eris, Cairo files to compile under a mingw32 cross-compiler as we use a structure only defined if HAVE_MMAP unconditionally.
2010-02-10drm/intel: An interrupted SET_TILING modifies the input parametersChris Wilson1-4/+4
If a signal interrupts the SET_TILING ioctl, the tiling and stride values are updated to reflect the current condition of the buffer, so we need to restore those to the desired values before repeating the ioctl.
2010-02-09qt: Fix compile error.Chris Wilson1-1/+0
Update after prototype changed for create_similar(), as pointed out by augzilla.
2010-02-07ps: Initialise page bbox to page sizeChris Wilson1-0/+5
2010-02-07ps: Propagate NOTHING_TO_DOChris Wilson1-32/+4
The upper layers should know what to do if there is nothing to be done, so pass on that knowledge.
2010-02-07test: Add linear-gradient-subsetChris Wilson4-0/+129
It was observed that we never actually test the condition that the gradient is only defined for a portion of its range, i.e. the starting offset is >0 and the ending offset is <0. By definition the colour between 0 and start offset is the start color, so check that this behaviour is followed by all backends.
2010-02-07gl: Use pixman to create the gradient textureChris Wilson1-65/+80
This is just for consistency as we know that pixman has to handle all the corner cases anyway...
2010-02-06[gl] Make the VBO once at startup instead of recreating per glyphs/spans.Eric Anholt3-13/+6
This shaves 2% off of firefox-talos-gfx.