D3D12_FEATURE_DATA_D3D12_OPTIONS-Struktur (d3d12.h)
Beschreibt die Direct3D 12-Featureoptionen im aktuellen Grafiktreiber.
Syntax
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;
Member
DoublePrecisionFloatShaderOps
Gibt an, ob Doppeltypen für Shadervorgänge zulässig sind. Bei TRUE sind doppelte Typen zulässig. andernfalls FALSE. Die unterstützten Vorgänge entsprechen dem ExtendedDoublesShaderInstructions-Member der D3D11_FEATURE_DATA_D3D11_OPTIONS-Struktur von Direct3D 11.
Um einen BELIEBIGEN HLSL-Shader zu verwenden, der mit einem Double-Typ kompiliert wird, muss die Laufzeit DoublePrecisionFloatShaderOps auf TRUE festlegen.
OutputMergerLogicOp
Gibt an, ob Logikvorgänge im Mischzustand verfügbar sind. Die Runtime legt diesen Member auf TRUE fest, wenn Logikvorgänge im Mischzustand verfügbar sind, andernfalls FALSE . Dieser Member ist für die Featureebene 9.1, 9.2 und 9.3 FALSE . Dieser Member ist für Featureebene 10, 10.1 und 11 optional. Dieser Member ist für die Featureebene 11.1 und 12 TRUE .
MinPrecisionSupport
Eine Kombination aus D3D12_SHADER_MIN_PRECISION_SUPPORT typisierten Werten, die mithilfe einer bitweisen OR-Operation kombiniert werden. Der resultierende Wert gibt minimale Genauigkeitsstufen an, die der Treiber für Shaderphasen unterstützt. Der Wert 0 (null) gibt an, dass der Treiber nur die volle 32-Bit-Genauigkeit für alle Shaderphasen unterstützt.
TiledResourcesTier
Gibt an, ob die Hardware und der Treiber kachelbasierte Ressourcen unterstützen. Die Runtime legt diesen Member auf einen D3D12_TILED_RESOURCES_TIER typisierten Wert fest, der angibt, ob die Hardware und der Treiber kachelnde Ressourcen unterstützen und auf welcher Ebenenebene.
ResourceBindingTier
Gibt die Ebene an, auf der die Hardware und der Treiber die Ressourcenbindung unterstützen. Die Laufzeit legt diesen Member auf einen D3D12_RESOURCE_BINDING_TIER typisierten Wert fest, der die Ebenenebene angibt.
PSSpecifiedStencilRefSupported
Gibt an, ob die Schablonenreferenz des Pixelshaders unterstützt wird. Wenn TRUE, wird dies unterstützt. andernfalls FALSE.
TypedUAVLoadAdditionalFormats
Gibt an, ob das Laden zusätzlicher Formate für typisierte ungeordnete Zugriffsansichten (UAVs) unterstützt wird. Wenn TRUE, wird dies unterstützt. andernfalls FALSE.
ROVsSupported
Gibt an , ob Rasterizer Order Views (ROVs) unterstützt werden. Wenn TRUE, werden sie unterstützt. andernfalls FALSE.
ConservativeRasterizationTier
Gibt die Ebene an, auf der hardware- und treiber konservative Rasterisierung unterstützen. Die Laufzeit legt diesen Member auf einen D3D12_CONSERVATIVE_RASTERIZATION_TIER typisierten Wert fest, der die Ebenenebene angibt.
MaxGPUVirtualAddressBitsPerResource
Verwenden Sie dieses Feld nicht. Verwenden Sie stattdessen die D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT-Abfrage (eine Struktur mit einem MaxGPUVirtualAddressBitsPerResource-Member ), die genauer ist.
StandardSwizzle64KBSupported
TRUE, wenn die Hardware Texturen mit dem Standard-Swizzle-Muster mit 64 KB unterstützt. Die Unterstützung für dieses Muster ermöglicht Optimierungen der Textur ohne Kopiervorgänge, während gleichzeitig eine nahezu äquilaterale Lokalität für jede Dimension innerhalb der Textur bereitgestellt wird. Informationen zu Optionen und Einschränkungen für Texturschwister finden Sie unter D3D12_TEXTURE_LAYOUT.
CrossNodeSharingTier
Eine D3D12_CROSS_NODE_SHARING_TIER Enumerationskonstante, die die Ebene der Freigabe zwischen Knoten eines Adapters mit mehreren Knoten angibt, z. B. Ebene 1 emuliert, Ebene 1 oder Ebene 2.
CrossAdapterRowMajorTextureSupported
FALSE bedeutet, dass das Gerät nur Kopiervorgänge in und aus adapterübergreifenden Zeilen-Haupttexturen unterstützt. TRUE bedeutet, dass das Gerät Shaderressourcenansichten, ungeordnete Zugriffsansichten und Renderzielansichten von adapterübergreifenden Zeilen-Haupttexturen unterstützt. "Cross-adapter" bedeutet zwischen mehreren Adaptern (auch von verschiedenen IHVs).
VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation
Gibt an, ob der Viewport (VP) und der RT-Arrayindex (Render Target) aus einem Shader, der den Rasterizer speist, ohne Geometrieshaderemulation unterstützt werden. Vergleichen Sie das VPAndRTArrayIndexFromAnyShaderFeedingRasterizer-Element der D3D11_FEATURE_DATA_D3D11_OPTIONS3-Struktur . Weitere Informationen finden Sie unter ID3D12ShaderReflection::GetRequiresFlags im #define D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER.
ResourceHeapTier
Gibt die Ebene an, auf der die Hardware und der Treiber eine Heapzuordnung im Zusammenhang mit dem Ressourcentyp erfordern. Die Runtime legt diesen Member auf eine D3D12_RESOURCE_HEAP_TIER-Enumerationskonstante fest.
Hinweise
Weitere Informationen finden Sie unter D3D12_FEATURE.
Anforderungen
Anforderung | Wert |
---|---|
Header | d3d12.h |