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

Weitere Informationen

Konservative Rasterung

Kernstrukturen

D3D12_FEATURE

Geordnete Rasterizeransichten