[Bug 32362] Multiple DirectX9 games need D3D11CreateDevice implementation with D3D_FEATURE_LEVEL_9_x support (Ghost Recon: Future Soldier)

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Jul 20 09:57:06 CDT 2014


http://bugs.winehq.org/show_bug.cgi?id=32362

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
                 CC|                            |focht at 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 at 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

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list