Used by Assassin's Creed: Odyssey, Days Gone, F1 2018, Stray, etc.
From: Andrey Gusev andrey.goosev@gmail.com
Used by Assassin's Creed: Odyssey, Days Gone, F1 2018, Stray, etc. --- dlls/d3d11/device.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c index ca231af9652..f457e877378 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c @@ -4211,6 +4211,18 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CheckFeatureSupport(ID3D11Device2 return d3d11_device_CheckFormatSupport(iface, data->InFormat, &data->OutFormatSupport); }
+ case D3D11_FEATURE_FORMAT_SUPPORT2: + { + D3D11_FEATURE_DATA_FORMAT_SUPPORT2 *data = feature_support_data; + if (feature_support_data_size != sizeof(*data)) + { + WARN("Invalid size %u for D3D11_FEATURE_FORMAT_SUPPORT2.\n", feature_support_data_size); + return E_INVALIDARG; + } + + return d3d11_device_CheckFormatSupport(iface, data->InFormat, &data->OutFormatSupport2); + } + default: FIXME("Unhandled feature %#x.\n", feature); return E_NOTIMPL;
Chip Davis (@cdavis5e) commented about dlls/d3d11/device.c:
return d3d11_device_CheckFormatSupport(iface, data->InFormat, &data->OutFormatSupport); }
case D3D11_FEATURE_FORMAT_SUPPORT2:
{
D3D11_FEATURE_DATA_FORMAT_SUPPORT2 *data = feature_support_data;
if (feature_support_data_size != sizeof(*data))
{
WARN("Invalid size %u for D3D11_FEATURE_FORMAT_SUPPORT2.\n", feature_support_data_size);
return E_INVALIDARG;
}
return d3d11_device_CheckFormatSupport(iface, data->InFormat, &data->OutFormatSupport2);
This is wrong. This feature is supposed to return a set of `D3D11_FORMAT_SUPPORT2_*` flags (note the `2`). The `ID3D11Device::CheckFormatSupport()` method returns `D3D11_FORMAT_SUPPORT_*` flags (no `2`).