https://bugs.winehq.org/show_bug.cgi?id=56465
Bug ID: 56465 Summary: d3dcompiler fails to compile shader functions that have optional arguments ("E5000: syntax error, unexpected '=', expecting ')'") Product: vkd3d Version: 1.11 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: hlsl Assignee: wine-bugs@winehq.org Reporter: alexhenrie24@gmail.com Distribution: ---
Minimal example (compile with `i686-w64-mingw32-cc *.c -ld3dx9_36`):
#include <windows.h> #include <d3dx9shader.h> #include <stdio.h>
int main() { static const char src[] = "float4 main(float4 color : COLOR = float4(0,0,0,0)) : COLOR { return color; }"; ID3DXBuffer *out = NULL; HRESULT res = D3DXCompileShader(src, sizeof(src), NULL, NULL, "main", "ps_2_0", 0, &out, NULL, NULL); printf("res=%x\n", res); return res; }
Output:
0024:err:d3dcompiler:D3DCompile2 Failed to compile shader, vkd3d result -4. 0024:err:d3dcompiler:D3DCompile2 Shader log: 0024:err:d3dcompiler:D3DCompile2 <anonymous>:1:36: E5000: syntax error, unexpected '=', expecting ')' 0024:err:d3dcompiler:D3DCompile2 res=80004005
Output after `winetricks d3dcompiler_47`:
res=0
https://bugs.winehq.org/show_bug.cgi?id=56465
Zeb Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #1 from Zeb Figura z.figura12@gmail.com --- That's going to take a lot of work. Do you have an application that requires this?
https://bugs.winehq.org/show_bug.cgi?id=56465
--- Comment #2 from Gijs Vermeulen gijsvrm@gmail.com --- Created attachment 76769 --> https://bugs.winehq.org/attachment.cgi?id=76769 log + shaders
It seems the Nvidia GeoForms demo (bug 43481) might require this too. I've attached a log and the dumped shaders (compressed).
https://bugs.winehq.org/show_bug.cgi?id=56465
--- Comment #3 from Nikolay Sivov bunglehead@gmail.com --- This works with vkd3d 1.13, most likely after 49caeee1fd59c6e15ef7eb99f31c3bbbed4dd5e5.
Alex, could you please retry if you have more test cases besides what's in this bug description?
https://bugs.winehq.org/show_bug.cgi?id=56465
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |49caeee1fd59c6e15ef7eb99f31 | |c3bbbed4dd5e5 Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #4 from Alex Henrie alexhenrie24@gmail.com --- Looks good to me, thanks.
https://bugs.winehq.org/show_bug.cgi?id=56465
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #5 from Nikolay Sivov bunglehead@gmail.com --- Closing bugs fixed in 1.14.