https://bugs.winehq.org/show_bug.cgi?id=38048
--- Comment #2 from Matteo Bruni matteo.mystral@gmail.com --- Created attachment 50699 --> https://bugs.winehq.org/attachment.cgi?id=50699 Hack
Thanks Béla for the bug report.
I can reproduce the issue. It turns out that Heaven is doing an UpdateTexture from a 10-levels to a 8-levels 512x512 ATI2N texture (i.e. the latter is missing the 2x2 and 1x1 levels). That's currently rejected by wined3d_device_update_texture but it seems to work just fine on Windows, notwithstanding MSDN mentioning such case as invalid. I haven't checked it but probably the application was using a different codepath without ATI1N and ATI2N textures before the regression patch thus not triggering this bug.
The attached patch drops the check and fixes the issue for me. It needs more work for Wine (i.e. it might break other games as it is).