[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