D3D12_FEATURE_DATA_D3D12_OPTIONS 構造体 (d3d12.h)
現在のグラフィックス ドライバー Direct3D 12機能オプションについて説明します。
構文
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS {
BOOL DoublePrecisionFloatShaderOps;
BOOL OutputMergerLogicOp;
D3D12_SHADER_MIN_PRECISION_SUPPORT MinPrecisionSupport;
D3D12_TILED_RESOURCES_TIER TiledResourcesTier;
D3D12_RESOURCE_BINDING_TIER ResourceBindingTier;
BOOL PSSpecifiedStencilRefSupported;
BOOL TypedUAVLoadAdditionalFormats;
BOOL ROVsSupported;
D3D12_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier;
UINT MaxGPUVirtualAddressBitsPerResource;
BOOL StandardSwizzle64KBSupported;
D3D12_CROSS_NODE_SHARING_TIER CrossNodeSharingTier;
BOOL CrossAdapterRowMajorTextureSupported;
BOOL VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation;
D3D12_RESOURCE_HEAP_TIER ResourceHeapTier;
} D3D12_FEATURE_DATA_D3D12_OPTIONS;
メンバー
DoublePrecisionFloatShaderOps
シェーダー操作に 対して二重 型を許可するかどうかを指定します。 TRUE の場合は、double 型を使用できます。それ以外の場合は FALSE。 サポートされている操作は、D3D11_FEATURE_DATA_D3D11_OPTIONS構造体の Direct3D 11 の ExtendedDoublesShaderInstructions メンバーと同じです。
double 型でコンパイルされた HLSL シェーダーを使用するには、ランタイムで DoublePrecisionFloatShaderOps を TRUE に設定する必要があります。
OutputMergerLogicOp
ロジック操作をブレンド状態で使用できるかどうかを指定します。 ロジック操作がブレンド状態で使用可能な場合はランタイムによってこのメンバーが TRUE に設定され、それ以外の場合は FALSE に 設定されます。 このメンバーは、機能レベル 9.1、9.2、9.3 の 場合は FALSE です。 このメンバーは、機能レベル 10、10.1、および 11 では省略可能です。 このメンバーは、機能レベル 11.1 および 12 の 場合は TRUE です。
MinPrecisionSupport
ビットごとの OR 演算を使用して結合される D3D12_SHADER_MIN_PRECISION_SUPPORT型指定された値の組み合わせ。 結果の値は、ドライバーがシェーダー ステージに対してサポートする最小有効桁数レベルを指定します。 0 の値は、ドライバーがすべてのシェーダー ステージに対して完全な 32 ビット精度のみをサポートすることを示します。
TiledResourcesTier
ハードウェアとドライバーがタイル リソースをサポートするかどうかを指定します。 ランタイムは、このメンバーを D3D12_TILED_RESOURCES_TIER型指定された値に設定します。これは、ハードウェアとドライバーがタイル化されたリソースをサポートしているかどうかを示し、どのレベルレベルでサポートするのかを示します。
ResourceBindingTier
ハードウェアとドライバーがリソース バインドをサポートするレベルを指定します。 ランタイムは、このメンバーを階層レベルを示す D3D12_RESOURCE_BINDING_TIER型指定の値に設定します。
PSSpecifiedStencilRefSupported
ピクセル シェーダー ステンシル ref がサポートされているかどうかを指定します。 TRUE の場合はサポートされます。それ以外の場合は FALSE。
TypedUAVLoadAdditionalFormats
型指定された順序なしアクセス ビュー (UAV) の追加形式の読み込みをサポートするかどうかを指定します。 TRUE の場合はサポートされます。それ以外の場合は FALSE。
ROVsSupported
ラスタライザーの順序ビュー (ROV) をサポートするかどうかを指定します。 TRUE の場合はサポートされます。それ以外の場合は FALSE。
ConservativeRasterizationTier
ハードウェアとドライバーが保守的なラスター化をサポートするレベルを指定します。 ランタイムは、このメンバーを階層レベルを示す D3D12_CONSERVATIVE_RASTERIZATION_TIER型指定の値に設定します。
MaxGPUVirtualAddressBitsPerResource
このフィールドは使用しないでください。代わりに、 D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT クエリ ( MaxGPUVirtualAddressBitsPerResource メンバーを持つ構造体) を使用します。これは、より正確です。
StandardSwizzle64KBSupported
ハードウェアが 64 KB の標準のスワイズル パターンを持つテクスチャをサポートしている場合は TRUE。 このパターンのサポートにより、テクスチャ内の各次元にほぼ等しい局所性を提供しながら、ゼロ コピー テクスチャの最適化が可能になります。 テクスチャスワイズルのオプションと制限については、「 D3D12_TEXTURE_LAYOUT」を参照してください。
CrossNodeSharingTier
階層 1 エミュレート、階層 1、階層 2 など、複数のノードを持つアダプターのノード間の共有のレベルを指定するD3D12_CROSS_NODE_SHARING_TIER列挙定数。
CrossAdapterRowMajorTextureSupported
FALSE は、デバイスがクロスアダプター行メジャー テクスチャとの間のコピー操作のみをサポートすることを意味します。 TRUE は、デバイスがシェーダー リソース ビュー、順序付けられていないアクセス ビュー、およびアダプター間の行メジャー テクスチャのターゲット ビューをレンダリングするをサポートします。 "クロスアダプター" とは、(異なる IHV からでも) 複数のアダプター間を意味します。
VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation
ラスタライザーを供給するシェーダーからのビューポート (VP) とレンダー ターゲット (RT) 配列インデックスが、ジオメトリ シェーダー エミュレーションなしでサポートされているかどうか。 D3D11_FEATURE_DATA_D3D11_OPTIONS3構造体の VPAndRTArrayIndexFromAnyShaderFeedingRasterizer メンバーを比較します。 ID3D12ShaderReflection::GetRequiresFlags で、#define D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER を参照してください。
ResourceHeapTier
ハードウェアとドライバーがリソースの種類に関連するヒープ属性を必要とするレベルを指定します。 ランタイムは、このメンバーを D3D12_RESOURCE_HEAP_TIER 列挙定数に設定します。
注釈
「D3D12_FEATURE」を参照してください。
要件
要件 | 値 |
---|---|
Header | d3d12.h |