From 672557f8fa66fa2c4c3851b075b1f636ec6ce17b Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 4 Nov 2022 17:40:52 +0000 Subject: [PATCH] Add some internal logging for D3D12 CheckFeatureSupport calls --- renderdoc/driver/d3d12/d3d12_device_wrap.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/renderdoc/driver/d3d12/d3d12_device_wrap.cpp b/renderdoc/driver/d3d12/d3d12_device_wrap.cpp index f70efdb64..96de1933b 100644 --- a/renderdoc/driver/d3d12/d3d12_device_wrap.cpp +++ b/renderdoc/driver/d3d12/d3d12_device_wrap.cpp @@ -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; }