[PATCH RFC xserver] dix: Work around non-premultiplied ARGB cursor data

Laurent Carlier lordheavym at gmail.com
Tue Jun 28 09:37:43 UTC 2016


Le 28/06/2016 à 10:22, Michel Dänzer a écrit :
> From: Michel Dänzer <michel.daenzer at amd.com>
> 
> Some games incorrectly use non-premultiplied ARGB cursor data, presumably
> because that's what Windows uses. On some hardware (and with SWcursor),
> this breaks areas of the cursor which are supposed to be transparent
> (and presumably also translucent areas, but that's less noticeable).
> 
> This change checks for pixels with alpha == 0 and any non-alpha component
> != 0. If any such pixel is found, the data is assumed to be
> non-premultiplied and fixed up by multiplying the RGB components with the
> alpha component.
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92309
> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
> ---
> 
> I'm on the fence about whether this is a good or bad idea.
> 
> Pro:
> * Allows users with affected setups to play broken games
> * Less overhead than a corresponding workaround in the driver
> 
> Con:
> * Makes the problem completely invisible to game developers, so once
>   it's in we can probably never remove it again
> 
> Opinions?
> 

Successfully tested with Legend of Grimrock, Shadow Warrior and The Cave
games.

Maybe you can hide this behind an xorg config option?
-- 
Laurent Carlier
http://www.archlinux.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <https://lists.x.org/archives/xorg-devel/attachments/20160628/9837d303/attachment.sig>


More information about the xorg-devel mailing list