https://bugs.winehq.org/show_bug.cgi?id=48302
--- Comment #7 from Paul Gofman gofmanp@gmail.com --- Created attachment 66075 --> https://bugs.winehq.org/attachment.cgi?id=66075 d3dx9: Use compatibility flag for shader compilation.
Back to the original issue with builtin d3dx9_34, the problem is in shaders compilation which the game wants to compile with D3DXCompileShader(). Even with native d3dcompiler_47 overrides the shaders do not compile due to the following error returned from native compiler:
error X3025: global variables are implicitly constant, enable compatibility mode to allow modification
The attached patch fixes the issue with builtin d3dx9 (native d3dcompiler_47 overrides is still needed). This could of course use some tests to get an idea of which versions of d3dx9 support this old HLSL.