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
割り当てを実行する SegmentId0 の終了が VidMm によって選択されることを示すには、0 に設定します。 このメンバーは 、Value メンバーの 6 番目のビットと同じです。
SegmentId1
次に優先度の高い優先セグメントの識別子。優先セグメントが必要ない場合は 0。 有効な値は 0 ~ 31 です。 このメンバーは、 Value メンバーのビット 7 から 11 に相当します。
Direction1
割り当てを実行する SegmentId1 の末尾が VidMm によって選択されることを示すには、0 に設定します。 このメンバーは、 Value メンバーの 12 番目のビットと同じです。
SegmentId2
次に優先度の高い優先セグメントの識別子。優先セグメントが必要ない場合は 0。 有効な値は 0 ~ 31 です。 このメンバーは 、Value メンバーのビット 13 から 17 に相当します。
Direction2
割り当てを実行する SegmentId2 の末尾が VidMm によって選択されることを示すには、0 に設定します。 このメンバーは、 Value メンバーの 18 番目のビットと同じです。
SegmentId3
次に優先度の高い優先セグメントの識別子。優先セグメントが必要ない場合は 0。 有効な値は 0 ~ 31 です。 このメンバーは 、Value メンバーのビット 19 から 23 に相当します。
Direction3
割り当てを実行する SegmentId3 の末尾が VidMm によって選択されることを示すには、0 に設定します。 このメンバーは、 Value メンバーの 24 番目のビットと同じです。
SegmentId4
次に優先度の高い優先セグメントの識別子。優先セグメントが必要ない場合は 0。 有効な値は 0 ~ 31 です。 このメンバーは、 Value メンバーのビット 25 から 29 に相当します。
Direction4
割り当てを実行する SegmentId4 の末尾が VidMm によって選択されることを示すには、0 に設定します。 このメンバーは、 Value メンバーの 30 番目のビットと同じです。
Reserved
予約済み (ビット 31 から 32)。
Value
セグメント設定情報にアクセスする別の方法。
注釈
セグメントの基本設定は、メモリを割り当てるときに使用されます。 ユーザー モード (D3D ランタイムなど) が D3DKMTCreateAllocation を呼び出すと、UMD は割り当てを記述するプライベート ドライバー データを提供します。 Dxgkrnl はこのプライベート ドライバー データを受け取り、それを KMD に渡し、 VidMm が理解する方法で各割り当ての説明を入力します。 UMD データには、リソースの種類 (テクスチャ、スワップチェーンなど) などの情報が含まれています。 KMD は、このデータを、サイズ、アラインメント、割り当てが配置できるメモリ セグメントのセット、これらのセグメントの基本設定 (この構造で示されているように) などに変換します。
要件
要件 | 値 |
---|---|
Header | d3dukmdt.h |