summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2009-01-28 14:22:58 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2009-02-13 14:13:32 +0000
commitfa66291c8862ed592fca469ceab0ac9b1d270835 (patch)
treeda86da4e44aa05e6c16df5043273a93377826df7
parentaab9ed3432f0ea7b8b24990de4aa134bb599a3e5 (diff)
[perf] Test non-antialiased fill.
Just because the i915 can special case such fills using a single-pass tessellation in the stencil buffer.
-rw-r--r--perf/fill.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/perf/fill.c b/perf/fill.c
index 6ebe70ea..f068561a 100644
--- a/perf/fill.c
+++ b/perf/fill.c
@@ -42,6 +42,26 @@ do_fill (cairo_t *cr, int width, int height)
return cairo_perf_timer_elapsed ();
}
+static cairo_perf_ticks_t
+do_fill_eo_noaa (cairo_t *cr, int width, int height)
+{
+ cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
+ cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
+
+ cairo_arc (cr,
+ width/2.0, height/2.0,
+ width/3.0,
+ 0, 2 * M_PI);
+
+ cairo_perf_timer_start ();
+
+ cairo_fill (cr);
+
+ cairo_perf_timer_stop ();
+
+ return cairo_perf_timer_elapsed ();
+}
+
void
fill (cairo_perf_t *perf, cairo_t *cr, int width, int height)
{
@@ -49,4 +69,5 @@ fill (cairo_perf_t *perf, cairo_t *cr, int width, int height)
return;
cairo_perf_cover_sources_and_operators (perf, "fill", do_fill);
+ cairo_perf_cover_sources_and_operators (perf, "fill-eo-noaa", do_fill_eo_noaa);
}