On Tue, Sep 8, 2015 at 2:08 PM, Pekka Paalanen <ppaala...@gmail.com> wrote: > From: Pekka Paalanen <pekka.paala...@collabora.co.uk> > > Add a new option to PIXMAN_DISABLE: "wholeops". This option disables all > whole-operation fast paths regardless of implementation level, except > the general path (general_composite_rect). > > The purpose is to add a debug option that allows us to test optimized > iterator paths specifically. With this, it is possible to see if: > - fast paths mask bugs in iterators > - compare fast paths with iterator paths for performance > > The effect was tested on x86_64 by running: > $ PIXMAN_DISABLE='' ./test/lowlevel-blt-bench over_8888_8888 > $ PIXMAN_DISABLE='wholeops' ./test/lowlevel-blt-bench over_8888_8888 > > In the first case time is spent in sse2_composite_over_8888_8888(), and > in the latter in sse2_combine_over_u(). > > Signed-off-by: Pekka Paalanen <pekka.paala...@collabora.co.uk> > --- > pixman/pixman-implementation.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/pixman/pixman-implementation.c b/pixman/pixman-implementation.c > index 5884054..2c7de4c 100644 > --- a/pixman/pixman-implementation.c > +++ b/pixman/pixman-implementation.c > @@ -380,6 +380,11 @@ _pixman_disabled (const char *name) > return FALSE; > } > > +static const pixman_fast_path_t empty_fast_path[] = > +{ > + { PIXMAN_OP_NONE } > +}; > + > pixman_implementation_t * > _pixman_choose_implementation (void) > { > @@ -397,5 +402,16 @@ _pixman_choose_implementation (void) > > imp = _pixman_implementation_create_noop (imp); > > + if (_pixman_disabled ("wholeops")) > + { > + pixman_implementation_t *cur; > + > + /* Disable all whole-operation paths except the general one, > + * so that optimized iterators are used as much as possible. > + */ > + for (cur = imp; cur->fallback; cur = cur->fallback) > + cur->fast_paths = empty_fast_path; > + } > + > return imp; > } > -- > 2.4.6 > > _______________________________________________ > Pixman mailing list > Pixman@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/pixman
Reviewed-by: Oded Gabbay <oded.gab...@gmail.com> _______________________________________________ Pixman mailing list Pixman@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pixman