http://bugs.winehq.org/show_bug.cgi?id=22667
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |matteo.mystral@gmail.com
--- Comment #7 from Matteo Bruni matteo.mystral@gmail.com 2013-06-28 09:41:22 CDT --- I've spent some time on this bug and now I think this is a driver bug. It works fine for me on a Radeon HD 5650M with Mesa drivers and on an GeForce GTX 470 with binary drivers. It crashes on a GeForce 6200 with binary drivers with glibc complaining about memory corruption in a memory area pertaining to the GL library.
The game creates and uses a D3DFMT_R16_FLOAT texture to draw the shadow-related info into. On the 6200, the game crashes a bit after using that texture as a render target for the first time. If I force the game to use a RGBA8 texture instead all works fine (although the shadows show a number of artifacts caused by the reduced texture precision, as expected). Another test I did was to create a trace with apitrace on the GTX 470 and replay it on the 6200: it crashed as well.
The OP has an Intel GPU, so he's using a different driver of course. In his case though the drivers are apparently compiled without float textures support and that probably explains his issues.
So, again, I think this is essentially a driver bug triggered by that 16-bit float texture (and some other render state which I couldn't identify), probably present on Nvidia GPUs up to GeForce 7xxx. I'll be thankful if someone could try the demo and confirm (or refuse) this analysis.