必要的 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 |
(請參閱注意。) |
RENDER_TARGET |
FORMATOP_OFFSCREEN_RENDERTARGET |
SHADER_LOAD |
假設為所有非深度格式。 |
SHADER_SAMPLE |
(請參閱注意。) |
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位。