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
