次の方法で共有


PFND3DDDI_SETMARKER コールバック関数 (d3dumddi.h)

pfnSetMarker の最後の呼び出し以降に GPU 作業が完了した場合に、新しいタイム スタンプを生成する必要があることをユーザー モード ディスプレイ ドライバーに通知します。 必要に応じて、Microsoft Direct3D レベル 9 ハードウェアで実行されている Windows ディスプレイ ドライバー モデル (WDDM) 1.3 以降のドライバーによって実装されます。 ( Direct3D レンダリングのパフォーマンスの向上に関するページの要件を参照してください)。より高度なハードウェアの場合、ドライバーは SetMarker 関数を実装する必要があります。

構文

PFND3DDDI_SETMARKER Pfnd3dddiSetmarker;

HRESULT Pfnd3dddiSetmarker(
  HANDLE hDevice
)
{...}

パラメーター

hDevice

ディスプレイ デバイスへのハンドル (グラフィックス コンテキスト)。

戻り値

関数 が正常に 完了しない場合は、S_OKまたは適切なエラー結果を返します。

注釈

pfnSetMarkerMode 関数の Type パラメーターのマーカー イベントの種類がD3DDDIMT_NONEされていない場合、ユーザー モードディスプレイ ドライバーは、pfnSetMarker を呼び出すたびにこのプロシージャを実行する必要があります。

  1. D3DDDICB_LOGUMDMARKER構造体の APISequenceNumber メンバーの値をインクリメントします。
  2. pfnSetMarker の最後の呼び出しで送信された呼び出しをレンダリングするシングルスレッド デバイス ドライバー インターフェイス (DDI) に関連付けられているコンテキストを決定します。 このようなコンテキストごとに、次の手順を実行します。
    1. コンテキストのコマンド バッファーが空の場合は、何も行わないでください。
    2. それ以外の場合:
      • コンテキストの履歴バッファーでより多くのメモリを使用できることを確認します。 必要に応じてバッファーをフラッシュします。
      • 現在の APISequenceNumber 値の下位 32 ビットを含む、コンテキストの API シーケンス番号バッファーに別のエントリを追加します。
      • 現在のマーカー イベントの種類に適したタイム スタンプをサンプリングして書き込みます。
    3. pfnSetMarker が次回呼び出されるときに使用される追跡データを更新します。

要件

要件
サポートされている最小のクライアント Windows 8.1、WDDM 1.3 以降
サポートされている最小のサーバー Windows Server 2012 R2
対象プラットフォーム デスクトップ
Header d3dumddi.h (D3d10umddi.h を含む)

こちらもご覧ください

SetMarker

pfnSetMarkerMode