D3D12_SHADER_DESC-Struktur (d3d12shader.h)
Beschreibt einen Shader.
Syntax
typedef struct _D3D12_SHADER_DESC {
UINT Version;
LPCSTR Creator;
UINT Flags;
UINT ConstantBuffers;
UINT BoundResources;
UINT InputParameters;
UINT OutputParameters;
UINT InstructionCount;
UINT TempRegisterCount;
UINT TempArrayCount;
UINT DefCount;
UINT DclCount;
UINT TextureNormalInstructions;
UINT TextureLoadInstructions;
UINT TextureCompInstructions;
UINT TextureBiasInstructions;
UINT TextureGradientInstructions;
UINT FloatInstructionCount;
UINT IntInstructionCount;
UINT UintInstructionCount;
UINT StaticFlowControlCount;
UINT DynamicFlowControlCount;
UINT MacroInstructionCount;
UINT ArrayInstructionCount;
UINT CutInstructionCount;
UINT EmitInstructionCount;
D3D_PRIMITIVE_TOPOLOGY GSOutputTopology;
UINT GSMaxOutputVertexCount;
D3D_PRIMITIVE InputPrimitive;
UINT PatchConstantParameters;
UINT cGSInstanceCount;
UINT cControlPoints;
D3D_TESSELLATOR_OUTPUT_PRIMITIVE HSOutputPrimitive;
D3D_TESSELLATOR_PARTITIONING HSPartitioning;
D3D_TESSELLATOR_DOMAIN TessellatorDomain;
UINT cBarrierInstructions;
UINT cInterlockedInstructions;
UINT cTextureStoreInstructions;
} D3D12_SHADER_DESC;
Member
Version
Die Shaderversion als codiertes UINT, das einem Shadermodell entspricht, z. B. "ps_5_0". Version beschreibt den Programmtyp, eine Hauptversionsnummer und eine Nebenversionsnummer. Der Programmtyp ist eine D3D12_SHADER_VERSION_TYPE Enumerationskonstante. Die Version wird wie folgt decodiert:
- Programmtyp = (Version & 0xFFFF0000) >> 16
- Hauptversion = (Version & 0x000000F0) >> 4
- Nebenversion = (Version & 0x0000000F)
Creator
Der Name des Absenders des Shaders.
Flags
Shaderkompilierungs-/Analyseflags.
ConstantBuffers
Die Anzahl der Shaderkonstantenpuffer.
BoundResources
Die Anzahl der an einen Shader gebundenen Ressourcen (Texturen und Puffer).
InputParameters
Die Anzahl der Parameter in der Eingabesignatur.
OutputParameters
Die Anzahl der Parameter in der Ausgabesignatur.
InstructionCount
Die Anzahl von Anweisungen in mittlerer Sprache im kompilierten Shader.
TempRegisterCount
Die Anzahl der temporären Register im kompilierten Shader.
TempArrayCount
Anzahl der verwendeten temporären Arrays.
DefCount
Anzahl der definierten Konstanten.
DclCount
Anzahl der Deklarationen (Eingabe + Ausgabe).
TextureNormalInstructions
Anzahl der nicht kategorisierten Texturanweisungen.
TextureLoadInstructions
Anzahl der Anweisungen zum Laden der Textur
TextureCompInstructions
Anzahl der Anweisungen zum Texturvergleich
TextureBiasInstructions
Anzahl der Anweisungen für Texturverzerrungen
TextureGradientInstructions
Anzahl der Anweisungen für den Texturverlauf.
FloatInstructionCount
Anzahl der verwendeten Gleitkommaarithmetikanweisungen.
IntInstructionCount
Anzahl der verwendeten ganzzahligen Arithmetischen Anweisungen mit Vorzeichen.
UintInstructionCount
Anzahl der verwendeten arithmetischen Arithmetikanweisungen ohne Vorzeichen.
StaticFlowControlCount
Anzahl der verwendeten statischen Flusssteuerungsanweisungen.
DynamicFlowControlCount
Anzahl der verwendeten Anweisungen zur dynamischen Flusssteuerung.
MacroInstructionCount
Anzahl der verwendeten Makroanweisungen.
ArrayInstructionCount
Anzahl der verwendeten Arrayanweisungen.
CutInstructionCount
Anzahl der verwendeten Schnittanweisungen.
EmitInstructionCount
Anzahl der verwendeten Ausgabeanweisungen.
GSOutputTopology
Der D3D_PRIMITIVE_TOPOLOGY-typisierte Wert, der die Geometrie-Shaderausgabetopologie darstellt.
GSMaxOutputVertexCount
Maximale Vertexanzahl des Geometrie-Shaders.
InputPrimitive
Der D3D_PRIMITIVE-Typwert, der die Eingabegrundsätze für einen Geometrie-Shader oder einen Hull-Shader darstellt.
PatchConstantParameters
Anzahl der Parameter in der Signatur der Patchkonstante.
cGSInstanceCount
Anzahl der Geometrie-Shaderinstanzen.
cControlPoints
Anzahl der Kontrollpunkte im Hull-Shader und Domänenshader.
HSOutputPrimitive
Der D3D_TESSELLATOR_OUTPUT_PRIMITIVE typisierte Wert, der den Tessellator-Ausgabegrundtyp darstellt.
HSPartitioning
Der D3D_TESSELLATOR_PARTITIONING-Typwert, der den Partitionierungsmodus des Tessellators darstellt.
TessellatorDomain
Der D3D_TESSELLATOR_DOMAIN typisierte Wert, der die Domäne tessellator darstellt.
cBarrierInstructions
Anzahl der Barriereanweisungen in einem Compute-Shader.
cInterlockedInstructions
Anzahl der ineinander verzahnten Anweisungen in einem Compute-Shader.
cTextureStoreInstructions
Anzahl der Texturschreibvorgänge in einem Compute-Shader.
Hinweise
Ein Shader wird in HLSL geschrieben und vom HLSL-Compiler in eine Zwischensprache kompiliert. Die Shaderbeschreibung gibt Informationen zum kompilierten Shader zurück. Rufen Sie ID3D12ShaderReflection::GetDesc auf, um eine Shaderbeschreibung abzurufen.
Anforderungen
Anforderung | Wert |
---|---|
Header | d3d12shader.h |