![]() feature level is supported on the device & cap.MaxSupportedFeatureLevel = requested) If (SUCCEEDED(device->CheckFeatureSupport( For example:ĭ3D_FEATURE_LEVEL requested = D3D_FEATURE_LEVEL_12_2 Ĭap.pFeatureLevelsRequested = &requested You can also query a device for 12_2 using CheckFeatureSupport, even if you created the device against a lower feature level. feature level is supported by default adapter HRESULT hr = D3D12CreateDevice(nullptr, featureLevel, IID_PPV_ARGS(&m_spDevice)) You do it when creating a Direct3D 12 device.ĭ3D_FEATURE_LEVEL featureLevel = D3D_FEATURE_LEVEL_12_2 If you’re an application, you request feature level 12_2 in the same manner you request other feature levels. As time moves on and newer-feature-level graphics cards become more widely available, application developers’ lives are made easier since a cumbersome capability check can be removed in favor of simple reliance on presence of the new feature level. In addition, feature level 12_2 includes a grab-bag of other capabilities, listed out below. There’s a desire to streamline applications who wish to use them, and to make it easier to reason about support for those features on everyone’s gaming environments. There are some big-ticket graphics features worth exposing in Direct3D 12, and important enough to be represented in a feature level. Now it’s worth mentioning that the jump from 12_1 to 12_2 is huge, if we’re being honest. And, of course, feature level 12_2 includes all the capabilities of the ones before it, plus some new things. For example, feature level 12_1 includes all the capabilities of feature level 12_0 plus some more things. ![]() Successive feature levels are supersets of functionality. A coarse grouping of GPU capabilities is something that applications can easily base their rendering paradigms on, rather than lots of permutations of individual capabilities. They’re a convenient way for applications to make sense of generational improvements to GPUs which occur over time. ![]() Games and applications are expected to be programmed to detect which feature levels are available on the system and use a set of features accordingly.įeature levels allow streamlining of application code while encouraging adoption of new hardware capabilities. They might also have different feature levels between them. Or, you might have a multi-GPU system where the two GPUs are different. But they could have different feature levels. You might visit a computer hardware store or friend you borrow all your hardware from, and find two graphics cards both compatible with your Windows 10 desktop machine. “Feature level” is a property of your graphics card. In Direct3D, a “feature level” is the name we use to describe a bunch of graphics card capabilities. At the same time, Direct3D 12 provides ways for the differentiation between graphics cards to be manageable by applications, especially as technology improves and evolves forward- applications can take advantage of the cool new hardware features as they become available. That kind of standardization is hugely valuable and has made life easier for everyone who writes graphical applications on Windows. Of course, Direct3D 12 provides a set of functionalities that are guaranteed for any graphics card with a Direct3D 12 driver on Windows. There’s differentiation.ĭifferentiation not only of overall performance characteristics, but the kinds of available functionality. ![]() If you’re a game developer who has spent any amount of time with computer hardware, or perhaps a computer game which simulates working with it, you will know that graphics cards are not all the same. This post has been republished via RSS it originally appeared at: Microsoft Developer Blogs.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |