From 5bdf00c0bf47a89c89534d9eafb3703e7bdd57f7 Mon Sep 17 00:00:00 2001 From: baldurk Date: Mon, 14 Dec 2020 11:04:49 +0000 Subject: [PATCH] Checking for D3D12 features can fail, don't assert just zero the struct --- 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 2ef7ff3f6..5bfc280f9 100644 --- a/renderdoc/driver/d3d12/d3d12_device.cpp +++ b/renderdoc/driver/d3d12/d3d12_device.cpp @@ -523,19 +523,24 @@ WrappedID3D12Device::WrappedID3D12Device(ID3D12Device *realDevice, D3D12InitPara hr = m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS, &m_D3D12Opts, sizeof(m_D3D12Opts)); - RDCASSERTEQUAL(hr, S_OK); + if(hr != S_OK) + RDCEraseEl(m_D3D12Opts); hr = m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS1, &m_D3D12Opts1, sizeof(m_D3D12Opts1)); - RDCASSERTEQUAL(hr, S_OK); + if(hr != S_OK) + RDCEraseEl(m_D3D12Opts1); hr = m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS2, &m_D3D12Opts2, sizeof(m_D3D12Opts2)); - RDCASSERTEQUAL(hr, S_OK); + if(hr != S_OK) + RDCEraseEl(m_D3D12Opts2); hr = m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS3, &m_D3D12Opts3, sizeof(m_D3D12Opts3)); - RDCASSERTEQUAL(hr, S_OK); + if(hr != S_OK) + RDCEraseEl(m_D3D12Opts3); hr = m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS6, &m_D3D12Opts6, sizeof(m_D3D12Opts6)); - RDCASSERTEQUAL(hr, S_OK); + if(hr != S_OK) + RDCEraseEl(m_D3D12Opts6); } // refcounters implicitly construct with one reference, but we don't start with any soft