Module: vkd3d Branch: master Commit: 18f73c1c4d9dbd4de9549c4eee1487b51146ced6 URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/18f73c1c4d9dbd4de9549c4eee1487...
Author: Conor McCarthy cmccarthy@codeweavers.com Date: Tue Feb 6 12:17:02 2024 +1000
vkd3d: Handle D3D12_FEATURE_D3D12_OPTIONS9 in CheckFeatureSupport().
---
libs/vkd3d/device.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+)
diff --git a/libs/vkd3d/device.c b/libs/vkd3d/device.c index b1c07eb2..7cdc5d77 100644 --- a/libs/vkd3d/device.c +++ b/libs/vkd3d/device.c @@ -3407,6 +3407,32 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CheckFeatureSupport(ID3D12Device7 return S_OK; }
+ case D3D12_FEATURE_D3D12_OPTIONS9: + { + D3D12_FEATURE_DATA_D3D12_OPTIONS9 *data = feature_data; + + if (feature_data_size != sizeof(*data)) + { + WARN("Invalid size %u.\n", feature_data_size); + return E_INVALIDARG; + } + + data->MeshShaderPipelineStatsSupported = FALSE; + data->MeshShaderSupportsFullRangeRenderTargetArrayIndex = FALSE; + data->AtomicInt64OnTypedResourceSupported = FALSE; + data->AtomicInt64OnGroupSharedSupported = FALSE; + data->DerivativesInMeshAndAmplificationShadersSupported = FALSE; + data->WaveMMATier = D3D12_WAVE_MMA_TIER_NOT_SUPPORTED; + + TRACE("Mesh shader pipeline stats support %#x.\n", data->MeshShaderPipelineStatsSupported); + TRACE("Mesh shader RT array index full range %#x.\n", data->MeshShaderSupportsFullRangeRenderTargetArrayIndex); + TRACE("Atomic int64 on typed resource %#x.\n", data->AtomicInt64OnTypedResourceSupported); + TRACE("Atomic int64 on group shared mem %#x.\n", data->AtomicInt64OnGroupSharedSupported); + TRACE("Derivatives in mesh and amp shaders %#x.\n", data->DerivativesInMeshAndAmplificationShadersSupported); + TRACE("Wave MMA tier %#x.\n", data->WaveMMATier); + return S_OK; + } + default: FIXME("Unhandled feature %#x.\n", feature); return E_NOTIMPL;