必需的 DXGI 格式

本主题介绍 Microsoft Direct3D 功能级别对用户模式显示驱动程序所施加的要求。

第一个表的第一列和第二列显示驱动程序必须支持的所有 Direct3D 格式类型。 第三列显示驱动程序必须支持的 Direct3D D3D10_FORMAT_SUPPORT 和/或 D3D11_FORMAT_SUPPORT 枚举的所有关联常量值。 第四列显示驱动程序必须支持每种格式的最低 Direct3D 功能级别。

第二个表显示了每个枚举值的 Direct3D 10Level 9 支持算法。

D3D9 格式 (D3DDDIFMT_* 和/或D3DDECLTYPE D3D10+ API 等效 (DXGI_FORMAT_) 必需的D3D10_或D3D11_ FORMAT_SUPPORT_* 枚举值 所需的最低 Direct3D 级别
A32B32G32R32F或D3DDECLTYPE_FLOAT4 R32G32B32A32_FLOAT

IA_VERTEX_BUFFER

TEXTURE2D

TEXTURE3D

TEXTURECUBE

SHADER_LOAD

MIP

MIP_AUTOGEN

RENDER_TARGET

CPU_LOCKABLE

9_1

9_2

9_3

9_3

9_2

9_3

9_3

9_2

9_2

D3DDECLTYPE_FLOAT3 R32G32B32_FLOAT

IA_VERTEX_BUFFER

9_1

A16B16G16R16F或D3DDECLTYPE_FLOAT16_4 R16G16B16A16_FLOAT

IA_VERTEX_BUFFER

TEXTURE2D

TEXTURE3D

TEXTURECUBE

SHADER_LOAD

MIP

MIP_AUTOGEN

RENDER_TARGET

BLENDABLE

CPU_LOCKABLE

9_3

9_2

9_2

9_2

9_2

9_2

9_2

9_2

9_3

9_2

A16B16G16R16或D3DDECLTYPE_USHORT4N R16G16B16A16_UNORM

TEXTURE2D

TEXTURE3D

TEXTURECUBE

SHADER_LOAD

SHADER_SAMPLE

MIP

MIP_AUTOGEN

RENDER_TARGET

CPU_LOCKABLE

9_2

9_2

9_2

9_2

9_2

9_2

9_2

9_2

9_2

Q16W16V16U16或D3DDECLTYPE_SHORT4N R16G16B16A16_SNORM

IA_VERTEX_BUFFER

9_1

D3DDECLTYPE_SHORT4 R16G16B16A16_SINT

IA_VERTEX_BUFFER

9_1

G32R32F或D3DDECLTYPE_FLOAT2 R32G32_FLOAT

IA_VERTEX_BUFFER

TEXTURE2D

TEXTURE3D

TEXTURECUBE

SHADER_LOAD

RENDER_TARGET

CPU_LOCKABLE

9_1

9_3

9_3

9_3

9_3

9_3

9_3

D3DDECLTYPE_UBYTE4 R8G8B8A8_UINT

IA_VERTEX_BUFFER

9_1

A8R8G8B8或D3DDECLTYPE_UBYTE4N R8G8B8A8_UNORM

IA_VERTEX_BUFFER

TEXTURE2D

TEXTURE3D

TEXTURECUBE

SHADER_LOAD

SHADER_SAMPLE

MIP

MIP_AUTOGEN

RENDER_TARGET

BLENDABLE

CPU_LOCKABLE

DISPLAY

BACK_BUFFER_CAST

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

A8R8G8B8 R8G8B8A8_UNORM_SRGB

TEXTURE2D

TEXTURE3D

TEXTURECUBE

SHADER_LOAD

SHADER_SAMPLE

MIP

MIP_AUTOGEN

RENDER_TARGET

BLENDABLE

CPU_LOCKABLE

DISPLAY

BACK_BUFFER_CAST

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

Q8W8V8U8 R8G8B8A8_SNORM

TEXTURE2D

TEXTURECUBE

SHADER_LOAD

SHADER_SAMPLE

MIP

CPU_LOCKABLE

9_1

9_1

9_1

9_1

9_1

9_1

A8R8G8B8 B8G8R8A8_UNORM

TEXTURE2D

TEXTURE3D

TEXTURECUBE

SHADER_LOAD

SHADER_SAMPLE

MIP

MIP_AUTOGEN

RENDER_TARGET

BLENDABLE

CPU_LOCKABLE

DISPLAY

BACK_BUFFER_CAST

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

X8R8G8B8 B8G8R8X8_UNORM

TEXTURE2D

TEXTURE3D

TEXTURECUBE

SHADER_LOAD

SHADER_SAMPLE

MIP

MIP_AUTOGEN

RENDER_TARGET

BLENDABLE

CPU_LOCKABLE

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

A8R8G8B8 B8G8R8A8_UNORM_SRGB

TEXTURE2D

TEXTURE3D

TEXTURECUBE

SHADER_LOAD

SHADER_SAMPLE

MIP

MIP_AUTOGEN

RENDER_TARGET

BLENDABLE

CPU_LOCKABLE

DISPLAY

BACK_BUFFER_CAST

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

X8R8G8B8 B8G8R8X8_UNORM_SRGB

TEXTURE2D

TEXTURE3D

TEXTURECUBE

SHADER_LOAD

SHADER_SAMPLE

MIP

MIP_AUTOGEN

RENDER_TARGET

BLENDABLE

CPU_LOCKABLE

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

9_1

G16R16F或D3DDECLTYPE_FLOAT16_2 R16G16_FLOAT

IA_VERTEX_BUFFER

TEXTURE2D

TEXTURE3D

TEXTURECUBE

SHADER_LOAD

MIP

MIP_AUTOGEN

RENDER_TARGET

CPU_LOCKABLE

9_3

9_2

9_2

9_2

9_2

9_2

9_2

9_2

9_2

G16R16 或 D3DDECLTYPE_USHORT2N R16G16_UNORM

TEXTURE2D

TEXTURE3D

TEXTURECUBE

SHADER_LOAD

SHADER_SAMPLE

MIP

MIP_AUTOGEN

RENDER_TARGET

CPU_LOCKABLE

9_2

9_2

9_2

9_2

9_2

9_2

9_2

9_2

9_2

V16U16 或 D3DDECLTYPE_SHORT2N R16G16_SNORM

IA_VERTEX_BUFFER

TEXTURE2D

TEXTURE3D

TEXTURECUBE

SHADER_LOAD

SHADER_SAMPLE

MIP

CPU_LOCKABLE

9_1

9_1

9_2

9_2

9_1

9_2

9_1

9_1

D3DDECLTYPE_SHORT2 R16G16_SINT

IA_VERTEX_BUFFER

9_1

R32F 或 D3DDECLTYPE_FLOAT1 R32_FLOAT

IA_VERTEX_BUFFER

TEXTURE2D

TEXTURE3D

TEXTURECUBE

SHADER_LOAD

MIP

MIP_AUTOGEN

RENDER_TARGET

CPU_LOCKABLE

9_1

9_2

9_2

9_2

9_2

9_2

9_2

9_2

9_2

R32_UINT

IA_INDEX_BUFFER

9_1

S8D24 或 D24S8 D24_UNORM_S8_UINT

TEXTURE2D

DEPTH_STENCIL

9_1

9_1

L16 R16_UNORM

TEXTURE2D

TEXTURE3D

TEXTURECUBE

SHADER_LOAD

SHADER_SAMPLE

MIP

CPU_LOCKABLE

9_2

9_2

9_2

9_2

9_2

9_2

9_2

R16_UINT

IA_INDEX_BUFFER

9_1

D16 或 D16_LOCKABLE D16_UNORM

TEXTURE2D

DEPTH_STENCIL

9_1

9_1

V8U8 R8G8_SNORM

TEXTURE2D

SHADER_LOAD

SHADER_SAMPLE

MIP

CPU_LOCKABLE

9_1

9_1

9_1

9_1

9_1

L8 R8_UNORM

TEXTURE2D

TEXTURE3D

TEXTURECUBE

SHADER_LOAD

SHADER_SAMPLE

MIP

CPU_LOCKABLE

9_1

9_1

9_1

9_1

9_1

9_1

9_1

DXT1 BC1_UNORM或BC1_UNORM_SRGB

TEXTURE2D

TEXTURECUBE

SHADER_LOAD

SHADER_SAMPLE

MIP

CPU_LOCKABLE

9_1

9_1

9_1

9_1

9_1

9_1

DXT2 BC2_UNORM或BC2_UNORM_SRGB

TEXTURE2D

TEXTURECUBE

SHADER_LOAD

SHADER_SAMPLE

MIP

CPU_LOCKABLE

9_1

9_1

9_1

9_1

9_1

9_1

DXT4 BC3_UNORM 或 BC3_UNORM_SRGB

TEXTURE2D

TEXTURECUBE

SHADER_LOAD

SHADER_SAMPLE

MIP

CPU_LOCKABLE

9_1

9_1

9_1

9_1

9_1

9_1

必需的D3D10_或D3D11_ FORMAT_SUPPORT_* 枚举值 Direct3D 10Level 9 中的支持算法

BACK_BUFFER_CAST

对于支持 DISPLAY 的任何格式,假定为 true。

BLENDABLE

无FORMATOP_NOALPHABLEND

CPU_LOCKABLE

假定始终为 true。

DISPLAY

硬编码。

IA_VERTEX_BUFFER

D3DDTCAPS_* (请参阅 Note.)

MIP

无FORMATOP_NOTEXCOORDWRAPNORMIP

MIP_AUTOGEN

(请参阅 Note.)

RENDER_TARGET

FORMATOP_OFFSCREEN_RENDERTARGET

SHADER_LOAD

对于所有非深度格式,假定为 。

SHADER_SAMPLE

(请参阅 Note.)

TEXTURE2D

FORMATOP_TEXTURE

TEXTURE3D

FORMATOP_VOLUMETEXTURE

TEXTURECUBE

FORMATOP_CUBETEXTURE

注意 以下是 Direct3D 10Level 9 中有关支持算法要求的更多详细信息:

  • 如果没有D3DDEVCAPS_HWTRANSFORMANDLIGHT功能,则软件顶点处理支持IA_VERTEX_BUFFER和/或IA_INDEX_BUFFER格式。
  • 也可以从TEXTURE2D格式推断为深度模具格式。
  • 对于SHADER_SAMPLE格式,驱动程序必须支持FORMATOP_TEXTURE、FORMATOP_VOLUMETEXTURE或FORMATOP_CUBETEXTURE,并且不得报告FORMATOP_NOFILTER。
  • 对于MIP_AUTOGEN格式,Direct3D 10Level 9 生成自己的 mip 映射,因此需要 MIP、RENDER_TARGET 和 TEXTURE2D 位。