[cairo] [PATCH] Fixes for ARM features runtime autodetection support

Soeren Sandmann sandmann at daimi.au.dk
Wed Jul 1 11:54:19 PDT 2009


Jonathan Morton <jonathan.morton at movial.com> writes:

> A potentially cleaner solution would be to abstract away the scanline
> fetch and put in the implementations' overall composite functions, and
> make all the inner-loop blitters work on one scanline at a time.  This
> might allow a variety of efficiency improvements, but would be a lot of
> effort to implement right now.

This is more or less how the general implementation works. An
implementation can implement all the combine routines and those will
get fed scanlines. This is straightforward to do; see the mmx/sse2/vmx
implementations for examples.

The downside to that is that scanline fetching and storing will then
be done by generic code in pixman-access.c. Allowing those to be
replaced is a more work, but would be useful for SSE2 as well:

        https://bugs.freedesktop.org/show_bug.cgi?id=20709
        https://bugs.freedesktop.org/show_bug.cgi?id=21173

The way I'd do it, is to allow implementations to be involved when
images are created so that they can set their own fetcher and storer
virtual functions. Let me know if you want more details on this.


Soren


More information about the cairo mailing list