[PATCH] render: Don't generate invalid pixman format when using a 24bpp framebuffer with a 32bit depth visual.

Keith Packard keithp at keithp.com
Mon Aug 18 08:12:25 PDT 2014


Takashi Iwai <tiwai at suse.de> writes:

> At Sun, 17 Aug 2014 14:41:32 -0700,
> Keith Packard wrote:
>> 
>> Takashi Iwai <tiwai at suse.de> writes:
>> 
>> > That is, bitsPerPixel is replaced from 32 to 24 in CreateWindow().
>> > Hence this results in the combination of depth=32/bpp=24.  Ouch.
>> 
>> Sounds like we need to hack Composite to fix how depth 32 windows are
>> supported for this platform; those windows need to actually be listed as
>> 32bpp instead of 24bpp.
>
> Reading the relevant codes again, the problem appears to be the
> inconsistent bpp between window and pixmap.  Then I tested the
> oneliner below to make CreateWindow() behaving same as fb/pixmap.c,
> and the problem is actually gone.
>
> Is this approach more reasonable?

Yes, this makes complete sense. The reason this check wasn't present
for windows is that (before composite), windows generally all shared the
screen pixmap.

Reviewed-by: Keith Packard <keithp at keithp.com>

-- 
keith.packard at intel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 810 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20140818/facd733f/attachment.sig>


More information about the xorg-devel mailing list