ID3D10Debug
COM公式ドキュメント
デバッグインターフェイスは、デバッグ設定を制御し、パイプラインの状態を検証します。デバッグレイヤーが有効になっている場合にのみ使用できます。(ID3D10Debug)
解説(Remarks)
このインターフェイスは、ID3D10Device Interface から IUnknown::QueryInterface を使用して照会することで取得します。
メソッド 7
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
デバッグ機能のオン/オフを切り替えるフラグのビットフィールドを設定します。
| Mask | DWORD | in | ビットごとの論理和で結合された機能マスクフラグ。フラグが指定されている場合はその機能がオンに設定され、指定されていない場合はオフに設定されます。フラグの一覧については解説を参照してください。 |
戻り値
Type: HRESULT
このメソッドは、次の Direct3D 10 Return Codes のいずれかを返します。
解説(Remarks)
| D3D10_DEBUG_FEATURE_FINISH_PER_RENDER_OP | アプリケーションは、レンダリング操作の処理を GPU が完了するまで待機してから続行します。 |
| D3D10_DEBUG_FEATURE_FLUSH_PER_RENDER_OP | ランタイムは追加で ID3D10Device::Flush を呼び出します。 |
| D3D10_DEBUG_FEATURE_PRESENT_PER_RENDER_OP | ランタイムは Present を呼び出します。レンダーバッファーの表示は、事前に呼び出された ID3D10Debug::SetSwapChain および ID3D10Debug::SetPresentPerRenderOpDelay によって確立された設定に従って行われます。 |
これらの機能マスクフラグは、次のレンダリング操作メソッドに適用されます。
- ID3D10Device::Draw
- ID3D10Device::DrawIndexed
- ID3D10Device::DrawInstanced
- ID3D10Device::DrawIndexedInstanced
- ID3D10Device::DrawAuto
- ID3D10Device::ClearRenderTargetView
- ID3D10Device::ClearDepthStencilView
- ID3D10Device::CopySubresourceRegion
- ID3D10Device::CopyResource
- ID3D10Device::UpdateSubresource
- ID3D10Device::GenerateMips
- ID3D10Device::ResolveSubresource
どのデバッグ機能がオンまたはオフになっているかを示すフラグのビットフィールドを取得します。(ID3D10Debug.GetFeatureMask)
戻り値
Type: UINT
ビットごとの論理和で結合された機能マスクフラグのマスク。フラグが指定されている場合はその機能がオンに設定され、指定されていない場合はオフに設定されます。指定可能な機能マスクフラグの一覧については、ID3D10Debug::SetFeatureMask を参照してください。
Present の呼び出し後にスリープするミリ秒数を設定します。
| Milliseconds | DWORD | in | Present の呼び出し後にスリープするミリ秒数。 |
戻り値
Type: HRESULT
このメソッドは、次の Direct3D 10 Return Codes のいずれかを返します。
解説(Remarks)
Present の呼び出し後にスリープするミリ秒数を取得します。
戻り値
Type: UINT
Present の呼び出し後にスリープするミリ秒数。
解説(Remarks)
値は ID3D10Debug::SetPresentPerRenderOpDelay で設定されます。
Present を自動的に呼び出すためにランタイムが使用するスワップチェーンを設定します。
| pSwapChain | IDXGISwapChain* | inoptional | Present を自動的に呼び出すためにランタイムが使用するスワップチェーン。DXGI_SWAP_EFFECT_SEQUENTIAL スワップエフェクトフラグを指定して作成されている必要があります。 |
戻り値
Type: HRESULT
このメソッドは、次の Direct3D 10 Return Codes のいずれかを返します。
解説(Remarks)
Present を自動的に呼び出すためにランタイムが使用するスワップチェーンを取得します。
| ppSwapChain | IDXGISwapChain** | out | Present を自動的に呼び出すためにランタイムが使用するスワップチェーン。 |
戻り値
Type: HRESULT
このメソッドは、次の Direct3D 10 Return Codes のいずれかを返します。
解説(Remarks)
このメソッドで取得されるスワップチェーンは、D3D10_DEBUG_FEATURE_PRESENT_PER_RENDER_OP が 機能マスク に設定されている場合にのみ使用されます。
パイプライン状態の妥当性を確認します。
戻り値
Type: HRESULT
このメソッドは、次の Direct3D 10 Return Codes のいずれかを返します。
解説(Remarks)
デバッグレイヤー が有効になっている場合、すべての描画関数がこの操作を実行します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ID3D10Debug "{9B7E4E01-342C-4106-A19F-4F2704F689F0}"
#usecom global ID3D10Debug IID_ID3D10Debug "{}"
#comfunc global ID3D10Debug_SetFeatureMask 3 int
#comfunc global ID3D10Debug_GetFeatureMask 4
#comfunc global ID3D10Debug_SetPresentPerRenderOpDelay 5 int
#comfunc global ID3D10Debug_GetPresentPerRenderOpDelay 6
#comfunc global ID3D10Debug_SetSwapChain 7 sptr
#comfunc global ID3D10Debug_GetSwapChain 8 sptr
#comfunc global ID3D10Debug_Validate 9
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。