Hardware Support for Direct3D 10Level9 Formats
This section specifies the formats (DXGI_FORMAT values) that are supported in Direct3D 9 hardware via Direct3D 10Level9, which means that a Direct3D 9–class (or better) video card implements hardware acceleration for a resource that contains data in one of those particular formats. Those formats whose support is specified as optional, might or might not be hardware accelerated. Each subsection specifies the formats that Direct3D 9 hardware supports for a specific format target. A format target is a resource type, an HLSL intrinsic function, or a particular functionality that is dependent on a particular format. If a section indicates that a format isn't supported for a format target, the format might not even be compatible with the format target.
For a list of the Direct3D 9 formats that map to DXGI_FORMAT values, see Mapping Legacy Formats.
- Input assembler vertex buffer resources
- Input assembler index buffer resources
- Texture2D resources
- Texture3D resources
- TextureCube resources
- Shader sample with any filter type
- Mipmap resources
- Mipmap auto-generation
- Render targets
- Blendable render targets
- Depth-stencil targets
- CPU mapping
- Display scan-out
- Multisample render targets
- Remarks
- Related topics
Input assembler vertex buffer resources
Direct3D 9 hardware supports these formats for input assembler vertex buffer resources (D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER):
DXGI format | Equivalent Direct3D 9 format | Supported feature levels |
---|---|---|
DXGI_FORMAT_R32G32B32_FLOAT | D3DFMT_B32G32R32F | 9_1 and higher |
DXGI_FORMAT_R32G32B32A32_FLOAT | D3DFMT_A32B32G32R32F | 9_1 and higher |
DXGI_FORMAT_R16G16B16A16_FLOAT | D3DFMT_A16B16G16R16F | 9_3 and higher |
DXGI_FORMAT_R16G16B16A16_SNORM | D3DFMT_Q16W16V16U16 | 9_1 and higher |
DXGI_FORMAT_R16G16B16A16_SINT | D3DFMT_D3DDECLTYPE_SHORT4 | 9_1 and higher |
DXGI_FORMAT_R32G32_FLOAT | D3DFMT_G32R32F | 9_1 and higher |
DXGI_FORMAT_R8G8B8A8_UNORM | D3DFMT_A8B8G8R8 | 9_1 and higher |
DXGI_FORMAT_R8G8B8A8_UINT | D3DFMT_D3DDECLTYPE_UBYTE4 | 9_1 and higher |
DXGI_FORMAT_R16G16_FLOAT | D3DFMT_G16R16F | 9_3 and higher |
DXGI_FORMAT_R16G16_SNORM | D3DFMT_V16U16 | 9_1 and higher |
DXGI_FORMAT_R16G16_SINT | D3DFMT_D3DDECLTYPE_SHORT2 | 9_1 and higher |
DXGI_FORMAT_R32_FLOAT | D3DFMT_R32F | 9_1 and higher |
Input assembler index buffer resources
Direct3D 9 hardware supports these formats for input assembler index buffer resources (D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER):
DXGI format | Equivalent Direct3D 9 format | Supported feature levels |
---|---|---|
DXGI_FORMAT_R32_UINT | D3DFMT_INDEX32 | 9_2 and higher |
DXGI_FORMAT_R16_UINT | D3DFMT_INDEX16 | 9_1 and higher |
Texture2D resources
Direct3D 9 hardware supports these formats for texture 2D resources (D3D11_FORMAT_SUPPORT_TEXTURE2D):
DXGI format | Equivalent Direct3D 9 format | Supported feature levels |
---|---|---|
DXGI_FORMAT_R32G32B32A32_FLOAT | D3DFMT_A32B32G32R32F | 9_3 and higher |
DXGI_FORMAT_R16G16B16A16_FLOAT | D3DFMT_A16B16G16R16F | 9_2 and higher |
DXGI_FORMAT_R16G16B16A16_UNORM | D3DFMT_A16B16G16R16 | 9_2 and higher |
DXGI_FORMAT_R32G32_FLOAT | D3DFMT_G32R32F | 9_3 and higher |
DXGI_FORMAT_D24_UNORM_S8_UINT | D3DFMT_S8D24 | 9_1 and higher |
DXGI_FORMAT_D16_UNORM | D3DFMT_D16 | 9_1 and higher |
DXGI_FORMAT_R8G8B8A8_UNORM | D3DFMT_A8B8G8R8 | 9_1 and higher |
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB | D3DFMT_A8B8G8R8 | 9_1 and higher |
DXGI_FORMAT_R8G8B8A8_SNORM | D3DFMT_Q8W8V8U8 | 9_1 and higher |
DXGI_FORMAT_R16G16_FLOAT | D3DFMT_G16R16F | 9_2 and higher |
DXGI_FORMAT_R16G16_UNORM | D3DFMT_G16R16 | 9_2 and higher |
DXGI_FORMAT_R16G16_SNORM | D3DFMT_V16U16 | 9_1 and higher |
DXGI_FORMAT_R32_FLOAT | D3DFMT_R32F | 9_2 and higher |
DXGI_FORMAT_R16_UNORMNote Use .r swizzle in the pixel shader to duplicate red to other components to get Direct3D 9 behavior.
|
D3DFMT_L16 | 9_2 and higher |
DXGI_FORMAT_R8G8_SNORM | D3DFMT_V8U8 | 9_1 and higher |
DXGI_FORMAT_R8_UNORMNote Use .r swizzle in the pixel shader to duplicate red to other components to get Direct3D 9 behavior.
|
D3DFMT_L8 | 9_1 and higher |
DXGI_FORMAT_BC1_UNORM | D3DFMT_DXT1 | 9_1 and higher |
DXGI_FORMAT_BC1_UNORM_SRGB | D3DFMT_DXT1 | 9_1 and higher |
DXGI_FORMAT_BC2_UNORM | D3DFMT_DXT3 | 9_1 and higher |
DXGI_FORMAT_BC2_UNORM_SRGB | D3DFMT_DXT3 | 9_1 and higher |
DXGI_FORMAT_BC3_UNORM | D3DFMT_DXT5 | 9_1 and higher |
DXGI_FORMAT_BC3_UNORM_SRGB | D3DFMT_DXT5 | 9_1 and higher |
DXGI_FORMAT_B8G8R8A8_UNORM | D3DFMT_A8R8G8B8 | 9_1 and higher |
DXGI_FORMAT_A8_UNORM | D3DFMT_A8 | 9_2 and higher |
DXGI_FORMAT_B5G6R5_UNORM
Requires DXGI 1.2 or later. DXGI 1.2 types are only supported on systems with Direct3D 11.1 or later. |
D3DFMT_R5G6B5 | 9_1 and higher |
DXGI_FORMAT_B5G5R5A1_UNORM
Requires DXGI 1.2 or later. DXGI 1.2 types are only supported on systems with Direct3D 11.1 or later. |
D3DFMT_A1R5G5B5 | 9_1 and higher |
DXGI_FORMAT_B4G4R4A4_UNORM
Requires DXGI 1.2 or later. DXGI 1.2 types are only supported on systems with Direct3D 11.1 or later. |
D3DFMT_A4R4G4B4 | 9_1 and higher |
Texture3D resources
Direct3D 9 hardware supports these formats for texture 3D resources (D3D11_FORMAT_SUPPORT_TEXTURE3D):
DXGI format | Equivalent Direct3D 9 format | Supported feature levels |
---|---|---|
DXGI_FORMAT_R32G32B32A32_FLOAT | D3DFMT_A32B32G32R32F | 9_3 and higher |
DXGI_FORMAT_R16G16B16A16_FLOAT | D3DFMT_A16B16G16R16F | 9_2 and higher |
DXGI_FORMAT_R16G16B16A16_UNORM | D3DFMT_A16B16G16R16 | 9_2 and higher |
DXGI_FORMAT_R32G32_FLOAT | D3DFMT_G32R32F | 9_3 and higher |
DXGI_FORMAT_R8G8B8A8_UNORM | D3DFMT_A8B8G8R8 | 9_1 and higher |
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB | D3DFMT_A8B8G8R8 | 9_1 and higher |
DXGI_FORMAT_R16G16_FLOAT | D3DFMT_G16R16F | 9_2 and higher |
DXGI_FORMAT_R16G16_UNORM | D3DFMT_G16R16 | 9_2 and higher |
DXGI_FORMAT_R16G16_SNORM | D3DFMT_V16U16 | 9_2 and higher |
DXGI_FORMAT_R32_FLOAT | D3DFMT_R32F | 9_2 and higher |
DXGI_FORMAT_R16_UNORMNote Use .r swizzle in the pixel shader to duplicate red to other components to get Direct3D 9 behavior.
|
D3DFMT_L16 | 9_2 and higher |
DXGI_FORMAT_BC1_UNORM | D3DFMT_DXT1 | 9_1 and higher |
DXGI_FORMAT_B8G8R8A8_UNORM | D3DFMT_A8R8G8B8 | 9_1 and higher |
DXGI_FORMAT_A8_UNORM | D3DFMT_A8 | 9_2 and higher |
TextureCube resources
Direct3D 9 hardware supports these formats for texture cube resources (D3D11_FORMAT_SUPPORT_TEXTURECUBE):
DXGI format | Equivalent Direct3D 9 format | Supported feature levels |
---|---|---|
DXGI_FORMAT_R32G32B32A32_FLOAT | D3DFMT_A32B32G32R32F | 9_3 and higher |
DXGI_FORMAT_R16G16B16A16_FLOAT | D3DFMT_A16B16G16R16F | 9_2 and higher |
DXGI_FORMAT_R16G16B16A16_UNORM | D3DFMT_A16B16G16R16 | 9_2 and higher |
DXGI_FORMAT_R32G32_FLOAT | D3DFMT_G32R32F | 9_3 and higher |
DXGI_FORMAT_R8G8B8A8_UNORM | D3DFMT_A8B8G8R8 | 9_1 and higher |
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB | D3DFMT_A8B8G8R8 | 9_1 and higher |
DXGI_FORMAT_R8G8B8A8_SNORM | D3DFMT_Q8W8V8U8 | 9_1 and higher |
DXGI_FORMAT_R16G16_FLOAT | D3DFMT_G16R16F | 9_2 and higher |
DXGI_FORMAT_R16G16_UNORM | D3DFMT_G16R16 | 9_2 and higher |
DXGI_FORMAT_R16G16_SNORM | D3DFMT_V16U16 | 9_2 and higher |
DXGI_FORMAT_R32_FLOAT | D3DFMT_R32F | 9_2 and higher |
DXGI_FORMAT_R16_UNORMNote Use .r swizzle in the pixel shader to duplicate red to other components to get Direct3D 9 behavior.
|
D3DFMT_L16 | 9_2 and higher |
DXGI_FORMAT_R8_UNORMNote Use .r swizzle in the pixel shader to duplicate red to other components to get Direct3D 9 behavior.
|
D3DFMT_L8 | 9_1 and higher |
DXGI_FORMAT_BC1_UNORM | D3DFMT_DXT1 | 9_1 and higher |
DXGI_FORMAT_BC1_UNORM_SRGB | D3DFMT_DXT1 | 9_1 and higher |
DXGI_FORMAT_BC2_UNORM | D3DFMT_DXT3 | 9_1 and higher |
DXGI_FORMAT_BC2_UNORM_SRGB | D3DFMT_DXT3 | 9_1 and higher |
DXGI_FORMAT_BC3_UNORM | D3DFMT_DXT5 | 9_1 and higher |
DXGI_FORMAT_BC3_UNORM_SRGB | D3DFMT_DXT5 | 9_1 and higher |
DXGI_FORMAT_B8G8R8A8_UNORM | D3DFMT_A8R8G8B8 | 9_1 and higher |
DXGI_FORMAT_A8_UNORM | D3DFMT_A8 | 9_2 and higher |
DXGI_FORMAT_B5G6R5_UNORM
Requires DXGI 1.2 or later. DXGI 1.2 types are only supported on systems with Direct3D 11.1 or later. |
D3DFMT_R5G6B5 | 9_1 and higher |
DXGI_FORMAT_B5G5R5A1_UNORM
Requires DXGI 1.2 or later. DXGI 1.2 types are only supported on systems with Direct3D 11.1 or later. |
D3DFMT_A1R5G5B5 | 9_1 and higher |
DXGI_FORMAT_B4G4R4A4_UNORM
Requires DXGI 1.2 or later. DXGI 1.2 types are only supported on systems with Direct3D 11.1 or later. |
D3DFMT_A4R4G4B4 | 9_1 and higher |
Shader sample with any filter type
Direct3D 9 hardware supports these formats for shader sample with any filter type (D3D11_FORMAT_SUPPORT_SHADER_SAMPLE):
DXGI format | Equivalent Direct3D 9 format | Supported feature levels |
---|---|---|
DXGI_FORMAT_R16G16B16A16_UNORM | D3DFMT_A16B16G16R16 | 9_2 and higher |
DXGI_FORMAT_R8G8B8A8_UNORM | D3DFMT_A8B8G8R8 | 9_1 and higher |
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB | D3DFMT_A8B8G8R8 | 9_1 and higher |
DXGI_FORMAT_R8G8B8A8_SNORM | D3DFMT_Q8W8V8U8 | 9_1 and higher |
DXGI_FORMAT_R16G16_UNORM | D3DFMT_G16R16 | 9_2 and higher |
DXGI_FORMAT_R16G16_SNORM | D3DFMT_V16U16 | 9_2 and higher |
DXGI_FORMAT_R16_UNORMNote Use .r swizzle in the pixel shader to duplicate red to other components to get Direct3D 9 behavior.
|
D3DFMT_L16 | 9_2 and higher |
DXGI_FORMAT_R8G8_SNORM | D3DFMT_V8U8 | 9_1 and higher |
DXGI_FORMAT_R8_UNORMNote Use .r swizzle in the pixel shader to duplicate red to other components to get Direct3D 9 behavior.
|
D3DFMT_L8 | 9_1 and higher |
DXGI_FORMAT_BC1_UNORM | D3DFMT_DXT1 | 9_1 and higher |
DXGI_FORMAT_BC1_UNORM_SRGB | D3DFMT_DXT1 | 9_1 and higher |
DXGI_FORMAT_BC2_UNORM | D3DFMT_DXT3 | 9_1 and higher |
DXGI_FORMAT_BC2_UNORM_SRGB | D3DFMT_DXT3 | 9_1 and higher |
DXGI_FORMAT_BC3_UNORM | D3DFMT_DXT5 | 9_1 and higher |
DXGI_FORMAT_BC3_UNORM_SRGB | D3DFMT_DXT5 | 9_1 and higher |
DXGI_FORMAT_B8G8R8A8_UNORM | D3DFMT_A8R8G8B8 | 9_1 and higher |
DXGI_FORMAT_A8_UNORM | D3DFMT_A8 | 9_2 and higher |
DXGI_FORMAT_B5G6R5_UNORM
Requires DXGI 1.2 or later. DXGI 1.2 types are only supported on systems with Direct3D 11.1 or later. |
D3DFMT_R5G6B5 | 9_1 and higher |
DXGI_FORMAT_B5G5R5A1_UNORM
Requires DXGI 1.2 or later. DXGI 1.2 types are only supported on systems with Direct3D 11.1 or later. |
D3DFMT_A1R5G5B5 | 9_1 and higher |
DXGI_FORMAT_B4G4R4A4_UNORM
Requires DXGI 1.2 or later. DXGI 1.2 types are only supported on systems with Direct3D 11.1 or later. |
D3DFMT_A4R4G4B4 | 9_1 and higher |
Direct3D 9 hardware optionally supports these formats for shader sample with any filter type:
DXGI format | Equivalent Direct3D 9 format | Supported feature levels |
---|---|---|
DXGI_FORMAT_R16G16B16A16_FLOAT | D3DFMT_A16B16G16R16F | 9_3 and higher |
Mipmap resources
Direct3D 9 hardware supports these formats for mipmap resources (D3D11_FORMAT_SUPPORT_MIP):
DXGI format | Equivalent Direct3D 9 format | Supported feature levels |
---|---|---|
DXGI_FORMAT_R32G32B32A32_FLOAT | D3DFMT_A32B32G32R32F | 9_3 and higher |
DXGI_FORMAT_R16G16B16A16_FLOAT | D3DFMT_A16B16G16R16F | 9_2 and higher |
DXGI_FORMAT_R16G16B16A16_UNORM | D3DFMT_A16B16G16R16 | 9_2 and higher |
DXGI_FORMAT_R8G8B8A8_UNORM | D3DFMT_A8B8G8R8 | 9_1 and higher |
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB | D3DFMT_A8B8G8R8 | 9_1 and higher |
DXGI_FORMAT_R8G8B8A8_SNORM | D3DFMT_Q8W8V8U8 | 9_1 and higher |
DXGI_FORMAT_R16G16_FLOAT | D3DFMT_G16R16F | 9_2 and higher |
DXGI_FORMAT_R16G16_UNORM | D3DFMT_G16R16 | 9_2 and higher |
DXGI_FORMAT_R16G16_SNORM | D3DFMT_V16U16 | 9_1 and higher |
DXGI_FORMAT_R32_FLOAT | D3DFMT_R32F | 9_2 and higher |
DXGI_FORMAT_R16_UNORMNote Use .r swizzle in the pixel shader to duplicate red to other components to get Direct3D 9 behavior.
|
D3DFMT_L16 | 9_2 and higher |
DXGI_FORMAT_R8G8_SNORM | D3DFMT_V8U8 | 9_1 and higher |
DXGI_FORMAT_R8_UNORMNote Use .r swizzle in the pixel shader to duplicate red to other components to get Direct3D 9 behavior.
|
D3DFMT_L8 | 9_1 and higher |
DXGI_FORMAT_BC1_UNORM | D3DFMT_DXT1 | 9_1 and higher |
DXGI_FORMAT_BC1_UNORM_SRGB | D3DFMT_DXT1 | 9_1 and higher |
DXGI_FORMAT_BC2_UNORM | D3DFMT_DXT3 | 9_1 and higher |
DXGI_FORMAT_BC2_UNORM_SRGB | D3DFMT_DXT3 | 9_1 and higher |
DXGI_FORMAT_BC3_UNORM | D3DFMT_DXT5 | 9_1 and higher |
DXGI_FORMAT_BC3_UNORM_SRGB | D3DFMT_DXT5 | 9_1 and higher |
DXGI_FORMAT_B8G8R8A8_UNORM | D3DFMT_A8R8G8B8 | 9_1 and higher |
DXGI_FORMAT_B5G6R5_UNORM
Requires DXGI 1.2 or later. DXGI 1.2 types are only supported on systems with Direct3D 11.1 or later. |
D3DFMT_R5G6B5 | 9_1 and higher |
DXGI_FORMAT_B5G5R5A1_UNORM
Requires DXGI 1.2 or later. DXGI 1.2 types are only supported on systems with Direct3D 11.1 or later. |
D3DFMT_A1R5G5B5 | 9_1 and higher |
DXGI_FORMAT_B4G4R4A4_UNORM
Requires DXGI 1.2 or later. DXGI 1.2 types are only supported on systems with Direct3D 11.1 or later. |
D3DFMT_A4R4G4B4 | 9_1 and higher |
Mipmap auto-generation
Direct3D 9 hardware supports these formats for mipmap auto-generation (D3D11_FORMAT_SUPPORT_MIP_AUTOGEN):
DXGI format | Equivalent Direct3D 9 format | Supported feature levels |
---|---|---|
DXGI_FORMAT_R32G32B32A32_FLOAT | D3DFMT_A32B32G32R32F | 9_3 and higher |
DXGI_FORMAT_R8G8B8A8_UNORM | D3DFMT_A8B8G8R8 | 9_1 and higher |
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB | D3DFMT_A8B8G8R8 | 9_1 and higher |
DXGI_FORMAT_R16G16_UNORM | D3DFMT_G16R16 | 9_3 and higher |
DXGI_FORMAT_B8G8R8A8_UNORM | D3DFMT_A8R8G8B8 | 9_1 and higher |
DXGI_FORMAT_B5G6R5_UNORM
Requires DXGI 1.2 or later. DXGI 1.2 types are only supported on systems with Direct3D 11.1 or later. |
D3DFMT_R5G6B5 | 9_1 and higher |
Render targets
Direct3D 9 hardware supports these formats for render targets (D3D11_FORMAT_SUPPORT_RENDER_TARGET):
DXGI format | Equivalent Direct3D 9 format | Supported feature levels |
---|---|---|
DXGI_FORMAT_R32G32B32A32_FLOAT | D3DFMT_A32B32G32R32F | 9_3 and higher |
DXGI_FORMAT_R16G16B16A16_FLOAT | D3DFMT_A16B16G16R16F | 9_2 and higher |
DXGI_FORMAT_R16G16B16A16_UNORM | D3DFMT_A16B16G16R16 | 9_2 and higher |
DXGI_FORMAT_R8G8B8A8_UNORM | D3DFMT_A8B8G8R8 | 9_1 and higher |
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB | D3DFMT_A8B8G8R8 | 9_1 and higher |
DXGI_FORMAT_R32G32_FLOAT | D3DFMT_G32R32F | 9_3 and higher |
DXGI_FORMAT_R16G16_FLOAT | D3DFMT_G16R16F | 9_2 and higher |
DXGI_FORMAT_R16G16_UNORM | D3DFMT_G16R16 | 9_2 and higher |
DXGI_FORMAT_R32_FLOAT | D3DFMT_R32F | 9_2 and higher |
DXGI_FORMAT_B8G8R8A8_UNORM | D3DFMT_A8R8G8B8 | 9_1 and higher |
DXGI_FORMAT_B8G8R8A8_UNORM_SRGB | D3DFMT_A8R8G8B8 | 9_1 and higher |
DXGI_FORMAT_B8G8R8X8_UNORM | D3DFMT_X8R8G8B8 | 9_1 and higher |
DXGI_FORMAT_B8G8R8X8_UNORM_SRGB | D3DFMT_X8R8G8B8 | 9_1 and higher |
DXGI_FORMAT_B5G6R5_UNORM
Requires DXGI 1.2 or later. DXGI 1.2 types are only supported on systems with Direct3D 11.1 or later. |
D3DFMT_R5G6B5 | 9_1 and higher |
Blendable render targets
Direct3D 9 hardware supports these formats for blendable render targets (D3D11_FORMAT_SUPPORT_BLENDABLE):
DXGI format | Equivalent Direct3D 9 format | Supported feature levels |
---|---|---|
DXGI_FORMAT_R16G16B16A16_FLOAT | D3DFMT_A16B16G16R16F | 9_3 and higher |
DXGI_FORMAT_R8G8B8A8_UNORM | D3DFMT_A8B8G8R8 | 9_1 and higher |
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB | D3DFMT_A8B8G8R8 | 9_1 and higher |
DXGI_FORMAT_B8G8R8A8_UNORM | D3DFMT_A8R8G8B8 | 9_1 and higher |
DXGI_FORMAT_B8G8R8A8_UNORM_SRGB | D3DFMT_A8R8G8B8 | 9_1 and higher |
DXGI_FORMAT_B8G8R8X8_UNORM | D3DFMT_X8R8G8B8 | 9_1 and higher |
DXGI_FORMAT_B8G8R8X8_UNORM_SRGB | D3DFMT_X8R8G8B8 | 9_1 and higher |
DXGI_FORMAT_B5G6R5_UNORM
Requires DXGI 1.2 or later. DXGI 1.2 types are only supported on systems with Direct3D 11.1 or later. |
D3DFMT_R5G6B5 | 9_1 and higher |
Depth-stencil targets
Direct3D 9 hardware supports these formats for depth-stencil targets (D3D11_FORMAT_SUPPORT_DEPTH_STENCIL):
DXGI format | Equivalent Direct3D 9 format | Supported feature levels |
---|---|---|
DXGI_FORMAT_D24_UNORM_S8_UINT | D3DFMT_S8D24 | 9_1 and higher |
DXGI_FORMAT_D16_UNORM | D3DFMT_D16 | 9_1 and higher |
CPU mapping
Direct3D 9 hardware supports these formats for CPU mapping (D3D11_FORMAT_SUPPORT_CPU_LOCKABLE):
DXGI format | Equivalent Direct3D 9 format | Supported feature levels |
---|---|---|
DXGI_FORMAT_R16G16B16A16_FLOAT | D3DFMT_A16B16G16R16F | 9_2 and higher |
DXGI_FORMAT_R16G16B16A16_UNORM | D3DFMT_A16B16G16R16 | 9_2 and higher |
DXGI_FORMAT_R32G32_FLOAT | D3DFMT_G32R32F | 9_3 and higher |
DXGI_FORMAT_R8G8B8A8_UNORM | D3DFMT_A8B8G8R8 | 9_1 and higher |
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB | D3DFMT_A8B8G8R8 | 9_1 and higher |
DXGI_FORMAT_R8G8B8A8_SNORM | D3DFMT_Q8W8V8U8 | 9_1 and higher |
DXGI_FORMAT_R16G16_FLOAT | D3DFMT_G16R16F | 9_2 and higher |
DXGI_FORMAT_R16G16_UNORM | D3DFMT_G16R16 | 9_2 and higher |
DXGI_FORMAT_R16G16_SNORM | D3DFMT_V16U16 | 9_1 and higher |
DXGI_FORMAT_R32_FLOAT | D3DFMT_R32F | 9_2 and higher |
DXGI_FORMAT_R16_UNORMNote Use .r swizzle in the pixel shader to duplicate red to other components to get Direct3D 9 behavior.
|
D3DFMT_L16 | 9_2 and higher |
DXGI_FORMAT_R8G8_SNORM | D3DFMT_V8U8 | 9_1 and higher |
DXGI_FORMAT_R8_UNORMNote Use .r swizzle in the pixel shader to duplicate red to other components to get Direct3D 9 behavior.
|
D3DFMT_L8 | 9_1 and higher |
DXGI_FORMAT_BC1_UNORM | D3DFMT_DXT1 | 9_1 and higher |
DXGI_FORMAT_BC1_UNORM_SRGB | D3DFMT_DXT1 | 9_1 and higher |
DXGI_FORMAT_BC2_UNORM | D3DFMT_DXT3 | 9_1 and higher |
DXGI_FORMAT_BC2_UNORM_SRGB | D3DFMT_DXT3 | 9_1 and higher |
DXGI_FORMAT_BC3_UNORM | D3DFMT_DXT5 | 9_1 and higher |
DXGI_FORMAT_BC3_UNORM_SRGB | D3DFMT_DXT5 | 9_1 and higher |
DXGI_FORMAT_B8G8R8A8_UNORM | D3DFMT_A8R8G8B8 | 9_1 and higher |
DXGI_FORMAT_A8_UNORM | D3DFMT_A8 | 9_2 and higher |
DXGI_FORMAT_B5G6R5_UNORM
Requires DXGI 1.2 or later. DXGI 1.2 types are only supported on systems with Direct3D 11.1 or later. |
D3DFMT_R5G6B5 | 9_1 and higher |
DXGI_FORMAT_B5G5R5A1_UNORM
Requires DXGI 1.2 or later. DXGI 1.2 types are only supported on systems with Direct3D 11.1 or later. |
D3DFMT_A1R5G5B5 | 9_1 and higher |
DXGI_FORMAT_B4G4R4A4_UNORM
Requires DXGI 1.2 or later. DXGI 1.2 types are only supported on systems with Direct3D 11.1 or later. |
D3DFMT_A4R4G4B4 | 9_1 and higher |
Display scan-out
Direct3D 9 hardware supports these formats for display scan-out (D3D11_FORMAT_SUPPORT_DISPLAY):
DXGI format | Equivalent Direct3D 9 format | Supported feature levels |
---|---|---|
DXGI_FORMAT_R8G8B8A8_UNORM | D3DFMT_A8B8G8R8 | 9_3 and higher |
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB | D3DFMT_A8B8G8R8 | 9_3 and higher |
DXGI_FORMAT_B8G8R8A8_UNORM | D3DFMT_A8R8G8B8 | 9_1 and higher |
Multisample render targets
Direct3D 9 hardware supports these formats for multisample render targets (D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET):
DXGI format | Equivalent Direct3D 9 format | Supported feature levels |
---|---|---|
DXGI_FORMAT_R8G8B8A8_UNORM | D3DFMT_A8B8G8R8 | 9_3 and higher |
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB | D3DFMT_A8B8G8R8 | 9_1 and higher |
DXGI_FORMAT_D16_UNORM | D3DFMT_D16 | 9_1 and higher |
DXGI_FORMAT_B8G8R8A8_UNORM | D3DFMT_A8R8G8B8 | 9_1 and higher |
Direct3D 9 hardware optionally supports these formats for multisample render targets:
DXGI format | Equivalent Direct3D 9 format | Supported feature levels |
---|---|---|
DXGI_FORMAT_B5G6R5_UNORM
Requires DXGI 1.2 or later. DXGI 1.2 types are only supported on systems with Direct3D 11.1 or later. |
D3DFMT_R5G6B5 | 9_1 and higher |
Remarks
Note ID3D11Device::CheckFormatSupport or ID3D11Device::CheckFeatureSupport never reports support for D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON on feature level 9_1, 9_2, or 9_3. But support might be available on Windows 8. For more info, see Implementing shadow buffers for Direct3D feature level 9.