Partager via


structure D3D12_GRAPHICS_PIPELINE_STATE_DESC (d3d12.h)

Décrit un objet d’état de pipeline graphique.

Syntaxe

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;

Membres

pRootSignature

Pointeur vers l’objet ID3D12RootSignature .

VS

Structure D3D12_SHADER_BYTECODE qui décrit le nuanceur de vertex.

PS

Structure D3D12_SHADER_BYTECODE qui décrit le nuanceur de pixels.

DS

Structure D3D12_SHADER_BYTECODE qui décrit le nuanceur de domaine.

HS

Structure D3D12_SHADER_BYTECODE qui décrit le nuanceur de coque.

GS

Structure D3D12_SHADER_BYTECODE qui décrit le nuanceur de géométrie.

StreamOutput

Structure D3D12_STREAM_OUTPUT_DESC qui décrit une mémoire tampon de sortie de streaming.

BlendState

Structure D3D12_BLEND_DESC qui décrit l’état de fusion.

SampleMask

Exemple de masque pour l’état de fusion.

RasterizerState

Structure D3D12_RASTERIZER_DESC qui décrit l’état du rastériseur.

DepthStencilState

Structure D3D12_DEPTH_STENCIL_DESC qui décrit l’état du gabarit de profondeur.

InputLayout

Structure D3D12_INPUT_LAYOUT_DESC qui décrit les données de mémoire tampon d’entrée pour la phase d’assembleur d’entrée.

IBStripCutValue

Spécifie les propriétés de la mémoire tampon d’index dans une structure D3D12_INDEX_BUFFER_STRIP_CUT_VALUE .

PrimitiveTopologyType

Valeur de type D3D12_PRIMITIVE_TOPOLOGY_TYPE pour le type de primitive et l’ordre des données primitives.

NumRenderTargets

Nombre de formats cibles de rendu dans le membre RTVFormats .

RTVFormats[8]

Tableau de valeurs de type DXGI_FORMAT pour les formats cibles de rendu.

DSVFormat

Valeur de type DXGI_FORMAT pour le format de gabarit de profondeur.

SampleDesc

Structure DXGI_SAMPLE_DESC qui spécifie les paramètres de multi-échantillonnage.

NodeMask

Pour une opération GPU unique, définissez cette valeur sur zéro. S’il existe plusieurs nœuds GPU, définissez des bits pour identifier les nœuds (les cartes physiques de l’appareil) auxquels l’état du pipeline graphique doit s’appliquer. Chaque bit du masque correspond à un nœud unique. Reportez-vous à Systèmes multi-adaptateurs.

CachedPSO

Objet d’état de pipeline mis en cache, en tant que structure D3D12_CACHED_PIPELINE_STATE . pCachedBlob et CachedBlobSizeInBytes peuvent être définis sur NULL et 0 respectivement.

Flags

Une constante d’énumération D3D12_PIPELINE_STATE_FLAGS telle que pour « débogage d’outil ».

Notes

Cette structure est utilisée par la méthode CreateGraphicsPipelineState .

Le runtime valide :

  • Indique si la liaison entre les étapes du nuanceur est correcte.
  • Si les membres HS et DS sont spécifiés, le membre PrimitiveTopologyType pour le type de topologie doit être défini sur D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH.
  • Indique si l’exécution d’un exemple de fréquence n’est pas autorisée avec le modèle d’anti-aliasing multi-échantillon central (MSAA).
  • Indique si les lignes anti-aliasing ne sont pas autorisées avec le modèle MSAA central.
  • Si le membre ForcedSampleCount de D3D12_RASTERIZER_DESC que RasterizerState spécifie n’est pas égal à zéro :
    • La profondeur/gabarit doit être désactivée.
    • Le nuanceur de pixels ne peut pas générer de profondeur.
    • Le nuanceur de pixels ne peut pas s’exécuter à la fréquence de l’exemple.
    • Le nombre d’exemples cibles de rendu doit être de 1.
  • Si l’état de fusion est compatible avec les formats cibles de rendu.
  • Indique si le type de sortie du nuanceur de pixels est compatible avec le format cible de rendu.
  • Indique si le nombre d’exemples et la qualité sont pris en charge pour les formats de gabarit cible/profondeur de rendu.

Spécifications

   
En-tête d3d12.h

Voir aussi

Pixellisation conservatrice

Structures principales

Affichage ordonné du rastériseur