[Pixman] Generic pixman_blt

Siarhei Siamashka siarhei.siamashka at gmail.com
Tue Dec 3 00:30:18 PST 2013


On Mon, 2 Dec 2013 16:53:49 +0000
"Burton, Ross" <ross.burton at intel.com> wrote:

> Hi,
> 
> In upgrading our pixman package I discovered that we're carrying two
> non-trivial patches.  One was previously rejected on the list so I'll
> do some more research and come back to that, but the other one simply
> adds a generic implementation of pixman_blt.  I've attached the patch,
> refreshed for 0.32.4
> 
> From what I can tell if the processor doesn't support any of the
> vector hardware operations then the pixman_blt operation will simply
> run out of implementations and return FALSE.

While the current implementation of pixman_blt does not look great,
returning FALSE does not break anything. Just because the caller is
expected to have a fallback implementation anyway:
    http://cgit.freedesktop.org/xorg/xserver/tree/fb/fbcopy.c?id=xorg-server-1.14.4#n84

The only drawback is that this fallback implementation in the Xorg
server used to have rather poor performance.

> We test our software on x86/PPC/MIPS/ARM machines emulated in qemu,
> so I wouldn't be surprised if that happened on PPC, and maybe
> MIPS/ARM depending on the exact machine configuration.
> 
> So, has a generic blt implementation been rejected in the past, should
> this patch be reviewed and merged, or is it redundant and I can delete
> it?

It is redundant in the sense that it does not fix any bugs. Moreover,
this patch incomplete. Because if we want to add support for overlapped
source and destination images to pixman_blt, this support has to be
added to all backends at the same time and covered by the test suite.
This all used to be included in the original patch set, but openembedded
apparently has cherry picked only a single patch.

The old patch set had been dropped, because it was intended to be
used as part of pixman in a real product (with its own deadlines and
requirements), but this particular performance problem had been just
solved in a different way. So there was no motivation to push the patch
set further. And there was no feedback from the other users, confirming
that they would like to have it.

TL;DR - you can safely delete this patch.

-- 
Best regards,
Siarhei Siamashka


More information about the Pixman mailing list