summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Robinson <mrobinson@igalia.com>2011-12-15 10:49:27 -0800
committerChris Wilson <chris@chris-wilson.co.uk>2011-12-15 19:29:17 +0000
commitbbe692372d593a70d80de9fdb0de521a9f012f08 (patch)
tree9f0c9c8e45b8a68b89da65eae9522c00ba51d8f5
parentb98c8c126989e1158c3f78d8e5f20834a2af10b2 (diff)
gl/msaa: Ignore the antialiasing property of the clip.
If the clip suggests anti-aliasing and we don't support it, draw the clip anyway. Currently disabling anti-aliasing does not disable anti-aliasing on certain clips. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/cairo-gl-msaa-compositor.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/cairo-gl-msaa-compositor.c b/src/cairo-gl-msaa-compositor.c
index bfd23d48..fdd96662 100644
--- a/src/cairo-gl-msaa-compositor.c
+++ b/src/cairo-gl-msaa-compositor.c
@@ -141,10 +141,16 @@ _draw_clip (cairo_gl_context_t *ctx,
if (unlikely (status))
return status;
- if (antialias != CAIRO_ANTIALIAS_NONE) {
- _cairo_polygon_fini (&polygon);
- return CAIRO_INT_STATUS_UNSUPPORTED;
- }
+ /* We ignore the antialias mode of the clip here, since the user requested
+ * unantialiased rendering of their path and we expect that this stencil
+ * based rendering of the clip to be a reasonable approximation to
+ * the intersection between that clip and the path.
+ *
+ * In other words, what the user expects when they try to perform
+ * a geometric intersection between an unantialiased polygon and an
+ * antialiased polygon is open to interpretation. And we choose the fast
+ * option.
+ */
_cairo_traps_init (&traps);
status = _cairo_bentley_ottmann_tessellate_polygon (&traps,