From 7b4e731aa53f6e9ec0d40afab74ff207374fbb5e Mon Sep 17 00:00:00 2001 From: Conor McCarthy Date: Fri, 9 Feb 2024 23:34:11 +1000 Subject: [PATCH] vkd3d: Handle D3D12_FEATURE_D3D12_OPTIONS12 in CheckFeatureSupport(). --- libs/vkd3d/device.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/libs/vkd3d/device.c b/libs/vkd3d/device.c index 40e42913..414714d4 100644 --- a/libs/vkd3d/device.c +++ b/libs/vkd3d/device.c @@ -3467,6 +3467,27 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CheckFeatureSupport(ID3D12Device7 return S_OK; } + case D3D12_FEATURE_D3D12_OPTIONS12: + { + D3D12_FEATURE_DATA_D3D12_OPTIONS12 *data = feature_data; + + if (feature_data_size != sizeof(*data)) + { + WARN("Invalid size %u.\n", feature_data_size); + return E_INVALIDARG; + } + + data->MSPrimitivesPipelineStatisticIncludesCulledPrimitives = D3D12_TRI_STATE_UNKNOWN; + data->EnhancedBarriersSupported = FALSE; + data->RelaxedFormatCastingSupported = FALSE; + + TRACE("Mesh shader primitives pipeline stats include cull primitives %#x.\n", + data->MSPrimitivesPipelineStatisticIncludesCulledPrimitives); + TRACE("Enhanced barriers %#x.\n", data->EnhancedBarriersSupported); + TRACE("Relaxed format casting %#x.\n", data->RelaxedFormatCastingSupported); + return S_OK; + } + default: FIXME("Unhandled feature %#x.\n", feature); return E_NOTIMPL;