[Bug 38760] Tropico 3 doesn't render water correctly when anti-aliasing enabled

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Jun 15 10:09:56 CDT 2015


https://bugs.winehq.org/show_bug.cgi?id=38760

Matteo Bruni <matteo.mystral at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |matteo.mystral at gmail.com

--- Comment #2 from Matteo Bruni <matteo.mystral at gmail.com> ---
I thought we had a bug for this one already but I can't find it.

Anyway, I debugged this in the past and the issue here is that the game wants
to do a multisample resolve of the depth buffer. There isn't a generic D3D9 way
of doing this but Nvidia and AMD offer different hacks for that. The AMD way is
RESZ, which is implemented in wined3d (actually IIRC I implemented it for this
game). The Nvidia way is through nvapi.dll, which we don't implement.

Unfortunately this game (like WoW and probably most / all the games using this
hack) doesn't check for RESZ at all on Nvidia GPUs but only looks for NVApi,
fails to find it and skips the multisample resolve altogether. Broken water is
the result.

It's not possible to use native nvapi.dll since it hooks into the Nvidia
drivers. A workaround which should work instead is to override the GPU reported
by wined3d to some AMD model e.g. via the VideoPciVendorID and VideoPciDeviceID
registry keys.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list