DXGK_ALLOCATIONUSAGEINFO1 structure (d3dkmddi.h)

The DXGK_ALLOCATIONUSAGEINFO1 structure describes how an allocation can be used in DMA buffering.

Syntax

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;

Members

[out] Flags

A union that contains either a structure (with the first eight members that are described below) or a 32-bit value (in the Value member) that identifies how the allocation is used:

Flags.PrivateFormat

A UINT value that specifies whether the allocation is a private vendor format.

Setting this is equivalent to setting the first bit of the 32-bit Value member (0x00000001).

Flags.Swizzled

A UINT value that specifies whether the allocation is swizzled or tiled.

Setting this is equivalent to setting the second bit of the 32-bit Value member (0x00000002).

Flags.MipMap

A UINT value that specifies whether the allocation is a MIP-mapped texture.

Setting this is equivalent to setting the third bit of the 32-bit Value member (0x00000004).

Flags.Cube

A UINT value that specifies whether the allocation is a cube texture.

Setting this is equivalent to setting the fourth bit of the 32-bit Value member (0x00000008).

Flags.Volume

A UINT value that specifies whether the allocation is a volume texture.

Setting this is equivalent to setting the fifth bit of the 32-bit Value member (0x00000010).

Flags.Vertex

A UINT value that specifies whether the allocation is a vertex buffer.

Setting this is equivalent to setting the sixth bit of the 32-bit Value member (0x00000020).

Flags.Index

A UINT value that specifies whether the allocation is an index buffer.

Setting this is equivalent to setting the seventh bit of the 32-bit Value member (0x00000040).

Flags.Reserved

This member is reserved and should be set to zero. Setting this to zero is equivalent to setting the remaining 25 bits (0xFFFFFF80) of the 32-bit Value member to zeros.

Flags.Value

Specifies a member in the union contained in the Flags member that can hold one 32-bit value that identifies how the allocation is used.

[out] Format

A D3DDDIFORMAT-typed value that indicates the pixel format of the allocation. The PrivateFormat bit-field flag in the Flags member must be set to 0 (FALSE).

[out] PrivateFormat

A private format value for the allocation. The PrivateFormat bit-field flag in the Flags member must be set to 1 (TRUE).

[out] SwizzledFormat

A swizzled format value for the allocation that is private to a specific vendor.

[out] ByteOffset

The offset, in bytes, into the video memory manager's allocation that marks the start of the driver's version of the allocation.

[out] Width

The width, in pixels, of the allocation.

[out] Height

The height, in number of lines, of the allocation.

[out] Pitch

The pitch, in bytes, of the allocation--that is, the distance, in bytes, to the start of the next line.

[out] Depth

The depth, in levels, of the allocation (for MIP-mapped and volume textures only).

[out] SlicePitch

The slice pitch, in bytes, from level to level (for cube and volume textures only).

Requirements

Requirement Value
Minimum supported client Windows Vista
Header d3dkmddi.h (include D3dkmddi.h)

See also

DXGKARG_CREATEALLOCATION

DXGK_ALLOCATIONINFO

DXGK_ALLOCATIONUSAGEHINT

DxgkDdiCreateAllocation