On Tue, May 17, 2011 at 09:27:45AM +0200, Michel Dänzer wrote: > On Die, 2011-05-17 at 00:12 +0200, Marcin Slusarz wrote: > > On Mon, May 16, 2011 at 10:51:58PM +0200, Roland Scheidegger wrote: > > > Otherwise, doesn't really look hacky to me - unless we could get other > > > channel ordering or something similar... > > > > It makes assumptions about how color components are ordered and what are > > their widths - e.g. it can't distinguish r5g6b5 from a1r5g5b5. > > Such assumptions should be fine for non-RENDER operations. For RENDER, > maybe you could use something like exaGetRGBAFromPixel, at least for > inspiration.
The problem is that exa does not pass format to PrepareSolid - only raw color data and depth, but pipe_context->clear wants float[4], so we need to figure out color format first. (Or add raw_clear operation...) For 2D drivers this exa misdesign didn't matter because they used 2D engines - which care only about BPP for solid fills. Accelerating RENDER operations should not be a big problem for gallium, because exa passes all formats (through PicturePtr). For now xorg st fallbacks too much, but this is something I'm going to tackle soon. Marcin _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev