http://bugs.winehq.org/show_bug.cgi?id=32362
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |focht@gmx.net Component|-unknown |directx-d3d Summary|dxgi problem for Ghost |Multiple DirectX9 games |Recon Future Soldier |need D3D11CreateDevice | |implementation with | |D3D_FEATURE_LEVEL_9_x | |support (Ghost Recon: | |Future Soldier) Ever confirmed|0 |1
--- Comment #2 from Anastasius Focht focht@gmx.net --- Hello folks,
the game is also able to use DirectX 9 features only.
Just because it uses DXGI/'D3D11CreateDevice' doesn't automatically mean it's going to use DX10/11 features.
http://www.gamershell.com/news_151735.html
--- snip --- Ghost Recon: Future Soldier v1.8 Patch Released
Improved performance of Volumetric Lighting and Global Illumination Ubisoft has issued a new patch for the PC version of Tom Clancy's Ghost Recon: Future Soldier, the latest game developed at Ubisoft Paris (thanks: The Patches Scrolls). Among other things, the update adds support for DirectX 9 on Windows Vista and Windows 7 (DirectX11 is recommended). --- snip ---
Trace log with crash:
--- snip --- ... 004d:trace:dxgi:dxgi_factory_EnumAdapters iface 0x8ae7068, adapter_idx 1, adapter 0x33f080 004d:trace:dxgi:dxgi_factory_EnumAdapters1 iface 0x8ae7068, adapter_idx 1, adapter 0x33f080 004d:Call msvcr90.wcscpy_s(01860408,00000064,018602e4 L"NVIDIA GeForce 8800 GTX") ret=00a9e679 004d:Ret msvcr90.wcscpy_s() retval=00000000 ret=00a9e679 004d:Call user32.GetSystemMetrics(00001000) ret=00a922a2 004d:Ret user32.GetSystemMetrics() retval=00000000 ret=00a922a2 004d:Call KERNEL32.QueryPerformanceCounter(0033f1e4) ret=00a96570 004d:Ret KERNEL32.QueryPerformanceCounter() retval=00000001 ret=00a96570 004d:fixme:dxgi:dxgi_factory_MakeWindowAssociation iface 0x8ae7068, window 0x300a2, flags 0 stub!
004d:trace:dxgi:dxgi_factory_EnumAdapters1 iface 0x8ae7068, adapter_idx 0, adapter 0x33f208 004d:trace:dxgi:dxgi_adapter_AddRef 0x8af2e18 increasing refcount to 3 004d:trace:dxgi:dxgi_factory_EnumAdapters1 Returning adapter 0x8af2e18 004d:Call d3d11.D3D11CreateDevice(08af2e18,00000000,00000000,00000000,0186023c,00000001,00000007,0033f1b8,0033f1d0,0033f1c4) ret=00a912d7 004d:fixme:d3d11:D3D11CreateDevice stub: adapter 0x8af2e18, driver_type D3D_DRIVER_TYPE_UNKNOWN, swrast (nil), flags 0, feature_levels 0x186023c, levels 0x1, sdk_version 7, device 0x33f1b8, feature_level 0x33f1d0, context 0x33f1c4 004d:Ret d3d11.D3D11CreateDevice() retval=8007000e ret=00a912d7 004d:Call d3d11.D3D11CreateDevice(00000000,00000001,00000000,00000000,0186023c,00000001,00000007,0033f1b8,0033f1d0,0033f1c4) ret=00a91307 004d:fixme:d3d11:D3D11CreateDevice stub: adapter (nil), driver_type D3D_DRIVER_TYPE_HARDWARE, swrast (nil), flags 0, feature_levels 0x186023c, levels 0x1, sdk_version 7, device 0x33f1b8, feature_level 0x33f1d0, context 0x33f1c4 004d:Ret d3d11.D3D11CreateDevice() retval=8007000e ret=00a91307 004d:Call msvcr90.wcscpy_s(0033edfc,00000200,01270b58 L"Failed creating the Direct3D device.") ret=00a8bd4f 004d:Ret msvcr90.wcscpy_s() retval=00000000 ret=00a8bd4f 004d:Call KERNEL32.QueryPerformanceCounter(0033f1e4) ret=00a9651c 004d:Ret KERNEL32.QueryPerformanceCounter() retval=00000001 ret=00a9651c 004d:fixme:dxgi:dxgi_factory_MakeWindowAssociation iface 0x8ae7068, window 0x300a2, flags 0x2 stub!
004d:trace:seh:raise_exception code=c0000005 flags=0 addr=0x829c97 ip=00829c97 tid=004d 004d:trace:seh:raise_exception info[0]=00000000 004d:trace:seh:raise_exception info[1]=00000000 004d:trace:seh:raise_exception eax=00000000 ebx=00000000 ecx=2865f12c edx=7bcecbc8 esi=000300a2 edi=000002d0 004d:trace:seh:raise_exception ebp=0033f55c esp=0033f4f4 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00210216 004d:trace:seh:call_stack_handlers calling handler at 0x1193a8b code=c0000005 flags=0 004d:trace:seh:call_stack_handlers handler at 0x1193a8b returned 1 004d:trace:seh:call_stack_handlers calling handler at 0x1188da3 code=c0000005 flags=0 004d:trace:seh:call_stack_handlers handler at 0x1188da3 returned 1 004d:trace:seh:call_stack_handlers calling handler at 0xa8460a code=c0000005 flags=0 --- snip ---
Minor nitpick: there seems to be an unintended double linefeed in 'dxgi_factory_MakeWindowAssociation' FIXME.
The game uses its own crash handler. Attaching to the process and overriding works (you have to be fast after clicking 'run' from launcher).
Dump of requested DirectX feature levels after attaching:
--- snip --- Wine-dbg>set $BreakOnFirstChance=1 Wine-dbg>b D3D11CreateDevice Wine-dbg>c
Wine-dbg>bt
Backtrace: =>0 0x7c7adffc D3D11CreateDevice+0xb4(adapter=(nil), driver_type=D3D_DRIVER_TYPE_HARDWARE, swrast=(nil), flags=0, feature_levels=0x33eeec, levels=0x6, sdk_version=0x7, device=0x33eec4, feature_level=0x186054c, context=0x33eec8) [/home/focht/projects/wine/wine.repo/src/dlls/d3d11/d3d11_main.c:55] in d3d11 (0x0033ee84)
Wine-dbg>p feature_levels[0] D3D_FEATURE_LEVEL_11_0 Wine-dbg>p feature_levels[1] D3D_FEATURE_LEVEL_10_1 Wine-dbg>p feature_levels[2] D3D_FEATURE_LEVEL_10_0 Wine-dbg>p feature_levels[3] D3D_FEATURE_LEVEL_9_3 Wine-dbg>p feature_levels[4] D3D_FEATURE_LEVEL_9_2 Wine-dbg>p feature_levels[5] D3D_FEATURE_LEVEL_9_1 Wine-dbg>p feature_levels[6] --- snip ---
Making this a collector bug about 'D3D11CreateDevice' implementation with 'D3D_FEATURE_LEVEL_9_x' support
Bug 34008 -> 'D3D_FEATURE_LEVEL_10_x' Bug 36828 -> 'D3D_FEATURE_LEVEL_11_x'
$ wine --version wine-1.7.22-70-g509bdae
Regards