http://bugs.winehq.org/show_bug.cgi?id=34106
Bug #: 34106 Summary: Bioshock demo needs native d3dx9_33 (purist) Product: Wine Version: 1.6 Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: directx-d3dx9 AssignedTo: wine-bugs@winehq.org ReportedBy: dank@kegel.com CC: wine-bugs@winehq.org Classification: Unclassified
After verifying that bug 23884 seems fixed, I tried running the game after doing 'winetricks alldlls=builtin'. It crashed after the first small splash screen, before the first logo movie, with log:
err:d3dcompiler:compile_shader HLSL shader parsing failed. Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x7dd73758). Backtrace: =>0 0x7dd73758 dump_exception_type+0xfb(type=0x685a180) [dlls/msvcrt/except_i386.c:227] ... 9 0x7bc829d4 RtlRaiseException+0xb() in ntdll 10 0x00000001 (0x0073ac88) 11 0x7dd69f4d _CxxThrowException+0x47(object=<?>, type=<?>) [dlls/msvcrt/cpp.c:1085] in msvcrt (0x0073acc8) 12 0x1091267f in bioshock (+0x1267e) (0x0073f760) ...
I'll attach a WINEDEBUG=+d3dcompiler log showing the shader compiler errors.
Setting d3dx9_33 to native rescued the game and let it launch and swim to the initial entry hall.
http://bugs.winehq.org/show_bug.cgi?id=34106
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |http://us.download.nvidia.c | |om/downloads/nZone/demos/nz | |d_BioShockPC.zip
--- Comment #1 from Dan Kegel dank@kegel.com 2013-07-21 14:20:52 CDT --- sha1sum 7a19186602cec5210e4505b58965e8c04945b3cf nzd_BioShockPC.zip (Tested via 'winetricks bioshock_demo'.)
http://bugs.winehq.org/show_bug.cgi?id=34106
--- Comment #2 from Dan Kegel dank@kegel.com 2013-07-21 14:21:58 CDT --- Created attachment 45352 --> http://bugs.winehq.org/attachment.cgi?id=45352 +d3dcompiler log
http://bugs.winehq.org/show_bug.cgi?id=34106
--- Comment #3 from Dan Kegel dank@kegel.com 2013-07-21 14:30:42 CDT --- (Hmm. bug 23884 used a different download. I'll compare them if it ever finishes downloading.)
http://bugs.winehq.org/show_bug.cgi?id=34106
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |matteo.mystral@gmail.com
--- Comment #4 from Matteo Bruni matteo.mystral@gmail.com 2013-07-22 10:39:36 CDT --- I'm curious to know if it works fine with native d3dcompiler_43 but builtin d3dx9_33/d3dx9_36. Can you test that?
http://bugs.winehq.org/show_bug.cgi?id=34106
Qian Hong fracting@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fracting@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=34106
Andrey Gusev andrey.goosev@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |andrey.goosev@gmail.com
--- Comment #5 from Andrey Gusev andrey.goosev@gmail.com 2013-09-20 14:41:03 CDT --- (In reply to comment #4)
I'm curious to know if it works fine with native d3dcompiler_43 but builtin d3dx9_33/d3dx9_36. Can you test that?
I can confirm with native d3dcompiler_43 and built-in d3dx9_36 demo launches and doesn't crash, but have another issues which don't allow to play.
http://bugs.winehq.org/show_bug.cgi?id=34106
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Summary|Bioshock demo needs native |Bioshock 1.0 demo needs |d3dx9_33 (purist) |native d3dcompiler_43 | |(purist)
--- Comment #6 from Anastasius Focht focht@gmx.net 2013-10-27 15:07:28 CDT --- Hello folks,
still present with wine-1.7.5
Updating summary, only native d3dcompiler_43 is actually needed.
The NVIDIA URL has abysmal download speed (>1d for 1.8 GiB).
Faster download here (same sha1): http://springfiles.com/downloadmain/14705
Current trace log:
--- snip --- ... 0025:trace:d3dcompiler:D3DCompile data 0x73b390, data_size 1182, filename (null), defines (nil), include (nil), entrypoint "VSMain", target "vs_3_0", sflags 0, eflags 0, shader 0x73b37c, error_messages (nil) 0025:trace:d3dcompiler:wpp_open_mem Opening include "". 0025:trace:d3dcompiler:compile_shader Preprocessed shader source: "# 1 "" 1\n struct VS_OUTPUT { float4 Position : SV_Position; float2 TexCoord : TEXCOORD;\t }; VS_OUTPUT VSMain(float4 vPos : POSITIO"... 0025:trace:d3dcompiler:compile_shader Checking compilation target "vs_3_0" 0025:trace:d3dcompiler:push_scope Pushing a new scope 0025:trace:d3dcompiler:push_scope Pushing a new scope 0025:trace:d3dcompiler:push_scope Pushing a new scope 0025:trace:d3dcompiler:make_assignment Creating proper assignment expression. 0025:fixme:d3dcompiler:make_assignment Check for casts in the lhs. 0025:trace:d3dcompiler:make_assignment Creating proper assignment expression. 0025:fixme:d3dcompiler:make_assignment Check for casts in the lhs. 0025:trace:d3dcompiler:make_assignment Creating proper assignment expression. 0025:fixme:d3dcompiler:make_assignment Check for casts in the lhs. 0025:fixme:hlsl_parser:hlsl_parse Check for valued return on void function. 0025:fixme:hlsl_parser:hlsl_parse Implicit conversion to the return type if needed, error out if conversion not possible. 0025:trace:d3dcompiler:pop_scope Popping current scope 0025:trace:d3dcompiler:pop_scope Popping current scope 0025:trace:d3dcompiler:compilation_message :1:838: error: syntax error, unexpected NEW_IDENTIFIER 0025:trace:d3dcompiler:compile_shader Compiler messages: 0025:trace:d3dcompiler:compile_shader ":1:838: error: syntax error, unexpected NEW_IDENTIFIER\n" 0025:trace:d3dcompiler:compile_shader Shader source: 0025:trace:d3dcompiler:compile_shader "# 1 "" 1\n struct VS_OUTPUT { float4 Position : SV_Position; float2 TexCoord : TEXCOORD;\t }; VS_OUTPUT VSMain(float4 vPos : POSITIO"... 0025:err:d3dcompiler:compile_shader HLSL shader parsing failed. ... --- snip ---
Sanitized shader source code:
--- snip --- struct VS_OUTPUT { float4 Position : SV_Position; float2 TexCoord : TEXCOORD; };
VS_OUTPUT VSMain(float4 vPos : POSITION, float2 vTex : TEXCOORD) { VS_OUTPUT output; output.Position = vPos; output.Position.zw = float2(0,1); output.TexCoord = vTex; return output; }
struct PS_OUTPUT { float4 Color : SV_Target; };
Texture2D Tex0; SamplerState TextureSampler;
PS_OUTPUT PSMain(VS_OUTPUT In) { PS_OUTPUT output; output.Color = Tex0.Sample(TextureSampler, In.TexCoord); return output; } --- snip ---
Regards
https://bugs.winehq.org/show_bug.cgi?id=34106
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |leslie_alistair@hotmail.com
--- Comment #7 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- (In reply to Anastasius Focht from comment #6)
Texture2D Tex0; SamplerState TextureSampler;
The parser doesn't appear to handle the global variables of the shader.
https://bugs.winehq.org/show_bug.cgi?id=34106
Rafał Mikrut mikrutrafal@protonmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mikrutrafal@protonmail.com
--- Comment #8 from Rafał Mikrut mikrutrafal@protonmail.com --- Tried with Wine 5.11 and seems to work fine
https://bugs.winehq.org/show_bug.cgi?id=34106
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #9 from Zebediah Figura z.figura12@gmail.com --- (In reply to Rafał Mikrut from comment #8)
Tried with Wine 5.11 and seems to work fine
This seems suspicious; are you sure you're using builtin d3dcompiler_43?
https://bugs.winehq.org/show_bug.cgi?id=34106
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Product|Wine |vkd3d Summary|Bioshock 1.0 demo needs |Bioshock 1.0 demo crashes |native d3dcompiler_43 |after intro videos due to |(purist) |HLSL compilation failure Component|d3d-util |hlsl
--- Comment #10 from Gijs Vermeulen gijsvrm@gmail.com --- Still crashes with wine-8.0rc2. By default, it loads native d3dx9_33, d3dx10_33 and d3dcompiler_33. I set those to builtin together with d3dcompiler_43 and 47, then I could reproduce.
vkd3d:fixme:write_sm4_block Unhandled instruction type HLSL_IR_JUMP. 01b4:err:d3dcompiler:D3DCompile2 Failed to compile shader, vkd3d result -4. 01b4:err:d3dcompiler:D3DCompile2 Shader log: 01b4:err:d3dcompiler:D3DCompile2 <anonymous>:178:53: E5005: Function "exp" is not defined. 01b4:err:d3dcompiler:D3DCompile2 01b4:warn:d3dcompiler:hresult_from_vkd3d_result Invalid shader bytecode.
https://bugs.winehq.org/show_bug.cgi?id=34106
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Bioshock 1.0 demo crashes |Multiple games crash on |after intro videos due to |missing 'exp' handling |HLSL compilation failure |(Bioshock 1.0 demo, BeamNG | |Techdemo 0.3)
https://bugs.winehq.org/show_bug.cgi?id=34106
--- Comment #11 from Gijs Vermeulen gijsvrm@gmail.com --- *** Bug 34204 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=34106
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |amagarrsh@gmail.com
--- Comment #12 from Gijs Vermeulen gijsvrm@gmail.com --- *** Bug 41675 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=34106
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Multiple games crash on |Multiple games crash on |missing 'exp' handling |missing 'exp' handling |(Bioshock 1.0 demo, BeamNG |(Bioshock 1.0 demo, BeamNG |Techdemo 0.3) |Techdemo 0.3, Dungeon Rats)
https://bugs.winehq.org/show_bug.cgi?id=34106
--- Comment #13 from Nikolay Sivov bunglehead@gmail.com --- (In reply to Gijs Vermeulen from comment #10)
Still crashes with wine-8.0rc2. By default, it loads native d3dx9_33, d3dx10_33 and d3dcompiler_33. I set those to builtin together with d3dcompiler_43 and 47, then I could reproduce.
vkd3d:fixme:write_sm4_block Unhandled instruction type HLSL_IR_JUMP. 01b4:err:d3dcompiler:D3DCompile2 Failed to compile shader, vkd3d result -4. 01b4:err:d3dcompiler:D3DCompile2 Shader log: 01b4:err:d3dcompiler:D3DCompile2 <anonymous>:178:53: E5005: Function "exp" is not defined. 01b4:err:d3dcompiler:D3DCompile2 01b4:warn:d3dcompiler:hresult_from_vkd3d_result Invalid shader bytecode.
Hi, Gijs.
Do you remember which game exactly was this?
https://bugs.winehq.org/show_bug.cgi?id=34106
--- Comment #14 from Gijs Vermeulen gijsvrm@gmail.com --- (In reply to Nikolay Sivov from comment #13)
Do you remember which game exactly was this?
This was the Bioshock 1.0 demo, but I was able to get the same vkd3d output from the BeamNG techdemo and Dungeon Rats as well.
https://bugs.winehq.org/show_bug.cgi?id=34106
--- Comment #15 from Nikolay Sivov bunglehead@gmail.com --- Thanks, I have some patches for it now.
https://bugs.winehq.org/show_bug.cgi?id=34106
--- Comment #16 from Nikolay Sivov bunglehead@gmail.com --- This is now implemented with https://source.winehq.org/git/vkd3d.git/commit/8bb023e5af87b8dc4dfbf20174136....
https://bugs.winehq.org/show_bug.cgi?id=34106
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED Fixed by SHA1| |8bb023e5af87b8dc4dfbf201741 | |36ccbd87b9003
--- Comment #17 from Gijs Vermeulen gijsvrm@gmail.com --- This is indeed fixed, thanks Nikolay!
https://bugs.winehq.org/show_bug.cgi?id=34106
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |54725
https://bugs.winehq.org/show_bug.cgi?id=34106
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |54726
https://bugs.winehq.org/show_bug.cgi?id=34106
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #18 from Nikolay Sivov bunglehead@gmail.com --- Closing bugs fixed win 1.7.