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 到 31。 此成员等效于 Value 成员的前 5 位。
Direction0
设置为零,指示 VidMm 选择要从中执行分配的 SegmentId0 的末尾。 此成员等效于 Value 成员的第六位。
SegmentId1
下一个最高优先级首选段的标识符;如果没有首选段,则为零。 有效值为 0 到 31。 此成员等效于 Value 成员的位 7 到 11 位。
Direction1
设置为零,指示 VidMm 选择要从中执行分配的 SegmentId1 的末尾。 此成员等效于 Value 成员的第 12 位。
SegmentId2
下一个最高优先级首选段的标识符;如果没有首选段,则为零。 有效值为 0 到 31。 此成员相当于 Value 成员的位 13 到 17 位。
Direction2
设置为零,指示 VidMm 选择要从中执行分配的 SegmentId2 的末尾。 此成员等效于 Value 成员的第 18 位。
SegmentId3
下一个最高优先级首选段的标识符;如果没有首选段,则为零。 有效值为 0 到 31。 此成员相当于 Value 成员的位 19 到 23 位。
Direction3
设置为零,指示 VidMm 选择要从中执行分配的 SegmentId3 的末尾。 此成员等效于 Value 成员的第 24 位。
SegmentId4
下一个最高优先级首选段的标识符;如果没有首选段,则为零。 有效值为 0 到 31。 此成员相当于 值 成员的位 25 到 29 位。
Direction4
设置为零,指示 VidMm 选择要从中执行分配的 SegmentId4 的末尾。 此成员等效于 值 成员的第 30 位。
Reserved
保留(位 31-32)。
Value
访问段首选项信息的替代方法。
言论
分配内存时,将使用段首选项。 当用户模式(例如,D3D 运行时)调用 D3DKMTCreateAllocation时,UMD 会提供描述分配的专用驱动程序数据。 Dxgkrnl 获取此专用驱动程序数据,并将其传递给 KMD,然后以 VidMm理解的方式填写每个分配的说明。 UMD 数据包含资源类型(纹理、交换链等)等信息。 KMD 将此数据转换为大小、对齐方式、分配可以定位的一组内存段、这些段的首选项(如此结构所示),等等。
要求
要求 | 价值 |
---|---|
标头 | d3dukmdt.h |