[cairo] [PATCH] A set of NEON blitters for Pixman.

Jonathan Morton jonathan.morton at movial.com
Thu Jun 4 00:53:08 PDT 2009

On Thu, 2009-06-04 at 00:19 +0300, Siarhei Siamashka wrote:
> On Wednesday 03 June 2009, Koen Kooi wrote:
> > On 03-06-09 16:48, Jeff Muizelaar wrote:
> > > On Tue, Jun 02, 2009 at 03:27:14PM +0300, Jonathan Morton wrote:
> > >>> I've attached a revised version (directly editing the patch!) which
> > >>> just includes the code, without actually enabling anything.
> > >>
> > >> Ignore the previous patch, it's broken because I edited it wrong.
> > >> Attached is a complete patch series which successively enables the
> > >> blitters as requested.
> > >>
> > >> More blitters to follow later.
> > >
> > > Pushed.
> >
> > I'm getting weird artifacts with fonts on omap3 when using git head:
> >
> > http://scap.linuxtogo.org/files/cfe19862afe80f1693324aa8ca645bdf.png
> Found and fixed at least one bug (just because it happened to be detected by
> scaling-test program). A separate test which would cover all the neon
> fastpath functions is needed to increase chances that there are no other bugs
> left.
> Patch is attached.

Ah, I see the real bug.  It's a one-liner - r5 is being sourced
explicitly instead of the %[width] reference.  It's probably a
copy-paste bug, not spotted because I didn't originally write it.

BTW, the reason test/branch/store is used instead of
test/conditional-store is that apparently some ARMv7 CPUs no longer
handle conditional instructions efficiently unless they're branches, and
trigger an unconditional full branch mispredict penalty.  (Sigh.)

So a one-line fix is probably better, and I've attached a patch that
does exactly that.

I think this bug would cause the vertical bars on the right that Koen is
seeing, because the glyph path in Xorg includes filling a temporary
pixmap.  The reason I don't see it could be that I've locally changed
Xorg's behaviour in this respect, accidentally making it more tolerant
of a bad filler.

From: Jonathan Morton
      jonathan.morton at movial.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Fix-filler-bug.patch
Type: text/x-patch
Size: 0 bytes
Desc: not available
Url : http://lists.cairographics.org/archives/cairo/attachments/20090604/4bc8645f/attachment.bin 

More information about the cairo mailing list