Win32 API 日本語リファレンス
ホームGraphics.Direct3D12 › ID3D12ShaderReflection

ID3D12ShaderReflection

COM
IID5a58797d-a72c-478d-8ba2-efc6b0efe88e継承元IUnknown自前メソッド開始 vtbl3

メソッド 19

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT GetDesc(D3D12_SHADER_DESC* pDesc)
pDescD3D12_SHADER_DESC*outシェーダー全体の記述情報を受け取るD3D12_SHADER_DESC構造体へのポインター。
vtbl 4 ID3D12ShaderReflectionConstantBuffer* GetConstantBufferByIndex(DWORD Index)
IndexDWORDin取得する定数バッファーの0始まりインデックスを示すDWORD値。
vtbl 5 ID3D12ShaderReflectionConstantBuffer* GetConstantBufferByName(LPSTR Name)
NameLPSTRin取得する定数バッファーの名前を示すLPSTR(ANSI文字列)。
vtbl 6 HRESULT GetResourceBindingDesc(DWORD ResourceIndex, D3D12_SHADER_INPUT_BIND_DESC* pDesc)
ResourceIndexDWORDin取得するリソースバインドの0始まりインデックスを示すDWORD値。
pDescD3D12_SHADER_INPUT_BIND_DESC*outリソースバインド情報を受け取るD3D12_SHADER_INPUT_BIND_DESC構造体へのポインター。
vtbl 7 HRESULT GetInputParameterDesc(DWORD ParameterIndex, D3D12_SIGNATURE_PARAMETER_DESC* pDesc)
ParameterIndexDWORDin取得する入力パラメーターの0始まりインデックスを示すDWORD値。
pDescD3D12_SIGNATURE_PARAMETER_DESC*out入力シグネチャ情報を受け取るD3D12_SIGNATURE_PARAMETER_DESC構造体へのポインター。
vtbl 8 HRESULT GetOutputParameterDesc(DWORD ParameterIndex, D3D12_SIGNATURE_PARAMETER_DESC* pDesc)
ParameterIndexDWORDin取得する出力パラメーターの0始まりインデックスを示すDWORD値。
pDescD3D12_SIGNATURE_PARAMETER_DESC*out出力シグネチャ情報を受け取るD3D12_SIGNATURE_PARAMETER_DESC構造体へのポインター。
vtbl 9 HRESULT GetPatchConstantParameterDesc(DWORD ParameterIndex, D3D12_SIGNATURE_PARAMETER_DESC* pDesc)
ParameterIndexDWORDin取得するパッチ定数パラメーターの0始まりインデックスを示すDWORD値。
pDescD3D12_SIGNATURE_PARAMETER_DESC*outパッチ定数シグネチャ情報を受け取るD3D12_SIGNATURE_PARAMETER_DESC構造体へのポインター。
vtbl 10 ID3D12ShaderReflectionVariable* GetVariableByName(LPSTR Name)
NameLPSTRin取得するシェーダー変数の名前を示すLPSTR(ANSI文字列)。
vtbl 11 HRESULT GetResourceBindingDescByName(LPSTR Name, D3D12_SHADER_INPUT_BIND_DESC* pDesc)
NameLPSTRin取得するリソースバインドの名前を示すLPSTR(ANSI文字列)。
pDescD3D12_SHADER_INPUT_BIND_DESC*outリソースバインド情報を受け取るD3D12_SHADER_INPUT_BIND_DESC構造体へのポインター。
vtbl 12 DWORD GetMovInstructionCount()
vtbl 13 DWORD GetMovcInstructionCount()
vtbl 14 DWORD GetConversionInstructionCount()
vtbl 15 DWORD GetBitwiseInstructionCount()
vtbl 16 D3D_PRIMITIVE GetGSInputPrimitive()
vtbl 17 BOOL IsSampleFrequencyShader()
vtbl 18 DWORD GetNumInterfaceSlots()
vtbl 19 HRESULT GetMinFeatureLevel(D3D_FEATURE_LEVEL* pLevel)
pLevelD3D_FEATURE_LEVEL*outシェーダーが要求する最小機能レベルを受け取るD3D_FEATURE_LEVELへのポインター。
vtbl 20 DWORD GetThreadGroupSize(DWORD* pSizeX, DWORD* pSizeY, DWORD* pSizeZ)
pSizeXDWORD*outoptionalコンピュートシェーダーのX方向スレッド数を受け取るDWORDへのポインター。NULL可。
pSizeYDWORD*outoptionalコンピュートシェーダーのY方向スレッド数を受け取るDWORDへのポインター。NULL可。
pSizeZDWORD*outoptionalコンピュートシェーダーのZ方向スレッド数を受け取るDWORDへのポインター。NULL可。
vtbl 21 ULONGLONG GetRequiresFlags()

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_ID3D12ShaderReflection "{5A58797D-A72C-478D-8BA2-EFC6B0EFE88E}"
#usecom global ID3D12ShaderReflection IID_ID3D12ShaderReflection "{}"
#comfunc global ID3D12ShaderReflection_GetDesc                        3 var
#comfunc global ID3D12ShaderReflection_GetConstantBufferByIndex       4 int
#comfunc global ID3D12ShaderReflection_GetConstantBufferByName        5 str
#comfunc global ID3D12ShaderReflection_GetResourceBindingDesc         6 int,var
#comfunc global ID3D12ShaderReflection_GetInputParameterDesc          7 int,var
#comfunc global ID3D12ShaderReflection_GetOutputParameterDesc         8 int,var
#comfunc global ID3D12ShaderReflection_GetPatchConstantParameterDesc  9 int,var
#comfunc global ID3D12ShaderReflection_GetVariableByName              10 str
#comfunc global ID3D12ShaderReflection_GetResourceBindingDescByName   11 str,var
#comfunc global ID3D12ShaderReflection_GetMovInstructionCount         12
#comfunc global ID3D12ShaderReflection_GetMovcInstructionCount        13
#comfunc global ID3D12ShaderReflection_GetConversionInstructionCount  14
#comfunc global ID3D12ShaderReflection_GetBitwiseInstructionCount     15
#comfunc global ID3D12ShaderReflection_GetGSInputPrimitive            16
#comfunc global ID3D12ShaderReflection_IsSampleFrequencyShader        17
#comfunc global ID3D12ShaderReflection_GetNumInterfaceSlots           18
#comfunc global ID3D12ShaderReflection_GetMinFeatureLevel             19 var
#comfunc global ID3D12ShaderReflection_GetThreadGroupSize             20 var,var,var
#comfunc global ID3D12ShaderReflection_GetRequiresFlags               21
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。