DXGKDDI_SETCONTEXTSCHEDULINGPROPERTIES コールバック関数 (d3dkmddi.h)
デバイス コンテキストのスケジュール プロパティを設定または変更します。
構文
DXGKDDI_SETCONTEXTSCHEDULINGPROPERTIES DxgkddiSetcontextschedulingproperties;
NTSTATUS DxgkddiSetcontextschedulingproperties(
IN_CONST_HANDLE hAdapter,
IN_CONST_PDXGKARG_SETCONTEXTSCHEDULINGPROPERTIES pSetContextSchedulingProperties
)
{...}
パラメーター
hAdapter
デバイス コンテキストへのハンドル。
pSetContextSchedulingProperties
スケジュール プロパティを含む DXGKARG_SETCONTEXTSCHEDULINGPROPERTIES 構造体へのポインター。
戻り値
操作が成功した場合は、STATUS_SUCCESSを返します。 それ以外の場合は、適切な NTSTATUS 値のエラー コードを返します。
備考
このコールバック関数の実装を登録するには、DXGKARG_SETCONTEXTSCHEDULINGPROPERTIESの適切なメンバーを設定し、DxgkDdiSetContextSchedulingProperties を呼び出します。
特定のプロセスに対してアダプターを初めて開くと、OS は DxgkDdiCreateProcess 呼び出して、カーネル モード ドライバー (KMD) がアダプター追跡データ構造ごとにプロセスごとに適切な作成を行えるようにします。 コンテキストが作成されると、KMD は作成対象のデバイスとアダプターを認識し、このプロセスのアダプター追跡データ構造から KMD プロセス ハンドルを検索できる必要があります。 KMD プロセス内では、スケジューラには、潜在的な 4 つの優先度バンド コンテキストすべてに対する追跡データ構造が割り当てられている必要があります。
コンテキストが作成されたとき、または Direct3D デバイスが優先度を変更したり、アプリケーションがフォーカスを取得または失ったりすると、OS は GPU スケジューラを呼び出して、スケジュール プロパティを設定または変更します。 新しく作成されたコンテキストの場合、OS は、このコンテキストへの最初の送信が許可される前に、コンテキスト スケジュール プロパティが設定されることを保証します。 この呼び出しは、コンテキスト実行の途中で行うことができます。 GPU スケジューラは、現在のスケジュール期間に与える影響に関して多少の余裕があり、OS の要件は、優先度バンドの次のスケジュールイテレーションで変更を有効にする必要があるということです。
必要条件
要件 | 価値 |
---|---|
ヘッダー | d3dkmddi.h |