DXGK_ALLOCATIONUSAGEINFO1结构(d3dkmddi.h)
DXGK_ALLOCATIONUSAGEINFO1结构描述如何在 DMA 缓冲中使用分配。
语法
typedef struct _DXGK_ALLOCATIONUSAGEINFO1 {
union {
struct {
UINT PrivateFormat : 1;
UINT Swizzled : 1;
UINT MipMap : 1;
UINT Cube : 1;
UINT Volume : 1;
UINT Vertex : 1;
UINT Index : 1;
UINT Reserved : 25;
};
UINT Value;
} Flags;
union {
[out] D3DDDIFORMAT Format;
[out] UINT PrivateFormat;
};
[out] UINT SwizzledFormat;
[out] UINT ByteOffset;
[out] UINT Width;
[out] UINT Height;
[out] UINT Pitch;
[out] UINT Depth;
[out] UINT SlicePitch;
} DXGK_ALLOCATIONUSAGEINFO1;
成员
[out] Flags
包含结构(下面所述的前八个成员)或 32 位值(在 值 成员中)的联合,用于标识分配的使用方式:
Flags.PrivateFormat
一个 UINT 值,该值指定分配是否为专用供应商格式。
设置这等效于设置 32 位 值 成员的第一位(0x00000001)。
Flags.Swizzled
一个 UINT 值,该值指定分配是重排还是平铺。
设置这相当于设置 32 位 值 成员的第二位(0x00000002)。
Flags.MipMap
一个 UINT 值,该值指定分配是否为 MIP 映射的纹理。
设置这相当于设置 32 位 值 成员(0x00000004)的第三位。
Flags.Cube
一个 UINT 值,该值指定分配是否为多维数据集纹理。
设置这相当于设置 32 位 值 成员的第四位(0x00000008)。
Flags.Volume
一个 UINT 值,该值指定分配是否为卷纹理。
设置这相当于设置 32 位 值 成员(0x00000010)的第五位。
Flags.Vertex
一个 UINT 值,该值指定分配是否为顶点缓冲区。
设置这相当于设置 32 位 值 成员(0x00000020)的第六位。
Flags.Index
一个 UINT 值,该值指定分配是否为索引缓冲区。
设置这相当于设置 32 位 值 成员(0x00000040)的第七位。
Flags.Reserved
此成员是保留的,应设置为零。 将此设置为零相当于将 32 位 值 成员的剩余 25 位(0xFFFFFF80)设置为零。
Flags.Value
指定 标志 成员中包含的联合中的成员,该成员可以保存一个 32 位值,用于标识分配的使用方式。
[out] Format
指示分配的像素格式的 D3DDDIFORMAT类型值。 标志 成员中的 PrivateFormat 位字段标志必须设置为 0(FALSE)。
[out] PrivateFormat
分配的私有格式值。 标志 成员中的 PrivateFormat 位字段标志必须设置为 1(TRUE)。
[out] SwizzledFormat
分配给特定供应商的分配的重排格式值。
[out] ByteOffset
在视频内存管理器的分配中,偏移量(以字节为单位)用于标记驱动程序版本的分配的开始。
[out] Width
分配的宽度(以像素为单位)。
[out] Height
分配的高度(以行数为单位)。
[out] Pitch
分配的间距(以字节为单位)即距离(以字节为单位)到下一行的开头。
[out] Depth
分配的深度(仅适用于 MIP 映射纹理和卷纹理)。
[out] SlicePitch
切片间距(以字节为单位),从级别到级别(仅适用于多维数据集和音量纹理)。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista |
标头 | d3dkmddi.h (包括 D3dkmddi.h) |