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 |