Compartilhar via


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

Confira também

Rasterização conservativa

Estruturas principais

Modos de exibição ordenados do rasterizador