[cairo] JIT for pixman

Freddie Witherden freddie at witherden.org
Fri Jan 9 00:31:11 PST 2009

Hi all,

> > i am interested on working on a JIT for pixman compisiting code
> > (http://cairographics.org/summerofcode/ideas/). I have some very
> > (very...) early ideas on what can be done and how it should be done
> > using the llvm framework.
> I consider a JIT compiler for pixman and multithreading in cairo and
> pixman the two most important long-term projects right now, so thanks
> for your interest in this.

I am unsure there; if only 10-25 different compositing formats are used,
on average then is the ability to specialise any arbitrary formats all
that useful? If 5% of the possible operators take up 80% of the time
then it is probably better to ensure that they are well optimised

I think that the functionality provided by JIT is better exploited when
dealing with per-pixel manipulation filters. (Of which compositing is a
subset.) Take a look at Apple's CoreImage kernels or GLSL pixel shaders.
Support for something like these in Cairo (user-definable per-pixel
filters) would benefit greatly from JIT.

I also agree that while LLVM is without doubt a heavyweight solution, it
is very well supported and well tested. (Apple I believe use it for
OpenGL shader emulation and I believe Gallium3D plan to do the same.)

So in short: JIT = neat; using it just for compositing = not so neat.

Regards, Freddie.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
Url : http://lists.cairographics.org/archives/cairo/attachments/20090109/8f9989a1/attachment.pgp 

More information about the cairo mailing list