https://bugs.winehq.org/show_bug.cgi?id=39816
Bug ID: 39816 Summary: Crash related to dxgi Product: Wine Version: 1.7.53 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: major Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: gabriel.corona@enst-bretagne.fr Distribution: ---
Since commit 895c5f8234813d2b445376aa73e1fc93b5061b0b (dxgi: Partially implement dxgi_adapter_CheckInterfaceSupport()), many softwares crash/fail to start (for example BioShock 2) silently. This still happens in 1.8.
This is fixed by disabling dxgi in winecfg.
https://bugs.winehq.org/show_bug.cgi?id=39816
Gabriel Corona gabriel.corona@enst-bretagne.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |895c5f8234813d2b445376aa73e | |1fc93b5061b0b
https://bugs.winehq.org/show_bug.cgi?id=39816
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression CC| |joseph.kucia@gmail.com, | |sebastian@fds-team.de Summary|Crash related to dxgi |Multiple applications crash | |when builtin dxgi is used
https://bugs.winehq.org/show_bug.cgi?id=39816
--- Comment #1 from Sebastian Lackner sebastian@fds-team.de --- (In reply to Gabriel Corona from comment #0)
Since commit 895c5f8234813d2b445376aa73e1fc93b5061b0b (dxgi: Partially implement dxgi_adapter_CheckInterfaceSupport()), many softwares crash/fail to start (for example BioShock 2) silently. This still happens in 1.8.
This is fixed by disabling dxgi in winecfg.
It probably wouldn't hurt to list a couple of games / applications affected by this bug. Also attach terminal output with WINEDEBUG=+dxgi for at least one affected application.
https://bugs.winehq.org/show_bug.cgi?id=39816
--- Comment #2 from Gabriel Corona gabriel.corona@enst-bretagne.fr --- I tested it again ont he other programs but (at least on 1.8) I wouldn't find any other program. BioShock 2 is affected however (since 895c5f8234813d2b445376aa73e1fc93b5061b0b).
I'm attaching a log.
https://bugs.winehq.org/show_bug.cgi?id=39816
--- Comment #3 from Gabriel Corona gabriel.corona@enst-bretagne.fr --- Created attachment 53157 --> https://bugs.winehq.org/attachment.cgi?id=53157 BioShock failing to start
https://bugs.winehq.org/show_bug.cgi?id=39816
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Multiple applications crash |Multiple applications |when builtin dxgi is used |(BioShock 2) crash when | |builtin dxgi is used
https://bugs.winehq.org/show_bug.cgi?id=39816
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |directx-d3d
https://bugs.winehq.org/show_bug.cgi?id=39816
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW
--- Comment #4 from Józef Kucia joseph.kucia@gmail.com --- BioShock 2 needs better support for WINED3DFMT_R24_UNORM_X8_TYPELESS and an implementation of d3d10_device_CheckFormatSupport(), then it fails because of unimplemented d3d10_shader_reflection_GetInputParameterDesc().
https://bugs.winehq.org/show_bug.cgi?id=39816
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|major |normal Summary|Multiple applications |BioShock 2 crashes when |(BioShock 2) crash when |D3D10 is used |builtin dxgi is used |
https://bugs.winehq.org/show_bug.cgi?id=39816
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords|regression | Regression SHA1|895c5f8234813d2b445376aa73e | |1fc93b5061b0b |
--- Comment #5 from Józef Kucia joseph.kucia@gmail.com --- Removing "regression" keyword. Since commit 895c5f8234813d2b445376aa73e1fc93b5061b0b, BioShock 2 simply started using D3D10 renderer (D3D9 renderer is still fully functional when dxgi.dll is disabled).
https://bugs.winehq.org/show_bug.cgi?id=39816
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|BioShock 2 crashes when |BioShock 2 needs |D3D10 is used |d3d10_shader_reflection_Get | |InputParameterDesc()
--- Comment #6 from Józef Kucia joseph.kucia@gmail.com --- Let's make this bug about d3d10_shader_reflection_GetInputParameterDesc()
https://bugs.winehq.org/show_bug.cgi?id=39816
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Depends on| |40046
https://bugs.winehq.org/show_bug.cgi?id=39816 Bug 39816 depends on bug 40046, which changed state.
Bug 40046 Summary: Multiple games require CheckFormatSupport() (Banished, Magic Duels, UE4 tech demos, BioShock 2, Chronicles of Mystara, STO, Lichdom) https://bugs.winehq.org/show_bug.cgi?id=40046
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED
https://bugs.winehq.org/show_bug.cgi?id=39816
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |a34ypool3voiz@t-online.de
--- Comment #7 from Józef Kucia joseph.kucia@gmail.com --- *** Bug 44544 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=39816
--- Comment #8 from RayCaster a34ypool3voiz@t-online.de --- Can https://appdb.winehq.org/objectManager.php?sClass=application&iId=4891 be added to the list of affected apps?
https://bugs.winehq.org/show_bug.cgi?id=39816
Sergey Isakov isakov-sl@bk.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- Depends on| |46594
https://bugs.winehq.org/show_bug.cgi?id=39816
Sergey Isakov isakov-sl@bk.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |isakov-sl@bk.ru
--- Comment #9 from Sergey Isakov isakov-sl@bk.ru --- I think this bug should be named more common as "requires d3d10_shader_reflection" and collect all bug with similar problem but with different part of this structures. bug 43042 - d3d10_shader_reflection_GetConstantBufferByIndex() bug 46094 blocked by - d3d10_shader_reflection_GetDesc()
https://bugs.winehq.org/show_bug.cgi?id=39816
pattietreutel katyaberezyaka@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |katyaberezyaka@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=39816
--- Comment #10 from Sergey Isakov isakov-sl@bk.ru --- May this works? ~~~ static HRESULT STDMETHODCALLTYPE d3d10_shader_reflection_GetInputParameterDesc( ID3D10ShaderReflection *iface, UINT index, D3D10_SIGNATURE_PARAMETER_DESC *desc) { - FIXME("iface %p, index %u, desc %p stub!\n", iface, index, desc);
- return E_NOTIMPL; + return iface->GetInputParameterDesc(index, desc); }
~~~
or some more work needed?
https://bugs.winehq.org/show_bug.cgi?id=39816
--- Comment #11 from Nikolay Sivov bunglehead@gmail.com --- (In reply to Sergey Isakov from comment #10)
May this works?
static HRESULT STDMETHODCALLTYPE d3d10_shader_reflection_GetInputParameterDesc( ID3D10ShaderReflection *iface, UINT index, D3D10_SIGNATURE_PARAMETER_DESC *desc) { - FIXME("iface %p, index %u, desc %p stub!\n", iface, index, desc); - return E_NOTIMPL; + return iface->GetInputParameterDesc(index, desc); }
or some more work needed?
This way it will call itself. I'll take a look.
https://bugs.winehq.org/show_bug.cgi?id=39816
--- Comment #12 from Nikolay Sivov bunglehead@gmail.com --- Created attachment 63497 --> https://bugs.winehq.org/attachment.cgi?id=63497 patch
Sergey, try this one, assuming you got Bioshock 2 to test.
https://bugs.winehq.org/show_bug.cgi?id=39816
--- Comment #13 from Sergey Isakov isakov-sl@bk.ru --- I understand your idea but I will check a little later extending this patch to _GetDesc() for bug 46094. I have no BioShock 2.
https://bugs.winehq.org/show_bug.cgi?id=39816
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|wine-bugs@winehq.org |bunglehead@gmail.com
--- Comment #14 from Nikolay Sivov bunglehead@gmail.com --- This turned out to be more complicated, I'll try to extend d3dcompiler side instead.
https://bugs.winehq.org/show_bug.cgi?id=39816
--- Comment #15 from Nikolay Sivov bunglehead@gmail.com --- Created attachment 63508 --> https://bugs.winehq.org/attachment.cgi?id=63508 patch
Another patch that implements missing parts in d3dcompiler instead.
https://bugs.winehq.org/show_bug.cgi?id=39816
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #63497|0 |1 is obsolete| |
https://bugs.winehq.org/show_bug.cgi?id=39816
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
https://bugs.winehq.org/show_bug.cgi?id=39816
--- Comment #16 from Sergey Isakov isakov-sl@bk.ru --- (In reply to Nikolay Sivov from comment #15)
Created attachment 63508 [details] patch
Another patch that implements missing parts in d3dcompiler instead.
Good work! More essential is the change in d3d10.dll because those bug was not depend on native d3dcompiler_43.dll
https://bugs.winehq.org/show_bug.cgi?id=39816
--- Comment #17 from Sergey Isakov isakov-sl@bk.ru --- (In reply to Sergey Isakov from comment #13)
I understand your idea but I will check a little later extending this patch to _GetDesc() for bug 46094. I have no BioShock 2.
i meant 46594
https://bugs.winehq.org/show_bug.cgi?id=39816
--- Comment #18 from Nikolay Sivov bunglehead@gmail.com --- (In reply to Sergey Isakov from comment #16)
(In reply to Nikolay Sivov from comment #15)
Created attachment 63508 [details] patch
Another patch that implements missing parts in d3dcompiler instead.
Good work! More essential is the change in d3d10.dll because those bug was not depend on native d3dcompiler_43.dll
It doesn't depend on it after the patch too.
https://bugs.winehq.org/show_bug.cgi?id=39816
--- Comment #19 from Sergey Isakov isakov-sl@bk.ru --- Something wrong in the patch. 1. If utils.c renamed to d3d10_utils.c then old util.s should be removed from makefile.in
2. Link errors ~~~ Undefined symbols for architecture i386: "_add_declaration", referenced from: _declare_vars in hlsl.tab.o _add_func_parameter in hlsl.tab.o "_add_function_decl", referenced from: _hlsl_parse in hlsl.tab.o "_clone_hlsl_type", referenced from: _hlsl_parse in hlsl.tab.o _add_typedef in hlsl.tab.o "_compare_hlsl_types", referenced from: _hlsl_parse in hlsl.tab.o "_compatible_data_types", referenced from: _hlsl_parse in hlsl.tab.o "_compilation_message", referenced from: _hlsl_message in hlsl.tab.o "_components_count_type", referenced from: _hlsl_parse in hlsl.tab.o _declare_vars in hlsl.tab.o "_debug_d3dcompiler_shader_variable_class", referenced from: _get_reflection_type in reflection.o "_debug_d3dcompiler_shader_variable_type", referenced from: _get_reflection_type in reflection.o "_debug_dump_ir_function_decl", referenced from: _dump_function_decl in hlsl.tab.o "_debug_hlsl_type", referenced from: _hlsl_parse in hlsl.tab.o _gen_struct_fields in hlsl.tab.o _debug_dump_decl in hlsl.tab.o "_debug_modifiers", referenced from: _hlsl_parse in hlsl.tab.o _declare_vars in hlsl.tab.o _debug_dump_decl in hlsl.tab.o "_dxbc_destroy", referenced from: _d3dcompiler_shader_reflection_init in reflection.o "_dxbc_parse", referenced from: _d3dcompiler_shader_reflection_init in reflection.o "_find_function", referenced from: _declare_vars in hlsl.tab.o _hlsl_lex in hlsl.yy.o "_free_declaration", referenced from: _declare_vars in hlsl.tab.o _add_func_parameter in hlsl.tab.o _parse_hlsl in hlsl.tab.o "_free_function_rb", referenced from: _parse_hlsl in hlsl.tab.o "_free_hlsl_type", referenced from: _parse_hlsl in hlsl.tab.o "_free_instr", referenced from: _hlsl_parse in hlsl.tab.o _declare_vars in hlsl.tab.o _create_loop in hlsl.tab.o "_free_instr_list", referenced from: _declare_vars in hlsl.tab.o _gen_struct_fields in hlsl.tab.o _create_loop in hlsl.tab.o "_get_type", referenced from: _hlsl_parse in hlsl.tab.o _add_type_to_scope in hlsl.tab.o _hlsl_lex in hlsl.yy.o "_get_variable", referenced from: _hlsl_parse in hlsl.tab.o _declare_vars in hlsl.tab.o _hlsl_lex in hlsl.yy.o "_hlsl_add", referenced from: _hlsl_parse in hlsl.tab.o "_hlsl_div", referenced from: _hlsl_parse in hlsl.tab.o "_hlsl_eq", referenced from: _hlsl_parse in hlsl.tab.o "_hlsl_ge", referenced from: _hlsl_parse in hlsl.tab.o (maybe you meant: _hlsl_get_leng, _hlsl_get_out , _hlsl_get_in , _hlsl_get_debug , _hlsl_get_text , _hlsl_get_lineno ) "_hlsl_gt", referenced from: _hlsl_parse in hlsl.tab.o "_hlsl_le", referenced from: _hlsl_parse in hlsl.tab.o (maybe you meant: _hlsl_leng, _hlsl_lex , _hlsl_lex_destroy ) "_hlsl_lt", referenced from: _hlsl_parse in hlsl.tab.o "_hlsl_mod", referenced from: _hlsl_parse in hlsl.tab.o "_hlsl_mul", referenced from: _hlsl_parse in hlsl.tab.o "_hlsl_ne", referenced from: _hlsl_parse in hlsl.tab.o (maybe you meant: _hlsl_nerrs) "_hlsl_sub", referenced from: _hlsl_parse in hlsl.tab.o "_init_functions_tree", referenced from: _parse_hlsl in hlsl.tab.o "_make_assignment", referenced from: _hlsl_parse in hlsl.tab.o _declare_vars in hlsl.tab.o "_new_array_type", referenced from: _hlsl_parse in hlsl.tab.o _declare_vars in hlsl.tab.o _add_typedef in hlsl.tab.o "_new_cast", referenced from: _hlsl_parse in hlsl.tab.o "_new_expr", referenced from: _hlsl_parse in hlsl.tab.o _create_loop in hlsl.tab.o "_new_func_decl", referenced from: _hlsl_parse in hlsl.tab.o "_new_hlsl_type", referenced from: _hlsl_parse in hlsl.tab.o _parse_hlsl in hlsl.tab.o "_new_record_deref", referenced from: _hlsl_parse in hlsl.tab.o _declare_vars in hlsl.tab.o "_new_var_deref", referenced from: _hlsl_parse in hlsl.tab.o "_pop_scope", referenced from: _hlsl_parse in hlsl.tab.o "_push_scope", referenced from: _hlsl_parse in hlsl.tab.o _parse_hlsl in hlsl.tab.o "_skip_dword_unknown", referenced from: _d3dcompiler_shader_reflection_init in reflection.o _d3dcompiler_parse_signature in reflection.o _get_reflection_type in reflection.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation) winegcc: clang failed make[1]: *** [d3d10.dll.so] Error 2 ~~~
https://bugs.winehq.org/show_bug.cgi?id=39816
--- Comment #20 from Sergey Isakov isakov-sl@bk.ru --- OK, understand my mistake. I made patch -p1 <patch.txt But this way the rename utils.c -> d3d10_util.c was not happen.
https://bugs.winehq.org/show_bug.cgi?id=39816
--- Comment #21 from Sergey Isakov isakov-sl@bk.ru --- Nikolay, Several days I was trying to apply your patch to wine git version. But the engine is not working. Only way I did is to use wine-staging-4.1 and apply your patch over it. Then I have to replace d3dcompiler_43.dll to native. Else the game crashes. Now I see progress. With the patch benchmark started as never before! But then stop for other reason. I will study next stop.
Resume about your patch. + the bug resolved. - d3dcompiler_43 builtin crashes.
https://bugs.winehq.org/show_bug.cgi?id=39816
--- Comment #22 from Sergey Isakov isakov-sl@bk.ru --- Related message in the log 0092:fixme:d3dcompiler:d3dcompiler_d3d10_shader_reflection_GetDesc iface 0xce08324, desc 0x297eaa8 partial stub!
https://bugs.winehq.org/show_bug.cgi?id=39816
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|bunglehead@gmail.com |wine-bugs@winehq.org
https://bugs.winehq.org/show_bug.cgi?id=39816
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |d8ff297052f26ffd27b8d8caa2e | |abd5fbaec4409 Resolution|--- |FIXED Status|NEW |RESOLVED
--- Comment #23 from Matteo Bruni matteo.mystral@gmail.com --- This bug was probably fixed by https://source.winehq.org/git/wine.git/commitdiff/d8ff297052f26ffd27b8d8caa2eabd5fbaec4409.
https://bugs.winehq.org/show_bug.cgi?id=39816
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #24 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 5.4.
https://bugs.winehq.org/show_bug.cgi?id=39816
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bob.mt.wya@gmail.com
--- Comment #25 from Matteo Bruni matteo.mystral@gmail.com --- *** Bug 40977 has been marked as a duplicate of this bug. ***