2
\$\begingroup\$

As far as I know the DirectX12 SDK that comes with the Windows 10 SDK can only be used on a Windows 10 machine. Although I'm not entirely sure about the runtime and the use of future levels (which came with DX11). Considering the radical API changes in DX12, is it possible to initiate a level 11_0 device that will operate on the DX11 runtime on Windows 7 for instance? Or am I getting the feature levels idea wrong?

\$\endgroup\$
2
\$\begingroup\$

You are confusing the "Runtime version" with the Direct3D Hardware Feature level. They are not the same thing.

The DirectX 12 API is only supported by the Windows 10 operating system. There is no update for older versions of Windows that would install the DirectX 12 API.

If you need to support Windows 7, either use Direct3D 11 only or provide an alternative codepath that uses Direct3D 11.

The DirectX 12 API supports Feature Level 11.0, 11.1, 12.0, and 12.1 hardware. This also requires WDDM 2.0 drivers. Technically it would be possible for a video card manufacturer to make a driver for DirectX 12 that supported older Direct3D hardware feature levels, but there isn't one or likely to be one.

If you need to support a broad range of video hardware, you should stick with Direct3D 11 which supports 9.1, 9.2, 9.3, 10.0, 10.1, 11.0, or later. Windows 8 or later is required to support Direct3D hardware feature level 11.1, and Windows 10 is required to support Direct3D hardware feature level 12.0 or 12.1.

See Direct3D Feature Levels and Direct3D 11 Deployment for Game Developers.

\$\endgroup\$
-2
\$\begingroup\$

Any machine that can run DirectX 12 can run your program.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.