From a533832c2c832473d5872570806281347d9c7a70 Mon Sep 17 00:00:00 2001 From: baldurk Date: Mon, 10 Nov 2025 15:08:06 +0000 Subject: [PATCH] Fix query for supported root signature version --- renderdoc/driver/d3d12/d3d12_device.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/renderdoc/driver/d3d12/d3d12_device.cpp b/renderdoc/driver/d3d12/d3d12_device.cpp index 8c7e30d2b..97c605fb8 100644 --- a/renderdoc/driver/d3d12/d3d12_device.cpp +++ b/renderdoc/driver/d3d12/d3d12_device.cpp @@ -636,14 +636,19 @@ WrappedID3D12Device::WrappedID3D12Device(ID3D12Device *realDevice, D3D12InitPara HRESULT hr = S_OK; + m_RootSigVersion = D3D_ROOT_SIGNATURE_VERSION_1_0; + for(D3D_ROOT_SIGNATURE_VERSION verToCheck : + {D3D_ROOT_SIGNATURE_VERSION_1_2, D3D_ROOT_SIGNATURE_VERSION_1_1, + D3D_ROOT_SIGNATURE_VERSION_1_0}) { - D3D12_FEATURE_DATA_ROOT_SIGNATURE rootSigVer; + D3D12_FEATURE_DATA_ROOT_SIGNATURE rootSigVer = {verToCheck}; hr = m_pDevice->CheckFeatureSupport(D3D12_FEATURE_ROOT_SIGNATURE, &rootSigVer, sizeof(rootSigVer)); - if(hr != S_OK) - rootSigVer.HighestVersion = D3D_ROOT_SIGNATURE_VERSION_1_0; - - m_RootSigVersion = rootSigVer.HighestVersion; + if(hr == S_OK) + { + m_RootSigVersion = rootSigVer.HighestVersion; + break; + } } hr = m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS, &m_D3D12Opts,