ホーム › Graphics.Direct3D11 › ID3D11ShaderReflection
ID3D11ShaderReflection
COMメソッド 19
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT GetDesc(D3D11_SHADER_DESC* pDesc)
| pDesc | D3D11_SHADER_DESC* | out | シェーダ全体の記述(命令数・リソース数等)を受け取るD3D11_SHADER_DESC出力ポインタ。 |
vtbl 4 ID3D11ShaderReflectionConstantBuffer* GetConstantBufferByIndex(DWORD Index)
| Index | DWORD | in | 0始まりのインデックスを指定し、定数バッファ反射情報を取得する。 |
vtbl 5 ID3D11ShaderReflectionConstantBuffer* GetConstantBufferByName(LPSTR Name)
| Name | LPSTR | in | 取得対象の定数バッファ名(ANSI文字列)を指定する。 |
vtbl 6 HRESULT GetResourceBindingDesc(DWORD ResourceIndex, D3D11_SHADER_INPUT_BIND_DESC* pDesc)
| ResourceIndex | DWORD | in | 0始まりのバインドリソースインデックスを指定する。 |
| pDesc | D3D11_SHADER_INPUT_BIND_DESC* | out | リソースバインド情報を受け取るD3D11_SHADER_INPUT_BIND_DESC出力ポインタ。 |
vtbl 7 HRESULT GetInputParameterDesc(DWORD ParameterIndex, D3D11_SIGNATURE_PARAMETER_DESC* pDesc)
| ParameterIndex | DWORD | in | 0始まりの入力シグネチャパラメータインデックスを指定する。 |
| pDesc | D3D11_SIGNATURE_PARAMETER_DESC* | out | 入力パラメータの記述を受け取るD3D11_SIGNATURE_PARAMETER_DESC出力ポインタ。 |
vtbl 8 HRESULT GetOutputParameterDesc(DWORD ParameterIndex, D3D11_SIGNATURE_PARAMETER_DESC* pDesc)
| ParameterIndex | DWORD | in | 0始まりの出力シグネチャパラメータインデックスを指定する。 |
| pDesc | D3D11_SIGNATURE_PARAMETER_DESC* | out | 出力パラメータの記述を受け取るD3D11_SIGNATURE_PARAMETER_DESC出力ポインタ。 |
vtbl 9 HRESULT GetPatchConstantParameterDesc(DWORD ParameterIndex, D3D11_SIGNATURE_PARAMETER_DESC* pDesc)
| ParameterIndex | DWORD | in | 0始まりのパッチ定数パラメータインデックスを指定する。 |
| pDesc | D3D11_SIGNATURE_PARAMETER_DESC* | out | パッチ定数パラメータの記述を受け取るD3D11_SIGNATURE_PARAMETER_DESC出力ポインタ。 |
vtbl 10 ID3D11ShaderReflectionVariable* GetVariableByName(LPSTR Name)
| Name | LPSTR | in | 取得対象の変数名(ANSI文字列)を指定する。 |
vtbl 11 HRESULT GetResourceBindingDescByName(LPSTR Name, D3D11_SHADER_INPUT_BIND_DESC* pDesc)
| Name | LPSTR | in | 取得対象のリソース名(ANSI文字列)を指定する。 |
| pDesc | D3D11_SHADER_INPUT_BIND_DESC* | out | リソースバインド情報を受け取るD3D11_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)
| pLevel | D3D_FEATURE_LEVEL* | out | シェーダが要求する最小機能レベルを受け取るD3D_FEATURE_LEVEL出力ポインタ。 |
| pSizeX | DWORD* | outoptional | コンピュートシェーダのスレッドグループX次元サイズを受け取る出力ポインタ。NULL可。 |
| pSizeY | DWORD* | outoptional | スレッドグループY次元サイズを受け取る出力ポインタ。NULL可。 |
| pSizeZ | DWORD* | outoptional | スレッドグループZ次元サイズを受け取る出力ポインタ。NULL可。 |
vtbl 21 ULONGLONG GetRequiresFlags()
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ID3D11ShaderReflection "{8D536CA1-0CCA-4956-A837-786963755584}" #usecom global ID3D11ShaderReflection IID_ID3D11ShaderReflection "{}" #comfunc global ID3D11ShaderReflection_GetDesc 3 var #comfunc global ID3D11ShaderReflection_GetConstantBufferByIndex 4 int #comfunc global ID3D11ShaderReflection_GetConstantBufferByName 5 str #comfunc global ID3D11ShaderReflection_GetResourceBindingDesc 6 int,var #comfunc global ID3D11ShaderReflection_GetInputParameterDesc 7 int,var #comfunc global ID3D11ShaderReflection_GetOutputParameterDesc 8 int,var #comfunc global ID3D11ShaderReflection_GetPatchConstantParameterDesc 9 int,var #comfunc global ID3D11ShaderReflection_GetVariableByName 10 str #comfunc global ID3D11ShaderReflection_GetResourceBindingDescByName 11 str,var #comfunc global ID3D11ShaderReflection_GetMovInstructionCount 12 #comfunc global ID3D11ShaderReflection_GetMovcInstructionCount 13 #comfunc global ID3D11ShaderReflection_GetConversionInstructionCount 14 #comfunc global ID3D11ShaderReflection_GetBitwiseInstructionCount 15 #comfunc global ID3D11ShaderReflection_GetGSInputPrimitive 16 #comfunc global ID3D11ShaderReflection_IsSampleFrequencyShader 17 #comfunc global ID3D11ShaderReflection_GetNumInterfaceSlots 18 #comfunc global ID3D11ShaderReflection_GetMinFeatureLevel 19 var #comfunc global ID3D11ShaderReflection_GetThreadGroupSize 20 var,var,var #comfunc global ID3D11ShaderReflection_GetRequiresFlags 21 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_ID3D11ShaderReflection "{8D536CA1-0CCA-4956-A837-786963755584}" #usecom global ID3D11ShaderReflection IID_ID3D11ShaderReflection "{}" #comfunc global ID3D11ShaderReflection_GetDesc 3 sptr #comfunc global ID3D11ShaderReflection_GetConstantBufferByIndex 4 int #comfunc global ID3D11ShaderReflection_GetConstantBufferByName 5 str #comfunc global ID3D11ShaderReflection_GetResourceBindingDesc 6 int,sptr #comfunc global ID3D11ShaderReflection_GetInputParameterDesc 7 int,sptr #comfunc global ID3D11ShaderReflection_GetOutputParameterDesc 8 int,sptr #comfunc global ID3D11ShaderReflection_GetPatchConstantParameterDesc 9 int,sptr #comfunc global ID3D11ShaderReflection_GetVariableByName 10 str #comfunc global ID3D11ShaderReflection_GetResourceBindingDescByName 11 str,sptr #comfunc global ID3D11ShaderReflection_GetMovInstructionCount 12 #comfunc global ID3D11ShaderReflection_GetMovcInstructionCount 13 #comfunc global ID3D11ShaderReflection_GetConversionInstructionCount 14 #comfunc global ID3D11ShaderReflection_GetBitwiseInstructionCount 15 #comfunc global ID3D11ShaderReflection_GetGSInputPrimitive 16 #comfunc global ID3D11ShaderReflection_IsSampleFrequencyShader 17 #comfunc global ID3D11ShaderReflection_GetNumInterfaceSlots 18 #comfunc global ID3D11ShaderReflection_GetMinFeatureLevel 19 sptr #comfunc global ID3D11ShaderReflection_GetThreadGroupSize 20 sptr,sptr,sptr #comfunc global ID3D11ShaderReflection_GetRequiresFlags 21 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。