Search code examples
directxdirectx-11directx-10

DX11 compatibility


My computer supports up to DirectX 10 but I am very interested in programming in DirectX and realize that I should learn the cutting edge technology. I also realize that DirectX 11 has feature levels so that I could program in DirectX 11 on my computer. My question is, does it make sense to program in DirectX 10 until I buy a new computer or should I use DirectX 11 with feature levels? Will I be able to test DirectX 11 features on my computer at all(software is an option but super slow)? Please let me know of my possible options in this situation.


Solution

  • You can program using the Direct3D 11.0 API on Windows 10, Windows 8.x, Windows 7, or Windows Vista Service Pack 2 + KB971644. This includes the Direct3D 11 APIs as well as support for Feature Level 11.0, 10.1, 10.0, 9.3, 9.2, and 9.1.

    You can program the Direct3D 11.1 API on Windows 10, Windows 8.x, and Windows 7 Service Pack 1 + KB2670838. This includes the Direct3D 11.1 APIs, but Feature Level 11.1 is only supported on Windows 8.x and Windows 10.

    You can program against the Direct3D 11.2 API on Windows 8.1 or Windows 10.

    You can use the Direct3D 11.3 or Direct3D 12.0 APIs as well as feature Levels 12.0 and 12.1 on Windows 10.

    If your physical hardware only supports Direct3D 10.0, you can only actually use hardware Feature Level 10.0, 9.3, 9.2 and/or 9.1 functionality. Depending on your hardware and driver, you may or may not have support for DirectCompute 4.0 on that part.

    There's really no reason to use the Direct3D 10 API at all today, and there's a lot more support code out there fore Direct3D 11 than you'll find for Direct3D 10. See Living without D3DX and Getting Started with Direct3D 11.

    UPDATE: Added notes about Windows 10.