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
"ps_5_0" などのシェーダー モデルに対応するエンコードされた UINT としてのシェーダー バージョン。 Version には、プログラムの種類、メジャー バージョン番号、マイナー バージョン番号が記述されています。 プログラムの種類は、 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 を呼び出します。
要件
要件 | 値 |
---|---|
Header | d3d12shader.h |