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)

另请参阅

DXGKARG_CREATEALLOCATION

DXGK_ALLOCATIONINFO

DXGK_ALLOCATIONUSAGEHINT

DxgkDdiCreateAllocation