Freigeben über


D3D12_GRAPHICS_PIPELINE_STATE_DESC-Struktur (d3d12.h)

Beschreibt ein Grafikpipeline-Zustandsobjekt.

Syntax

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;

Member

pRootSignature

Ein Zeiger auf das ID3D12RootSignature-Objekt .

VS

Eine D3D12_SHADER_BYTECODE-Struktur , die den Vertex-Shader beschreibt.

PS

Eine D3D12_SHADER_BYTECODE-Struktur , die den Pixel-Shader beschreibt.

DS

Eine D3D12_SHADER_BYTECODE Struktur, die den Domänenshader beschreibt.

HS

Eine D3D12_SHADER_BYTECODE Struktur, die den Rumpf-Shader beschreibt.

GS

Eine D3D12_SHADER_BYTECODE-Struktur , die den Geometrie-Shader beschreibt.

StreamOutput

Eine D3D12_STREAM_OUTPUT_DESC-Struktur , die einen Streamingausgabepuffer beschreibt.

BlendState

Eine D3D12_BLEND_DESC-Struktur , die den Mischzustand beschreibt.

SampleMask

Die Beispielmaske für den Mischzustand.

RasterizerState

Eine D3D12_RASTERIZER_DESC-Struktur , die den Rasterisierungszustand beschreibt.

DepthStencilState

Eine D3D12_DEPTH_STENCIL_DESC-Struktur , die den Tiefenschablonenzustand beschreibt.

InputLayout

Eine D3D12_INPUT_LAYOUT_DESC-Struktur , die die Eingabepufferdaten für die Eingabe-Assembler-Phase beschreibt.

IBStripCutValue

Gibt die Eigenschaften des Indexpuffers in einer D3D12_INDEX_BUFFER_STRIP_CUT_VALUE-Struktur an.

PrimitiveTopologyType

Ein D3D12_PRIMITIVE_TOPOLOGY_TYPE typisierter Wert für den Typ des Grundtyps und die Reihenfolge der primitiven Daten.

NumRenderTargets

Die Anzahl der Renderzielformate im RTVFormats-Member .

RTVFormats[8]

Ein Array von DXGI_FORMAT typisierten Werten für die Renderzielformate.

DSVFormat

Ein DXGI_FORMAT typisierter Wert für das Format der Tiefenschablone.

SampleDesc

Eine DXGI_SAMPLE_DESC-Struktur , die Multisamplingparameter angibt.

NodeMask

Legen Sie für einzelne GPU-Vorgänge diesen Wert auf 0 fest. Wenn mehrere GPU-Knoten vorhanden sind, legen Sie Bits fest, um die Knoten (die physischen Adapter des Geräts) zu identifizieren, für die der Zustand der Grafikpipeline angewendet werden soll. Jedes Bit in der Maske entspricht einem einzelnen Knoten. Weitere Informationen finden Sie unter Systeme mit mehreren Adaptern.

CachedPSO

Ein zwischengespeichertes Pipelinestatusobjekt als D3D12_CACHED_PIPELINE_STATE-Struktur . pCachedBlob und CachedBlobSizeInBytes können auf NULL bzw. 0 festgelegt werden.

Flags

Eine D3D12_PIPELINE_STATE_FLAGS Enumerationskonstante, z. B. für "Tooldebuggen".

Hinweise

Diese Struktur wird von der CreateGraphicsPipelineState-Methode verwendet.

Die Laufzeit überprüft Folgendes:

  • Gibt an, ob die Verknüpfung zwischen den Shaderphasen richtig ist.
  • Wenn die HS - und DS-Member angegeben werden, muss das PrimitiveTopologyType-Element für den Topologietyp auf D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH festgelegt werden.
  • Gibt an, ob die Ausführung der Beispielhäufigkeit mit dem MSAA-Muster (Center Multi-Sample Antialiasing) nicht zulässig ist.
  • Gibt an, ob Antialiasinglinien mit dem mittleren MSAA-Muster nicht zulässig sind.
  • Wenn das ForcedSampleCount-Element von D3D12_RASTERIZER_DESC , das RasterizerState angibt, nicht 0 ist:
    • Tiefe/Schablone muss deaktiviert sein.
    • Pixel-Shader können keine Ausgabetiefe ausgeben.
    • Der Pixel-Shader kann nicht mit der Beispielhäufigkeit ausgeführt werden.
    • Die Anzahl der Renderzielbeispiele muss 1 sein.
  • Gibt an, ob der Mischzustand mit Renderzielformaten kompatibel ist.
  • Gibt an, ob der Ausgabetyp des Pixelshaders mit dem Renderzielformat kompatibel ist.
  • Gibt an, ob die Anzahl und Qualität des Beispiels für die Renderziel-/Tiefenschablonenformate unterstützt werden.

Anforderungen

   
Kopfzeile d3d12.h

Weitere Informationen

Konservative Rasterung

Kernstrukturen

Geordnete Rasterizeransichten