Format Support for Direct3D Feature Level 12.0 Hardware

This section specifies the formats (DXGI_FORMAT values) that are supported in Direct3D Feature Level 12.0 hardware.

The table summarizes the feature support, using the following key.

Symbol Description
- Disallowed or not available.
required Hardware support is required.
optional Hardware support optional, the format may or may not be hardware accelerated.
dependant Required if related optional feature is supported.

 

A format target (listed in the top row) can be a resource type, an HLSL intrinsic function, or a particular functionality that is dependent on a particular format.

To programmatically verify format support in D3D11 and D3D12, refer to Checking Hardware Feature Support.

Note

To scroll to the desired location in these large tables, first minimize the side of the screen for the table of contents. Then you may need to scroll down to the bottom of the page, use the horizontal scroll bar there to select the desired format target, then use the vertical scroll bar to locate the correct table entry.

 

Note

The numbers of the formats are mostly, but not all, in ascending numerical order - some are out of numerical order and listed alongside other relevant formats. Note also that "typeless" in the name can mean "partially typed" and not strictly typeless (refer to the format notes at the end of the table).

 

# Format ( DXGI_FORMAT_* ) Bits Per Element (BPE) Format Support Buffer Input Assembler Vertex Buffer Input Assembler Index Buffer Stream Output Buffer Texture1D Texture2D Texture3D TextureCube # Format ( DXGI_FORMAT_* ) Shader ld Shader sample (any filter) Shader sample_c (comparison filter) Shader sample (mono 1_bit_filter) Shader gather4 Shader gather4_c Mipmap Mipmap Auto-Generation RenderTarget Blendable RenderTarget # Format ( DXGI_FORMAT_* ) Output Merger Logic Op Depth/Stencil Target Raw UAV and SRV Structured UAV and SRV Typed UAV UAV Typed Store UAV Typed Load UAV Atomic Add UAV Atomic Bitwise Ops UAV Atomic Cmp&Store/ Cmp&Exch # Format ( DXGI_FORMAT_* ) UAV Atomic Exchange UAV Atomic Signed Min/Max UAV Atomic Unsigned Min/Max CPU Lockable 4x Multisample RenderTarget 8x Multisample RenderTarget Other Multisample Count RT Multisample Resolve Multisample Load Display Scan-Out # Format ( DXGI_FORMAT_* ) Cast Within Bit Layout Video Decoder Support Video Processor Input Video Processor Output Shared Resource BackBuffer Castable Even Fully Typed Tiled Resource # Format ( DXGI_FORMAT_* )
0 UNKNOWNL 0 required required - - - - - - - 0 UNKNOWN - - - - - - - - - - 0 UNKNOWN - - - required - - - - - - 0 UNKNOWN - - - required - - - - - - 0 UNKNOWN - - - - - - required 0 UNKNOWN
1 R32G32B32A32_TYPELESSPCS 128 required - - - - required required required required 1 R32G32B32A32_TYPELESS - - - - - - required - - - 1 R32G32B32A32_TYPELESS - - - - - - - - - - 1 R32G32B32A32_TYPELESS - - - required - - - - - - 1 R32G32B32A32_TYPELESS required - - - required - required 1 R32G32B32A32_TYPELESS
2 R32G32B32A32_FLOATFCS 128 required required required - required required required required required 2 R32G32B32A32_FLOAT required required - - required - required required required required 2 R32G32B32A32_FLOAT - - - - required required required - - - 2 R32G32B32A32_FLOAT - - - required required optional optional required required - 2 R32G32B32A32_FLOAT required - - - required - required 2 R32G32B32A32_FLOAT
3 R32G32B32A32_UINTFCS 128 required required required - required required required required required 3 R32G32B32A32_UINT required - - - - - required - required - 3 R32G32B32A32_UINT required - - - required required required - - - 3 R32G32B32A32_UINT - - - required required optional optional - required - 3 R32G32B32A32_UINT required - - - required - required 3 R32G32B32A32_UINT
4 R32G32B32A32_SINTFCS 128 required required required - required required required required required 4 R32G32B32A32_SINT required - - - - - required - required - 4 R32G32B32A32_SINT - - - - required required required - - - 4 R32G32B32A32_SINT - - - required required optional optional - required - 4 R32G32B32A32_SINT required - - - required - required 4 R32G32B32A32_SINT
5 R32G32B32_TYPELESSPCS 96 required - - - - required required required required 5 R32G32B32_TYPELESS - - - - - - required - - - 5 R32G32B32_TYPELESS - - - - - - - - - - 5 R32G32B32_TYPELESS - - - required - - - - - - 5 R32G32B32_TYPELESS required - - - - - - 5 R32G32B32_TYPELESS
6 R32G32B32_FLOATFCS 96 required required required - required required required required required 6 R32G32B32_FLOAT required optional - - optional - required optional optional dependant 6 R32G32B32_FLOAT - - - - - - - - - - 6 R32G32B32_FLOAT - - - required dependant dependant optional required required - 6 R32G32B32_FLOAT required - - - - - - 6 R32G32B32_FLOAT
7 R32G32B32_UINTFCS 96 required required required - required required required required required 7 R32G32B32_UINT required - - - - - required - optional - 7 R32G32B32_UINT required - - - - - - - - - 7 R32G32B32_UINT - - - required dependant dependant optional - required - 7 R32G32B32_UINT required - - - - - - 7 R32G32B32_UINT
8 R32G32B32_SINTFCS 96 required required required - required required required required required 8 R32G32B32_SINT required - - - - - required - optional - 8 R32G32B32_SINT - - - - - - - - - - 8 R32G32B32_SINT - - - required dependant dependant optional - required - 8 R32G32B32_SINT required - - - - - - 8 R32G32B32_SINT
9 R16G16B16A16_TYPELESSPCS 64 required - - - - required required required required 9 R16G16B16A16_TYPELESS - - - - - - required - - - 9 R16G16B16A16_TYPELESS - - - - - - - - - - 9 R16G16B16A16_TYPELESS - - - required - - - - - - 9 R16G16B16A16_TYPELESS required - - - required - required 9 R16G16B16A16_TYPELESS
10 R16G16B16A16_FLOATFCS 64 required required required - - required required required required 10 R16G16B16A16_FLOAT required required - - required - required required required required 10 R16G16B16A16_FLOAT - - - - required required required - - - 10 R16G16B16A16_FLOAT - - - required required required optional required required required 10 R16G16B16A16_FLOAT required - optional required required - required 10 R16G16B16A16_FLOAT
11 R16G16B16A16_UNORMFCS 64 required required required - - required required required required 11 R16G16B16A16_UNORM required required - - required - required required required required 11 R16G16B16A16_UNORM - - - - required required optional - - - 11 R16G16B16A16_UNORM - - - required required required optional required required - 11 R16G16B16A16_UNORM required - - - required - required 11 R16G16B16A16_UNORM
12 R16G16B16A16_UINTFCS 64 required required required - - required required required required 12 R16G16B16A16_UINT required - - - - - required - required - 12 R16G16B16A16_UINT required - - - required required required - - - 12 R16G16B16A16_UINT - - - required required required optional - required - 12 R16G16B16A16_UINT required - - - required - required 12 R16G16B16A16_UINT
13 R16G16B16A16_SNORMFCS 64 required required required - - required required required required 13 R16G16B16A16_SNORM required required - - required - required required required required 13 R16G16B16A16_SNORM - - - - required required optional - - - 13 R16G16B16A16_SNORM - - - required required required optional required required - 13 R16G16B16A16_SNORM required - - - required - required 13 R16G16B16A16_SNORM
14 R16G16B16A16_SINTFCS 64 required required required - - required required required required 14 R16G16B16A16_SINT required - - - - - required - required - 14 R16G16B16A16_SINT - - - - required required required - - - 14 R16G16B16A16_SINT - - - required required required optional - required - 14 R16G16B16A16_SINT required - - - required - required 14 R16G16B16A16_SINT
15 R32G32_TYPELESSPCS 64 required - - - - required required required required 15 R32G32_TYPELESS - - - - - - required - - - 15 R32G32_TYPELESS - - - - - - - - - - 15 R32G32_TYPELESS - - - required - - - - - - 15 R32G32_TYPELESS required - - - - - required 15 R32G32_TYPELESS
16 R32G32_FLOATFCS 64 required required required - required required required required required 16 R32G32_FLOAT required required - - required - required required required required 16 R32G32_FLOAT - - - - required required optional - - - 16 R32G32_FLOAT - - - required required required optional required required - 16 R32G32_FLOAT required - - - - - required 16 R32G32_FLOAT
17 R32G32_UINTFCS 64 required required required - required required required required required 17 R32G32_UINT required - - - - - required - required - 17 R32G32_UINT required - - - required required optional - - - 17 R32G32_UINT - - - required required required optional - required - 17 R32G32_UINT required - - - - - required 17 R32G32_UINT
18 R32G32_SINTFCS 64 required required required - required required required required required 18 R32G32_SINT required - - - - - required - required - 18 R32G32_SINT - - - - required required optional - - - 18 R32G32_SINT - - - required required required optional - required - 18 R32G32_SINT required - - - - - required 18 R32G32_SINT
19 R32G8X24_TYPELESS 64 required - - - - required required - required 19 R32G8X24_TYPELESS - - - - - - required - - - 19 R32G8X24_TYPELESS - - - - - - - - - - 19 R32G8X24_TYPELESS - - - required - - - - - - 19 R32G8X24_TYPELESS required - - - - - - 19 R32G8X24_TYPELESS
# Format ( DXGI_FORMAT_* ) Bits Per Element (BPE) Format Support Buffer Input Assembler Vertex Buffer Input Assembler Index Buffer Stream Output Buffer Texture1D Texture2D Texture3D TextureCube # Format ( DXGI_FORMAT_* ) Shader ld Shader sample (any filter) Shader sample_c (comparison filter) Shader sample (mono 1_bit_filter) Shader gather4 Shader gather4_c Mipmap Mipmap Auto-Generation RenderTarget Blendable RenderTarget # Format ( DXGI_FORMAT_* ) Output Merger Logic Op Depth/Stencil Target Raw UAV and SRV Structured UAV and SRV Typed UAV UAV Typed Store UAV Typed Load UAV Atomic Add UAV Atomic Bitwise Ops UAV Atomic Cmp&Store/ Cmp&Exch # Format ( DXGI_FORMAT_* ) UAV Atomic Exchange UAV Atomic Signed Min/Max UAV Atomic Unsigned Min/Max CPU Lockable 4x Multisample RenderTarget 8x Multisample RenderTarget Other Multisample Count RT Multisample Resolve Multisample Load Display Scan-Out # Format ( DXGI_FORMAT_* ) Cast Within Bit Layout Video Decoder Support Video Processor Input Video Processor Output Shared Resource BackBuffer Castable Even Fully Typed Tiled Resource # Format ( DXGI_FORMAT_* )
20 D32_FLOAT_S8X24_UINT 64 required - - - - required required - required 20 D32_FLOAT_S8X24_UINT - - - - - - required - - - 20 D32_FLOAT_S8X24_UINT - required - - - - - - - - 20 D32_FLOAT_S8X24_UINT - - - required required required optional - - - 20 D32_FLOAT_S8X24_UINT required - - - - - - 20 D32_FLOAT_S8X24_UINT
21 R32_FLOAT_X8X24_TYPELESS 64 required - - - - required required - required 21 R32_FLOAT_X8X24_TYPELESS required required required - required required required - - - 21 R32_FLOAT_X8X24_TYPELESS - - - - - - - - - - 21 R32_FLOAT_X8X24_TYPELESS - - - required - - - - required - 21 R32_FLOAT_X8X24_TYPELESS required - - - - - - 21 R32_FLOAT_X8X24_TYPELESS
22 X32_TYPELESS_G8X24_UINT 64 required - - - - required required - required 22 X32_TYPELESS_G8X24_UINT required - - - - - required - - - 22 X32_TYPELESS_G8X24_UINT - - - - - - - - - - 22 X32_TYPELESS_G8X24_UINT - - - required - - - - required - 22 X32_TYPELESS_G8X24_UINT required - - - - - - 22 X32_TYPELESS_G8X24_UINT
23 R10G10B10A2_TYPELESSPCS 32 required - - - - required required required required 23 R10G10B10A2_TYPELESS - - - - - - required - - - 23 R10G10B10A2_TYPELESS - - - - - - - - - - 23 R10G10B10A2_TYPELESS - - - required - - - - - - 23 R10G10B10A2_TYPELESS required - - - required - required 23 R10G10B10A2_TYPELESS
24 R10G10B10A2_UNORMFCS 32 required required required - - required required required required 24 R10G10B10A2_UNORM required required - - required - required required required required 24 R10G10B10A2_UNORM - - - - required required optional - - - 24 R10G10B10A2_UNORM - - - required required required optional required required required 24 R10G10B10A2_UNORM required - optional required required required required 24 R10G10B10A2_UNORM
25 R10G10B10A2_UINTFCS 32 required required required - - required required required required 25 R10G10B10A2_UINT required - - - - - required - required - 25 R10G10B10A2_UINT required - - - required required optional - - - 25 R10G10B10A2_UINT - - - required required required optional - required - 25 R10G10B10A2_UINT required - - - required - required 25 R10G10B10A2_UINT
89 R10G10B10_XR_BIAS_A2_UNORMFCS 32 required - - - - - required - - 89 R10G10B10_XR_BIAS_A2_UNORM - - - - - - - - - - 89 R10G10B10_XR_BIAS_A2_UNORM - - - - - - - - - - 89 R10G10B10_XR_BIAS_A2_UNORM - - - required - - - - - required 89 R10G10B10_XR_BIAS_A2_UNORM required - optional required required required required 89 R10G10B10_XR_BIAS_A2_UNORM
26 R11G11B10_FLOATFNS 32 required required required - - required required required required 26 R11G11B10_FLOAT required required - - required - required required required required 26 R11G11B10_FLOAT - - - - required required optional - - - 26 R11G11B10_FLOAT - - - required required required optional required required - 26 R11G11B10_FLOAT - - - - - - required 26 R11G11B10_FLOAT
27 R8G8B8A8_TYPELESSPCS 32 required - - - - required required required required 27 R8G8B8A8_TYPELESS - - - - - - required - - - 27 R8G8B8A8_TYPELESS - - - - - - - - - - 27 R8G8B8A8_TYPELESS - - - required - - - - - - 27 R8G8B8A8_TYPELESS required - - - required - required 27 R8G8B8A8_TYPELESS
28 R8G8B8A8_UNORMFCS 32 required required required - - required required required required 28 R8G8B8A8_UNORM required required - - required - required required required required 28 R8G8B8A8_UNORM - - - - required required required - - - 28 R8G8B8A8_UNORM - - - required required required optional required required required 28 R8G8B8A8_UNORM required - optional required required required required 28 R8G8B8A8_UNORM
29 R8G8B8A8_UNORM_SRGBFCS 32 required - - - - required required required required 29 R8G8B8A8_UNORM_SRGB required required - - required - required required required required 29 R8G8B8A8_UNORM_SRGB - - - - - - - - - - 29 R8G8B8A8_UNORM_SRGB - - - required required required optional required required required 29 R8G8B8A8_UNORM_SRGB required - optional required required required required 29 R8G8B8A8_UNORM_SRGB
30 R8G8B8A8_UINTFCS 32 required required required - - required required required required 30 R8G8B8A8_UINT required - - - - - required - required - 30 R8G8B8A8_UINT required - - - required required required - - - 30 R8G8B8A8_UINT - - - required required required optional - required - 30 R8G8B8A8_UINT required - - - required - required 30 R8G8B8A8_UINT
31 R8G8B8A8_SNORMFCS 32 required required required - - required required required required 31 R8G8B8A8_SNORM required required - - required - required required required required 31 R8G8B8A8_SNORM - - - - required required optional - - - 31 R8G8B8A8_SNORM - - - required required required optional required required - 31 R8G8B8A8_SNORM required - - - required - required 31 R8G8B8A8_SNORM
32 R8G8B8A8_SINTFCS 32 required required required - - required required required required 32 R8G8B8A8_SINT required - - - - - required - required - 32 R8G8B8A8_SINT - - - - required required required - - - 32 R8G8B8A8_SINT - - - required required required optional - required - 32 R8G8B8A8_SINT required - - - required - required 32 R8G8B8A8_SINT
33 R16G16_TYPELESSPCS 32 required - - - - required required required required 33 R16G16_TYPELESS - - - - - - required - - - 33 R16G16_TYPELESS - - - - - - - - - - 33 R16G16_TYPELESS - - - required - - - - - - 33 R16G16_TYPELESS required - - - - - required 33 R16G16_TYPELESS
34 R16G16_FLOATFCS 32 required required required - - required required required required 34 R16G16_FLOAT required required - - required - required required required required 34 R16G16_FLOAT - - - - required required optional - - - 34 R16G16_FLOAT - - - required required required optional required required - 34 R16G16_FLOAT required - - - - - required 34 R16G16_FLOAT
35 R16G16_UNORMFCS 32 required required required - - required required required required 35 R16G16_UNORM required required - - required - required required required required 35 R16G16_UNORM - - - - required required optional - - - 35 R16G16_UNORM - - - required required required optional required required - 35 R16G16_UNORM required - - - - - required 35 R16G16_UNORM
36 R16G16_UINTFCS 32 required required required - - required required required required 36 R16G16_UINT required - - - - - required - required - 36 R16G16_UINT required - - - required required optional - - - 36 R16G16_UINT - - - required required required optional - required - 36 R16G16_UINT required - - - - - required 36 R16G16_UINT
37 R16G16_SNORMFCS 32 required required required - - required required required required 37 R16G16_SNORM required required - - required - required required required required 37 R16G16_SNORM - - - - required required optional - - - 37 R16G16_SNORM - - - required required required optional required required - 37 R16G16_SNORM required - - - - - required 37 R16G16_SNORM
38 R16G16_SINTFCS 32 required required required - - required required required required 38 R16G16_SINT required - - - - - required - required - 38 R16G16_SINT - - - - required required optional - - - 38 R16G16_SINT - - - required required required optional - required - 38 R16G16_SINT required - - - - - required 38 R16G16_SINT
39 R32_TYPELESSPCS 32 required - - - - required required required required 39 R32_TYPELESS - - - - - - required - - - 39 R32_TYPELESS - - required - - - - - - - 39 R32_TYPELESS - - - required - - - - - - 39 R32_TYPELESS required - - - required - required 39 R32_TYPELESS
# Format ( DXGI_FORMAT_* ) Bits Per Element (BPE) Format Support Buffer Input Assembler Vertex Buffer Input Assembler Index Buffer Stream Output Buffer Texture1D Texture2D Texture3D TextureCube # Format ( DXGI_FORMAT_* ) Shader ld Shader sample (any filter) Shader sample_c (comparison filter) Shader sample (mono 1_bit_filter) Shader gather4 Shader gather4_c Mipmap Mipmap Auto-Generation RenderTarget Blendable RenderTarget # Format ( DXGI_FORMAT_* ) Output Merger Logic Op Depth/Stencil Target Raw UAV and SRV Structured UAV and SRV Typed UAV UAV Typed Store UAV Typed Load UAV Atomic Add UAV Atomic Bitwise Ops UAV Atomic Cmp&Store/ Cmp&Exch # Format ( DXGI_FORMAT_* ) UAV Atomic Exchange UAV Atomic Signed Min/Max UAV Atomic Unsigned Min/Max CPU Lockable 4x Multisample RenderTarget 8x Multisample RenderTarget Other Multisample Count RT Multisample Resolve Multisample Load Display Scan-Out # Format ( DXGI_FORMAT_* ) Cast Within Bit Layout Video Decoder Support Video Processor Input Video Processor Output Shared Resource BackBuffer Castable Even Fully Typed Tiled Resource # Format ( DXGI_FORMAT_* )
40 D32_FLOATFCS 32 required - - - - required required - required 40 D32_FLOAT - - - - - - required - - - 40 D32_FLOAT - required - - - - - - - - 40 D32_FLOAT - - - required required required optional - - - 40 D32_FLOAT required - - - required - required 40 D32_FLOAT
41 R32_FLOATFCS 32 required required required - required required required required required 41 R32_FLOAT required required required - required required required required required required 41 R32_FLOAT - - - - required required required - - - 41 R32_FLOAT required - - required required required optional required required - 41 R32_FLOAT required - - - required - required 41 R32_FLOAT
42 R32_UINTFCS 32 required required required required required required required required required 42 R32_UINT required - - - - - required - required - 42 R32_UINT required - - - required required required required required required 42 R32_UINT required required required required required required optional - required - 42 R32_UINT required - - - required - required 42 R32_UINT
43 R32_SINTFCS 32 required required required - required required required required required 43 R32_SINT required - - - - - required - required - 43 R32_SINT - - - - required required required required required required 43 R32_SINT required required required required required required optional - required - 43 R32_SINT required - - - required - required 43 R32_SINT
44 R24G8_TYPELESS 32 required - - - - required required - required 44 R24G8_TYPELESS - - - - - - required - - - 44 R24G8_TYPELESS - - - - - - - - - - 44 R24G8_TYPELESS - - - required - - - - - - 44 R24G8_TYPELESS required - - - - - - 44 R24G8_TYPELESS
45 D24_UNORM_S8_UINT 32 required - - - - required required - required 45 D24_UNORM_S8_UINT - - - - - - required - - - 45 D24_UNORM_S8_UINT - required - - - - - - - - 45 D24_UNORM_S8_UINT - - - required required required optional - - - 45 D24_UNORM_S8_UINT required - - - - - - 45 D24_UNORM_S8_UINT
46 R24_UNORM_X8_TYPELESS 32 required - - - - required required - required 46 R24_UNORM_X8_TYPELESS required required required - required required required - - - 46 R24_UNORM_X8_TYPELESS - - - - - - - - - - 46 R24_UNORM_X8_TYPELESS - - - required - - - - required - 46 R24_UNORM_X8_TYPELESS required - - - - - - 46 R24_UNORM_X8_TYPELESS
47 X24_TYPELESS_G8_UINT 32 required - - - - required required - required 47 X24_TYPELESS_G8_UINT required - - - - - required - - - 47 X24_TYPELESS_G8_UINT - - - - - - - - - - 47 X24_TYPELESS_G8_UINT - - - required - - - - required - 47 X24_TYPELESS_G8_UINT required - - - - - - 47 X24_TYPELESS_G8_UINT
48 R8G8_TYPELESSPCS 16 required - - - - required required required required 48 R8G8_TYPELESS - - - - - - required - - - 48 R8G8_TYPELESS - - - - - - - - - - 48 R8G8_TYPELESS - - - required - - - - - - 48 R8G8_TYPELESS required - - - - - required 48 R8G8_TYPELESS
49 R8G8_UNORMFCS 16 required required required - - required required required required 49 R8G8_UNORM required required - - required - required required required required 49 R8G8_UNORM - - - - required required optional - - - 49 R8G8_UNORM - - - required required required optional required required - 49 R8G8_UNORM required - - - required - required 49 R8G8_UNORM
50 R8G8_UINTFCS 16 required required required - - required required required required 50 R8G8_UINT required - - - - - required - required - 50 R8G8_UINT required - - - required required optional - - - 50 R8G8_UINT - - - required required required optional - required - 50 R8G8_UINT required - - - - - required 50 R8G8_UINT
51 R8G8_SNORMFCS 16 required required required - - required required required required 51 R8G8_SNORM required required - - required - required required required required 51 R8G8_SNORM - - - - required required optional - - - 51 R8G8_SNORM - - - required required required optional required required - 51 R8G8_SNORM required - - - - - required 51 R8G8_SNORM
52 R8G8_SINTFCS 16 required required required - - required required required required 52 R8G8_SINT required - - - - - required - required - 52 R8G8_SINT - - - - required required optional - - - 52 R8G8_SINT - - - required required required optional - required - 52 R8G8_SINT required - - - - - required 52 R8G8_SINT
53 R16_TYPELESSPCS 16 required - - - - required required required required 53 R16_TYPELESS - - - - - - required - - - 53 R16_TYPELESS - - - - - - - - - - 53 R16_TYPELESS - - - required - - - - - - 53 R16_TYPELESS required - - - required - required 53 R16_TYPELESS
54 R16_FLOATFCS 16 required required required - - required required required required 54 R16_FLOAT required required - - required - required required required required 54 R16_FLOAT - - - - required required required - - - 54 R16_FLOAT - - - required required required optional required required - 54 R16_FLOAT required - - - required - required 54 R16_FLOAT
55 D16_UNORMFCS 16 required - - - - required required - required 55 D16_UNORM - - - - - - required - - - 55 D16_UNORM - required - - - - - - - - 55 D16_UNORM - - - required required required optional - - - 55 D16_UNORM required - - - required - required 55 D16_UNORM
56 R16_UNORMFCS 16 required required required - - required required required required 56 R16_UNORM required required required - required required required required required required 56 R16_UNORM - - - - required required optional - - - 56 R16_UNORM - - - required required required optional required required - 56 R16_UNORM required - - - required - required 56 R16_UNORM
57 R16_UINTFCS 16 required required required required - required required required required 57 R16_UINT required - - - - - required - required - 57 R16_UINT required - - - required required required - - - 57 R16_UINT - - - required required required optional - required - 57 R16_UINT required - - - required - required 57 R16_UINT
58 R16_SNORMFCS 16 required required required - - required required required required 58 R16_SNORM required required - - required - required required required required 58 R16_SNORM - - - - required required optional - - - 58 R16_SNORM - - - required required required optional required required - 58 R16_SNORM required - - - required - required 58 R16_SNORM
59 R16_SINTFCS 16 required required required - - required required required required 59 R16_SINT required - - - - - required - required - 59 R16_SINT - - - - required required required - - - 59 R16_SINT - - - required required required optional - required - 59 R16_SINT required - - - required - required 59 R16_SINT
# Format ( DXGI_FORMAT_* ) Bits Per Element (BPE) Format Support Buffer Input Assembler Vertex Buffer Input Assembler Index Buffer Stream Output Buffer Texture1D Texture2D Texture3D TextureCube # Format ( DXGI_FORMAT_* ) Shader ld Shader sample (any filter) Shader sample_c (comparison filter) Shader sample (mono 1_bit_filter) Shader gather4 Shader gather4_c Mipmap Mipmap Auto-Generation RenderTarget Blendable RenderTarget # Format ( DXGI_FORMAT_* ) Output Merger Logic Op Depth/Stencil Target Raw UAV and SRV Structured UAV and SRV Typed UAV UAV Typed Store UAV Typed Load UAV Atomic Add UAV Atomic Bitwise Ops UAV Atomic Cmp&Store/ Cmp&Exch # Format ( DXGI_FORMAT_* ) UAV Atomic Exchange UAV Atomic Signed Min/Max UAV Atomic Unsigned Min/Max CPU Lockable 4x Multisample RenderTarget 8x Multisample RenderTarget Other Multisample Count RT Multisample Resolve Multisample Load Display Scan-Out # Format ( DXGI_FORMAT_* ) Cast Within Bit Layout Video Decoder Support Video Processor Input Video Processor Output Shared Resource BackBuffer Castable Even Fully Typed Tiled Resource # Format ( DXGI_FORMAT_* )
60 R8_TYPELESSPCS 8 required - - - - required required required required 60 R8_TYPELESS - - - - - - required - - - 60 R8_TYPELESS - - - - - - - - - - 60 R8_TYPELESS - - - required - - - - - - 60 R8_TYPELESS required - - - required - required 60 R8_TYPELESS
61 R8_UNORMFCS 8 required required required - - required required required required 61 R8_UNORM required required - - required - required required required required 61 R8_UNORM - - - - required required required - - - 61 R8_UNORM - - - required required required optional required required - 61 R8_UNORM required - - - required - required 61 R8_UNORM
62 R8_UINTFCS 8 required required required - - required required required required 62 R8_UINT required - - - - - required - required - 62 R8_UINT required - - - required required required - - - 62 R8_UINT - - - required required required optional - required - 62 R8_UINT required - - - required - required 62 R8_UINT
63 R8_SNORMFCS 8 required required required - - required required required required 63 R8_SNORM required required - - required - required required required required 63 R8_SNORM - - - - required required optional - - - 63 R8_SNORM - - - required required required optional required required - 63 R8_SNORM required - - - required - required 63 R8_SNORM
64 R8_SINTFCS 8 required required required - - required required required required 64 R8_SINT required - - - - - required - required - 64 R8_SINT - - - - required required required - - - 64 R8_SINT - - - required required required optional - required - 64 R8_SINT required - - - required - required 64 R8_SINT
65 A8_UNORMFNS 8 required - - - - required required required required 65 A8_UNORM required required - - required - required required required required 65 A8_UNORM - - - - required required optional - - - 65 A8_UNORM - - - required required required optional required required - 65 A8_UNORM - - - - required - required 65 A8_UNORM
67 R9G9B9E5_SHAREDEXPFNC 32 required - - - - required required required required 67 R9G9B9E5_SHAREDEXP required required - - required - required - - - 67 R9G9B9E5_SHAREDEXP - - - - - - - - - - 67 R9G9B9E5_SHAREDEXP - - - required - - - - - - 67 R9G9B9E5_SHAREDEXP - - - - - - required 67 R9G9B9E5_SHAREDEXP
68 R8G8_B8G8_UNORMFNC 16 required - - - - required required required required 68 R8G8_B8G8_UNORM required required - - required - required - - - 68 R8G8_B8G8_UNORM - - - - - - - - - - 68 R8G8_B8G8_UNORM - - - required - - - - - - 68 R8G8_B8G8_UNORM - - - - - - - 68 R8G8_B8G8_UNORM
69 G8R8_G8B8_UNORMFNC 16 required - - - - required required required required 69 G8R8_G8B8_UNORM required required - - required - required - - - 69 G8R8_G8B8_UNORM - - - - - - - - - - 69 G8R8_G8B8_UNORM - - - required - - - - - - 69 G8R8_G8B8_UNORM - - - - - - - 69 G8R8_G8B8_UNORM
70 BC1_TYPELESSPCC 64 required - - - - - required required required 70 BC1_TYPELESS - - - - - - required - - - 70 BC1_TYPELESS - - - - - - - - - - 70 BC1_TYPELESS - - - required - - - - - - 70 BC1_TYPELESS required - - - required - required 70 BC1_TYPELESS
71 BC1_UNORM FCC 64 required - - - - - required required required 71 BC1_UNORM required required - - required - required - - - 71 BC1_UNORM - - - - - - - - - - 71 BC1_UNORM - - - required - - - - - - 71 BC1_UNORM required - - - required - required 71 BC1_UNORM
72 BC1_UNORM_SRGB FCC 64 required - - - - - required required required 72 BC1_UNORM_SRGB required required - - required - required - - - 72 BC1_UNORM_SRGB - - - - - - - - - - 72 BC1_UNORM_SRGB - - - required - - - - - - 72 BC1_UNORM_SRGB required - - - required - required 72 BC1_UNORM_SRGB
73 BC2_TYPELESSPCC 128 required - - - - - required required required 73 BC2_TYPELESS - - - - - - required - - - 73 BC2_TYPELESS - - - - - - - - - - 73 BC2_TYPELESS - - - required - - - - - - 73 BC2_TYPELESS required - - - required - required 73 BC2_TYPELESS
74 BC2_UNORM FCC 128 required - - - - - required required required 74 BC2_UNORM required required - - required - required - - - 74 BC2_UNORM - - - - - - - - - - 74 BC2_UNORM - - - required - - - - - - 74 BC2_UNORM required - - - required - required 74 BC2_UNORM
75 BC2_UNORM_SRGB FCC 128 required - - - - - required required required 75 BC2_UNORM_SRGB required required - - required - required - - - 75 BC2_UNORM_SRGB - - - - - - - - - - 75 BC2_UNORM_SRGB - - - required - - - - - - 75 BC2_UNORM_SRGB required - - - required - required 75 BC2_UNORM_SRGB
76 BC3_TYPELESSPCC 128 required - - - - - required required required 76 BC3_TYPELESS - - - - - - required - - - 76 BC3_TYPELESS - - - - - - - - - - 76 BC3_TYPELESS - - - required - - - - - - 76 BC3_TYPELESS required - - - required - required 76 BC3_TYPELESS
77 BC3_UNORM FCC 128 required - - - - - required required required 77 BC3_UNORM required required - - required - required - - - 77 BC3_UNORM - - - - - - - - - - 77 BC3_UNORM - - - required - - - - - - 77 BC3_UNORM required - - - required - required 77 BC3_UNORM
78 BC3_UNORM_SRGB FCC 128 required - - - - - required required required 78 BC3_UNORM_SRGB required required - - required - required - - - 78 BC3_UNORM_SRGB - - - - - - - - - - 78 BC3_UNORM_SRGB - - - required - - - - - - 78 BC3_UNORM_SRGB required - - - required - required 78 BC3_UNORM_SRGB
79 BC4_TYPELESSPCC 64 required - - - - - required required required 79 BC4_TYPELESS - - - - - - required - - - 79 BC4_TYPELESS - - - - - - - - - - 79 BC4_TYPELESS - - - required - - - - - - 79 BC4_TYPELESS required - - - - - required 79 BC4_TYPELESS
# Format ( DXGI_FORMAT_* ) Bits Per Element (BPE) Format Support Buffer Input Assembler Vertex Buffer Input Assembler Index Buffer Stream Output Buffer Texture1D Texture2D Texture3D TextureCube # Format ( DXGI_FORMAT_* ) Shader ld Shader sample (any filter) Shader sample_c (comparison filter) Shader sample (mono 1_bit_filter) Shader gather4 Shader gather4_c Mipmap Mipmap Auto-Generation RenderTarget Blendable RenderTarget # Format ( DXGI_FORMAT_* ) Output Merger Logic Op Depth/Stencil Target Raw UAV and SRV Structured UAV and SRV Typed UAV UAV Typed Store UAV Typed Load UAV Atomic Add UAV Atomic Bitwise Ops UAV Atomic Cmp&Store/ Cmp&Exch # Format ( DXGI_FORMAT_* ) UAV Atomic Exchange UAV Atomic Signed Min/Max UAV Atomic Unsigned Min/Max CPU Lockable 4x Multisample RenderTarget 8x Multisample RenderTarget Other Multisample Count RT Multisample Resolve Multisample Load Display Scan-Out # Format ( DXGI_FORMAT_* ) Cast Within Bit Layout Video Decoder Support Video Processor Input Video Processor Output Shared Resource BackBuffer Castable Even Fully Typed Tiled Resource # Format ( DXGI_FORMAT_* )
80 BC4_UNORM FCC 64 required - - - - - required required required 80 BC4_UNORM required required - - required - required - - - 80 BC4_UNORM - - - - - - - - - - 80 BC4_UNORM - - - required - - - - - - 80 BC4_UNORM required - - - - - required 80 BC4_UNORM
81 BC4_SNORM FCC 64 required - - - - - required required required 81 BC4_SNORM required required - - required - required - - - 81 BC4_SNORM - - - - - - - - - - 81 BC4_SNORM - - - required - - - - - - 81 BC4_SNORM required - - - - - required 81 BC4_SNORM
82 BC5_TYPELESSPCC 128 required - - - - - required required required 82 BC5_TYPELESS - - - - - - required - - - 82 BC5_TYPELESS - - - - - - - - - - 82 BC5_TYPELESS - - - required - - - - - - 82 BC5_TYPELESS required - - - - - required 82 BC5_TYPELESS
83 BC5_UNORM FCC 128 required - - - - - required required required 83 BC5_UNORM required required - - required - required - - - 83 BC5_UNORM - - - - - - - - - - 83 BC5_UNORM - - - required - - - - - - 83 BC5_UNORM required - - - - - required 83 BC5_UNORM
84 BC5_SNORM FCC 128 required - - - - - required required required 84 BC5_SNORM required required - - required - required - - - 84 BC5_SNORM - - - - - - - - - - 84 BC5_SNORM - - - required - - - - - - 84 BC5_SNORM required - - - - - required 84 BC5_SNORM
85 B5G6R5_UNORMFNS 16 required optional optional - - required required required required 85 B5G6R5_UNORM required required - - required - required required required required 85 B5G6R5_UNORM - - - - optional optional optional - - - 85 B5G6R5_UNORM - - - required required required required required required - 85 B5G6R5_UNORM - - - - - - required 85 B5G6R5_UNORM
86 B5G5R5A1_UNORMFNS 16 required optional optional - - required required required required 86 B5G5R5A1_UNORM required required - - required - required optional optional optional 86 B5G5R5A1_UNORM - - - - optional optional optional - - - 86 B5G5R5A1_UNORM - - - required optional optional optional required optional - 86 B5G5R5A1_UNORM - - - - - - required 86 B5G5R5A1_UNORM
90 B8G8R8A8_TYPELESSPCS 32 required - - - - required required required required 90 B8G8R8A8_TYPELESS - - - - - - required - - - 90 B8G8R8A8_TYPELESS - - - - - - - - - - 90 B8G8R8A8_TYPELESS - - - required - - - - - - 90 B8G8R8A8_TYPELESS required - - - required - required 90 B8G8R8A8_TYPELESS
87 B8G8R8A8_UNORMFCS 32 required required required - - required required required required 87 B8G8R8A8_UNORM required required - - required - required required required required 87 B8G8R8A8_UNORM - - - - - - - - - - 87 B8G8R8A8_UNORM - - - required required required optional required required required 87 B8G8R8A8_UNORM required - optional required required required required 87 B8G8R8A8_UNORM
91 B8G8R8A8_UNORM_SRGBFCS 32 required - - - - required required required required 91 B8G8R8A8_UNORM_SRGB required required - - required - required required required required 91 B8G8R8A8_UNORM_SRGB - - - - - - - - - - 91 B8G8R8A8_UNORM_SRGB - - - required required required optional required required required 91 B8G8R8A8_UNORM_SRGB required - optional required required required required 91 B8G8R8A8_UNORM_SRGB
92 B8G8R8X8_TYPELESSPCS 32 required - - - - required required required required 92 B8G8R8X8_TYPELESS - - - - - - required - - - 92 B8G8R8X8_TYPELESS - - - - - - - - - - 92 B8G8R8X8_TYPELESS - - - required - - - - - - 92 B8G8R8X8_TYPELESS required - - - required - required 92 B8G8R8X8_TYPELESS
88 B8G8R8X8_UNORMFCS 32 required required required - - required required required required 88 B8G8R8X8_UNORM required required - - required - required required required required 88 B8G8R8X8_UNORM - - - - - - - - - - 88 B8G8R8X8_UNORM - - - required required required optional required required - 88 B8G8R8X8_UNORM required - optional optional required - required 88 B8G8R8X8_UNORM
93 B8G8R8X8_UNORM_SRGBFCS 32 required - - - - required required required required 93 B8G8R8X8_UNORM_SRGB required required - - required - required required required required 93 B8G8R8X8_UNORM_SRGB - - - - - - - - - - 93 B8G8R8X8_UNORM_SRGB - - - required required required optional required required - 93 B8G8R8X8_UNORM_SRGB required - - - required - required 93 B8G8R8X8_UNORM_SRGB
94 BC6H_TYPELESSPCC 128 required - - - - - required required required 94 BC6H_TYPELESS - - - - - - required - - - 94 BC6H_TYPELESS - - - - - - - - - - 94 BC6H_TYPELESS - - - required - - - - - - 94 BC6H_TYPELESS required - - - - - required 94 BC6H_TYPELESS
95 BC6H_UF16 FCC 128 required - - - - - required required required 95 BC6H_UF16 required required - - required - required - - - 95 BC6H_UF16 - - - - - - - - - - 95 BC6H_UF16 - - - required - - - - - - 95 BC6H_UF16 required - - - - - required 95 BC6H_UF16
96 BC6H_SF16 FCC 128 required - - - - - required required required 96 BC6H_SF16 required required - - required - required - - - 96 BC6H_SF16 - - - - - - - - - - 96 BC6H_SF16 - - - required - - - - - - 96 BC6H_SF16 required - - - - - required 96 BC6H_SF16
97 BC7_TYPELESSPCC 128 required - - - - - required required required 97 BC7_TYPELESS - - - - - - required - - - 97 BC7_TYPELESS - - - - - - - - - - 97 BC7_TYPELESS - - - required - - - - - - 97 BC7_TYPELESS required - - - - - required 97 BC7_TYPELESS
98 BC7_UNORM FCC 128 required - - - - - required required required 98 BC7_UNORM required required - - required - required - - - 98 BC7_UNORM - - - - - - - - - - 98 BC7_UNORM - - - required - - - - - - 98 BC7_UNORM required - - - - - required 98 BC7_UNORM
99 BC7_UNORM_SRGB FCC 128 required - - - - - required required required 99 BC7_UNORM_SRGB required required - - required - required - - - 99 BC7_UNORM_SRGB - - - - - - - - - - 99 BC7_UNORM_SRGB - - - required - - - - - - 99 BC7_UNORM_SRGB required - - - - - required 99 BC7_UNORM_SRGB
# Format ( DXGI_FORMAT_* ) Bits Per Element (BPE) Format Support Buffer Input Assembler Vertex Buffer Input Assembler Index Buffer Stream Output Buffer Texture1D Texture2D Texture3D TextureCube # Format ( DXGI_FORMAT_* ) Shader ld Shader sample (any filter) Shader sample_c (comparison filter) Shader sample (mono 1_bit_filter) Shader gather4 Shader gather4_c Mipmap Mipmap Auto-Generation RenderTarget Blendable RenderTarget # Format ( DXGI_FORMAT_* ) Output Merger Logic Op Depth/Stencil Target Raw UAV and SRV Structured UAV and SRV Typed UAV UAV Typed Store UAV Typed Load UAV Atomic Add UAV Atomic Bitwise Ops UAV Atomic Cmp&Store/ Cmp&Exch # Format ( DXGI_FORMAT_* ) UAV Atomic Exchange UAV Atomic Signed Min/Max UAV Atomic Unsigned Min/Max CPU Lockable 4x Multisample RenderTarget 8x Multisample RenderTarget Other Multisample Count RT Multisample Resolve Multisample Load Display Scan-Out # Format ( DXGI_FORMAT_* ) Cast Within Bit Layout Video Decoder Support Video Processor Input Video Processor Output Shared Resource BackBuffer Castable Even Fully Typed Tiled Resource # Format ( DXGI_FORMAT_* )
100 AYUVV 32 optional - - - - - required - - 100 AYUV required required - - required - required required required required 100 AYUV - - - - required required - - - - 100 AYUV - - - required - - - - - - 100 AYUV - optional required optional required - - 100 AYUV
101 Y410V 32 optional - - - - - required - - 101 Y410 required required - - required - - - - - 101 Y410 - - - - required required - - - - 101 Y410 - - - required - - - - - - 101 Y410 - optional optional optional required - - 101 Y410
102 Y416V 64 optional - - - - - required - - 102 Y416 required required - - required - required - - - 102 Y416 - - - - required required - - - - 102 Y416 - - - required - - - - - - 102 Y416 - optional optional optional required - - 102 Y416
103 NV12V 8 required - - - - - required - - 103 NV12 required required - - required - - - required required 103 NV12 - - - - required required - - - - 103 NV12 - - - required - - - - - - 103 NV12 - required required required required - - 103 NV12
104 P010V 16 optional - - - - - required - - 104 P010 required required - - required - - - required required 104 P010 - - - - required required - - - - 104 P010 - - - required - - - - - - 104 P010 - optional optional optional required - - 104 P010
105 P016V 16 optional - - - - - required - - 105 P016 required required - - required - - - required required 105 P016 - - - - required required - - - - 105 P016 - - - required - - - - - - 105 P016 - optional optional optional required - - 105 P016
106 420_OPAQUEV 8 required - - - - - required - - 106 420_OPAQUE - - - - - - - - - - 106 420_OPAQUE - - - - - - - - - - 106 420_OPAQUE - - - - - - - - - - 106 420_OPAQUE - required required required required - - 106 420_OPAQUE
107 YUY2V 16 required - - - - - required - - 107 YUY2 required required - - required - - - - - 107 YUY2 - - - - required required - - - - 107 YUY2 - - - required - - - - - - 107 YUY2 - optional required optional required - - 107 YUY2
108 Y210V 32 optional - - - - - required - - 108 Y210 required required - - required - - - - - 108 Y210 - - - - required required - - - - 108 Y210 - - - required - - - - - - 108 Y210 - optional optional optional required - - 108 Y210
109 Y216V 32 optional - - - - - required - - 109 Y216 required required - - required - - - - - 109 Y216 - - - - required required - - - - 109 Y216 - - - required - - - - - - 109 Y216 - optional optional optional required - - 109 Y216
110 NV11V 8 optional - - - - - required - - 110 NV11 required required - - required - - - required required 110 NV11 - - - - required required - - - - 110 NV11 - - - required - - - - - - 110 NV11 - optional optional optional required - - 110 NV11
111 AI44V 8 optional - - - - - required - - 111 AI44 - - - - - - - - - - 111 AI44 - - - - - - - - - - 111 AI44 - - - required - - - - - - 111 AI44 - - required - - - - 111 AI44
112 IA44V 8 optional - - - - - required - - 112 IA44 - - - - - - - - - - 112 IA44 - - - - - - - - - - 112 IA44 - - - required - - - - - - 112 IA44 - - required - - - - 112 IA44
113 P8V 8 optional - - - - - required - - 113 P8 - - - - - - - - - - 113 P8 - - - - - - - - - - 113 P8 - - - required - - - - - - 113 P8 - - required - - - - 113 P8
114 A8P8V 16 optional - - - - - required - - 114 A8P8 - - - - - - - - - - 114 A8P8 - - - - - - - - - - 114 A8P8 - - - required - - - - - - 114 A8P8 - - required - - - - 114 A8P8
115 B4G4R4A4_UNORMFNS 16 required optional optional - - required required required required 115 B4G4R4A4_UNORM required required - - required - required optional optional optional 115 B4G4R4A4_UNORM - - - - optional optional optional - - - 115 B4G4R4A4_UNORM - - - required optional optional optional required optional - 115 B4G4R4A4_UNORM - - - - - - required 115 B4G4R4A4_UNORM
# Format ( DXGI_FORMAT_* ) Bits Per Element (BPE) Format Support Buffer Input Assembler Vertex Buffer Input Assembler Index Buffer Stream Output Buffer Texture1D Texture2D Texture3D TextureCube # Format ( DXGI_FORMAT_* ) Shader ld Shader sample (any filter) Shader sample_c (comparison filter) Shader sample (mono 1_bit_filter) Shader gather4 Shader gather4_c Mipmap Mipmap Auto-Generation RenderTarget Blendable RenderTarget # Format ( DXGI_FORMAT_* ) Output Merger Logic Op Depth/Stencil Target Raw UAV and SRV Structured UAV and SRV Typed UAV UAV Typed Store UAV Typed Load UAV Atomic Add UAV Atomic Bitwise Ops UAV Atomic Cmp&Store/ Cmp&Exch # Format ( DXGI_FORMAT_* ) UAV Atomic Exchange UAV Atomic Signed Min/Max UAV Atomic Unsigned Min/Max CPU Lockable 4x Multisample RenderTarget 8x Multisample RenderTarget Other Multisample Count RT Multisample Resolve Multisample Load Display Scan-Out # Format ( DXGI_FORMAT_* ) Cast Within Bit Layout Video Decoder Support Video Processor Input Video Processor Output Shared Resource BackBuffer Castable Even Fully Typed Tiled Resource # Format ( DXGI_FORMAT_* )

 

Format notes

The purpose of the format can change from one hardware feature level to the next.

L : typeless format

PCS : partially typed, castable and simple layout

FCS : fully typed, castable and simple layout

FNS : fully typed, non-castable and simple layout

PCC : partially typed, castable and complex layout

FCC : fully typed, castable and complex layout

FNC : fully typed, non-castable and complex layout

V : video format

D3D12 Hardware Feature Levels

Programming Guide for DXGI