[sugar] Cairo tile engine, and accessing 565 buffers from cairo and C

Dan Williams dcbw at redhat.com
Tue Apr 17 10:15:58 EDT 2007


On Tue, 2007-04-17 at 16:04 +0200, Bert Freudenberg wrote:
> On Apr 17, 2007, at 15:53 , Dan Williams wrote:
> 
> > Correct; about the only thing you can do here is use create_similar 
> > () on
> > the xlib _window_ surface, draw your 24bpp image surface to that, and
> > cache the 565 xlib surface for all further drawing.  Note that you  
> > will
> > _not_ get alpha because the surface is 565.
> 
> Supposed we switched to 1555 as suggested by some, we would have one  
> bit of alpha, which would be very useful for sprites in games. Given  
> the small pixel size this should also look pretty satisfactory even  
> though there is only 1 bit of alpha and no real blending.
> 
> So is this still planned or are you going to switch to 24 bits once  
> the LX arrives?

The current plan for us at OLPC is to re-evaluate 24-bit, 32bpp when the
LX arrives.  There's not much of a point of spending time on 1555 or
4444 on the GX right now.  If somebody wants to do some testing on 1555,
that would be fine.  Since there are already lots of developer machines
out there, and that's all that people have to work with, it would
probably be helpful to spend some time and get hard Xlib performance
numbers and oprofiles of some of the cases to make sure 1555 is better.

Again, Xlib's and cairo's pixman library has no MMX optimization for
1555, and therefore X11 pixmap conversions from anything to 1555 will
hurt more than anything to 565.  I guess that's not a problem for
Squeak, but it's a problem for everyone else.  We just need some
numbers.

Dan




More information about the Sugar mailing list