DML_FEATURE_LEVEL enumeration (directml.h)

Defines constants that specify a DirectML feature level. A feature level defines a broad umbrella of functionality supported by DirectML. In using DirectML, you can target specific feature levels, depending on a tradeoff between the level of functionality needed versus the version of DirectML required.

Feature levels in DirectML are strict supersets of one another. This means that every feature level necessarily supports everything that exists in every feature level below (earlier than) it.

For example, DML_FEATURE_LEVEL_2_0 supports everything that DML_FEATURE_LEVEL_1_0 does in addition to some new functionality. Similarly, DML_FEATURE_LEVEL_2_1 supports everything that DML_FEATURE_LEVEL_2_0 and DML_FEATURE_LEVEL_1_0 do plus some additional features.

You can specify a minimum feature level when creating the DirectML device using DMLCreateDevice1. This has the effect of causing device creation to fail if the underlying DirectML implementation is unable to satisfy the requested feature level. This is useful, for example, if using the system version of DirectML and a user runs your application on an older version of Windows 10.

A DirectML device might support feature levels above the minimum feature level requested through DMLCreateDevice1. You can query the device for its supported feature levels using IDMLDevice::CheckFeatureSupport.

For a list of new capabilities included in each feature level, see DirectML feature level history.

Syntax

typedef enum DML_FEATURE_LEVEL {
  DML_FEATURE_LEVEL_1_0 = 0x1000,
  DML_FEATURE_LEVEL_2_0 = 0x2000,
  DML_FEATURE_LEVEL_2_1 = 0x2100,
  DML_FEATURE_LEVEL_3_0 = 0x3000,
  DML_FEATURE_LEVEL_3_1,
  DML_FEATURE_LEVEL_4_0,
  DML_FEATURE_LEVEL_4_1,
  DML_FEATURE_LEVEL_5_0,
  DML_FEATURE_LEVEL_5_1,
  DML_FEATURE_LEVEL_5_2,
  DML_FEATURE_LEVEL_6_0,
  DML_FEATURE_LEVEL_6_1,
  DML_FEATURE_LEVEL_6_2
} ;

Constants

 
DML_FEATURE_LEVEL_1_0
Value: 0x1000
Specifies feature level 1_0.
DML_FEATURE_LEVEL_2_0
Value: 0x2000
Specifies feature level 2_0.
DML_FEATURE_LEVEL_2_1
Value: 0x2100
Specifies feature level 2_1.
DML_FEATURE_LEVEL_3_0
Value: 0x3000
Specifies feature level 3_0.
DML_FEATURE_LEVEL_3_1
Specifies feature level 3_1.
DML_FEATURE_LEVEL_4_0
Specifies feature level 4_0.
DML_FEATURE_LEVEL_4_1
Specifies feature level 4_1.
DML_FEATURE_LEVEL_5_0
Specifies feature level 5_0.

Remarks

The DML_FEATURE_LEVEL_5_1 constant was introduced in DML_FEATURE_LEVEL_5_1. DML_FEATURE_LEVEL_5_1 specifies feature level 5_1.

The DML_FEATURE_LEVEL_5_2 constant was introduced in DML_FEATURE_LEVEL_5_2. DML_FEATURE_LEVEL_5_2 specifies feature level 5_2.

The DML_FEATURE_LEVEL_6_0 constant was introduced in DML_FEATURE_LEVEL_6_0. DML_FEATURE_LEVEL_6_0 specifies feature level 6_0.

The DML_FEATURE_LEVEL_6_1 constant was introduced in DML_FEATURE_LEVEL_6_1. DML_FEATURE_LEVEL_6_1 specifies feature level 6_1.

The DML_FEATURE_LEVEL_6_2 constant was introduced in DML_FEATURE_LEVEL_6_2. DML_FEATURE_LEVEL_6_2 specifies feature level 6_2.

Availability

This API was introduced in DirectML version 1.1.0.

Requirements

Requirement Value
Minimum supported client Windows Build 22000
Minimum supported server Windows Build 22000
Header directml.h

See also