Hardware Support for Direct3D 11 Formats

This section specifies the formats (DXGI_FORMAT values) that are supported in Direct3D 11 hardware, which means that a Direct3D 11–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 11 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.

You can use ID3D11Device::CheckFormatSupport to programmatically verify the info in this section.

Back buffers and scan outs with the DXGI_FORMAT_R16G16B16A16_FLOAT format contain linear-valued gamma data.

Buffer resources

Direct3D 11 hardware supports these formats for buffer resources (D3D11_FORMAT_SUPPORT_BUFFER):

  • DXGI_FORMAT_UNKNOWN (0 bits)

  • DXGI_FORMAT_R32G32B32A32_FLOAT

  • DXGI_FORMAT_R32G32B32A32_UINT

  • DXGI_FORMAT_R32G32B32A32_SINT

  • DXGI_FORMAT_R32G32B32_FLOAT

  • DXGI_FORMAT_R32G32B32_UINT

  • DXGI_FORMAT_R32G32B32_SINT

  • DXGI_FORMAT_R16G16B16A16_FLOAT

  • DXGI_FORMAT_R16G16B16A16_UNORM

  • DXGI_FORMAT_R16G16B16A16_UINT

  • DXGI_FORMAT_R16G16B16A16_SNORM

  • DXGI_FORMAT_R16G16B16A16_SINT

  • DXGI_FORMAT_R32G32_FLOAT

  • DXGI_FORMAT_R32G32_UINT

  • DXGI_FORMAT_R32G32_SINT

  • DXGI_FORMAT_R10G10B10A2_UNORM

  • DXGI_FORMAT_R10G10B10A2_UINT

  • DXGI_FORMAT_R11G11B10_FLOAT

  • DXGI_FORMAT_R8G8B8A8_UNORM

  • DXGI_FORMAT_R8G8B8A8_UINT

  • DXGI_FORMAT_R8G8B8A8_SNORM

  • DXGI_FORMAT_R8G8B8A8_SINT

  • DXGI_FORMAT_R16G16_FLOAT

  • DXGI_FORMAT_R16G16_UNORM

  • DXGI_FORMAT_R16G16_UINT

  • DXGI_FORMAT_R16G16_SNORM

  • DXGI_FORMAT_R16G16_SINT

  • DXGI_FORMAT_R32_FLOAT

  • DXGI_FORMAT_R32_UINT

  • DXGI_FORMAT_R32_SINT

  • DXGI_FORMAT_R8G8_UNORM

  • DXGI_FORMAT_R8G8_UINT

  • DXGI_FORMAT_R8G8_SNORM

  • DXGI_FORMAT_R8G8_SINT

  • DXGI_FORMAT_R16_FLOAT

  • DXGI_FORMAT_R16_UNORM

  • DXGI_FORMAT_R16_UINT

  • DXGI_FORMAT_R16_SNORM

  • DXGI_FORMAT_R16_SINT

  • DXGI_FORMAT_R8_UNORM

  • DXGI_FORMAT_R8_UINT

  • DXGI_FORMAT_R8_SNORM

  • DXGI_FORMAT_R8_SINT

  • DXGI_FORMAT_B8G8R8A8_UNORM

  • DXGI_FORMAT_B8G8R8X8_UNORM

  • 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.

  • 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.

  • 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.

Input assembler vertex buffer resources

Direct3D 11 hardware supports these formats for input assembler vertex buffer resources (D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER). These formats are the same as for buffer resources except for DXGI_FORMAT_UNKNOWN.

  • DXGI_FORMAT_R32G32B32A32_FLOAT
  • DXGI_FORMAT_R32G32B32A32_UINT
  • DXGI_FORMAT_R32G32B32A32_SINT
  • DXGI_FORMAT_R32G32B32_FLOAT
  • DXGI_FORMAT_R32G32B32_UINT
  • DXGI_FORMAT_R32G32B32_SINT
  • DXGI_FORMAT_R16G16B16A16_FLOAT
  • DXGI_FORMAT_R16G16B16A16_UNORM
  • DXGI_FORMAT_R16G16B16A16_UINT
  • DXGI_FORMAT_R16G16B16A16_SNORM
  • DXGI_FORMAT_R16G16B16A16_SINT
  • DXGI_FORMAT_R32G32_FLOAT
  • DXGI_FORMAT_R32G32_UINT
  • DXGI_FORMAT_R32G32_SINT
  • DXGI_FORMAT_R10G10B10A2_UNORM
  • DXGI_FORMAT_R10G10B10A2_UINT
  • DXGI_FORMAT_R11G11B10_FLOAT
  • DXGI_FORMAT_R8G8B8A8_UNORM
  • DXGI_FORMAT_R8G8B8A8_UINT
  • DXGI_FORMAT_R8G8B8A8_SNORM
  • DXGI_FORMAT_R8G8B8A8_SINT
  • DXGI_FORMAT_R16G16_FLOAT
  • DXGI_FORMAT_R16G16_UNORM
  • DXGI_FORMAT_R16G16_UINT
  • DXGI_FORMAT_R16G16_SNORM
  • DXGI_FORMAT_R16G16_SINT
  • DXGI_FORMAT_R32_FLOAT
  • DXGI_FORMAT_R32_UINT
  • DXGI_FORMAT_R32_SINT
  • DXGI_FORMAT_R8G8_UNORM
  • DXGI_FORMAT_R8G8_UINT
  • DXGI_FORMAT_R8G8_SNORM
  • DXGI_FORMAT_R8G8_SINT
  • DXGI_FORMAT_R16_FLOAT
  • DXGI_FORMAT_R16_UNORM
  • DXGI_FORMAT_R16_UINT
  • DXGI_FORMAT_R16_SNORM
  • DXGI_FORMAT_R16_SINT
  • DXGI_FORMAT_R8_UNORM
  • DXGI_FORMAT_R8_UINT
  • DXGI_FORMAT_R8_SNORM
  • DXGI_FORMAT_R8_SINT
  • DXGI_FORMAT_B8G8R8A8_UNORM
  • DXGI_FORMAT_B8G8R8X8_UNORM

Direct3D 11 hardware optionally supports these formats for input assembler vertex buffer resources:

  • 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.

  • 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.

  • 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.

Input assembler index buffer resources

Direct3D 11 hardware supports these formats for input assembler index buffer resources (D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER):

  • DXGI_FORMAT_R32_UINT
  • DXGI_FORMAT_R16_UINT

Stream output buffer resources

Direct3D 11 hardware supports these formats for stream output buffer resources (D3D11_FORMAT_SUPPORT_SO_BUFFER).

  • DXGI_FORMAT_R32G32B32A32_FLOAT
  • DXGI_FORMAT_R32G32B32A32_UINT
  • DXGI_FORMAT_R32G32B32A32_SINT
  • DXGI_FORMAT_R32G32B32_FLOAT
  • DXGI_FORMAT_R32G32B32_UINT
  • DXGI_FORMAT_R32G32B32_SINT
  • DXGI_FORMAT_R32G32_FLOAT
  • DXGI_FORMAT_R32G32_UINT
  • DXGI_FORMAT_R32G32_SINT
  • DXGI_FORMAT_R32_FLOAT
  • DXGI_FORMAT_R32_UINT
  • DXGI_FORMAT_R32_SINT

Texture1D resources

Direct3D 11 hardware supports all formats except these for texture 1D resources (D3D11_FORMAT_SUPPORT_TEXTURE1D).

  • DXGI_FORMAT_UNKNOWN
  • DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM
  • DXGI_FORMAT_BC1_TYPELESS
  • DXGI_FORMAT_BC1_UNORM
  • DXGI_FORMAT_BC1_UNORM_SRGB
  • DXGI_FORMAT_BC2_TYPELESS
  • DXGI_FORMAT_BC2_UNORM
  • DXGI_FORMAT_BC2_UNORM_SRGB
  • DXGI_FORMAT_BC3_TYPELESS
  • DXGI_FORMAT_BC3_UNORM
  • DXGI_FORMAT_BC3_UNORM_SRGB
  • DXGI_FORMAT_BC4_TYPELESS
  • DXGI_FORMAT_BC4_UNORM
  • DXGI_FORMAT_BC4_SNORM
  • DXGI_FORMAT_BC5_TYPELESS
  • DXGI_FORMAT_BC5_UNORM
  • DXGI_FORMAT_BC5_SNORM
  • DXGI_FORMAT_BC6H_TYPELESS
  • DXGI_FORMAT_BC6H_UF16
  • DXGI_FORMAT_BC6H_SF16
  • DXGI_FORMAT_BC7_TYPELESS
  • DXGI_FORMAT_BC7_UNORM
  • DXGI_FORMAT_BC7_UNORM_SRGB
  • DXGI_FORMAT_AYUV
  • DXGI_FORMAT_Y410
  • DXGI_FORMAT_Y416
  • DXGI_FORMAT_NV12
  • DXGI_FORMAT_P010
  • DXGI_FORMAT_P016
  • DXGI_FORMAT_420_OPAQUE
  • DXGI_FORMAT_YUY2
  • DXGI_FORMAT_Y210
  • DXGI_FORMAT_Y216
  • DXGI_FORMAT_NV11
  • DXGI_FORMAT_AI44
  • DXGI_FORMAT_IA44
  • DXGI_FORMAT_P8
  • DXGI_FORMAT_A8P8

Texture2D resources

Direct3D 11 hardware supports all formats except these for texture 2D resources (D3D11_FORMAT_SUPPORT_TEXTURE2D).

  • DXGI_FORMAT_UNKNOWN
  • DXGI_FORMAT_AYUV
  • DXGI_FORMAT_Y410
  • DXGI_FORMAT_Y416
  • DXGI_FORMAT_NV12
  • DXGI_FORMAT_P010
  • DXGI_FORMAT_P016
  • DXGI_FORMAT_420_OPAQUE
  • DXGI_FORMAT_YUY2
  • DXGI_FORMAT_Y210
  • DXGI_FORMAT_Y216
  • DXGI_FORMAT_NV11
  • DXGI_FORMAT_AI44
  • DXGI_FORMAT_IA44
  • DXGI_FORMAT_P8
  • DXGI_FORMAT_A8P8

These formats require DXGI 1.2 or later. DXGI 1.2 types are only supported on systems with Direct3D 11.1 or later.

  • DXGI_FORMAT_B5G6R5_UNORM
  • DXGI_FORMAT_B5G5R5A1_UNORM
  • DXGI_FORMAT_B4G4R4A4_UNORM

Texture3D resources

Direct3D 11 hardware supports all formats except these for texture 3D resources (D3D11_FORMAT_SUPPORT_TEXTURE3D).

  • DXGI_FORMAT_UNKNOWN
  • DXGI_FORMAT_R32G8X24_TYPELESS
  • DXGI_FORMAT_D32_FLOAT_S8X24_UINT
  • DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS
  • DXGI_FORMAT_X32_TYPELESS_G8X24_UINT
  • DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM
  • DXGI_FORMAT_D32_FLOAT
  • DXGI_FORMAT_R24G8_TYPELESS
  • DXGI_FORMAT_D24_UNORM_S8_UINT
  • DXGI_FORMAT_R24_UNORM_X8_TYPELESS
  • DXGI_FORMAT_X24_TYPELESS_G8_UINT
  • DXGI_FORMAT_D16_UNORM
  • DXGI_FORMAT_AYUV
  • DXGI_FORMAT_Y410
  • DXGI_FORMAT_Y416
  • DXGI_FORMAT_NV12
  • DXGI_FORMAT_P010
  • DXGI_FORMAT_P016
  • DXGI_FORMAT_420_OPAQUE
  • DXGI_FORMAT_YUY2
  • DXGI_FORMAT_Y210
  • DXGI_FORMAT_Y216
  • DXGI_FORMAT_NV11
  • DXGI_FORMAT_AI44
  • DXGI_FORMAT_IA44
  • DXGI_FORMAT_P8
  • DXGI_FORMAT_A8P8

These formats require DXGI 1.2 or later. DXGI 1.2 types are only supported on systems with Direct3D 11.1 or later.

  • DXGI_FORMAT_B5G6R5_UNORM
  • DXGI_FORMAT_B5G5R5A1_UNORM
  • DXGI_FORMAT_B4G4R4A4_UNORM

TextureCube resources

Direct3D 11 hardware supports all formats except these for texture cube resources (D3D11_FORMAT_SUPPORT_TEXTURECUBE).

  • DXGI_FORMAT_UNKNOWN
  • DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM
  • DXGI_FORMAT_AYUV
  • DXGI_FORMAT_Y410
  • DXGI_FORMAT_Y416
  • DXGI_FORMAT_NV12
  • DXGI_FORMAT_P010
  • DXGI_FORMAT_P016
  • DXGI_FORMAT_420_OPAQUE
  • DXGI_FORMAT_YUY2
  • DXGI_FORMAT_Y210
  • DXGI_FORMAT_Y216
  • DXGI_FORMAT_NV11
  • DXGI_FORMAT_AI44
  • DXGI_FORMAT_IA44
  • DXGI_FORMAT_P8
  • DXGI_FORMAT_A8P8

These formats require DXGI 1.2 or later. DXGI 1.2 types are only supported on systems with Direct3D 11.1 or later.

  • DXGI_FORMAT_B5G6R5_UNORM
  • DXGI_FORMAT_B5G5R5A1_UNORM
  • DXGI_FORMAT_B4G4R4A4_UNORM

Shader loads

Direct3D 11 hardware supports all formats except these for shader loads (D3D11_FORMAT_SUPPORT_SHADER_LOAD).

  • DXGI_FORMAT_UNKNOWN
  • DXGI_FORMAT_R32G32B32A32_TYPELESS
  • DXGI_FORMAT_R32G32B32_TYPELESS
  • DXGI_FORMAT_R16G16B16A16_TYPELESS
  • DXGI_FORMAT_R32G32_TYPELESS
  • DXGI_FORMAT_R32G8X24_TYPELESS
  • DXGI_FORMAT_D32_FLOAT_S8X24_UINT
  • DXGI_FORMAT_R10G10B10A2_TYPELESS
  • DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM
  • DXGI_FORMAT_R8G8B8A8_TYPELESS
  • DXGI_FORMAT_R16G16_TYPELESS
  • DXGI_FORMAT_R32_TYPELESS
  • DXGI_FORMAT_D32_FLOAT
  • DXGI_FORMAT_R24G8_TYPELESS
  • DXGI_FORMAT_D24_UNORM_S8_UINT
  • DXGI_FORMAT_R8G8_TYPELESS
  • DXGI_FORMAT_R16_TYPELESS
  • DXGI_FORMAT_D16_UNORM
  • DXGI_FORMAT_R8_TYPELESS
  • DXGI_FORMAT_BC1_TYPELESS
  • DXGI_FORMAT_BC2_TYPELESS
  • DXGI_FORMAT_BC3_TYPELESS
  • DXGI_FORMAT_BC4_TYPELESS
  • DXGI_FORMAT_BC5_TYPELESS
  • DXGI_FORMAT_B8G8R8A8_TYPELESS
  • DXGI_FORMAT_B8G8R8X8_TYPELESS
  • DXGI_FORMAT_BC6H_TYPELESS
  • DXGI_FORMAT_BC7_TYPELESS
  • DXGI_FORMAT_AYUV
  • DXGI_FORMAT_Y410
  • DXGI_FORMAT_Y416
  • DXGI_FORMAT_NV12
  • DXGI_FORMAT_P010
  • DXGI_FORMAT_P016
  • DXGI_FORMAT_420_OPAQUE
  • DXGI_FORMAT_YUY2
  • DXGI_FORMAT_Y210
  • DXGI_FORMAT_Y216
  • DXGI_FORMAT_NV11
  • DXGI_FORMAT_AI44
  • DXGI_FORMAT_IA44
  • DXGI_FORMAT_P8
  • DXGI_FORMAT_A8P8

These formats require DXGI 1.2 or later. DXGI 1.2 types are only supported on systems with Direct3D 11.1 or later.

  • DXGI_FORMAT_B5G6R5_UNORM
  • DXGI_FORMAT_B5G5R5A1_UNORM
  • DXGI_FORMAT_B4G4R4A4_UNORM

Shader sample with any filter type

Direct3D 11 hardware supports these formats for shader sample with any filter type (D3D11_FORMAT_SUPPORT_SHADER_SAMPLE):

  • DXGI_FORMAT_R32G32B32A32_FLOAT

  • DXGI_FORMAT_R16G16B16A16_FLOAT

  • DXGI_FORMAT_R16G16B16A16_UNORM

  • DXGI_FORMAT_R16G16B16A16_SNORM

  • DXGI_FORMAT_R32G32_FLOAT

  • DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS

  • DXGI_FORMAT_R10G10B10A2_UNORM

  • DXGI_FORMAT_R11G11B10_FLOAT

  • DXGI_FORMAT_R8G8B8A8_UNORM

  • DXGI_FORMAT_R8G8B8A8_UNORM_SRGB

  • DXGI_FORMAT_R8G8B8A8_SNORM

  • DXGI_FORMAT_R16G16_FLOAT

  • DXGI_FORMAT_R16G16_UNORM

  • DXGI_FORMAT_R16G16_SNORM

  • DXGI_FORMAT_R32_FLOAT

  • DXGI_FORMAT_R24_UNORM_X8_TYPELESS

  • DXGI_FORMAT_R8G8_UNORM

  • DXGI_FORMAT_R8G8_SNORM

  • DXGI_FORMAT_R16_FLOAT

  • DXGI_FORMAT_R16_UNORM

  • DXGI_FORMAT_R16_SNORM

  • DXGI_FORMAT_R8_UNORM

  • DXGI_FORMAT_R8_SNORM

  • DXGI_FORMAT_A8_UNORM

  • DXGI_FORMAT_R9G9B9E5_SHAREDEXP

  • DXGI_FORMAT_R8G8_B8G8_UNORM

  • DXGI_FORMAT_G8R8_G8B8_UNORM

  • DXGI_FORMAT_BC1_UNORM

  • DXGI_FORMAT_BC1_UNORM_SRGB

  • DXGI_FORMAT_BC2_UNORM

  • DXGI_FORMAT_BC2_UNORM_SRGB

  • DXGI_FORMAT_BC3_UNORM

  • DXGI_FORMAT_BC3_UNORM_SRGB

  • DXGI_FORMAT_BC4_UNORM

  • DXGI_FORMAT_BC4_SNORM

  • DXGI_FORMAT_BC5_UNORM

  • DXGI_FORMAT_BC5_SNORM

  • 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.

  • 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.

  • DXGI_FORMAT_B8G8R8A8_UNORM

  • DXGI_FORMAT_B8G8R8A8_UNORM_SRGB

  • DXGI_FORMAT_B8G8R8X8_UNORM

  • DXGI_FORMAT_B8G8R8X8_UNORM_SRGB

  • DXGI_FORMAT_BC6H_UF16

  • DXGI_FORMAT_BC6H_SF16

  • DXGI_FORMAT_BC7_UNORM

  • DXGI_FORMAT_BC7_UNORM_SRGB

  • 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.

Direct3D 11 hardware optionally supports these formats for shader samples with any filter type:

  • DXGI_FORMAT_R32G32B32_FLOAT

Shader sample with comparison filter

Direct3D 11 hardware supports these formats for shader sample with comparison filter (sample_c) (D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON):

  • DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS
  • DXGI_FORMAT_R32_FLOAT
  • DXGI_FORMAT_R24_UNORM_X8_TYPELESS
  • DXGI_FORMAT_R16_UNORM

Shader sample with mono 1-bit filter

Direct3D 11 hardware doesn't support any formats for shader sample with mono 1-bit filter (D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT).

Shader gather4

Direct3D 11 hardware supports these formats for shader gather4 (D3D11_FORMAT_SUPPORT_SHADER_GATHER). These formats are the same as for shader sample with any filter type.

  • DXGI_FORMAT_R32G32B32A32_FLOAT

  • DXGI_FORMAT_R16G16B16A16_FLOAT

  • DXGI_FORMAT_R16G16B16A16_UNORM

  • DXGI_FORMAT_R16G16B16A16_SNORM

  • DXGI_FORMAT_R32G32_FLOAT

  • DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS

  • DXGI_FORMAT_R10G10B10A2_UNORM

  • DXGI_FORMAT_R11G11B10_FLOAT

  • DXGI_FORMAT_R8G8B8A8_UNORM

  • DXGI_FORMAT_R8G8B8A8_UNORM_SRGB

  • DXGI_FORMAT_R8G8B8A8_SNORM

  • DXGI_FORMAT_R16G16_FLOAT

  • DXGI_FORMAT_R16G16_UNORM

  • DXGI_FORMAT_R16G16_SNORM

  • DXGI_FORMAT_R32_FLOAT

  • DXGI_FORMAT_R24_UNORM_X8_TYPELESS

  • DXGI_FORMAT_R8G8_UNORM

  • DXGI_FORMAT_R8G8_SNORM

  • DXGI_FORMAT_R16_FLOAT

  • DXGI_FORMAT_R16_UNORM

  • DXGI_FORMAT_R16_SNORM

  • DXGI_FORMAT_R8_UNORM

  • DXGI_FORMAT_R8_SNORM

  • DXGI_FORMAT_A8_UNORM

  • DXGI_FORMAT_R9G9B9E5_SHAREDEXP

  • DXGI_FORMAT_R8G8_B8G8_UNORM

  • DXGI_FORMAT_G8R8_G8B8_UNORM

  • DXGI_FORMAT_BC1_UNORM

  • DXGI_FORMAT_BC1_UNORM_SRGB

  • DXGI_FORMAT_BC2_UNORM

  • DXGI_FORMAT_BC2_UNORM_SRGB

  • DXGI_FORMAT_BC3_UNORM

  • DXGI_FORMAT_BC3_UNORM_SRGB

  • DXGI_FORMAT_BC4_UNORM

  • DXGI_FORMAT_BC4_SNORM

  • DXGI_FORMAT_BC5_UNORM

  • DXGI_FORMAT_BC5_SNORM

  • 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.

  • 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.

  • DXGI_FORMAT_B8G8R8A8_UNORM

  • DXGI_FORMAT_B8G8R8A8_UNORM_SRGB

  • DXGI_FORMAT_B8G8R8X8_UNORM

  • DXGI_FORMAT_B8G8R8X8_UNORM_SRGB

  • DXGI_FORMAT_BC6H_UF16

  • DXGI_FORMAT_BC6H_SF16

  • DXGI_FORMAT_BC7_UNORM

  • DXGI_FORMAT_BC7_UNORM_SRGB

  • 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.

Direct3D 11 hardware optionally supports these formats for shader gather4:

  • DXGI_FORMAT_R32G32B32_FLOAT

Shader gather4 with comparison filter

Direct3D 11 hardware supports these formats for shader gather4 with comparison filter (gather4_c) (D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON):

  • DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS
  • DXGI_FORMAT_R32_FLOAT
  • DXGI_FORMAT_R24_UNORM_X8_TYPELESS
  • DXGI_FORMAT_R16_UNORM

Mipmap resources

Direct3D 11 hardware supports all formats except these for mipmap resources (D3D11_FORMAT_SUPPORT_MIP).

  • DXGI_FORMAT_UNKNOWN
  • DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM
  • DXGI_FORMAT_AYUV
  • DXGI_FORMAT_Y410
  • DXGI_FORMAT_Y416
  • DXGI_FORMAT_NV12
  • DXGI_FORMAT_P010
  • DXGI_FORMAT_P016
  • DXGI_FORMAT_420_OPAQUE
  • DXGI_FORMAT_YUY2
  • DXGI_FORMAT_Y210
  • DXGI_FORMAT_Y216
  • DXGI_FORMAT_NV11
  • DXGI_FORMAT_AI44
  • DXGI_FORMAT_IA44
  • DXGI_FORMAT_P8
  • DXGI_FORMAT_A8P8

These formats require DXGI 1.2 or later. DXGI 1.2 types are only supported on systems with Direct3D 11.1 or later.

  • DXGI_FORMAT_B5G6R5_UNORM
  • DXGI_FORMAT_B5G5R5A1_UNORM
  • DXGI_FORMAT_B4G4R4A4_UNORM

Mipmap auto-generation

Direct3D 11 hardware supports these formats for mipmap auto-generation (D3D11_FORMAT_SUPPORT_MIP_AUTOGEN):

  • DXGI_FORMAT_R32G32B32A32_FLOAT

  • DXGI_FORMAT_R16G16B16A16_FLOAT

  • DXGI_FORMAT_R16G16B16A16_UNORM

  • DXGI_FORMAT_R16G16B16A16_SNORM

  • DXGI_FORMAT_R32G32_FLOAT

  • DXGI_FORMAT_R10G10B10A2_UNORM

  • DXGI_FORMAT_R11G11B10_FLOAT

  • DXGI_FORMAT_R8G8B8A8_UNORM

  • DXGI_FORMAT_R8G8B8A8_UNORM_SRGB

  • DXGI_FORMAT_R8G8B8A8_SNORM

  • DXGI_FORMAT_R16G16_FLOAT

  • DXGI_FORMAT_R16G16_UNORM

  • DXGI_FORMAT_R16G16_SNORM

  • DXGI_FORMAT_R32_FLOAT

  • DXGI_FORMAT_R8G8_UNORM

  • DXGI_FORMAT_R8G8_SNORM

  • DXGI_FORMAT_R16_FLOAT

  • DXGI_FORMAT_R16_UNORM

  • DXGI_FORMAT_R16_SNORM

  • DXGI_FORMAT_R8_UNORM

  • DXGI_FORMAT_R8_SNORM

  • DXGI_FORMAT_A8_UNORM

  • 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.

  • DXGI_FORMAT_B8G8R8A8_UNORM

  • DXGI_FORMAT_B8G8R8A8_UNORM_SRGB

  • DXGI_FORMAT_B8G8R8X8_UNORM

  • DXGI_FORMAT_B8G8R8X8_UNORM_SRGB

Direct3D 11 hardware optionally supports these formats for mipmap auto-generation:

  • DXGI_FORMAT_R32G32B32_FLOAT

  • 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.

  • 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.

Render targets

Direct3D 11 hardware supports these formats for render targets (D3D11_FORMAT_SUPPORT_RENDER_TARGET):

  • DXGI_FORMAT_R32G32B32A32_FLOAT

  • DXGI_FORMAT_R32G32B32A32_UINT

  • DXGI_FORMAT_R32G32B32A32_SINT

  • DXGI_FORMAT_R16G16B16A16_FLOAT

  • DXGI_FORMAT_R16G16B16A16_UNORM

  • DXGI_FORMAT_R16G16B16A16_UINT

  • DXGI_FORMAT_R16G16B16A16_SNORM

  • DXGI_FORMAT_R16G16B16A16_SINT

  • DXGI_FORMAT_R32G32_FLOAT

  • DXGI_FORMAT_R32G32_UINT

  • DXGI_FORMAT_R32G32_SINT

  • DXGI_FORMAT_R10G10B10A2_UNORM

  • DXGI_FORMAT_R10G10B10A2_UINT

  • DXGI_FORMAT_R11G11B10_FLOAT

  • DXGI_FORMAT_R8G8B8A8_UNORM

  • DXGI_FORMAT_R8G8B8A8_UNORM_SRGB

  • DXGI_FORMAT_R8G8B8A8_UINT

  • DXGI_FORMAT_R8G8B8A8_SNORM

  • DXGI_FORMAT_R8G8B8A8_SINT

  • DXGI_FORMAT_R16G16_FLOAT

  • DXGI_FORMAT_R16G16_UNORM

  • DXGI_FORMAT_R16G16_UINT

  • DXGI_FORMAT_R16G16_SNORM

  • DXGI_FORMAT_R16G16_SINT

  • DXGI_FORMAT_R32_FLOAT

  • DXGI_FORMAT_R32_UINT

  • DXGI_FORMAT_R32_SINT

  • DXGI_FORMAT_R8G8_UNORM

  • DXGI_FORMAT_R8G8_UINT

  • DXGI_FORMAT_R8G8_SNORM

  • DXGI_FORMAT_R8G8_SINT

  • DXGI_FORMAT_R16_FLOAT

  • DXGI_FORMAT_R16_UNORM

  • DXGI_FORMAT_R16_UINT

  • DXGI_FORMAT_R16_SNORM

  • DXGI_FORMAT_R16_SINT

  • DXGI_FORMAT_R8_UNORM

  • DXGI_FORMAT_R8_UINT

  • DXGI_FORMAT_R8_SNORM

  • DXGI_FORMAT_R8_SINT

  • DXGI_FORMAT_A8_UNORM

  • 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.

  • DXGI_FORMAT_B8G8R8A8_UNORM

  • DXGI_FORMAT_B8G8R8A8_UNORM_SRGB

  • DXGI_FORMAT_B8G8R8X8_UNORM

  • DXGI_FORMAT_B8G8R8X8_UNORM_SRGB

Direct3D 11 hardware optionally supports these formats for render targets:

  • DXGI_FORMAT_R32G32B32_FLOAT

  • DXGI_FORMAT_R32G32B32_UINT

  • DXGI_FORMAT_R32G32B32_SINT

  • 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.

  • 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.

Blendable render targets

Direct3D 11 hardware supports these formats for blendable render targets (D3D11_FORMAT_SUPPORT_BLENDABLE):

  • DXGI_FORMAT_R32G32B32A32_FLOAT

  • DXGI_FORMAT_R16G16B16A16_FLOAT

  • DXGI_FORMAT_R16G16B16A16_UNORM

  • DXGI_FORMAT_R16G16B16A16_SNORM

  • DXGI_FORMAT_R32G32_FLOAT

  • DXGI_FORMAT_R10G10B10A2_UNORM

  • DXGI_FORMAT_R11G11B10_FLOAT

  • DXGI_FORMAT_R8G8B8A8_UNORM

  • DXGI_FORMAT_R8G8B8A8_UNORM_SRGB

  • DXGI_FORMAT_R8G8B8A8_SNORM

  • DXGI_FORMAT_R16G16_FLOAT

  • DXGI_FORMAT_R16G16_UNORM

  • DXGI_FORMAT_R16G16_SNORM

  • DXGI_FORMAT_R32_FLOAT

  • DXGI_FORMAT_R8G8_UNORM

  • DXGI_FORMAT_R8G8_SNORM

  • DXGI_FORMAT_R16_FLOAT

  • DXGI_FORMAT_R16_UNORM

  • DXGI_FORMAT_R16_SNORM

  • DXGI_FORMAT_R8_UNORM

  • DXGI_FORMAT_R8_SNORM

  • DXGI_FORMAT_A8_UNORM

  • 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.

  • DXGI_FORMAT_B8G8R8A8_UNORM

  • DXGI_FORMAT_B8G8R8A8_UNORM_SRGB

  • DXGI_FORMAT_B8G8R8X8_UNORM

  • DXGI_FORMAT_B8G8R8X8_UNORM_SRGB

Direct3D 11 hardware optionally supports these formats for blendable render targets:

  • DXGI_FORMAT_R32G32B32_FLOAT

    If the device supports using this format as a render target, you can also use the format as a render target for blending.

  • 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.

  • 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.

Depth-stencil targets

Direct3D 11 hardware supports these formats for depth-stencil targets (D3D11_FORMAT_SUPPORT_DEPTH_STENCIL):

  • DXGI_FORMAT_D32_FLOAT_S8X24_UINT
  • DXGI_FORMAT_D32_FLOAT
  • DXGI_FORMAT_D24_UNORM_S8_UINT
  • DXGI_FORMAT_D16_UNORM

Raw UAV and SRV

Direct3D 11 hardware supports the DXGI_FORMAT_R32_TYPELESS format for raw unordered-access view (UAV) and shader-resource view (SRV).

Structured UAV and SRV

Direct3D 11 hardware supports the DXGI_FORMAT_UNKNOWN (0 bits) format for structured unordered-access view (UAV) and shader-resource view (SRV).

Typed UAV

Direct3D 11 hardware supports these formats for typed unordered-access view (UAV) (D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW):

  • DXGI_FORMAT_R32G32B32A32_FLOAT
  • DXGI_FORMAT_R32G32B32A32_UINT
  • DXGI_FORMAT_R32G32B32A32_SINT
  • DXGI_FORMAT_R16G16B16A16_FLOAT
  • DXGI_FORMAT_R16G16B16A16_UNORM
  • DXGI_FORMAT_R16G16B16A16_UINT
  • DXGI_FORMAT_R16G16B16A16_SNORM
  • DXGI_FORMAT_R16G16B16A16_SINT
  • DXGI_FORMAT_R32G32_FLOAT
  • DXGI_FORMAT_R32G32_UINT
  • DXGI_FORMAT_R32G32_SINT
  • DXGI_FORMAT_R10G10B10A2_UNORM
  • DXGI_FORMAT_R10G10B10A2_UINT
  • DXGI_FORMAT_R11G11B10_FLOAT
  • DXGI_FORMAT_R8G8B8A8_UNORM
  • DXGI_FORMAT_R8G8B8A8_UINT
  • DXGI_FORMAT_R8G8B8A8_SNORM
  • DXGI_FORMAT_R8G8B8A8_SINT
  • DXGI_FORMAT_R16G16_FLOAT
  • DXGI_FORMAT_R16G16_UNORM
  • DXGI_FORMAT_R16G16_UINT
  • DXGI_FORMAT_R16G16_SNORM
  • DXGI_FORMAT_R16G16_SINT
  • DXGI_FORMAT_R32_FLOAT
  • DXGI_FORMAT_R32_UINT
  • DXGI_FORMAT_R32_SINT
  • DXGI_FORMAT_R8G8_UNORM
  • DXGI_FORMAT_R8G8_UINT
  • DXGI_FORMAT_R8G8_SNORM
  • DXGI_FORMAT_R8G8_SINT
  • DXGI_FORMAT_R16_FLOAT
  • DXGI_FORMAT_R16_UNORM
  • DXGI_FORMAT_R16_UINT
  • DXGI_FORMAT_R16_SNORM
  • DXGI_FORMAT_R16_SINT
  • DXGI_FORMAT_R8_UNORM
  • DXGI_FORMAT_R8_UINT
  • DXGI_FORMAT_R8_SNORM
  • DXGI_FORMAT_R8_SINT

Direct3D 11 hardware optionally supports these formats for typed unordered-access view (UAV):

  • DXGI_FORMAT_B5G6R5_UNORM
  • DXGI_FORMAT_B5G5R5A1_UNORM
  • DXGI_FORMAT_B4G4R4A4_UNORM

UAV typed store

Direct3D 11 hardware supports these formats for unordered-access view (UAV) typed store (D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE). These formats are the same as for typed UAV.

  • DXGI_FORMAT_R32G32B32A32_FLOAT
  • DXGI_FORMAT_R32G32B32A32_UINT
  • DXGI_FORMAT_R32G32B32A32_SINT
  • DXGI_FORMAT_R16G16B16A16_FLOAT
  • DXGI_FORMAT_R16G16B16A16_UNORM
  • DXGI_FORMAT_R16G16B16A16_UINT
  • DXGI_FORMAT_R16G16B16A16_SNORM
  • DXGI_FORMAT_R16G16B16A16_SINT
  • DXGI_FORMAT_R32G32_FLOAT
  • DXGI_FORMAT_R32G32_UINT
  • DXGI_FORMAT_R32G32_SINT
  • DXGI_FORMAT_R10G10B10A2_UNORM
  • DXGI_FORMAT_R10G10B10A2_UINT
  • DXGI_FORMAT_R11G11B10_FLOAT
  • DXGI_FORMAT_R8G8B8A8_UNORM
  • DXGI_FORMAT_R8G8B8A8_UINT
  • DXGI_FORMAT_R8G8B8A8_SNORM
  • DXGI_FORMAT_R8G8B8A8_SINT
  • DXGI_FORMAT_R16G16_FLOAT
  • DXGI_FORMAT_R16G16_UNORM
  • DXGI_FORMAT_R16G16_UINT
  • DXGI_FORMAT_R16G16_SNORM
  • DXGI_FORMAT_R16G16_SINT
  • DXGI_FORMAT_R32_FLOAT
  • DXGI_FORMAT_R32_UINT
  • DXGI_FORMAT_R32_SINT
  • DXGI_FORMAT_R8G8_UNORM
  • DXGI_FORMAT_R8G8_UINT
  • DXGI_FORMAT_R8G8_SNORM
  • DXGI_FORMAT_R8G8_SINT
  • DXGI_FORMAT_R16_FLOAT
  • DXGI_FORMAT_R16_UNORM
  • DXGI_FORMAT_R16_UINT
  • DXGI_FORMAT_R16_SNORM
  • DXGI_FORMAT_R16_SINT
  • DXGI_FORMAT_R8_UNORM
  • DXGI_FORMAT_R8_UINT
  • DXGI_FORMAT_R8_SNORM
  • DXGI_FORMAT_R8_SINT

Direct3D 11 hardware optionally supports these formats for typed unordered-access view (UAV). These optional formats are the same as for typed UAV.

  • DXGI_FORMAT_B5G6R5_UNORM
  • DXGI_FORMAT_B5G5R5A1_UNORM
  • DXGI_FORMAT_B4G4R4A4_UNORM

UAV typed load

Direct3D 11 hardware supports these formats for unordered-access view (UAV) typed load (D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD):

  • DXGI_FORMAT_R32_FLOAT
  • DXGI_FORMAT_R32_UINT
  • DXGI_FORMAT_R32_SINT

UAV atomic add

Direct3D 11 hardware supports these formats for unordered-access view (UAV) atomic add (D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD):

  • DXGI_FORMAT_R32_UINT
  • DXGI_FORMAT_R32_SINT

UAV atomic bitwise operations

Direct3D 11 hardware supports these formats for unordered-access view (UAV) atomic bitwise operations (D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS):

  • DXGI_FORMAT_R32_UINT
  • DXGI_FORMAT_R32_SINT

UAV atomic compare store and compare exchange

Direct3D 11 hardware supports these formats for unordered-access view (UAV) atomic compare store and compare exchange (D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE):

  • DXGI_FORMAT_R32_UINT
  • DXGI_FORMAT_R32_SINT

UAV atomic exchange

Direct3D 11 hardware supports these formats for unordered-access view (UAV) atomic exchange (D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE):

  • DXGI_FORMAT_R32_FLOAT
  • DXGI_FORMAT_R32_UINT
  • DXGI_FORMAT_R32_SINT

UAV atomic signed minimum and maximum

Direct3D 11 hardware supports these formats for unordered-access view (UAV) atomic signed minimum and maximum (D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX):

  • DXGI_FORMAT_R32_UINT
  • DXGI_FORMAT_R32_SINT

UAV atomic unsigned minimum and maximum

Direct3D 11 hardware supports these formats for unordered-access view (UAV) atomic unsigned minimum and maximum (D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX):

  • DXGI_FORMAT_R32_UINT
  • DXGI_FORMAT_R32_SINT

CPU mapping

Direct3D 11 hardware supports all formats except these for CPU mapping (D3D11_FORMAT_SUPPORT_CPU_LOCKABLE).

  • DXGI_FORMAT_AYUV
  • DXGI_FORMAT_Y410
  • DXGI_FORMAT_Y416
  • DXGI_FORMAT_NV12
  • DXGI_FORMAT_P010
  • DXGI_FORMAT_P016
  • DXGI_FORMAT_420_OPAQUE
  • DXGI_FORMAT_YUY2
  • DXGI_FORMAT_Y210
  • DXGI_FORMAT_Y216
  • DXGI_FORMAT_NV11
  • DXGI_FORMAT_AI44
  • DXGI_FORMAT_IA44
  • DXGI_FORMAT_P8
  • DXGI_FORMAT_A8P8

These formats require DXGI 1.2 or later. DXGI 1.2 types are only supported on systems with Direct3D 11.1 or later.

  • DXGI_FORMAT_B5G6R5_UNORM
  • DXGI_FORMAT_B5G5R5A1_UNORM
  • DXGI_FORMAT_B4G4R4A4_UNORM

4x multisample render targets

Direct3D 11 hardware supports these formats for 4x multisample render targets (D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET):

  • DXGI_FORMAT_R32G32B32A32_FLOAT

  • DXGI_FORMAT_R32G32B32A32_UINT

  • DXGI_FORMAT_R32G32B32A32_SINT

  • DXGI_FORMAT_R32G32B32_FLOAT

  • DXGI_FORMAT_R32G32B32_UINT

  • DXGI_FORMAT_R32G32B32_SINT

  • DXGI_FORMAT_R16G16B16A16_FLOAT

  • DXGI_FORMAT_R16G16B16A16_UNORM

  • DXGI_FORMAT_R16G16B16A16_UINT

  • DXGI_FORMAT_R16G16B16A16_SNORM

  • DXGI_FORMAT_R16G16B16A16_SINT

  • DXGI_FORMAT_R32G32_FLOAT

  • DXGI_FORMAT_R32G32_UINT

  • DXGI_FORMAT_R32G32_SINT

  • DXGI_FORMAT_D32_FLOAT_S8X24_UINT

  • DXGI_FORMAT_R10G10B10A2_UNORM

  • DXGI_FORMAT_R10G10B10A2_UINT

  • DXGI_FORMAT_R11G11B10_FLOAT

  • DXGI_FORMAT_R8G8B8A8_UNORM

  • DXGI_FORMAT_R8G8B8A8_UNORM_SRGB

  • DXGI_FORMAT_R8G8B8A8_UINT

  • DXGI_FORMAT_R8G8B8A8_SNORM

  • DXGI_FORMAT_R8G8B8A8_SINT

  • DXGI_FORMAT_R16G16_FLOAT

  • DXGI_FORMAT_R16G16_UNORM

  • DXGI_FORMAT_R16G16_UINT

  • DXGI_FORMAT_R16G16_SNORM

  • DXGI_FORMAT_R16G16_SINT

  • DXGI_FORMAT_D32_FLOAT

  • DXGI_FORMAT_R32_FLOAT

  • DXGI_FORMAT_R32_UINT

  • DXGI_FORMAT_R32_SINT

  • DXGI_FORMAT_D24_UNORM_S8_UINT

  • DXGI_FORMAT_R8G8_UNORM

  • DXGI_FORMAT_R8G8_UINT

  • DXGI_FORMAT_R8G8_SNORM

  • DXGI_FORMAT_R8G8_SINT

  • DXGI_FORMAT_R16_FLOAT

  • DXGI_FORMAT_D16_UNORM

  • DXGI_FORMAT_R16_UNORM

  • DXGI_FORMAT_R16_UINT

  • DXGI_FORMAT_R16_SNORM

  • DXGI_FORMAT_R16_SINT

  • DXGI_FORMAT_R8_UNORM

  • DXGI_FORMAT_R8_UINT

  • DXGI_FORMAT_R8_SNORM

  • DXGI_FORMAT_R8_SINT

  • DXGI_FORMAT_A8_UNORM

  • 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.

  • DXGI_FORMAT_B8G8R8A8_UNORM

  • DXGI_FORMAT_B8G8R8A8_UNORM_SRGB

  • DXGI_FORMAT_B8G8R8X8_UNORM

  • DXGI_FORMAT_B8G8R8X8_UNORM_SRGB

Direct3D 11 hardware optionally supports these formats for 4x multisample render targets:

  • 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.

  • 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.

8x multisample render targets

Direct3D 11 hardware supports these formats for 8x multisample render targets (D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET):

  • DXGI_FORMAT_R32G32B32_FLOAT

  • DXGI_FORMAT_R32G32B32_UINT

  • DXGI_FORMAT_R32G32B32_SINT

  • DXGI_FORMAT_R16G16B16A16_FLOAT

  • DXGI_FORMAT_R16G16B16A16_UNORM

  • DXGI_FORMAT_R16G16B16A16_UINT

  • DXGI_FORMAT_R16G16B16A16_SNORM

  • DXGI_FORMAT_R16G16B16A16_SINT

  • DXGI_FORMAT_R32G32_FLOAT

  • DXGI_FORMAT_R32G32_UINT

  • DXGI_FORMAT_R32G32_SINT

  • DXGI_FORMAT_D32_FLOAT_S8X24_UINT

  • DXGI_FORMAT_R10G10B10A2_UNORM

  • DXGI_FORMAT_R10G10B10A2_UINT

  • DXGI_FORMAT_R11G11B10_FLOAT

  • DXGI_FORMAT_R8G8B8A8_UNORM

  • DXGI_FORMAT_R8G8B8A8_UNORM_SRGB

  • DXGI_FORMAT_R8G8B8A8_UINT

  • DXGI_FORMAT_R8G8B8A8_SNORM

  • DXGI_FORMAT_R8G8B8A8_SINT

  • DXGI_FORMAT_R16G16_FLOAT

  • DXGI_FORMAT_R16G16_UNORM

  • DXGI_FORMAT_R16G16_UINT

  • DXGI_FORMAT_R16G16_SNORM

  • DXGI_FORMAT_R16G16_SINT

  • DXGI_FORMAT_D32_FLOAT

  • DXGI_FORMAT_R32_FLOAT

  • DXGI_FORMAT_R32_UINT

  • DXGI_FORMAT_R32_SINT

  • DXGI_FORMAT_D24_UNORM_S8_UINT

  • DXGI_FORMAT_R8G8_UNORM

  • DXGI_FORMAT_R8G8_UINT

  • DXGI_FORMAT_R8G8_SNORM

  • DXGI_FORMAT_R8G8_SINT

  • DXGI_FORMAT_R16_FLOAT

  • DXGI_FORMAT_D16_UNORM

  • DXGI_FORMAT_R16_UNORM

  • DXGI_FORMAT_R16_UINT

  • DXGI_FORMAT_R16_SNORM

  • DXGI_FORMAT_R16_SINT

  • DXGI_FORMAT_R8_UNORM

  • DXGI_FORMAT_R8_UINT

  • DXGI_FORMAT_R8_SNORM

  • DXGI_FORMAT_R8_SINT

  • DXGI_FORMAT_A8_UNORM

  • 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.

  • DXGI_FORMAT_B8G8R8A8_UNORM

  • DXGI_FORMAT_B8G8R8A8_UNORM_SRGB

  • DXGI_FORMAT_B8G8R8X8_UNORM

  • DXGI_FORMAT_B8G8R8X8_UNORM_SRGB

Direct3D 11 hardware optionally supports these formats for 8x multisample render targets:

  • DXGI_FORMAT_R32G32B32A32_FLOAT

  • DXGI_FORMAT_R32G32B32A32_UINT

  • DXGI_FORMAT_R32G32B32A32_SINT

  • 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.

  • 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.

Other multisample count render targets

Direct3D 11 hardware supports these formats for other multisample amounts of render targets (D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET):

  • 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.

Direct3D 11 hardware optionally supports these formats for other multisample amounts of render targets:

  • DXGI_FORMAT_R32G32B32A32_FLOAT

  • DXGI_FORMAT_R32G32B32A32_UINT

  • DXGI_FORMAT_R32G32B32A32_SINT

  • DXGI_FORMAT_R32G32B32_FLOAT

  • DXGI_FORMAT_R32G32B32_UINT

  • DXGI_FORMAT_R32G32B32_SINT

  • DXGI_FORMAT_R16G16B16A16_FLOAT

  • DXGI_FORMAT_R16G16B16A16_UNORM

  • DXGI_FORMAT_R16G16B16A16_UINT

  • DXGI_FORMAT_R16G16B16A16_SNORM

  • DXGI_FORMAT_R16G16B16A16_SINT

  • DXGI_FORMAT_R32G32_FLOAT

  • DXGI_FORMAT_R32G32_UINT

  • DXGI_FORMAT_R32G32_SINT

  • DXGI_FORMAT_D32_FLOAT_S8X24_UINT

  • DXGI_FORMAT_R10G10B10A2_UNORM

  • DXGI_FORMAT_R10G10B10A2_UINT

  • DXGI_FORMAT_R11G11B10_FLOAT

  • DXGI_FORMAT_R8G8B8A8_UNORM

  • DXGI_FORMAT_R8G8B8A8_UNORM_SRGB

  • DXGI_FORMAT_R8G8B8A8_UINT

  • DXGI_FORMAT_R8G8B8A8_SNORM

  • DXGI_FORMAT_R8G8B8A8_SINT

  • DXGI_FORMAT_R16G16_FLOAT

  • DXGI_FORMAT_R16G16_UNORM

  • DXGI_FORMAT_R16G16_UINT

  • DXGI_FORMAT_R16G16_SNORM

  • DXGI_FORMAT_R16G16_SINT

  • DXGI_FORMAT_D32_FLOAT

  • DXGI_FORMAT_R32_FLOAT

  • DXGI_FORMAT_R32_UINT

  • DXGI_FORMAT_R32_SINT

  • DXGI_FORMAT_D24_UNORM_S8_UINT

  • DXGI_FORMAT_R8G8_UNORM

  • DXGI_FORMAT_R8G8_UINT

  • DXGI_FORMAT_R8G8_SNORM

  • DXGI_FORMAT_R8G8_SINT

  • DXGI_FORMAT_R16_FLOAT

  • DXGI_FORMAT_D16_UNORM

  • DXGI_FORMAT_R16_UNORM

  • DXGI_FORMAT_R16_UINT

  • DXGI_FORMAT_R16_SNORM

  • DXGI_FORMAT_R16_SINT

  • DXGI_FORMAT_R8_UNORM

  • DXGI_FORMAT_R8_UINT

  • DXGI_FORMAT_R8_SNORM

  • DXGI_FORMAT_R8_SINT

  • DXGI_FORMAT_A8_UNORM

  • 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.

  • DXGI_FORMAT_B8G8R8A8_UNORM

  • DXGI_FORMAT_B8G8R8A8_UNORM_SRGB

  • DXGI_FORMAT_B8G8R8X8_UNORM

  • DXGI_FORMAT_B8G8R8X8_UNORM_SRGB

  • 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.

Multisample resolve

Direct3D 11 hardware supports these formats for multisample resolve (D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE):

  • DXGI_FORMAT_R32G32B32A32_FLOAT

  • DXGI_FORMAT_R32G32B32_FLOAT

  • DXGI_FORMAT_R16G16B16A16_FLOAT

  • DXGI_FORMAT_R16G16B16A16_UNORM

  • DXGI_FORMAT_R16G16B16A16_SNORM

  • DXGI_FORMAT_R32G32_FLOAT

  • DXGI_FORMAT_R10G10B10A2_UNORM

  • DXGI_FORMAT_R11G11B10_FLOAT

  • DXGI_FORMAT_R8G8B8A8_UNORM

  • DXGI_FORMAT_R8G8B8A8_UNORM_SRGB

  • DXGI_FORMAT_R8G8B8A8_SNORM

  • DXGI_FORMAT_R16G16_FLOAT

  • DXGI_FORMAT_R16G16_UNORM

  • DXGI_FORMAT_R16G16_SNORM

  • DXGI_FORMAT_R32_FLOAT

  • DXGI_FORMAT_R24_UNORM_X8_TYPELESS

  • DXGI_FORMAT_R8G8_UNORM

  • DXGI_FORMAT_R8G8_SNORM

  • DXGI_FORMAT_R16_FLOAT

  • DXGI_FORMAT_R16_UNORM

  • DXGI_FORMAT_R16_SNORM

  • DXGI_FORMAT_R8_UNORM

  • DXGI_FORMAT_R8_SNORM

  • DXGI_FORMAT_A8_UNORM

  • 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.

  • DXGI_FORMAT_B8G8R8A8_UNORM

  • DXGI_FORMAT_B8G8R8A8_UNORM_SRGB

  • DXGI_FORMAT_B8G8R8X8_UNORM

  • DXGI_FORMAT_B8G8R8X8_UNORM_SRGB

Direct3D 11 hardware optionally supports these formats for multisample resolve:

  • 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.

  • 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.

Multisample load

Direct3D 11 hardware supports these formats for multisample load (D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD):

  • DXGI_FORMAT_R32G32B32A32_FLOAT

  • DXGI_FORMAT_R32G32B32A32_UINT

  • DXGI_FORMAT_R32G32B32A32_SINT

  • DXGI_FORMAT_R32G32B32_FLOAT

  • DXGI_FORMAT_R32G32B32_UINT

  • DXGI_FORMAT_R32G32B32_SINT

  • DXGI_FORMAT_R16G16B16A16_FLOAT

  • DXGI_FORMAT_R16G16B16A16_UNORM

  • DXGI_FORMAT_R16G16B16A16_UINT

  • DXGI_FORMAT_R16G16B16A16_SNORM

  • DXGI_FORMAT_R16G16B16A16_SINT

  • DXGI_FORMAT_R32G32_FLOAT

  • DXGI_FORMAT_R32G32_UINT

  • DXGI_FORMAT_R32G32_SINT

  • DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS

  • DXGI_FORMAT_X32_TYPELESS_G8X24_UINT

  • DXGI_FORMAT_R10G10B10A2_UNORM

  • DXGI_FORMAT_R10G10B10A2_UINT

  • DXGI_FORMAT_R11G11B10_FLOAT

  • DXGI_FORMAT_R8G8B8A8_UNORM

  • DXGI_FORMAT_R8G8B8A8_UNORM_SRGB

  • DXGI_FORMAT_R8G8B8A8_UINT

  • DXGI_FORMAT_R8G8B8A8_SNORM

  • DXGI_FORMAT_R8G8B8A8_SINT

  • DXGI_FORMAT_R16G16_FLOAT

  • DXGI_FORMAT_R16G16_UNORM

  • DXGI_FORMAT_R16G16_UINT

  • DXGI_FORMAT_R16G16_SNORM

  • DXGI_FORMAT_R16G16_SINT

  • DXGI_FORMAT_R32_FLOAT

  • DXGI_FORMAT_R32_UINT

  • DXGI_FORMAT_R32_SINT

  • DXGI_FORMAT_R24_UNORM_X8_TYPELESS

  • DXGI_FORMAT_X24_TYPELESS_G8_UINT

  • DXGI_FORMAT_R8G8_UNORM

  • DXGI_FORMAT_R8G8_UINT

  • DXGI_FORMAT_R8G8_SNORM

  • DXGI_FORMAT_R8G8_SINT

  • DXGI_FORMAT_R16_FLOAT

  • DXGI_FORMAT_R16_UNORM

  • DXGI_FORMAT_R16_UINT

  • DXGI_FORMAT_R16_SNORM

  • DXGI_FORMAT_R16_SINT

  • DXGI_FORMAT_R8_UNORM

  • DXGI_FORMAT_R8_UINT

  • DXGI_FORMAT_R8_SNORM

  • DXGI_FORMAT_R8_SINT

  • DXGI_FORMAT_A8_UNORM

  • 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.

  • DXGI_FORMAT_B8G8R8A8_UNORM

  • DXGI_FORMAT_B8G8R8A8_UNORM_SRGB

  • DXGI_FORMAT_B8G8R8X8_UNORM

  • DXGI_FORMAT_B8G8R8X8_UNORM_SRGB

Direct3D 11 hardware optionally supports these formats for multisample load:

  • 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.

  • 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.

Display scan-out

Direct3D 11 hardware supports these formats for display scan-out (D3D11_FORMAT_SUPPORT_DISPLAY):

  • DXGI_FORMAT_R16G16B16A16_FLOAT
  • DXGI_FORMAT_R10G10B10A2_UNORM
  • DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM
  • DXGI_FORMAT_R8G8B8A8_UNORM
  • DXGI_FORMAT_R8G8B8A8_UNORM_SRGB
  • DXGI_FORMAT_B8G8R8A8_UNORM
  • DXGI_FORMAT_B8G8R8A8_UNORM_SRGB

Casting within bit layout

Direct3D 11 hardware supports all formats except these for casting data in resources between types without changing the bit layout (D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT):

  • DXGI_FORMAT_UNKNOWN
  • DXGI_FORMAT_R11G11B10_FLOAT
  • DXGI_FORMAT_A8_UNORM
  • DXGI_FORMAT_R9G9B9E5_SHAREDEXP
  • DXGI_FORMAT_R8G8_B8G8_UNORM
  • DXGI_FORMAT_G8R8_G8B8_UNORM
  • DXGI_FORMAT_B5G6R5_UNORM
  • DXGI_FORMAT_B5G5R5A1_UNORM
  • DXGI_FORMAT_AYUV
  • DXGI_FORMAT_Y410
  • DXGI_FORMAT_Y416
  • DXGI_FORMAT_NV12
  • DXGI_FORMAT_P010
  • DXGI_FORMAT_P016
  • DXGI_FORMAT_420_OPAQUE
  • DXGI_FORMAT_YUY2
  • DXGI_FORMAT_Y210
  • DXGI_FORMAT_Y216
  • DXGI_FORMAT_NV11
  • DXGI_FORMAT_AI44
  • DXGI_FORMAT_IA44
  • DXGI_FORMAT_P8
  • DXGI_FORMAT_A8P8
  • DXGI_FORMAT_B4G4R4A4_UNORM

Example: Format target support for DXGI_FORMAT_R32G32B32A32_TYPELESS

Direct3D 11 hardware supports the DXGI_FORMAT_R32G32B32A32_TYPELESS value for these format targets. This means that the hardware implements hardware acceleration for DXGI_FORMAT_R32G32B32A32_TYPELESS with these format targets:

  • Several resource types: Texture1D, Texture2D, Texture3D, TextureCube
  • A mipmap resource
  • CPU mapping of the format
  • A resource whose data can be cast between types without changing the bit layout

D3D12 Hardware Feature Levels

DXGI_FORMAT

D3D11_FORMAT_SUPPORT

D3D11_FORMAT_SUPPORT2