mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-01-18 02:52:10 +01:00
[d3d11] Implement remaining D3D11.1 feature queries
This commit is contained in:
parent
17e981f360
commit
c1a1ff3915
@ -1364,6 +1364,9 @@ namespace dxvk {
|
||||
if (FeatureSupportDataSize != sizeof(D3D11_FEATURE_DATA_THREADING))
|
||||
return E_INVALIDARG;
|
||||
|
||||
// We report native support for command lists here so that we do not actually
|
||||
// have to re-implement the UpdateSubresource bug from the D3D11 runtime, see
|
||||
// https://msdn.microsoft.com/en-us/library/windows/desktop/ff476486(v=vs.85).aspx)
|
||||
auto info = static_cast<D3D11_FEATURE_DATA_THREADING*>(pFeatureSupportData);
|
||||
info->DriverConcurrentCreates = TRUE;
|
||||
info->DriverCommandLists = TRUE;
|
||||
@ -1421,9 +1424,28 @@ namespace dxvk {
|
||||
return E_INVALIDARG;
|
||||
|
||||
auto info = static_cast<D3D11_FEATURE_DATA_ARCHITECTURE_INFO*>(pFeatureSupportData);
|
||||
info->TileBasedDeferredRenderer = false;
|
||||
info->TileBasedDeferredRenderer = FALSE;
|
||||
} return S_OK;
|
||||
|
||||
case D3D11_FEATURE_SHADER_MIN_PRECISION_SUPPORT: {
|
||||
if (FeatureSupportDataSize != sizeof(D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT))
|
||||
return E_INVALIDARG;
|
||||
|
||||
// Report that we only support full 32-bit operations
|
||||
auto info = static_cast<D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT*>(pFeatureSupportData);
|
||||
info->PixelShaderMinPrecision = 0;
|
||||
info->AllOtherShaderStagesMinPrecision = 0;
|
||||
} return S_OK;
|
||||
|
||||
case D3D11_FEATURE_D3D9_SHADOW_SUPPORT: {
|
||||
if (FeatureSupportDataSize != sizeof(D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT))
|
||||
return E_INVALIDARG;
|
||||
|
||||
auto info = static_cast<D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT*>(pFeatureSupportData);
|
||||
info->SupportsDepthAsTextureWithLessEqualComparisonFilter = TRUE;
|
||||
return S_OK;
|
||||
} break;
|
||||
|
||||
default:
|
||||
Logger::err(str::format(
|
||||
"D3D11Device: CheckFeatureSupport: Unknown feature: ",
|
||||
|
@ -63,4 +63,11 @@ typedef struct D3D11_QUERY_DATA_PIPELINE_STATISTICS {
|
||||
typedef struct D3D11_FEATURE_DATA_ARCHITECTURE_INFO {
|
||||
BOOL TileBasedDeferredRenderer;
|
||||
} D3D11_FEATURE_DATA_ARCHITECTURE_INFO;
|
||||
typedef struct D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT {
|
||||
UINT PixelShaderMinPrecision;
|
||||
UINT AllOtherShaderStagesMinPrecision;
|
||||
} D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT;
|
||||
typedef struct D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT {
|
||||
BOOL SupportsDepthAsTextureWithLessEqualComparisonFilter;
|
||||
} D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT;
|
||||
#endif
|
Loading…
x
Reference in New Issue
Block a user