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 |