https://bugs.winehq.org/show_bug.cgi?id=35444
--- Comment #3 from Anastasius Focht focht@gmx.net --- Hello Henri and Stefan,
I figured out what seems to be missing using the 'Graphics Profile Checker' tool:
http://xbox.create.msdn.com/en-US/education/catalog/utility/graphics_profile...
--- quote --- The XNA Framework GraphicsAdapter.IsProfileSupported API enables you to check whether the current hardware supports the Reach or HiDef graphics profiles, but this only returns a simple boolean, with no details of why a failing profile isn't supported.
This utility provides more information about hardware capabilities, by performing the same checks that are used internally by the XNA Framework and by displaying their results as a detailed failure report. This can be useful for investigating driver compatibility problems, and also to see exactly what hardware capabilities are required for each profile. --- quote ---
Tool report when run under Wine:
--- snip --- ...
Reach Supported
HiDef Yikes! I think this profile should not be supported, but XNA says it is No DestBlendCaps.D3DPBLENDCAPS_SRCALPHASAT No VertexTextureFilterCaps.D3DPTFILTERCAPS_MAGFPOINT No VertexTextureFilterCaps.D3DPTFILTERCAPS_MINFPOINT --- snip ---
DestBlendCaps.D3DPBLENDCAPS_SRCALPHASAT:
Wine: http://source.winehq.org/git/wine.git/blob/a69c488f087b5a09599b841c929ec2531...
--- snip --- 4256 caps->DestBlendCaps = WINED3DPBLENDCAPS_DESTALPHA | 4257 WINED3DPBLENDCAPS_DESTCOLOR | 4258 WINED3DPBLENDCAPS_INVDESTALPHA | 4259 WINED3DPBLENDCAPS_INVDESTCOLOR | 4260 WINED3DPBLENDCAPS_INVSRCALPHA | 4261 WINED3DPBLENDCAPS_INVSRCCOLOR | 4262 WINED3DPBLENDCAPS_ONE | 4263 WINED3DPBLENDCAPS_SRCALPHA | 4264 WINED3DPBLENDCAPS_SRCCOLOR | 4265 WINED3DPBLENDCAPS_ZERO; 4266 /* NOTE: WINED3DPBLENDCAPS_SRCALPHASAT is not supported as dest blend factor, 4267 * according to the glBlendFunc manpage 4268 * 4269 * WINED3DPBLENDCAPS_BOTHINVSRCALPHA and WINED3DPBLENDCAPS_BOTHSRCALPHA are 4270 * legacy settings for srcblend only 4271 */ --- snip ---
Hmm, looking at Wine version history this cap was indeed present at some point and later removed.
MSDN: http://msdn.microsoft.com/en-us/library/windows/hardware/ff569252%28v=vs.85%...
--- quote --- Reporting Capabilities for Shader 3 Support
The DirectX 9.0 version driver for a display device that supports pixel or vertex shader version 3.0 and later must indicate that it supports the following capabilities: Vertex shader 3.0 and later
If a device supports vertex shader 3.0 and later, its driver must set the members of the D3DCAPS9 structure to the following values: ...
SrcBlendCaps, DestBlendCaps
Set the following source and destination blending modes except where noted:
D3DPBLENDCAPS_ZERO
D3DPBLENDCAPS_ONE
D3DPBLENDCAPS_SRCCOLOR
D3DPBLENDCAPS_INVSRCCOLOR
D3DPBLENDCAPS_SRCALPHA
D3DPBLENDCAPS_INVSRCALPHA
D3DPBLENDCAPS_DESTALPHA
D3DPBLENDCAPS_INVDESTALPHA
D3DPBLENDCAPS_DESTCOLOR
D3DPBLENDCAPS_INVDESTCOLOR
D3DPBLENDCAPS_SRCALPHASAT (not set for DestBlendCaps) --- quote ---
VertexTextureFilterCaps:
Wine: http://source.winehq.org/git/wine.git/blob/a69c488f087b5a09599b841c929ec2531...
--- snip --- 4503 caps->VertexTextureFilterCaps = 0; --- snip ---
MSDN: http://msdn.microsoft.com/en-us/library/windows/hardware/ff569252%28v=vs.85%...
--- quote --- Reporting Capabilities for Shader 3 Support
The DirectX 9.0 version driver for a display device that supports pixel or vertex shader version 3.0 and later must indicate that it supports the following capabilities: Vertex shader 3.0 and later
If a device supports vertex shader 3.0 and later, its driver must set the members of the D3DCAPS9 structure to the following values: ...
VertexTextureFilterCaps
Set the following filter capabilities:
D3DPTFILTERCAPS_MINFPOINT
D3DPTFILTERCAPS_MAGFPOINT --- quote ---
After adding all three requested/missing caps XNA is happy (=HiDef support) and the games do indeed start.
$ wine --version wine-1.7.16-133-gd8ca8c2
Regards