estrutura D3D12_GRAPHICS_PIPELINE_STATE_DESC (d3d12.h)
Descreve um objeto de estado do pipeline de gráficos.
Sintaxe
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;
Membros
pRootSignature
Um ponteiro para o objeto ID3D12RootSignature .
VS
Uma estrutura D3D12_SHADER_BYTECODE que descreve o sombreador de vértice.
PS
Uma estrutura D3D12_SHADER_BYTECODE que descreve o sombreador de pixel.
DS
Uma estrutura D3D12_SHADER_BYTECODE que descreve o sombreador de domínio.
HS
Uma estrutura D3D12_SHADER_BYTECODE que descreve o sombreador de casco.
GS
Uma estrutura D3D12_SHADER_BYTECODE que descreve o sombreador de geometria.
StreamOutput
Uma estrutura D3D12_STREAM_OUTPUT_DESC que descreve um buffer de saída de streaming.
BlendState
Uma estrutura D3D12_BLEND_DESC que descreve o estado de mesclagem.
SampleMask
A máscara de exemplo para o estado de combinação.
RasterizerState
Uma estrutura D3D12_RASTERIZER_DESC que descreve o estado do rasterizador.
DepthStencilState
Uma estrutura D3D12_DEPTH_STENCIL_DESC que descreve o estado de estêncil de profundidade.
InputLayout
Uma estrutura D3D12_INPUT_LAYOUT_DESC que descreve os dados de buffer de entrada para o estágio input-assembler.
IBStripCutValue
Especifica as propriedades do buffer de índice em uma estrutura D3D12_INDEX_BUFFER_STRIP_CUT_VALUE .
PrimitiveTopologyType
Um valor de tipo D3D12_PRIMITIVE_TOPOLOGY_TYPE para o tipo primitivo e a ordenação dos dados primitivos.
NumRenderTargets
O número de formatos de destino de renderização no membro RTVFormats .
RTVFormats[8]
Uma matriz de valores do tipo DXGI_FORMAT para os formatos de destino de renderização.
DSVFormat
Um valor de tipo DXGI_FORMAT para o formato de estêncil de profundidade.
SampleDesc
Uma estrutura DXGI_SAMPLE_DESC que especifica parâmetros multisampling.
NodeMask
Para uma única operação de GPU, defina isso como zero. Se houver vários nós de GPU, defina bits para identificar os nós (adaptadores físicos do dispositivo) para os quais o estado do pipeline gráfico deve ser aplicado. Cada bit na máscara corresponde a um único nó. Consulte Sistemas de vários adaptadores.
CachedPSO
Um objeto de estado de pipeline armazenado em cache, como uma estrutura de D3D12_CACHED_PIPELINE_STATE . pCachedBlob e CachedBlobSizeInBytes podem ser definidos como NULL e 0, respectivamente.
Flags
Um D3D12_PIPELINE_STATE_FLAGS constante de enumeração, como para "depuração de ferramenta".
Comentários
Essa estrutura é usada pelo método CreateGraphicsPipelineState .
O runtime valida:
- Se a vinculação entre os estágios do sombreador está correta.
- Se os membros HS e DS forem especificados, o membro PrimitiveTopologyType para o tipo de topologia deverá ser definido como D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH.
- Se a execução de frequência de exemplo não é permitida com o padrão msaa (anti-aliasing) central de vários exemplos.
- Se linhas anti-aliasing não são permitidas com o padrão MSAA central.
-
Se o membro ForcedSampleCount de D3D12_RASTERIZER_DESC que RasterizerState especifica não for zero:
- Profundidade/estêncil deve ser desabilitado.
- O sombreador de pixel não pode gerar profundidade.
- O sombreador de pixel não pode ser executado em frequência de exemplo.
- A contagem de exemplos de destino de renderização deve ser 1.
- Se o estado de combinação é compatível com formatos de destino de renderização.
- Se o tipo de saída do sombreador de pixel é compatível com o formato de destino de renderização.
- Se a contagem de exemplos e a qualidade têm suporte para os formatos de estêncil de destino/profundidade de renderização.
Requisitos
Cabeçalho | d3d12.h |