Condividi tramite


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

Vedi anche

Rasterizzazione conservativa

Strutture principali

Visualizzazioni ordinate di Rasterizer