必需的 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 位。