DML_FEATURE_QUERY_FEATURE_LEVELS structure (directml.h)

Used to query a DirectML device for its support for one or more feature levels. See IDMLDevice::CheckFeatureSupport. The feature constant is DML_FEATURE_FEATURE_LEVELS, and the support data type is DML_FEATURE_DATA_FEATURE_LEVELS.

Syntax

struct DML_FEATURE_QUERY_FEATURE_LEVELS {
  UINT                    RequestedFeatureLevelCount;
  const DML_FEATURE_LEVEL *RequestedFeatureLevels;
};

Members

RequestedFeatureLevelCount

Type: UINT

The number of elements in the RequestedFeatureLevels array.

RequestedFeatureLevels

Type: _Field_size_(RequestedFeatureLevelCount) DML_FEATURE_LEVEL*

An array of feature levels to query support for. When IDMLDevice::CheckFeatureSupport returns, the DML_FEATURE_DATA_FEATURE_LEVELS struct contains the highest feature level in this array that is supported by the device.

Remarks

This query is useful in combination with the minimumFeatureLevel parameter of DMLCreateDevice1. By supplying a minimum feature level to DMLCreateDevice1, you can be guaranteed a lower bound to the underlying DirectML device's feature level support.

Using this query, you can then also retrieve an upper bound for the feature levels supported by this DirectML device. This information can then be used to achieve graceful fallbacks in cases where particular features are unavailable.

Availability

This API was introduced in DirectML version 1.1.0.

Requirements

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

See also

IDMLDevice::CheckFeatureSupport method

DML_FEATURE enumeration

DML_FEATURE_DATA_FEATURE_LEVELS structure