WineHQ
Bug Tracking Database – Bug 27733

 Bugzilla

 

Last modified: 2014-02-20 12:37:39 UTC  

Fishdom 2: some fish render purple

Bug 27733 - Fishdom 2: some fish render purple
Fishdom 2: some fish render purple
Status: CLOSED FIXED
AppDB: Show Apps affected by this bug
Product: Wine
Classification: Unclassified
Component: d3d
1.3.24
x86 Linux
: P2 minor
: ---
Assigned To: Mr. Bugs
http://www.playrix.com/download/pc/fi...
: download
Depends on: 33055
Blocks:
  Show dependency tree
 
Reported: 2011-07-08 17:48 UTC by Austin English
Modified: 2014-02-20 12:37 UTC (History)
2 users (show)

See Also:
Regression SHA1:
Fixed by SHA1: e2cf98eb76b9c8451b5f9d25b0c9c07f9fdc4e04
Distribution: ---
Staged patchset:


Attachments
screenshot (506.01 KB, image/png)
2011-07-08 17:49 UTC, Austin English
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Austin English 2011-07-08 17:48:58 UTC
Download the fishdom trial. Install ie7 with winetricks to avoid bug 27703, then set hardware acceleration to emulation to avoid bug 27704. Once in game, start a puzzle, and look at the background image. Some fish/seaweed/coral are purple. On windows, they render in different pretty colors :).

native d3dx9 doesn't help, nor does disabling glsl/using backbuffer instead of fbo (in all combinations).
Comment 1 Austin English 2011-07-08 17:49:37 UTC
Created attachment 35488 [details]
screenshot
Comment 2 Matteo Bruni 2011-08-29 16:17:19 UTC
I looked into this some time ago and I sent some tests to show the issue (that's afd1fe43890026540703c9bc146fba49da316325 et al.) but I forgot to comment...

Essentially: those tests show that D3D has a specific (and consistent) behavior with fog when there is an orthogonal projection matrix set. Unfortunately, it does not match OpenGL's fixed function pipeline behavior, so in these specific circumstances we get an erroneous fog. This is exactly what causes the purple fishes here: they are actually completely fogged out.

There is no way, apparently, to change OpenGL behavior accordingly (i.e. by means of a GL extension): the only reasonable fix for this issue is to implement a shader-based fixed function replacement pipeline. So, different reason, but same 'prescription' as bug 6955. This doesn't mean that the hacks from bug 6955 are going to help here, just that the "real fix" for both those bugs requires, well, a lot of work...
Comment 3 Béla Gyebrószki 2013-02-24 12:33:41 UTC
Austin, could you please re-test this bug with a recent Wine version (>1.5.17).
I believe commit 10d46bc042696bb9e5c45ac88af332c957bbff03 may have helped with this.
At least the fish are colorful here, tested with Nvidia binary drivers 313.18.
You may run into bug #33055.
Comment 4 Austin English 2013-02-25 13:26:57 UTC
(In reply to comment #3)
> Austin, could you please re-test this bug with a recent Wine version (>1.5.17).
> I believe commit 10d46bc042696bb9e5c45ac88af332c957bbff03 may have helped with
> this.
> At least the fish are colorful here, tested with Nvidia binary drivers 313.18.
> You may run into bug #33055.

I'm getting bug 33055, so this is blocked.
Comment 5 Austin English 2013-04-23 18:24:19 UTC
This is fixed in wine-1.5.28-141-gf663683 / nvidia 313.18.
Comment 6 Matteo Bruni 2013-04-25 10:50:55 UTC
This is not fixed for me on Mesa radeon. Not sure why it works fine on Nvidia (I can confirm that it does).

In general I wouldn't expect any change from 10d46bc042696bb9e5c45ac88af332c957bbff03 related to this bug. If the debugging I did at the time was correct, the issue is caused by a different handling of fog coordinates between D3D and OpenGL with fixed function rendering. Essentially if there is an orthogonal projection matrix set, the fog is computed with the pre-projection z value on GL, while in D3D it is computed from the projected z. Properly fixing that requires a vertex pipeline replacement, which isn't there yet.

So, no idea why that commit actually made a difference here. Sure enough, the test I added in afd1fe43890026540703c9bc146fba49da316325 still fails, on nvidia as on radeon. I guess I can take another look, but in any case I wouldn't call this bug fixed just yet.
Comment 7 Austin English 2013-04-25 12:29:39 UTC
Copied from IRC yesterday:
Apr 24 12:25:12 <austin987>     Mystral, works for me at 715fd2a and f663683, with glsl and arb
Apr 24 12:25:18 <austin987>     on 313.18 / GTX 460

at least on my machine, it appears to have been fixed by the nvidia driver.

Reopening since it's broken for you, though I won't be able to test this going forward (well, without reverting the nvidia-driver).
Comment 8 Matteo Bruni 2013-11-14 10:36:30 UTC
I forgot to mention at the time, this was fixed by e2cf98eb76b9c8451b5f9d25b0c9c07f9fdc4e04.
Comment 9 Bruno Jesus 2014-02-10 06:21:16 UTC
(In reply to comment #8)
> I forgot to mention at the time, this was fixed by
> e2cf98eb76b9c8451b5f9d25b0c9c07f9fdc4e04.

Resolving fixed.
Comment 10 Alexandre Julliard 2014-02-20 12:37:39 UTC
Closing bugs fixed in 1.7.13.


Privacy Policy
If you have a privacy inquiry regarding this site, please write to [email protected]

Hosted By CodeWeavers