https://bugs.winehq.org/show_bug.cgi?id=55448
Bug ID: 55448 Summary: Motor4MX crashes due to HLSL syntax error 'unexpected KW_DOUBLE' Product: vkd3d Version: 1.8 Hardware: x86-64 URL: http://www.gamepressure.com/download.asp?ID=21182 OS: Linux Status: NEW Keywords: download Severity: normal Priority: P2 Component: hlsl Assignee: wine-bugs@winehq.org Reporter: gijsvrm@gmail.com Distribution: ---
0024:err:d3dcompiler:D3DCompile2 <anonymous>:114:1: E5000: syntax error, unexpected KW_DOUBLE
https://bugs.winehq.org/show_bug.cgi?id=55448
--- Comment #1 from Nikolay Sivov bunglehead@gmail.com --- Could you please attach shaders for that game, and d3dcompiler log, to see which profile and options are used.
https://bugs.winehq.org/show_bug.cgi?id=55448
--- Comment #2 from Gijs Vermeulen gijsvrm@gmail.com --- Created attachment 75012 --> https://bugs.winehq.org/attachment.cgi?id=75012 shaders & +d3dcompiler log
As requested.
https://bugs.winehq.org/show_bug.cgi?id=55448
--- Comment #3 from Nikolay Sivov bunglehead@gmail.com --- It's strange, it does not compile for me on Windows either. Maybe it's using d3dx9 API to compile, that behaves differently for doubles.
https://bugs.winehq.org/show_bug.cgi?id=55448
Zeb Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #4 from Zeb Figura z.figura12@gmail.com --- Versions 32-35 of both d3dx9 and d3dcompiler treat "double" as a sort-of-alias for "float", in the same way that "half" is. It's a distinct type but is mapped to float in the final shader. The following shader compiles with _35 and returns 0.3:
float func(float x){return 0.1;} float func(half x){return 0.2;} float func(double x){return 0.3;}
float4 main(uniform double u) : sv_target { return func(u); }
https://bugs.winehq.org/show_bug.cgi?id=55448
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Motor4MX crashes due to |MotorM4X crashes due to |HLSL syntax error |HLSL syntax error |'unexpected KW_DOUBLE' |'unexpected KW_DOUBLE'
https://bugs.winehq.org/show_bug.cgi?id=55448
--- Comment #5 from Nikolay Sivov bunglehead@gmail.com --- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1025
https://bugs.winehq.org/show_bug.cgi?id=55448
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Fixed by SHA1| |799e6105a4edfd9291ea16d8ecf | |c5bc36bf9fa1a Resolution|--- |FIXED
--- Comment #6 from Nikolay Sivov bunglehead@gmail.com --- This is now fixed in git, https://gitlab.winehq.org/wine/vkd3d/-/commit/799e6105a4edfd9291ea16d8ecfc5b....
After the next release I'm going to enable this new option for older compiler modules in wine.