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