On Fri, 21 May 2010 11:44:39 -0400, Adam Jackson <[email protected]> wrote:
> Context:
> 
> https://bugzilla.redhat.com/show_bug.cgi?id=533879
> 
> If you've got a 24bpp framebuffer, you poor misguided soul you, then you
> have a conundrum.  Pixmaps are 32bpp but Windows aren't.  Suppose you
> make a Picture out of a Window.  You would think you'd be required to
> use one of the Formats with an associated Visual.  What does the spec
> say about it?
> 
[...]
> 
> b) Fix the spec to be more strict, and fix cairo and whoever else to be
> more careful about picking Visual Formats for Window Pictures.

The bad news here is that the XRenderFormat chosen (for
cairo_xlib_surface_create_with_xrender_format()) is entirely the
responsibility of the application. Visuals are mapped to XRenderFormats
using the mapping supplied by RenderQueryPictFormats. Cairo itself
only creates [ax]rgb32 (and a8) pixmaps. So we would need to teach the
toolkits to handle 24bpp Windows.

The implementation should be fixed though, let's return BadMatch and
stop this silent corruption.
-ickle

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to