[5/5] wined3d: change colorkey fixup for stage 0 alphaop / alphaarg

Stefan Dösinger stefandoesinger at gmx.at
Wed Jan 2 09:53:18 CST 2008

Am Mittwoch, 2. Januar 2008 12:44:24 schrieb Stefan Dösinger:
> Am Mittwoch, 2. Januar 2008 13:38:57 schrieb Alexander Dorofeyev:
> > In case of colorkey emulation for a texture, if the application wants to
> > select alpha from diffuse color at stage 0, a fixup to modulate with
> > texture alpha more closely matches what the application wants than fixup
> > to just select alpha from texture.
I tested pop3d and Moto Racer 2. Pop3d still works as expected, but moto racer 
2 has some missing geometry. It draws some opaque parts of the scene with 
color keying on, and a diffuse alpha of 0.0, so the alpha test kicks in and 
the geometry is missing.

The moto racer 2 demo is available online, e.g. 
http://downloads.gamezone.com/demos/d1576.htm. Note that the installer 
refuses to run, unless you set your X server's depth to 16. I also caused a 
regression in that game when I fixed some bugs with native d3drm.dll, so you 
need the attached hack.
(I didn't have time and energy to write a test to test that, but I think that 
BRANCHFORWARD tokens with offset 0 are special, and that the existing 
executebuffer test in d3d.c just points out the special case, but the common 
case is implemented incorrectly)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: moto2-hack.diff
Type: text/x-diff
Size: 655 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20080102/230654e2/attachment.diff 

More information about the wine-devel mailing list