Add some internal logging for D3D12 CheckFeatureSupport calls

This commit is contained in:
baldurk
2022-11-04 17:40:52 +00:00
parent 8e4ae67929
commit 672557f8fa
@@ -3329,10 +3329,14 @@ HRESULT WrappedID3D12Device::SetStablePowerState(BOOL Enable)
HRESULT WrappedID3D12Device::CheckFeatureSupport(D3D12_FEATURE Feature, void *pFeatureSupportData,
UINT FeatureSupportDataSize)
{
RDCLOG("Checking feature support for %d", Feature);
HRESULT hr = m_pDevice->CheckFeatureSupport(Feature, pFeatureSupportData, FeatureSupportDataSize);
if(FAILED(hr))
{
RDCLOG("CheckFeatureSupport returned %s", ToStr(hr).c_str());
return hr;
}
if(Feature == D3D12_FEATURE_SHADER_MODEL)
{
@@ -3340,6 +3344,8 @@ HRESULT WrappedID3D12Device::CheckFeatureSupport(D3D12_FEATURE Feature, void *pF
if(FeatureSupportDataSize != sizeof(D3D12_FEATURE_DATA_SHADER_MODEL))
return E_INVALIDARG;
RDCLOG("Clamping shader model from 0x%x to 6.6", model->HighestShaderModel);
// clamp SM to what we support
model->HighestShaderModel = RDCMIN(model->HighestShaderModel, D3D_SHADER_MODEL_6_6);
@@ -3354,6 +3360,8 @@ HRESULT WrappedID3D12Device::CheckFeatureSupport(D3D12_FEATURE Feature, void *pF
// can't capture or replay this properly.
opts->Support = D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_NONE;
RDCLOG("Forcing no protected session tier support");
return S_OK;
}
else if(Feature == D3D12_FEATURE_D3D12_OPTIONS5)
@@ -3366,6 +3374,8 @@ HRESULT WrappedID3D12Device::CheckFeatureSupport(D3D12_FEATURE Feature, void *pF
// don't support raytracing
opts->RaytracingTier = D3D12_RAYTRACING_TIER_NOT_SUPPORTED;
RDCLOG("Forcing no raytracing tier support");
return S_OK;
}
else if(Feature == D3D12_FEATURE_D3D12_OPTIONS7)
@@ -3379,6 +3389,8 @@ HRESULT WrappedID3D12Device::CheckFeatureSupport(D3D12_FEATURE Feature, void *pF
opts->MeshShaderTier = D3D12_MESH_SHADER_TIER_NOT_SUPPORTED;
opts->SamplerFeedbackTier = D3D12_SAMPLER_FEEDBACK_TIER_NOT_SUPPORTED;
RDCLOG("Forcing no mesh shading or sampler feedback tier support");
return S_OK;
}