Checking for D3D12 features can fail, don't assert just zero the struct

This commit is contained in:
baldurk
2020-12-15 22:52:37 +00:00
parent fede056ef7
commit 5bdf00c0bf
+10 -5
View File
@@ -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