共用方式為


D3D12_SHADER_DESC 結構 (d3d12shader.h)

描述著色器。

語法

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;

成員

Version

著色器版本,作為對應至著色器模型的編碼 UINT,例如 「ps_5_0」。。 版本 描述程式類型、主要版本號碼和次要版本號碼。 程式類型是 D3D12_SHADER_VERSION_TYPE 列舉常數。 版本 會以下列方式譯碼:

  • 程式類型 = (版本 & 0xFFFF0000) >> 16
  • 主要版本 = (版本 & 0x000000F0) >> 4
  • 次要版本 = (版本 & 0x0000000F)

Creator

著色器的原始程序名稱。

Flags

著色器編譯/剖析旗標。

ConstantBuffers

著色器常數緩衝區的數目。

BoundResources

系結至著色器的資源 (紋理和緩衝區數目) 。

InputParameters

輸入簽章中的參數數目。

OutputParameters

輸出簽章中的參數數目。

InstructionCount

編譯著色器中的中繼語言指令數目。

TempRegisterCount

已編譯著色器中的暫存緩存器數目。

TempArrayCount

使用的暫存陣列數目。

DefCount

常數定義的數目。

DclCount

輸入 + 輸出) (宣告數目。

TextureNormalInstructions

非分類紋理指令的數目。

TextureLoadInstructions

紋理載入指令的數目

TextureCompInstructions

紋理比較指示的數目

TextureBiasInstructions

紋理偏差指令的數目

TextureGradientInstructions

紋理漸層指令的數目。

FloatInstructionCount

使用的浮點算術指令數目。

IntInstructionCount

使用的帶正負號整數算術指令數目。

UintInstructionCount

使用的不帶正負號整數算術指令數目。

StaticFlowControlCount

使用的靜態流程控制指令數目。

DynamicFlowControlCount

使用的動態流程控制指令數目。

MacroInstructionCount

使用的宏指令數目。

ArrayInstructionCount

使用的陣列指令數目。

CutInstructionCount

使用的剪下指令數目。

EmitInstructionCount

使用的發出指令數目。

GSOutputTopology

表示幾何著色器輸出拓撲 的D3D_PRIMITIVE_TOPOLOGY型別值。

GSMaxOutputVertexCount

幾何著色器最大輸出頂點計數。

InputPrimitive

D3D_PRIMITIVE型別值,表示幾何著色器或殼層著色器的輸入基本類型。

PatchConstantParameters

修補程式常數簽章中的參數數目。

cGSInstanceCount

幾何著色器實例的數目。

cControlPoints

殼層著色器和網域著色器中的控制點數目。

HSOutputPrimitive

表示鑲嵌式輸出基本類型的 D3D_TESSELLATOR_OUTPUT_PRIMITIVE型別值。

HSPartitioning

表示鑲嵌式分割模式 的D3D_TESSELLATOR_PARTITIONING型別值。

TessellatorDomain

表示鑲嵌式網域 的D3D_TESSELLATOR_DOMAIN型別值。

cBarrierInstructions

計算著色器中的屏障指令數目。

cInterlockedInstructions

計算著色器中的連結指令數目。

cTextureStoreInstructions

計算著色器中的紋理寫入數目。

備註

著色器是以 HLSL 撰寫,並由 HLSL 編譯程式編譯成中繼語言。 著色器描述會傳回已編譯著色器的相關信息。 若要取得著色器描述,請呼叫 ID3D12ShaderReflection::GetDesc

規格需求

需求
標頭 d3d12shader.h

另請參閱

著色器結構