struttura D3D12_FEATURE_DATA_D3D12_OPTIONS (d3d12.h)

Descrive le opzioni di funzionalità direct3D 12 nel driver di grafica corrente.

Sintassi

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;

Members

DoublePrecisionFloatShaderOps

Specifica se i tipi double sono consentiti per le operazioni shader. Se TRUE, sono consentiti tipi double; in caso contrario FALSE. Le operazioni supportate sono equivalenti al membro ExtendedDoublesShaderInstructions di Direct3D 11 della struttura D3D11_FEATURE_DATA_D3D11_OPTIONS .

Per usare qualsiasi shader HLSL compilato con un tipo double , il runtime deve impostare DoublePrecisionFloatShaderOps su TRUE.

OutputMergerLogicOp

Specifica se le operazioni logiche sono disponibili nello stato blend. Il runtime imposta questo membro su TRUE se le operazioni logiche sono disponibili in stato blend e FALSE in caso contrario. Questo membro è FALSE per il livello di funzionalità 9.1, 9.2 e 9.3. Questo membro è facoltativo per il livello di funzionalità 10, 10.1 e 11. Questo membro è TRUE per il livello di funzionalità 11.1 e 12.

MinPrecisionSupport

Combinazione di valori tipizzati di D3D12_SHADER_MIN_PRECISION_SUPPORT combinati tramite un'operazione OR bit per bit. Il valore risultante specifica i livelli di precisione minimi supportati dal driver per le fasi dello shader. Il valore zero indica che il driver supporta solo la precisione completa a 32 bit per tutte le fasi dello shader.

TiledResourcesTier

Specifica se l'hardware e il driver supportano le risorse affiancate. Il runtime imposta questo membro su un valore tipizzato D3D12_TILED_RESOURCES_TIER che indica se l'hardware e il driver supportano le risorse affiancate e a quale livello.

ResourceBindingTier

Specifica il livello a cui l'hardware e il driver supportano l'associazione di risorse. Il runtime imposta questo membro su un valore tipizzato D3D12_RESOURCE_BINDING_TIER che indica il livello di livello.

PSSpecifiedStencilRefSupported

Specifica se il riferimento dello stencil del pixel shader è supportato. Se TRUE, è supportato; in caso contrario FALSE.

TypedUAVLoadAdditionalFormats

Specifica se il caricamento di formati aggiuntivi per le viste di accesso non ordinato tipizzato (UAV) è supportato. Se TRUE, è supportato; in caso contrario FALSE.

ROVsSupported

Specifica se sono supportate le visualizzazioni degli ordini di rasterizzatore (ROV). Se TRUE, sono supportati; in caso contrario FALSE.

ConservativeRasterizationTier

Specifica il livello in cui l'hardware e il driver supportano la rasterizzazione conservativa. Il runtime imposta questo membro su un valore tipizzato D3D12_CONSERVATIVE_RASTERIZATION_TIER che indica il livello di livello.

MaxGPUVirtualAddressBitsPerResource

Non usare questo campo; Usare invece la query D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT (una struttura con un membro MaxGPUVirtualAddressBitsPerResource ), più accurata.

StandardSwizzle64KBSupported

TRUE se l'hardware supporta trame con il modello swizzle standard di 64 KB. Il supporto per questo modello consente ottimizzazioni delle trame di copia zero, fornendo al tempo stesso una localizzazione quasi equilaterale per ogni dimensione all'interno della trama. Per le opzioni e le restrizioni dello scorrimento delle trame, vedere D3D12_TEXTURE_LAYOUT.

CrossNodeSharingTier

Costante di enumerazione D3D12_CROSS_NODE_SHARING_TIER che specifica il livello di condivisione tra nodi di una scheda con più nodi, ad esempio emulato livello 1, livello 1 o livello 2.

CrossAdapterRowMajorTextureSupported

FALSE indica che il dispositivo supporta solo le operazioni di copia da e verso trame tra schede di riga principali. TRUE indica che il dispositivo supporta le visualizzazioni delle risorse shader, le visualizzazioni di accesso non ordinate e le visualizzazioni di destinazione di rendering delle trame principali delle righe tra adattatori. "Cross-adapter" indica tra più adattatori (anche da diversi IHD).

VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation

Indipendentemente dal fatto che l'indice della matrice viewport (VP) e Render Target (RT) da qualsiasi shader che alimenta il rasterizzatore siano supportati senza emulazione geometry shader. Confrontare il membro VPAndRTArrayIndexFromAnyShaderFeedingRasterizer della struttura D3D11_FEATURE_DATA_D3D11_OPTIONS3 . In ID3D12ShaderReflection::GetRequiresFlags vedere il #define D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER.

ResourceHeapTier

Specifica il livello in cui l'hardware e il driver richiedono l'attribuzione dell'heap correlata al tipo di risorsa. Il runtime imposta questo membro su una costante di enumerazione D3D12_RESOURCE_HEAP_TIER .

Commenti

Vedere D3D12_FEATURE.

Requisiti

Requisito Valore
Intestazione d3d12.h

Vedi anche

Rasterizzazione conservativa

Strutture principali

D3D12_FEATURE

Viste ordinate rasterizzatori