http://bugs.winehq.org/show_bug.cgi?id=24695
--- Comment #1 from GyB gyebro69@gmail.com 2010-10-10 06:57:00 CDT --- After some more testing it turned out the game can be started in fullscreen with an older version of Wine (1.1.18), only when the following conditions are met: * GLSL must be disabled (via registry entry) * the size of the virtual desktop must be 1280x1024. It's not clear to me but any lower (1024x768) or higher resolution (e.g. 1440x900) resulted a crash. Later versions of Wine always crash even if GLSL is disabled.
So, if I consider Wine-1.1.18 the last working version, regression testing resulted the following commit:
754b5cf2adc73a917d7d60c35d5cad5897a5e92d is the first bad commit commit 754b5cf2adc73a917d7d60c35d5cad5897a5e92d Author: Stefan Dösinger stefan@codeweavers.com Date: Sun Mar 22 12:24:28 2009 +0100
wined3d: Deal with reserved shader constants in the backend.
This moves the GLSL and ARB specific reserved constants out of directx.c into the get_caps methods of the shader backends. That way the number of reserved constants remains in the backend.
GL_LIMITS({v/p}shader_constantsF) now contains the real number of constants as advertised by GL instead of some mixture of GL info and backend implementation specifics. This makes it easier for backends to decide how many constants to use.
:040000 040000 540fd0d6b33f9e7e8f911032bdcdc7fb2dd74353 b89d7243ca86dd91318381b2110e6f8dfabce3b5 M dlls
The patch can only be reverted cleanly on top of Wine-1.1.20, and that fixed the issue.
Author of the patch added to CC.