Commit graph

78 commits

Author SHA1 Message Date
Chris Wilson
3ae8bce832 test/record90: Rotate the reference so that it is wholly visible
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-05-23 12:27:47 +01:00
Chris Wilson
e73830915b test: Refresh unbounded-operator
Apparently this too suffered from bug-bo-collins and is fixed by
(bo-rectangular: Emit subsummed boxes for overlapping edges).

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-05-23 12:20:50 +01:00
Chris Wilson
7b2f787d19 test: Exercise rectangular bo bug
Reported-by: S. Christian Collins <s_chriscollins@hotmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=49446
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-05-23 11:50:34 +01:00
Chris Wilson
e41dffb329 stroke: Don't drop clockwise==0 lines
If the join indicates the pair of edges are parallel, we may be
considering the final segment of the spline with a different tangent
vector than the slope of the final edge and so lead to false dropping of
an edge. This has the effect that the line segments between 'arc arc arc
arc' (a rounded rectangle) are no longer horizontal or vertical. As path
construction tries to eliminate joins between colinear segments, this
optimisation should not be required anyway.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-05-14 18:11:28 +01:00
Chris Wilson
6cd1f5040f clip: Apply clip boxes to the clip surface
As we convert the unaligned clip boxes to a region, we need to process
the intersection of the boxes with the clip surface as a separate step.

Fixes tighten-box for the base compositor.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-05-11 23:14:21 +01:00
Chris Wilson
4ea3ace6c8 spans: Only fallback for a clipmask if unbounded
For a bounded operation with a clip we will already have performed the
clip geometrically.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-05-11 21:53:55 +01:00
Chris Wilson
2d26f7da77 test: Fix tighten-bounds reference images
Uli Schlachter spotted that I had inadvertently committed (606e9e1c9) a
broken set of test images for the tighten-bounds case and so masked a
nasty bug with the mishandling of unaligned clips.

Reported-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-05-11 21:31:13 +01:00
Chris Wilson
71df65f95a test: Update degenerate-solid-dash reference
Looking at the base output for cairo-1.0 reveals we have an issue with
the placement of degenerate end-caps.
2012-04-29 15:55:16 +01:00
Chris Wilson
ba21231491 test: Fix array lengths for degenerate-solid-dash
The latter arrays were meant to test compaction.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-29 14:23:11 +01:00
Chris Wilson
0c14ce6dca test: Exercise degenerate dashes that are wholly solid
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-29 13:56:43 +01:00
Chris Wilson
d2f740ccbd test: Exercise clip inversion imperfections
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-29 12:40:10 +01:00
Chris Wilson
c0b523eb65 stroke(boxes): Convert the dash step back into device units before incrementing
Reported-by: Carlos Garcia Campos <carlosgc@gnome.org>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-21 10:18:26 +01:00
Chris Wilson
5ff32f70c1 test: Add rectilinear-dash-scale
Exercise rectilinear dashes under a non-uniform scale factors.

References: https://bugs.freedesktop.org/show_bug.cgi?id=48818
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-18 15:29:00 +01:00
Chris Wilson
169cc39dff test: update two reference images highlighted to be wrong due to source extents
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-29 11:58:35 +01:00
Chris Wilson
5b3d878c82 test: Add test case for tracking source operator extents 2012-03-29 00:51:46 +01:00
Chris Wilson
0a778d974f stroke: Adapt rectilinear stroker to handle separable non-unity scaling
Reported-by: Christos Sotiriou <csotiriou@gmail.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-19 20:02:50 +00:00
Chris Wilson
ea0703524f image: Support SRC compositing with in the inline span-compositor
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-12 18:49:19 +00:00
Chris Wilson
c0eaaa1680 test: Refresh the fallback-resolution reference images
Despite copying across the font options from the PDF backend, it still
looks like the image surface is override the glyph placement... Odd.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-08 15:32:39 +00:00
Chris Wilson
c19bf1499a image: Add a simple inplace blitter for spans
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-05 17:06:02 +00:00
Chris Wilson
9f83ac5c63 image: Perform the simple solid-fill spans inplace
Reducing the number of passes has the usual change in the antialiasing
side-effects, as well as the boon of being faster (and theorectically more
accurate through reduced loss of dynamic range.)

On an i5-2520m:
    swfdec-giant-steps-full   3240.43  ->  2651.36:  1.22x speedup
             grads-heat-map    166.84  ->   136.79:  1.22x speedup
         swfdec-giant-steps    940.19  ->   796.24:  1.18x speedup
                  ocitysmap    953.51  ->   831.96:  1.15x speedup
        webkit-canvas-alpha  13924.01  -> 13115.70:  1.06x speedup

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-05 17:03:53 +00:00
Chris Wilson
937325d664 image: Perform the general composite operation inplace for mono rasterisation
We suffer from the large overhead in calling pixman_image_composite32
per-span, but even will that overhead it is a net win with the usual
caveat about cache efficiency and function call overhead.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-04 22:54:02 +00:00
Chris Wilson
03df52a833 image: Correct origin of unbound recording surface source
Clearly demonstrated by using the test-base with the recording surfaces
and exemplified by the fallback-resolution with PDF, which is *almost*
fixed!

We're very close to making a release candidate for 1.12 now...

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-03 12:35:07 +00:00
Chris Wilson
8968f01035 base: Remove the double application of the clip boxes
The clipping code was modified to handle partial boxes itself, so update
the base compositor to simply use the core clipping code and avoid
double application.
2012-03-02 12:31:41 +00:00
Chris Wilson
705cd6e1c6 test/record1414: Pixel align the clip for replay
In order to match the reference image we need complete coverage, and the
purpose of the test is to check non-integer scaling of replays rather
than handling of the clip pixels. That partial coverage is better tested
elsewhere.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-02 12:30:28 +00:00
Zhigang Gong
b8a6019e0c mono: Always bias initial edge advancement
Even for a vertical edge, we still need to bias the error term otherwise
later we will find the error term is too larger and advance a pixel on
every row.

Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-01 14:41:58 +00:00
Chris Wilson
3c665102c2 spans+image: Fix clipping with polygons and spans
Fixes: clip-source, random-clip
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-02-28 22:27:18 +00:00
Chris Wilson
2c908f8a42 test: Regenerate reference images for vanilla record tests
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-02-28 17:59:13 +00:00
Chris Wilson
050c246174 test: Add record90 to exercise replaying a rotated recording surface
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-02-28 17:38:21 +00:00
Chris Wilson
1cfd27851e test: Set record2x-fill-alpha as an xfail
As the path is converted to fixed-point prior to application of the
replay scale factor, we currently do anticipate some loss in precision
and slight difference in antialiasing.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-02-27 15:14:33 +00:00
Chris Wilson
668e8eac3a test/record: Fix typo in record*-text-transform
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-02-27 15:14:33 +00:00
Chris Wilson
78aeb0d14c test: Verify scaled replay of a recording surface
After this works, we may also like to check simple rotations and an
affine transform.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-02-27 14:47:25 +00:00
Adrian Johnson
2de75b1a34 test: add test to check that pdf transparency groups are non-isolated 2012-02-25 16:53:26 +10:30
Chris Wilson
61050f5445 test: Add a couple of reference images for the recording surface
In tests where we apply a scale factor to a similar source, the
recording surface will produce different results to image as the scaling
of the source is performed on the geometry and not on a raster image and
so avoids scaling artefacts.
2012-02-24 13:56:41 +00:00
Chris Wilson
08de30d8b5 test: Add a set of reference images for the mask-based compositor
Serves as another reference for some xlib targets.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-02-22 10:51:30 +00:00
Chris Wilson
73df8eb8db test/xlib: Remove stale reference images
We know have a swrast reference compositor for xlib (test-traps) and so
should not need these old xlib specific reference images.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-02-22 10:19:18 +00:00
Chris Wilson
cd4fd8a802 test: Update traps for changes in reference font 2012-02-22 10:11:16 +00:00
Chris Wilson
c9f18bb034 test: Update base reference images for new reference font
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-02-22 10:09:05 +00:00
Chris Wilson
f4908b3848 test: Refresh reference images for antialiasing fix
Having discovered that I had recreated the references images with a
buggy rasteriser, we now need to recreate them with the correct reference
settings.
2012-02-20 11:24:17 +00:00
Chris Wilson
f4309795e9 test: Referesh traps (xlib) reference images for font updates
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-02-09 13:41:55 +00:00
Adrian Johnson
46ca65895f ps: support RASTER_SOURCE patterns 2012-01-31 23:53:45 +10:30
Andrea Canciani
2bb441fd11 test: Add stride-12-image
Add a test to check that all the backends can handle images with a
stride that is not width * 4.
2012-01-15 14:29:25 +01:00
Adrian Johnson
284cba1f37 test: add push/pop group to fallback test 2012-01-15 21:18:43 +10:30
Andrea Canciani
45d9659665 test: Add negative-stride-image
Add a test to check that all the backends can handle images with
negative stride.
2012-01-12 11:53:16 +01:00
Chris Wilson
20a1676c28 test: Add arc-direction
A simple example of how to draw arcs.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-01-11 12:43:43 +00:00
Adrian Johnson
fefc273c53 test: add fallback
to get a fallback resolution test included in index.html
2012-01-08 21:12:17 +10:30
Chris Wilson
c7565eeda0 test: Exercise copy/filling unsorted rectangles
Exercise the bug Keith found in the xlib backend, which claimed the
output from the rectangular tessellator would always be sorted.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-06 19:02:45 +00:00
Chris Wilson
d60a2930e1 test: reference ref images after tweaking polygon clipping 2011-12-06 14:56:49 +00:00
Chris Wilson
8844d50308 Convert cairo_mime_surface_t to cairo_raster_source_pattern_t
As discussed, overloading the cairo_surface_t semantics to include
sources (i.e. read-only surfaces) was duplicating the definition of
cairo_pattern_t. So rather than introduce a new surface type with
pattern semantics, start along the thorny road of extensible pattern
types.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-25 10:35:42 +00:00
Uli Schlachter
9208df1630 test: Add text-antialias-subpixel-{,v}{bgr,rgb}
There were no tests for any subpixel order but rgb, so let's write something for
all four possibilities.

This is mostly copy&paste from test/text-antialias.c (and
text-antialias-subpixel-rgb does the same thing as text-antialias-subpixel).

Test for: https://bugs.freedesktop.org/show_bug.cgi?id=40456

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-10-13 13:40:20 +02:00
Chris Wilson
ea50ca6883 test: Add clip-polygons
To exercise the recent bug found in handling empty clip surfaces.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-10-12 15:10:34 +01:00