D3DDDI_SEGMENTPREFERENCE構造体 (d3dukmdt.h)
D3DDI_SEGMENTPREFERENCE 構造体は、作成されるこの割り当ての優先セグメントを記述します。
構文
typedef struct _D3DDDI_SEGMENTPREFERENCE {
union {
struct {
UINT SegmentId0 : 5;
UINT Direction0 : 1;
UINT SegmentId1 : 5;
UINT Direction1 : 1;
UINT SegmentId2 : 5;
UINT Direction2 : 1;
UINT SegmentId3 : 5;
UINT Direction3 : 1;
UINT SegmentId4 : 5;
UINT Direction4 : 1;
UINT Reserved : 2;
};
UINT Value;
};
} D3DDDI_SEGMENTPREFERENCE;
メンバーズ
SegmentId0
優先度が最も高い優先セグメントの識別子。優先セグメントが必要ない場合は 0。 有効な値は 0 ~ 31 です。 このメンバーは、Value メンバーの最初の 5 ビットに相当します。
Direction0
VidMm が、割り当てを実行する SegmentId0 の末尾 選択することを示すには、0 に設定します。 このメンバーは、Value メンバーの 6 番目のビットと同じです。
SegmentId1
次に優先度が最も高い優先セグメントの識別子。優先セグメントが必要ない場合は 0。 有効な値は 0 ~ 31 です。 このメンバーは、Value メンバーのビット 7 から 11 に相当します。
Direction1
VidMm が、割り当てを実行する SegmentId1 の末尾 選択することを示すには、0 に設定します。 このメンバーは、Value メンバーの 12 ビット目に相当します。
SegmentId2
次に優先度が最も高い優先セグメントの識別子。優先セグメントが必要ない場合は 0。 有効な値は 0 ~ 31 です。 このメンバーは、Value メンバーのビット 13 から 17 に相当します。
Direction2
VidMm が、割り当てを実行する SegmentId2 の末尾 選択することを示すには、0 に設定します。 このメンバーは、Value メンバーの 18 ビット目に相当します。
SegmentId3
次に優先度が最も高い優先セグメントの識別子。優先セグメントが必要ない場合は 0。 有効な値は 0 ~ 31 です。 このメンバーは、Value メンバーのビット 19 から 23 に相当します。
Direction3
VidMm が、割り当てを実行する SegmentId3 の末尾 選択することを示すには、0 に設定します。 このメンバーは、Value メンバーの 24 ビット目に相当します。
SegmentId4
次に優先度が最も高い優先セグメントの識別子。優先セグメントが必要ない場合は 0。 有効な値は 0 ~ 31 です。 このメンバーは、Value メンバーのビット 25 から 29 に相当します。
Direction4
VidMm が、割り当てを実行する SegmentId4 の末尾 選択することを示すには、0 に設定します。 このメンバーは、Value メンバーの 30 ビット目に相当します。
Reserved
予約済み (ビット 31 から 32)。
Value
セグメント基本設定情報にアクセスする別の方法。
備考
セグメント設定は、メモリを割り当てるときに使用されます。 ユーザー モード (D3D ランタイムなど) が D3DKMTCreateAllocation呼び出すと、UMD は割り当てを記述するプライベート ドライバー データを提供します。 Dxgkrnl はこのプライベート ドライバー データを取得し、それを KMD に渡し、VidMm によって理解される方法で各割り当ての説明入力します。 UMD データには、リソースの種類 (テクスチャ、スワップチェーンなど) などの情報が含まれています。 KMD は、このデータをサイズ、アラインメント、割り当て可能なメモリ セグメントのセット、(この構造で示されているように) これらのセグメントの基本設定などに変換します。
必要条件
要件 | 価値 |
---|---|
ヘッダー | d3dukmdt.h |