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

こちらもご覧ください

D3DKMTCreateAllocation

D3DKMTUpdateAllocationProperty