

The 10Level9 Reference section lists the differences between how various ID3D11Device and ID3D11DeviceContext methods behave at various 10Level9 feature levels. To assist you in deciding what feature level to design with, compare the features for each feature level. Choose a feature level when you create a Direct3D 11 device.įor information about limitations creating nonhardware-type devices on certain feature levels, see Limitations Creating WARP and Reference Devices.Performance is dependent on hardware implementation. A feature level does not imply performance, only functionality.A feature level always includes the functionality of previous or lower feature levels.A GPU that allows a device to be created meets or exceeds the functionality of that feature level.Here is a couple of other basic properties of feature levels:

Using feature levels, you can develop an application for Direct3D 9, Microsoft Direct3D 10, or Direct3D 11, and then run it on 9, 10 or 11 hardware (with some exceptions for example, new 11 features will not run on an existing 9 card). For more info about creating a device, see the D3D11CreateDevice function. You can either try to recreate a device at a lower feature level or you can choose to exit the application. If the device creation works, that feature level exists, if not, the hardware does not support that feature level. Now when you create a device, you can attempt to create a device for the feature level that you want to request. For instance, the 9_1 feature level implements the functionality that was implemented in Microsoft Direct3D 9, which exposes the capabilities of shader models ps_2_x and vs_2_x, while the 11_0 feature level implements the functionality that was implemented in Direct3D 11. A feature level is a well-defined set of GPU functionality. With Direct3D 11, a new paradigm is introduced called feature levels.

In prior versions of Microsoft Direct3D, you could find out the version of Direct3D the video card implemented, and then program your application accordingly. This topic discusses Direct3D feature levels.Įach video card implements a certain level of Microsoft DirectX (DX) functionality depending on the graphics processing units (GPUs) installed. To handle the diversity of video cards in new and existing machines, Microsoft Direct3D 11 introduces the concept of feature levels.
