D3D12_GRAPHICS_PIPELINE_STATE_DESC struttura (d3d12.h)
Descrive un oggetto stato della pipeline grafica.
Sintassi
typedef struct D3D12_GRAPHICS_PIPELINE_STATE_DESC {
ID3D12RootSignature *pRootSignature;
D3D12_SHADER_BYTECODE VS;
D3D12_SHADER_BYTECODE PS;
D3D12_SHADER_BYTECODE DS;
D3D12_SHADER_BYTECODE HS;
D3D12_SHADER_BYTECODE GS;
D3D12_STREAM_OUTPUT_DESC StreamOutput;
D3D12_BLEND_DESC BlendState;
UINT SampleMask;
D3D12_RASTERIZER_DESC RasterizerState;
D3D12_DEPTH_STENCIL_DESC DepthStencilState;
D3D12_INPUT_LAYOUT_DESC InputLayout;
D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue;
D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType;
UINT NumRenderTargets;
DXGI_FORMAT RTVFormats[8];
DXGI_FORMAT DSVFormat;
DXGI_SAMPLE_DESC SampleDesc;
UINT NodeMask;
D3D12_CACHED_PIPELINE_STATE CachedPSO;
D3D12_PIPELINE_STATE_FLAGS Flags;
} D3D12_GRAPHICS_PIPELINE_STATE_DESC;
Members
pRootSignature
Puntatore all'oggetto ID3D12RootSignature .
VS
Struttura D3D12_SHADER_BYTECODE che descrive il vertex shader.
PS
Struttura D3D12_SHADER_BYTECODE che descrive lo shader pixel.
DS
Struttura D3D12_SHADER_BYTECODE che descrive lo shader di dominio.
HS
Struttura D3D12_SHADER_BYTECODE che descrive lo shader dello scafo.
GS
Struttura D3D12_SHADER_BYTECODE che descrive lo shader geometry.
StreamOutput
Struttura D3D12_STREAM_OUTPUT_DESC che descrive un buffer di output di streaming.
BlendState
Struttura D3D12_BLEND_DESC che descrive lo stato di blend.
SampleMask
Maschera di esempio per lo stato di blend.
RasterizerState
Struttura D3D12_RASTERIZER_DESC che descrive lo stato del rasterizzatore.
DepthStencilState
Struttura D3D12_DEPTH_STENCIL_DESC che descrive lo stato di profondità-stencil.
InputLayout
Struttura D3D12_INPUT_LAYOUT_DESC che descrive i dati del buffer di input per la fase di assemblaggio di input.
IBStripCutValue
Specifica le proprietà del buffer di indice in una struttura D3D12_INDEX_BUFFER_STRIP_CUT_VALUE .
PrimitiveTopologyType
Valore D3D12_PRIMITIVE_TOPOLOGY_TYPE tipizzato per il tipo di primitiva e l'ordinamento dei dati primitivi.
NumRenderTargets
Numero di formati di destinazione di rendering nel membro RTVFormats .
RTVFormats[8]
Matrice di valori tipizzati DXGI_FORMAT per i formati di destinazione di rendering.
DSVFormat
Valore DXGI_FORMAT tipizzato per il formato profondità-stencil.
SampleDesc
Struttura DXGI_SAMPLE_DESC che specifica parametri multicampionamento.
NodeMask
Per un'operazione GPU singola, impostare questo valore su zero. Se sono presenti più nodi GPU, impostare bit per identificare i nodi (adattatori fisici del dispositivo) per cui si applica lo stato della pipeline grafica. Ogni bit della maschera corrisponde a un singolo nodo. Fare riferimento ai sistemi multi-adapter.
CachedPSO
Oggetto stato della pipeline memorizzato nella cache, come struttura D3D12_CACHED_PIPELINE_STATE . pCachedBlob e CachedBlobSizeInBytes possono essere impostati rispettivamente su NULL e 0.
Flags
Costante di enumerazione D3D12_PIPELINE_STATE_FLAGS, ad esempio per "debug degli strumenti".
Commenti
Questa struttura viene usata dal metodo CreateGraphicsPipelineState .
Il runtime convalida:
- Se il collegamento tra le fasi dello shader è corretto.
- Se vengono specificati i membri HS e DS, il membro PrimitiveTopologyType per il tipo di topologia deve essere impostato su D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH.
- Se l'esecuzione della frequenza di esempio non è consentita con il modello anti-aliasing multi-sample (MSAA).
- Se le righe anti-aliasing non sono consentite con il modello MSAA centrale.
-
Se il membro ForcedSampleCount di D3D12_RASTERIZER_DESC specificato da RasterizerState non è zero:
- La profondità/stencil deve essere disabilitata.
- Lo shader pixel non può restituire la profondità.
- Lo shader pixel non può essere eseguito a frequenza di esempio.
- Il numero di esempi di destinazione di rendering deve essere 1.
- Se lo stato di blend è compatibile con i formati di destinazione di rendering.
- Se il tipo di output pixel shader è compatibile con il formato di destinazione di rendering.
- Se il numero di campioni e la qualità sono supportati per i formati di stencil di destinazione/profondità di rendering.
Requisiti
Intestazione | d3d12.h |