[PATCH 0/1] MR4653: d3d11: Stub D3D11_FEATURE_D3D11_OPTIONS2 handling in CheckFeatureSupport().
--- Required by Need for Speed Heat. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4653
From: Matteo Bruni <mbruni(a)codeweavers.com> --- Required by Need for Speed Heat. --- dlls/d3d11/device.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c index ca231af9652..0ad62d3009e 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c @@ -4162,6 +4162,27 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CheckFeatureSupport(ID3D11Device2 return S_OK; } + case D3D11_FEATURE_D3D11_OPTIONS2: + { + D3D11_FEATURE_DATA_D3D11_OPTIONS2 *options = feature_support_data; + if (feature_support_data_size != sizeof(*options)) + { + WARN("Invalid data size.\n"); + return E_INVALIDARG; + } + + FIXME("Returning fake Options2 support data.\n"); + options->PSSpecifiedStencilRefSupported = FALSE; + options->TypedUAVLoadAdditionalFormats = FALSE; + options->ROVsSupported = FALSE; + options->ConservativeRasterizationTier = D3D11_CONSERVATIVE_RASTERIZATION_NOT_SUPPORTED; + options->TiledResourcesTier = D3D11_TILED_RESOURCES_NOT_SUPPORTED; + options->MapOnDefaultTextures = TRUE; + options->StandardSwizzle = FALSE; + options->UnifiedMemoryArchitecture = FALSE; + return S_OK; + } + case D3D11_FEATURE_D3D11_OPTIONS3: { D3D11_FEATURE_DATA_D3D11_OPTIONS3 *options = feature_support_data; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/4653
```diff + FIXME("Returning fake Options2 support data.\n"); + options->PSSpecifiedStencilRefSupported = FALSE; + options->TypedUAVLoadAdditionalFormats = FALSE; + options->ROVsSupported = FALSE; + options->ConservativeRasterizationTier = D3D11_CONSERVATIVE_RASTERIZATION_NOT_SUPPORTED; + options->TiledResourcesTier = D3D11_TILED_RESOURCES_NOT_SUPPORTED; + options->MapOnDefaultTextures = TRUE; + options->StandardSwizzle = FALSE; + options->UnifiedMemoryArchitecture = FALSE; ```
Mostly for what it's worth: - libvkd3d-shader already implements the required features for PSSpecifiedStencilRefSupported and TypedUAVLoadAdditionalFormats; it should be straightforward to make those work with at least the wined3d Vulkan backend. - We have d3d12_device_is_uma() in libvkd3d, which should correspond to UnifiedMemoryArchitecture, and should be easy enough to adapt to wined3d. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4653#note_55702
This merge request was approved by Jan Sikorski. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4653
This merge request was closed by Aida Jonikienė. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4653
Closing because MR !4897 implements the same thing and it has been merged :frog: -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4653#note_59240
participants (5)
-
Aida Jonikienė -
Henri Verbeet (@hverbeet) -
Jan Sikorski (@jsikorski) -
Matteo Bruni -
Matteo Bruni (@Mystral)