Direct3D feature levels discussion

Could anyone with a recent NVIDIA card (GTX 9,10,16 series, RTX 20 series) run checkformats.cmd included in the most recent ZIP file and post the results from D3D12FormatSupport.txt?
I'm preparing an minor update and I would like to include NVIDIA texture format support flags.
Doesn't work for me on 18363:

error.png
 
Sorry, it's was an ARM64 version of the executable. Please download again.
Here you go:

Code:
Direct3D 12 feature checker (May 2020) by DmitryKo (x64)
https://forum.beyond3d.com/posts/1840641/

Windows 10 version 1909 (build 18363.815 19h1_release) x64

ADAPTER 0
"NVIDIA GeForce RTX 2080"
VEN_10DE, DEV_1E87, SUBSYS_1E8710DE, REV_A1
Dedicated video memory : 8010.0 MB (8399093760 bytes)
Total video memory : 40734.5 MB (42713176064 bytes)
Video driver version : 26.21.14.4598
Maximum feature level : D3D_FEATURE_LEVEL_12_1 (0xc100)
DoublePrecisionFloatShaderOps : 1
OutputMergerLogicOp : 1
MinPrecisionSupport : D3D12_SHADER_MIN_PRECISION_SUPPORT_16_BIT (2) (0b0000'0010)
TiledResourcesTier : D3D12_TILED_RESOURCES_TIER_3 (3)
ResourceBindingTier : D3D12_RESOURCE_BINDING_TIER_3 (3)
PSSpecifiedStencilRefSupported : 0
TypedUAVLoadAdditionalFormats : 1
ROVsSupported : 1
ConservativeRasterizationTier : D3D12_CONSERVATIVE_RASTERIZATION_TIER_3 (3)
StandardSwizzle64KBSupported : 0
CrossNodeSharingTier : D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED (0)
CrossAdapterRowMajorTextureSupported : 0
VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation : 1
ResourceHeapTier : D3D12_RESOURCE_HEAP_TIER_2 (2)
MaxGPUVirtualAddressBitsPerResource : 40
MaxGPUVirtualAddressBitsPerProcess : 40
Adapter Node 0:     TileBasedRenderer: 0, UMA: 0, CacheCoherentUMA: 0, IsolatedMMU: 1, HeapSerializationTier: 0, ProtectedResourceSession.Support: 1
HighestShaderModel : D3D12_SHADER_MODEL_6_4 (0x0064)
WaveOps : 1
WaveLaneCountMin : 32
WaveLaneCountMax : 32
TotalLaneCount : 2944
ExpandedComputeResourceStates : 1
Int64ShaderOps : 1
RootSignature.HighestVersion : D3D_ROOT_SIGNATURE_VERSION_1_1 (2)
DepthBoundsTestSupported : 1
ProgrammableSamplePositionsTier : D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_2 (2)
ShaderCache.SupportFlags : D3D12_SHADER_CACHE_SUPPORT_SINGLE_PSO | LIBRARY (3) (0b0000'0011)
CopyQueueTimestampQueriesSupported : 1
CastingFullyTypedFormatSupported : 1
WriteBufferImmediateSupportFlags : D3D12_COMMAND_LIST_SUPPORT_FLAG_DIRECT | BUNDLE | COMPUTE | COPY | VIDEO_DECODE | VIDEO_PROCESS | VIDEO_ENCODE (127) (0b0111'1111)
ViewInstancingTier : D3D12_VIEW_INSTANCING_TIER_3 (3)
BarycentricsSupported : 1
ExistingHeaps.Supported : 1
MSAA64KBAlignedTextureSupported : 1
SharedResourceCompatibilityTier : D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1 (1)
Native16BitShaderOpsSupported : 1
AtomicShaderInstructions : 0
SRVOnlyTiledResourceTier3 : 1
RenderPassesTier : D3D12_RENDER_PASS_TIER_0 (0)
RaytracingTier : D3D12_RAYTRACING_TIER_1_0 (10)
AdditionalShadingRatesSupported : 1
PerPrimitiveShadingRateSupportedWithViewportIndexing : 0
VariableShadingRateTier : D3D12_VARIABLE_SHADING_RATE_TIER_2 (2)
ShadingRateImageTileSize : 16
BackgroundProcessingSupported : 1
Metacommands enumerated : 7
Metacommands [parameters per stage]: Conv (Convolution) [84][1][6], CopyTensor [3][1][31], MVN (Mean Variance Normalization) [67][1][6], GEMM (General matrix multiply) [67][1][6], Conv (Convolution) [108][5][6], GEMM (General matrix multiply) [91][5][6], MVN (Mean Variance Normalization) [91][5][6]

DXGI_FORMAT_UNKNOWN (0):     00000001 00000200
DXGI_FORMAT_R32G32B32A32_TYPELESS (1):     001010f0 00000200
DXGI_FORMAT_R32G32B32A32_FLOAT (2):     02f4d3fb 000002c0
DXGI_FORMAT_R32G32B32A32_UINT (3):     027051fb 000003c0
DXGI_FORMAT_R32G32B32A32_SINT (4):     027051fb 000002c0
DXGI_FORMAT_R32G32B32_TYPELESS (5):     001010f0 00000000
DXGI_FORMAT_R32G32B32_FLOAT (6):     005411fb 00000000
DXGI_FORMAT_R32G32B32_UINT (7):     005011fb 00000100
DXGI_FORMAT_R32G32B32_SINT (8):     005011fb 00000000
DXGI_FORMAT_R16G16B16A16_TYPELESS (9):     001010f0 00000200
DXGI_FORMAT_R16G16B16A16_FLOAT (10):     12fcd3f3 000002c0
DXGI_FORMAT_R16G16B16A16_UNORM (11):     02f4d3f3 000002c0
DXGI_FORMAT_R16G16B16A16_UINT (12):     027051f3 000003c0
DXGI_FORMAT_R16G16B16A16_SNORM (13):     02f4d3f3 000002c0
DXGI_FORMAT_R16G16B16A16_SINT (14):     027051f3 000002c0
DXGI_FORMAT_R32G32_TYPELESS (15):     001010f0 00000200
DXGI_FORMAT_R32G32_FLOAT (16):     02f4d3fb 000002c0
DXGI_FORMAT_R32G32_UINT (17):     027051fb 000003c0
DXGI_FORMAT_R32G32_SINT (18):     027051fb 000002c0
DXGI_FORMAT_R32G8X24_TYPELESS (19):     001010b0 00000000
DXGI_FORMAT_D32_FLOAT_S8X24_UINT (20):     003110b0 00000000
DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS (21):     04d017b0 00000000
DXGI_FORMAT_X32_TYPELESS_G8X24_UINT (22):     005011b0 00000000
DXGI_FORMAT_R10G10B10A2_TYPELESS (23):     001010f0 00000200
DXGI_FORMAT_R10G10B10A2_UNORM (24):     13fcd3f3 000002c0
DXGI_FORMAT_R10G10B10A2_UINT (25):     027051f3 000003c0
DXGI_FORMAT_R11G11B10_FLOAT (26):     02e4d3f3 000002c0
DXGI_FORMAT_R8G8B8A8_TYPELESS (27):     001010f0 00000200
DXGI_FORMAT_R8G8B8A8_UNORM (28):     33fcd3f3 000002c0
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB (29):     11fcd3f0 00000200
DXGI_FORMAT_R8G8B8A8_UINT (30):     027051f3 000003c0
DXGI_FORMAT_R8G8B8A8_SNORM (31):     02f4d3f3 000002c0
DXGI_FORMAT_R8G8B8A8_SINT (32):     027051f3 000002c0
DXGI_FORMAT_R16G16_TYPELESS (33):     001010f0 00000200
DXGI_FORMAT_R16G16_FLOAT (34):     02f4d3f3 000002c0
DXGI_FORMAT_R16G16_UNORM (35):     02f4d3f3 000002c0
DXGI_FORMAT_R16G16_UINT (36):     027051f3 000003c0
DXGI_FORMAT_R16G16_SNORM (37):     02f4d3f3 000002c0
DXGI_FORMAT_R16G16_SINT (38):     027051f3 000002c0
DXGI_FORMAT_R32_TYPELESS (39):     001010f0 00000200
DXGI_FORMAT_D32_FLOAT (40):     003110b0 00000200
DXGI_FORMAT_R32_FLOAT (41):     06f4d7fb 000002c8
DXGI_FORMAT_R32_UINT (42):     027051ff 000003ff
DXGI_FORMAT_R32_SINT (43):     027051fb 000002ff
DXGI_FORMAT_R24G8_TYPELESS (44):     001010b0 00000000
DXGI_FORMAT_D24_UNORM_S8_UINT (45):     003110b0 00000000
DXGI_FORMAT_R24_UNORM_X8_TYPELESS (46):     04d017b0 00000000
DXGI_FORMAT_X24_TYPELESS_G8_UINT (47):     005011b0 00000000
DXGI_FORMAT_R8G8_TYPELESS (48):     001010f0 00000200
DXGI_FORMAT_R8G8_UNORM (49):     02f4d3f3 000002c0
DXGI_FORMAT_R8G8_UINT (50):     027051f3 000003c0
DXGI_FORMAT_R8G8_SNORM (51):     02f4d3f3 000002c0
DXGI_FORMAT_R8G8_SINT (52):     027051f3 000002c0
DXGI_FORMAT_R16_TYPELESS (53):     001010f0 00000200
DXGI_FORMAT_R16_FLOAT (54):     02f4d3f3 000002c0
DXGI_FORMAT_D16_UNORM (55):     003110b0 00000200
DXGI_FORMAT_R16_UNORM (56):     06f4d7f3 000002c0
DXGI_FORMAT_R16_UINT (57):     027051f7 000003c0
DXGI_FORMAT_R16_SNORM (58):     02f4d3f3 000002c0
DXGI_FORMAT_R16_SINT (59):     027051f3 000002c0
DXGI_FORMAT_R8_TYPELESS (60):     001010f0 00000200
DXGI_FORMAT_R8_UNORM (61):     02f4d3f3 000002c0
DXGI_FORMAT_R8_UINT (62):     027051f3 000003c0
DXGI_FORMAT_R8_SNORM (63):     02f4d3f3 000002c0
DXGI_FORMAT_R8_SINT (64):     027051f3 000002c0
DXGI_FORMAT_A8_UNORM (65):     02e4d3f0 000002c0
DXGI_FORMAT_R1_UNORM (66):     0 0 (not supported)
DXGI_FORMAT_R9G9B9E5_SHAREDEXP (67):     008013f0 00000200
DXGI_FORMAT_R8G8_B8G8_UNORM (68):     008013f0 00000000
DXGI_FORMAT_G8R8_G8B8_UNORM (69):     008013f0 00000000
DXGI_FORMAT_BC1_TYPELESS (70):     001010e0 00000200
DXGI_FORMAT_BC1_UNORM (71):     009013e0 00000200
DXGI_FORMAT_BC1_UNORM_SRGB (72):     009013e0 00000200
DXGI_FORMAT_BC2_TYPELESS (73):     001010e0 00000200
DXGI_FORMAT_BC2_UNORM (74):     009013e0 00000200
DXGI_FORMAT_BC2_UNORM_SRGB (75):     009013e0 00000200
DXGI_FORMAT_BC3_TYPELESS (76):     001010e0 00000200
DXGI_FORMAT_BC3_UNORM (77):     009013e0 00000200
DXGI_FORMAT_BC3_UNORM_SRGB (78):     009013e0 00000200
DXGI_FORMAT_BC4_TYPELESS (79):     001010e0 00000200
DXGI_FORMAT_BC4_UNORM (80):     009013e0 00000200
DXGI_FORMAT_BC4_SNORM (81):     009013e0 00000200
DXGI_FORMAT_BC5_TYPELESS (82):     001010e0 00000200
DXGI_FORMAT_BC5_UNORM (83):     009013e0 00000200
DXGI_FORMAT_BC5_SNORM (84):     009013e0 00000200
DXGI_FORMAT_B5G6R5_UNORM (85):     00e4d3f0 00000200
DXGI_FORMAT_B5G5R5A1_UNORM (86):     00e4d3f0 00000200
DXGI_FORMAT_B8G8R8A8_UNORM (87):     33fcd3f3 000002c0
DXGI_FORMAT_B8G8R8X8_UNORM (88):     30f4d3f3 00000200
DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM (89):     11180020 00000200
DXGI_FORMAT_B8G8R8A8_TYPELESS (90):     001010f0 00000200
DXGI_FORMAT_B8G8R8A8_UNORM_SRGB (91):     11fcd3f0 00000200
DXGI_FORMAT_B8G8R8X8_TYPELESS (92):     001010f0 00000200
DXGI_FORMAT_B8G8R8X8_UNORM_SRGB (93):     00f4d3f0 00000200
DXGI_FORMAT_BC6H_TYPELESS (94):     001010e0 00000200
DXGI_FORMAT_BC6H_UF16 (95):     009013e0 00000200
DXGI_FORMAT_BC6H_SF16 (96):     009013e0 00000200
DXGI_FORMAT_BC7_TYPELESS (97):     001010e0 00000200
DXGI_FORMAT_BC7_UNORM (98):     009013e0 00000200
DXGI_FORMAT_BC7_UNORM_SRGB (99):     009013e0 00000200
DXGI_FORMAT_AYUV (100):     2280d320 00000080
DXGI_FORMAT_Y410 (101):     02800320 00000080
DXGI_FORMAT_Y416 (102):     02801320 00000080
DXGI_FORMAT_NV12 (103):     fa80c320 00000080
DXGI_FORMAT_P010 (104):     3a80c320 00000080
DXGI_FORMAT_P016 (105):     0 0 (not supported)
DXGI_FORMAT_420_OPAQUE (106):     38000020 00000000
DXGI_FORMAT_YUY2 (107):     32800320 00000080
DXGI_FORMAT_Y210 (108):     02800320 00000080
DXGI_FORMAT_Y216 (109):     02800320 00000080
DXGI_FORMAT_NV11 (110):     0 0 (not supported)
DXGI_FORMAT_AI44 (111):     20000020 00000000
DXGI_FORMAT_IA44 (112):     20000020 00000000
DXGI_FORMAT_P8 (113):     20000020 00000000
DXGI_FORMAT_A8P8 (114):     20000020 00000000
DXGI_FORMAT_B4G4R4A4_UNORM (115):     008413f0 00000200
DXGI_FORMAT_P208 (130):     0 0 (not supported)
DXGI_FORMAT_V208 (131):     0 0 (not supported)
DXGI_FORMAT_V408 (132):     0 0 (not supported)
DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE (189):     0 0 (not supported)
DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE (190):     0 0 (not supported)
DXGI_FORMAT_FORCE_UINT (-1):     0 0 (not supported)

FINISHED running on 2020-04-30 17:32:06
2 display adapter(s) enumerated

That's with devmode off -- do you need one with on?
 
Thank you! You don't have to enable devmode, it's only required when you want to check for experimental features in the driver (SM6 TR4 META options).
 
Last edited:
Could anyone with a recent NVIDIA card (GTX 9,10,16 series, RTX 20 series) run checkformats.cmd included in the most recent ZIP file and post the results from D3D12FormatSupport.txt?
I'm preparing an minor update and I would like to include NVIDIA texture format support flags.

Direct3D 12 feature checker (May 2020) by DmitryKo (x64)
https://forum.beyond3d.com/posts/1840641/

Windows 10 version 1909 (build 18363.815 19h1_release) x64

Code:
ADAPTER 0
"NVIDIA GeForce GTX 1660"
VEN_10DE, DEV_2184, SUBSYS_11673842, REV_A1
Dedicated video memory : 5991.0 MB (6282018816 bytes)
Total video memory : 14157.8 MB (14845566976 bytes)
Video driver version : 26.21.14.4587
Maximum feature level : D3D_FEATURE_LEVEL_12_1 (0xc100)
DoublePrecisionFloatShaderOps : 1
OutputMergerLogicOp : 1
MinPrecisionSupport : D3D12_SHADER_MIN_PRECISION_SUPPORT_16_BIT (2) (0b0000'0010)
TiledResourcesTier : D3D12_TILED_RESOURCES_TIER_3 (3)
ResourceBindingTier : D3D12_RESOURCE_BINDING_TIER_3 (3)
PSSpecifiedStencilRefSupported : 0
TypedUAVLoadAdditionalFormats : 1
ROVsSupported : 1
ConservativeRasterizationTier : D3D12_CONSERVATIVE_RASTERIZATION_TIER_3 (3)
StandardSwizzle64KBSupported : 0
CrossNodeSharingTier : D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED (0)
CrossAdapterRowMajorTextureSupported : 0
VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation : 1
ResourceHeapTier : D3D12_RESOURCE_HEAP_TIER_2 (2)
MaxGPUVirtualAddressBitsPerResource : 40
MaxGPUVirtualAddressBitsPerProcess : 40
Adapter Node 0:    TileBasedRenderer: 0, UMA: 0, CacheCoherentUMA: 0, IsolatedMMU: 1, HeapSerializationTier: 0, ProtectedResourceSession.Support: 1
HighestShaderModel : D3D12_SHADER_MODEL_6_4 (0x0064)
WaveOps : 1
WaveLaneCountMin : 32
WaveLaneCountMax : 32
TotalLaneCount : 1408
ExpandedComputeResourceStates : 1
Int64ShaderOps : 1
RootSignature.HighestVersion : D3D_ROOT_SIGNATURE_VERSION_1_1 (2)
DepthBoundsTestSupported : 1
ProgrammableSamplePositionsTier : D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_2 (2)
ShaderCache.SupportFlags : D3D12_SHADER_CACHE_SUPPORT_SINGLE_PSO | LIBRARY (3) (0b0000'0011)
CopyQueueTimestampQueriesSupported : 1
CastingFullyTypedFormatSupported : 1
WriteBufferImmediateSupportFlags : D3D12_COMMAND_LIST_SUPPORT_FLAG_DIRECT | BUNDLE | COMPUTE | COPY | VIDEO_DECODE | VIDEO_PROCESS | VIDEO_ENCODE (127) (0b0111'1111)
ViewInstancingTier : D3D12_VIEW_INSTANCING_TIER_3 (3)
BarycentricsSupported : 1
ExistingHeaps.Supported : 1
MSAA64KBAlignedTextureSupported : 1
SharedResourceCompatibilityTier : D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1 (1)
Native16BitShaderOpsSupported : 1
AtomicShaderInstructions : 0
SRVOnlyTiledResourceTier3 : 1
RenderPassesTier : D3D12_RENDER_PASS_TIER_0 (0)
RaytracingTier : D3D12_RAYTRACING_TIER_1_0 (10)
AdditionalShadingRatesSupported : 1
PerPrimitiveShadingRateSupportedWithViewportIndexing : 0
VariableShadingRateTier : D3D12_VARIABLE_SHADING_RATE_TIER_2 (2)
ShadingRateImageTileSize : 16
BackgroundProcessingSupported : 1
Metacommands enumerated : 7
Metacommands [parameters per stage]: Conv (Convolution) [84][1][6], CopyTensor [3][1][31], MVN (Mean Variance Normalization) [67][1][6], GEMM (General matrix multiply) [67][1][6], Conv (Convolution) [108][5][6], GEMM (General matrix multiply) [91][5][6], MVN (Mean Variance Normalization) [91][5][6]

DXGI_FORMAT_UNKNOWN (0):    00000001 00000200
DXGI_FORMAT_R32G32B32A32_TYPELESS (1):    001010f0 00000200
DXGI_FORMAT_R32G32B32A32_FLOAT (2):    02f4d3fb 000002c0
DXGI_FORMAT_R32G32B32A32_UINT (3):    027051fb 000003c0
DXGI_FORMAT_R32G32B32A32_SINT (4):    027051fb 000002c0
DXGI_FORMAT_R32G32B32_TYPELESS (5):    001010f0 00000000
DXGI_FORMAT_R32G32B32_FLOAT (6):    005411fb 00000000
DXGI_FORMAT_R32G32B32_UINT (7):    005011fb 00000100
DXGI_FORMAT_R32G32B32_SINT (8):    005011fb 00000000
DXGI_FORMAT_R16G16B16A16_TYPELESS (9):    001010f0 00000200
DXGI_FORMAT_R16G16B16A16_FLOAT (10):    12fcd3f3 000002c0
DXGI_FORMAT_R16G16B16A16_UNORM (11):    02f4d3f3 000002c0
DXGI_FORMAT_R16G16B16A16_UINT (12):    027051f3 000003c0
DXGI_FORMAT_R16G16B16A16_SNORM (13):    02f4d3f3 000002c0
DXGI_FORMAT_R16G16B16A16_SINT (14):    027051f3 000002c0
DXGI_FORMAT_R32G32_TYPELESS (15):    001010f0 00000200
DXGI_FORMAT_R32G32_FLOAT (16):    02f4d3fb 000002c0
DXGI_FORMAT_R32G32_UINT (17):    027051fb 000003c0
DXGI_FORMAT_R32G32_SINT (18):    027051fb 000002c0
DXGI_FORMAT_R32G8X24_TYPELESS (19):    001010b0 00000000
DXGI_FORMAT_D32_FLOAT_S8X24_UINT (20):    003110b0 00000000
DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS (21):    04d017b0 00000000
DXGI_FORMAT_X32_TYPELESS_G8X24_UINT (22):    005011b0 00000000
DXGI_FORMAT_R10G10B10A2_TYPELESS (23):    001010f0 00000200
DXGI_FORMAT_R10G10B10A2_UNORM (24):    13fcd3f3 000002c0
DXGI_FORMAT_R10G10B10A2_UINT (25):    027051f3 000003c0
DXGI_FORMAT_R11G11B10_FLOAT (26):    02e4d3f3 000002c0
DXGI_FORMAT_R8G8B8A8_TYPELESS (27):    001010f0 00000200
DXGI_FORMAT_R8G8B8A8_UNORM (28):    33fcd3f3 000002c0
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB (29):    11fcd3f0 00000200
DXGI_FORMAT_R8G8B8A8_UINT (30):    027051f3 000003c0
DXGI_FORMAT_R8G8B8A8_SNORM (31):    02f4d3f3 000002c0
DXGI_FORMAT_R8G8B8A8_SINT (32):    027051f3 000002c0
DXGI_FORMAT_R16G16_TYPELESS (33):    001010f0 00000200
DXGI_FORMAT_R16G16_FLOAT (34):    02f4d3f3 000002c0
DXGI_FORMAT_R16G16_UNORM (35):    02f4d3f3 000002c0
DXGI_FORMAT_R16G16_UINT (36):    027051f3 000003c0
DXGI_FORMAT_R16G16_SNORM (37):    02f4d3f3 000002c0
DXGI_FORMAT_R16G16_SINT (38):    027051f3 000002c0
DXGI_FORMAT_R32_TYPELESS (39):    001010f0 00000200
DXGI_FORMAT_D32_FLOAT (40):    003110b0 00000200
DXGI_FORMAT_R32_FLOAT (41):    06f4d7fb 000002c8
DXGI_FORMAT_R32_UINT (42):    027051ff 000003ff
DXGI_FORMAT_R32_SINT (43):    027051fb 000002ff
DXGI_FORMAT_R24G8_TYPELESS (44):    001010b0 00000000
DXGI_FORMAT_D24_UNORM_S8_UINT (45):    003110b0 00000000
DXGI_FORMAT_R24_UNORM_X8_TYPELESS (46):    04d017b0 00000000
DXGI_FORMAT_X24_TYPELESS_G8_UINT (47):    005011b0 00000000
DXGI_FORMAT_R8G8_TYPELESS (48):    001010f0 00000200
DXGI_FORMAT_R8G8_UNORM (49):    02f4d3f3 000002c0
DXGI_FORMAT_R8G8_UINT (50):    027051f3 000003c0
DXGI_FORMAT_R8G8_SNORM (51):    02f4d3f3 000002c0
DXGI_FORMAT_R8G8_SINT (52):    027051f3 000002c0
DXGI_FORMAT_R16_TYPELESS (53):    001010f0 00000200
DXGI_FORMAT_R16_FLOAT (54):    02f4d3f3 000002c0
DXGI_FORMAT_D16_UNORM (55):    003110b0 00000200
DXGI_FORMAT_R16_UNORM (56):    06f4d7f3 000002c0
DXGI_FORMAT_R16_UINT (57):    027051f7 000003c0
DXGI_FORMAT_R16_SNORM (58):    02f4d3f3 000002c0
DXGI_FORMAT_R16_SINT (59):    027051f3 000002c0
DXGI_FORMAT_R8_TYPELESS (60):    001010f0 00000200
DXGI_FORMAT_R8_UNORM (61):    02f4d3f3 000002c0
DXGI_FORMAT_R8_UINT (62):    027051f3 000003c0
DXGI_FORMAT_R8_SNORM (63):    02f4d3f3 000002c0
DXGI_FORMAT_R8_SINT (64):    027051f3 000002c0
DXGI_FORMAT_A8_UNORM (65):    02e4d3f0 000002c0
DXGI_FORMAT_R1_UNORM (66):    0 0 (not supported)
DXGI_FORMAT_R9G9B9E5_SHAREDEXP (67):    008013f0 00000200
DXGI_FORMAT_R8G8_B8G8_UNORM (68):    008013f0 00000000
DXGI_FORMAT_G8R8_G8B8_UNORM (69):    008013f0 00000000
DXGI_FORMAT_BC1_TYPELESS (70):    001010e0 00000200
DXGI_FORMAT_BC1_UNORM (71):    009013e0 00000200
DXGI_FORMAT_BC1_UNORM_SRGB (72):    009013e0 00000200
DXGI_FORMAT_BC2_TYPELESS (73):    001010e0 00000200
DXGI_FORMAT_BC2_UNORM (74):    009013e0 00000200
DXGI_FORMAT_BC2_UNORM_SRGB (75):    009013e0 00000200
DXGI_FORMAT_BC3_TYPELESS (76):    001010e0 00000200
DXGI_FORMAT_BC3_UNORM (77):    009013e0 00000200
DXGI_FORMAT_BC3_UNORM_SRGB (78):    009013e0 00000200
DXGI_FORMAT_BC4_TYPELESS (79):    001010e0 00000200
DXGI_FORMAT_BC4_UNORM (80):    009013e0 00000200
DXGI_FORMAT_BC4_SNORM (81):    009013e0 00000200
DXGI_FORMAT_BC5_TYPELESS (82):    001010e0 00000200
DXGI_FORMAT_BC5_UNORM (83):    009013e0 00000200
DXGI_FORMAT_BC5_SNORM (84):    009013e0 00000200
DXGI_FORMAT_B5G6R5_UNORM (85):    00e4d3f0 00000200
DXGI_FORMAT_B5G5R5A1_UNORM (86):    00e4d3f0 00000200
DXGI_FORMAT_B8G8R8A8_UNORM (87):    33fcd3f3 000002c0
DXGI_FORMAT_B8G8R8X8_UNORM (88):    30f4d3f3 00000200
DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM (89):    11180020 00000200
DXGI_FORMAT_B8G8R8A8_TYPELESS (90):    001010f0 00000200
DXGI_FORMAT_B8G8R8A8_UNORM_SRGB (91):    11fcd3f0 00000200
DXGI_FORMAT_B8G8R8X8_TYPELESS (92):    001010f0 00000200
DXGI_FORMAT_B8G8R8X8_UNORM_SRGB (93):    00f4d3f0 00000200
DXGI_FORMAT_BC6H_TYPELESS (94):    001010e0 00000200
DXGI_FORMAT_BC6H_UF16 (95):    009013e0 00000200
DXGI_FORMAT_BC6H_SF16 (96):    009013e0 00000200
DXGI_FORMAT_BC7_TYPELESS (97):    001010e0 00000200
DXGI_FORMAT_BC7_UNORM (98):    009013e0 00000200
DXGI_FORMAT_BC7_UNORM_SRGB (99):    009013e0 00000200
DXGI_FORMAT_AYUV (100):    2280d320 00000080
DXGI_FORMAT_Y410 (101):    02800320 00000080
DXGI_FORMAT_Y416 (102):    02801320 00000080
DXGI_FORMAT_NV12 (103):    fa80c320 00000080
DXGI_FORMAT_P010 (104):    3a80c320 00000080
DXGI_FORMAT_P016 (105):    0 0 (not supported)
DXGI_FORMAT_420_OPAQUE (106):    38000020 00000000
DXGI_FORMAT_YUY2 (107):    32800320 00000080
DXGI_FORMAT_Y210 (108):    02800320 00000080
DXGI_FORMAT_Y216 (109):    02800320 00000080
DXGI_FORMAT_NV11 (110):    0 0 (not supported)
DXGI_FORMAT_AI44 (111):    20000020 00000000
DXGI_FORMAT_IA44 (112):    20000020 00000000
DXGI_FORMAT_P8 (113):    20000020 00000000
DXGI_FORMAT_A8P8 (114):    20000020 00000000
DXGI_FORMAT_B4G4R4A4_UNORM (115):    008413f0 00000200
DXGI_FORMAT_P208 (130):    0 0 (not supported)
DXGI_FORMAT_V208 (131):    0 0 (not supported)
DXGI_FORMAT_V408 (132):    0 0 (not supported)
DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE (189):    0 0 (not supported)
DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE (190):    0 0 (not supported)
DXGI_FORMAT_FORCE_UINT (-1):    0 0 (not supported)
 
Great, thanks! Looks the flags are the same as on RTX 20.
PS. Please use code tags to wrap the output please (the [+] button on the toolbar).
 
I've made a minor update to the Direct3D12 feature checker tool to report new options and texture formats in the latest release of Windows 10.

The tool fully supports all new features in recently released Windows 10 version 2004 (build 19041), aka May 2020 Update. This includes options 7 (mesh shader tier, sampler feedback tier), shader model 6_6, raytracing tier 1_1, shared resource compatibility tier 2, metacommand parameters, DirectML feature level, and sampler feedback texture formats and resource flags.

A new option, UnalignedBlockTexturesSupported, is reported in Windows 10 Insider Preview (builds 19536-19619).

The tool should also run on Windows 7 x64 with Direct3D 12on7 downlevel runtime; requires latest Windows 7 x64 drivers from graphics hardware vendors.



In addition, Microsoft has updated WARP12 (Microsoft Basic Render Driver) in Windows 10 Version 2004 (build 19041) to implement the following new features and tiers:
Code:
TotalLaneCount : 48
SharedResourceCompatibilityTier : D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_2 (2)
VariableShadingRateTier : D3D12_VARIABLE_SHADING_RATE_TIER_1 (1)

There is also experimental support fo Tiled Resources Tier 4:
Code:
TiledResourcesTier : D3D12_TILED_RESOURCES_TIER_4 (4)

For Insider Preview (builds 196xx), WARP12 adds support for barycentrics:
Code:
BarycentricsSupported : 1
 
Last edited:
I've made a small change to report driver version and WDDM version for all detected adapters. This will query driver caps directly from the video driver, using D3DKMTQueryAdapterInfo() and D3DKMT_QUERYADAPTERINFO from D3D kernel driver thunks lbrary, which should work down to Windows 7.


Also, AMD Radeon WDDM 2.7 preview driver (DS version 27.20.1002.34), which adds support for SM 6.5 (and experimental support for SM 6.6) is available through Windows Update on Windows 10 version 2004 (build 19041) and higher.
 
Last edited:
just posting first ARM64 report of Adreno 680!
interesting it supports Maxwell end 2014 era features like: ROVs and conservative raster..
Qualcomm doesn't expose these Adreno features on his Android Vulkan driver yet..
or are "desktop" features of Adreno 680 vs current 650..
also exposes depth bounds which is also new on Adreno 6xx Vulkan drivers..
still no SM 6.2 so no wave ops and 16 bit FP on DXIL (Native16BitShaderOpsSupported : 0)
but exposed using old DXBC :
MinPrecisionSupport : D3D12_SHADER_MIN_PRECISION_SUPPORT_16_BIT (2) (0b0000'0010)
hope SM6.2 is supportable on Adreno 680 eventually..
also waiting to see if his WDDM 2.7 drivers will support GPU scheduling option..
seems this year a new big SOC is coming with "Adreno 690" still no Adreno 7xx which hopefully will bring some of mesh shaders, raytracing support, etc..

full report:
Code:
Direct3D 12 feature checker (May 2020) by DmitryKo (ARM64)
https://forum.beyond3d.com/posts/1840641/

Windows 10 version 1909 (build 18363.836 19h1_release) ARM64

ADAPTER 0
"Qualcomm(R) Adreno(TM) 680 GPU"
VEN_4D4F4351, DEV_41333430, SUBSYS_30383138, REV_7C
Dedicated video memory : 1.0 MB (1048576 bytes)
Total video memory : 3860.0 MB (4047495168 bytes)
Video driver version : 26.18.901.8000
WDDM version : KMT_DRIVERVERSION_WDDM_2_6 (2600)
Maximum feature level : D3D_FEATURE_LEVEL_12_1 (0xc100)
    Direct3D 11.3 : D3D_FEATURE_LEVEL_11_1 (0xb100)
DoublePrecisionFloatShaderOps : 0
OutputMergerLogicOp : 1
MinPrecisionSupport : D3D12_SHADER_MIN_PRECISION_SUPPORT_16_BIT (2) (0b0000'0010)
TiledResourcesTier : D3D12_TILED_RESOURCES_TIER_2 (2)
ResourceBindingTier : D3D12_RESOURCE_BINDING_TIER_3 (3)
PSSpecifiedStencilRefSupported : 1
TypedUAVLoadAdditionalFormats : 1
ROVsSupported : 1
ConservativeRasterizationTier : D3D12_CONSERVATIVE_RASTERIZATION_TIER_1 (1)
StandardSwizzle64KBSupported : 0
CrossNodeSharingTier : D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED (0)
CrossAdapterRowMajorTextureSupported : 1
VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation : 1
ResourceHeapTier : D3D12_RESOURCE_HEAP_TIER_2 (2)
MaxGPUVirtualAddressBitsPerResource : 39
MaxGPUVirtualAddressBitsPerProcess : 39
Adapter Node 0:     TileBasedRenderer: 1, UMA: 1, CacheCoherentUMA: 0, IsolatedMMU: 1, HeapSerializationTier: 0, ProtectedResourceSession.Support: 1
HighestShaderModel : D3D12_SHADER_MODEL_6_1 (0x0061)
WaveOps : 0
WaveLaneCountMin : 128
WaveLaneCountMax : 256
TotalLaneCount : 1024
ExpandedComputeResourceStates : 1
Int64ShaderOps : 0
RootSignature.HighestVersion : D3D_ROOT_SIGNATURE_VERSION_1_1 (2)
DepthBoundsTestSupported : 1
ProgrammableSamplePositionsTier : D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_NOT_SUPPORTED (0)
ShaderCache.SupportFlags : D3D12_SHADER_CACHE_SUPPORT_SINGLE_PSO | LIBRARY | AUTOMATIC_INPROC_CACHE | AUTOMATIC_DISK_CACHE (15) (0b0000'1111)
CopyQueueTimestampQueriesSupported : 1
CastingFullyTypedFormatSupported : 1
WriteBufferImmediateSupportFlags : D3D12_COMMAND_LIST_SUPPORT_FLAG_NONE (0) (0b0000'0000)
ViewInstancingTier : D3D12_VIEW_INSTANCING_TIER_2 (2)
BarycentricsSupported : 0
ExistingHeaps.Supported : 1
MSAA64KBAlignedTextureSupported : 1
SharedResourceCompatibilityTier : D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1 (1)
Native16BitShaderOpsSupported : 0
AtomicShaderInstructions : 0
SRVOnlyTiledResourceTier3 : 1
RenderPassesTier : D3D12_RENDER_PASS_TIER_1 (1)
RaytracingTier : D3D12_RAYTRACING_TIER_NOT_SUPPORTED (0)
AdditionalShadingRatesSupported : 0
PerPrimitiveShadingRateSupportedWithViewportIndexing : 0
VariableShadingRateTier : D3D12_VARIABLE_SHADING_RATE_TIER_NOT_SUPPORTED (0)
ShadingRateImageTileSize : 0
BackgroundProcessingSupported : 0
Metacommands enumerated : 2
Metacommands [parameters per stage]: Conv (Convolution) [108][5][6], GEMM (General matrix multiply) [91][5][6]

ADAPTER 1
"Microsoft Basic Render Driver"
VEN_1414, DEV_008C, SUBSYS_00000000, REV_00
Dedicated video memory : 0.0 MB (0 bytes)
Total video memory : 3859.0 MB (4046446592 bytes)
Video driver version : 10.0.18362.657
WDDM version : KMT_DRIVERVERSION_WDDM_2_6 (2600)
Maximum feature level : D3D_FEATURE_LEVEL_12_1 (0xc100)
DoublePrecisionFloatShaderOps : 1
OutputMergerLogicOp : 1
MinPrecisionSupport : D3D12_SHADER_MIN_PRECISION_SUPPORT_10_BIT | 16_BIT (3) (0b0000'0011)
TiledResourcesTier : D3D12_TILED_RESOURCES_TIER_3 (3)
ResourceBindingTier : D3D12_RESOURCE_BINDING_TIER_3 (3)
PSSpecifiedStencilRefSupported : 1
TypedUAVLoadAdditionalFormats : 1
ROVsSupported : 1
ConservativeRasterizationTier : D3D12_CONSERVATIVE_RASTERIZATION_TIER_3 (3)
StandardSwizzle64KBSupported : 1
CrossNodeSharingTier : D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED (0)
CrossAdapterRowMajorTextureSupported : 1
VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation : 1
ResourceHeapTier : D3D12_RESOURCE_HEAP_TIER_2 (2)
MaxGPUVirtualAddressBitsPerResource : 32
MaxGPUVirtualAddressBitsPerProcess : 47
Adapter Node 0:     TileBasedRenderer: 0, UMA: 1, CacheCoherentUMA: 1, IsolatedMMU: 0, HeapSerializationTier: 10, ProtectedResourceSession.Support: 0
HighestShaderModel : D3D12_SHADER_MODEL_6_2 (0x0062)
WaveOps : 1
WaveLaneCountMin : 4
WaveLaneCountMax : 4
TotalLaneCount : 32
ExpandedComputeResourceStates : 1
Int64ShaderOps : 1
RootSignature.HighestVersion : D3D_ROOT_SIGNATURE_VERSION_1_1 (2)
DepthBoundsTestSupported : 1
ProgrammableSamplePositionsTier : D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_2 (2)
ShaderCache.SupportFlags : D3D12_SHADER_CACHE_SUPPORT_SINGLE_PSO | LIBRARY (3) (0b0000'0011)
CopyQueueTimestampQueriesSupported : 1
CastingFullyTypedFormatSupported : 1
WriteBufferImmediateSupportFlags : D3D12_COMMAND_LIST_SUPPORT_FLAG_DIRECT | BUNDLE | COMPUTE | COPY | VIDEO_DECODE | VIDEO_PROCESS (63) (0b0011'1111)
ViewInstancingTier : D3D12_VIEW_INSTANCING_TIER_1 (1)
BarycentricsSupported : 0
ExistingHeaps.Supported : 1
MSAA64KBAlignedTextureSupported : 1
SharedResourceCompatibilityTier : D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1 (1)
Native16BitShaderOpsSupported : 1
AtomicShaderInstructions : 0
SRVOnlyTiledResourceTier3 : 1
RenderPassesTier : D3D12_RENDER_PASS_TIER_1 (1)
RaytracingTier : D3D12_RAYTRACING_TIER_NOT_SUPPORTED (0)
AdditionalShadingRatesSupported : 0
PerPrimitiveShadingRateSupportedWithViewportIndexing : 0
VariableShadingRateTier : D3D12_VARIABLE_SHADING_RATE_TIER_NOT_SUPPORTED (0)
ShadingRateImageTileSize : 0
BackgroundProcessingSupported : 0
Metacommands enumerated : 2
Metacommands [parameters per stage]: Identity [1][0][2], ClearUAVFloat [0][0][3]

FINISHED running on 2020-06-01 16:47:31
2 display adapter(s) enumerated
 
Last edited:
Have conservative rasterization and raster order views seen any actual use? Im aware of CR being used in Nvidias HFTS and Just Cause 3 maybe using both features on intel graphics.
 
Neither features have seen any widespread use. Conservative rasterization could still see some use in the future. ROVs are pretty much a dead end since it runs counter to GPU design so you don't really want to use it in the future with discrete GPUs because sooner or later the serial execution overhead overtake any gains in reduced memory bandwidth. Even next generation HBM (HBM3 ?) could potentially make ROVs irrelevant altogether since memory bandwidth limitations would become an artifact of the past. ROVs also won't truly give arbitrary blending since it can't preserve the order between different draws. It is only designed to preserve the primitive order inside the draw. If you need to preserve both the primitive order and the draw order as is the case with programmable blending then you need a UAV barrier as well which will further reduce performance.
 
nothing against you... but those "statements" about hw scheduling are 90% fake.
NVIDIA reiterated the statements about Hardware Scheduling in the recently released DX12 Ultimate driver:
the Windows 10 May 2020 Update also added a new feature called Hardware-accelerated GPU scheduling. This new feature can potentially improve performance and reduce latency by allowing the video card to directly manage its own memory.

To enable hardware scheduling, you can open “Graphics Settings: Change Default Graphics Settings”. Simply toggle the feature on and restart the system and you’ll reap the full benefits of the feature.

https://www.nvidia.com/en-us/geforce/news/directx-12-ultimate-game-ready-driver/
 
Turing on R450 driver:

Code:
Direct3D 12 feature checker (May 2020) by DmitryKo (x64)
https://forum.beyond3d.com/posts/1840641/

Windows 10 version 2004 (build 19041.329 vb_release) x64

ADAPTER 0
"NVIDIA GeForce RTX 2080"
VEN_10DE, DEV_1E87, SUBSYS_1E8710DE, REV_A1
Dedicated video memory : 8010.0 MB (8399093760 bytes)
Total video memory : 40734.5 MB (42713178112 bytes)
Video driver version : 27.21.14.5148
WDDM version : KMT_DRIVERVERSION_WDDM_2_7 (2700)
Maximum feature level : D3D_FEATURE_LEVEL_12_1 (0xc100)
DoublePrecisionFloatShaderOps : 1
OutputMergerLogicOp : 1
MinPrecisionSupport : D3D12_SHADER_MIN_PRECISION_SUPPORT_16_BIT (2) (0b0000'0010)
TiledResourcesTier : D3D12_TILED_RESOURCES_TIER_3 (3)
ResourceBindingTier : D3D12_RESOURCE_BINDING_TIER_3 (3)
PSSpecifiedStencilRefSupported : 0
TypedUAVLoadAdditionalFormats : 1
ROVsSupported : 1
ConservativeRasterizationTier : D3D12_CONSERVATIVE_RASTERIZATION_TIER_3 (3)
StandardSwizzle64KBSupported : 0
CrossNodeSharingTier : D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED (0)
CrossAdapterRowMajorTextureSupported : 0
VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation : 1
ResourceHeapTier : D3D12_RESOURCE_HEAP_TIER_2 (2)
MaxGPUVirtualAddressBitsPerResource : 40
MaxGPUVirtualAddressBitsPerProcess : 40
Adapter Node 0:    TileBasedRenderer: 0, UMA: 0, CacheCoherentUMA: 0, IsolatedMMU: 1, HeapSerializationTier: 0, ProtectedResourceSession.Support: 1, ProtectedResourceSessionTypeCount: 1 D3D12_PROTECTED_RESOURCES_SESSION_HARDWARE_PROTECTED
HighestShaderModel : D3D12_SHADER_MODEL_6_5 (0x0065)
WaveOps : 1
WaveLaneCountMin : 32
WaveLaneCountMax : 32
TotalLaneCount : 2944
ExpandedComputeResourceStates : 1
Int64ShaderOps : 1
RootSignature.HighestVersion : D3D_ROOT_SIGNATURE_VERSION_1_1 (2)
DepthBoundsTestSupported : 1
ProgrammableSamplePositionsTier : D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_2 (2)
ShaderCache.SupportFlags : D3D12_SHADER_CACHE_SUPPORT_SINGLE_PSO | LIBRARY (3) (0b0000'0011)
CopyQueueTimestampQueriesSupported : 1
CastingFullyTypedFormatSupported : 1
WriteBufferImmediateSupportFlags : D3D12_COMMAND_LIST_SUPPORT_FLAG_DIRECT | BUNDLE | COMPUTE | COPY | VIDEO_DECODE | VIDEO_PROCESS | VIDEO_ENCODE (127) (0b0111'1111)
ViewInstancingTier : D3D12_VIEW_INSTANCING_TIER_3 (3)
BarycentricsSupported : 1
ExistingHeaps.Supported : 1
MSAA64KBAlignedTextureSupported : 1
SharedResourceCompatibilityTier : D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_2 (2)
Native16BitShaderOpsSupported : 1
AtomicShaderInstructions : 0
SRVOnlyTiledResourceTier3 : 1
RenderPassesTier : D3D12_RENDER_PASS_TIER_0 (0)
RaytracingTier : D3D12_RAYTRACING_TIER_1_1 (11)
AdditionalShadingRatesSupported : 1
PerPrimitiveShadingRateSupportedWithViewportIndexing : 0
VariableShadingRateTier : D3D12_VARIABLE_SHADING_RATE_TIER_2 (2)
ShadingRateImageTileSize : 16
BackgroundProcessingSupported : 1
MeshShaderTier : D3D12_MESH_SHADER_TIER_1 (10)
SamplerFeedbackTier : D3D12_SAMPLER_FEEDBACK_TIER_0_9 (90)
DirectML maximum feature level : DML_FEATURE_LEVEL_2_0 (0x2000)
Metacommands enumerated : 7
Metacommands [parameters per stage]: Conv (Convolution) [84][1][6], CopyTensor [3][1][31], MVN (Mean Variance Normalization) [67][1][6], GEMM (General matrix multiply) [67][1][6], Conv (Convolution) [108][5][6], GEMM (General matrix multiply) [91][5][6], MVN (Mean Variance Normalization) [91][5][6]
 
Turing on R450 driver:
"NVIDIA GeForce RTX 2080"
Video driver version : 27.21.14.5148

FYI, new features in the 45x driver comparing to the older 445 driver:

Code:
WDDM version : KMT_DRIVERVERSION_WDDM_2_7 (2700)
HighestShaderModel : D3D12_SHADER_MODEL_6_5 (0x0065)
SharedResourceCompatibilityTier : D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_2 (2)
RaytracingTier : D3D12_RAYTRACING_TIER_1_1 (11)
MeshShaderTier : D3D12_MESH_SHADER_TIER_1 (10)
SamplerFeedbackTier : D3D12_SAMPLER_FEEDBACK_TIER_0_9 (90)
 
Back
Top