message: Respect the returned shader model support from D3D12 driver
  * If the application supports >= SM6.6 then we would previously unconditionally
  just clamp to SM6.6. However we also need to let the driver clamp in case it
  only supports SM6.5 or older
diff: @@ -3270,6 +3270,11 @@ HRESULT WrappedID3D12Device::SetStablePowerState(BOOL Enable)
  HRESULT WrappedID3D12Device::CheckFeatureSupport(D3D12_FEATURE Feature, void *pFeatureSupportData,
  UINT FeatureSupportDataSize)
  {
  + HRESULT hr = m_pDevice->CheckFeatureSupport(Feature, pFeatureSupportData, FeatureSupportDataSize);
  +
  + if(FAILED(hr))
  + return hr;
  +
  if(Feature == D3D12_FEATURE_SHADER_MODEL)
  {
  D3D12_FEATURE_DATA_SHADER_MODEL *model = (D3D12_FEATURE_DATA_SHADER_MODEL *)pFeatureSupportData;
  @@ -3293,10 +3298,6 @@ HRESULT WrappedID3D12Device::CheckFeatureSupport(D3D12_FEATURE Feature, void *pF
  return S_OK;
  }
  else if(Feature == D3D12_FEATURE_D3D12_OPTIONS5)
  - {
  - HRESULT hr = m_pDevice->CheckFeatureSupport(Feature, pFeatureSupportData, FeatureSupportDataSize);
  -
  - if(SUCCEEDED(hr))
  {
  D3D12_FEATURE_DATA_D3D12_OPTIONS5 *opts =
  (D3D12_FEATURE_DATA_D3D12_OPTIONS5 *)pFeatureSupportData;
  @@ -3308,14 +3309,7 @@ HRESULT WrappedID3D12Device::CheckFeatureSupport(D3D12_FEATURE Feature, void *pF
  return S_OK;
  }
  -
  - return hr;
  - }
  else if(Feature == D3D12_FEATURE_D3D12_OPTIONS7)
  - {
  - HRESULT hr = m_pDevice->CheckFeatureSupport(Feature, pFeatureSupportData, FeatureSupportDataSize);
  -
  - if(SUCCEEDED(hr))
  {
  D3D12_FEATURE_DATA_D3D12_OPTIONS7 *opts =
  (D3D12_FEATURE_DATA_D3D12_OPTIONS7 *)pFeatureSupportData;
  @@ -3332,9 +3326,6 @@ HRESULT WrappedID3D12Device::CheckFeatureSupport(D3D12_FEATURE Feature, void *pF
  return hr;
  }
  - return m_pDevice->CheckFeatureSupport(Feature, pFeatureSupportData, FeatureSupportDataSize);
  -}
  -
  UINT WrappedID3D12Device::GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType)
  {
  // we essentially intercept this, so it's a fixed size.
  