Compositing issues with 30-bit RGB visuals

Kai-Uwe Behrmann ku.b at gmx.de
Wed Oct 19 00:24:19 PDT 2011


Am 18.10.11, 20:10 -0700 schrieb Pierre-Loup A. Griffais:
> On 10/17/2011 11:41 PM, Kai-Uwe Behrmann wrote:
>> I am not sure where to start and seek for input on a problem with KWin and
>> Compiz. They show very similiar wrong rendering of borders, shadows and
>> the logout screens.
>> 
>> In compiz is a RGBA buffer used to contruct window borders and shadows:
>> /* all pixmaps are ARGB32 */
>>       format = XRenderFindStandardFormat (xdisplay, PictStandardARGB32);
>> 
>> A sreenshot suggests that the 8-bit buffers are blended as is into the
>> 30-bit visuals. What is the correct way to blend in the final frame buffer
>> image with XRenderComposite()?
>
> Is the problem that the destination picture is created with the wrong format? 
> To create a Picture around the root window, the WM probably wants to use 
> PICT_a2r10g10b10 when it's depth 30 instead.

XRenderFindStandardFormat() accepts PictStandardARGB32 as the highest per 
channel bit depth format. Seems like I have to figure out how to contruct 
a XRenderPictFormat structure including XRenderDirectFormat. Here is some 
basic description:
http://www.x.org/releases/current/doc/libXrender/libXrender.txt
A example is given in the nvidia docu:
http://ftp.iinet.net.au/pub/nvidia/freebsd/169.12/README/README

> Are you trying to fix the same bug that I reported a while back?
>
> https://bugs.kde.org/show_bug.cgi?id=214011

It looks similiar, giving a hint that it might be the same effect.

>> As a side note, the window contents are almost fine with the exception of
>> FF and GTK2 drawing areas.
>
> I believe Damien Leone (CCed) came up with a patch for GTK that should fix 
> the issue you're seeing? He attached it to a bug you filed back in July:
>
> https://bugzilla.gnome.org/show_bug.cgi?id=625202
>
> Have you tried applying that to see if it fixes the non-WM related issues 
> you're seeing?

Thanks for the patch and as well for pointing to.

kind regards
Kai-Uwe Behrmann
-- 
developing for colour management 
www.behrmann.name + www.oyranos.org



More information about the xorg mailing list