Direct3D 12 documentation is now public

Started by
259 comments, last by Alessio1989 8 years, 7 months ago

Have fun!

https://msdn.microsoft.com/en-us/library/windows/desktop/dn899121(v=vs.85).aspx

P.S. Yes, SlimDX will be supporting D3D 12. We're going to build a modern version of the library that is streamlined to 12 + utilities/math only, and supporting all Win10/D3D 12 hardware platforms. It will be slick.

SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Advertisement

[This documentation is preliminary and is subject to change.]

This should be highlighted.

Anyway, please note that the documentation is also incomplete and contains some mistakes (eg: resource binding tiers), and some additions are coming too.

"Recursion is the first step towards madness." - "Skegg?ld, Skálm?ld, Skildir ro Klofnir!"
Direct3D 12 quick reference: https://github.com/alessiot89/D3D12QuickRef/

Thank you!

EDIT, so this post is not completely useless: Let's see who draws the first triangle on D3D12. :)

Thanks for posting this.

After reading the documentation a little, I noticed on the Direct3D 12 programming environment set up page they state "The Direct3D 12 headers and libraries are part of the Windows 10 SDK".

I did a little digging and it turns out Microsoft quietly released a preview version of D3D12 with the "Windows SDK for Windows 10", available at step 3 of the instructions here.

The build date on the installed D3D12.h/D3D12.lib is 13th March.

The Windows SDK is for build 10041, so you probably need the matching Win10 Tech Preview build 10041 to go with it (available here ). I haven't installed VS2015 CTP6 yet to verify D3D12 apps can build/debug correctly, but it certainly appears you can start writing/building/debugging D3D12 projects right now. Note you probably also need a WDDM 2.0 graphics driver installed to run/debug D3D12 applications (dxdiag in win10 to check WDDM version).

UPDATE:

It looks like you only need to install "Visual Studio Tools for Windows 10 Technical Preview", rather than the Windows SDK, to get the D3D12 headers. The tools download also includes the sdklayer and warp driver. The Windows SDK appears unnecessary.

So the install order is: Windows 10 Technical Preview, VS 2015 CT6, then Visual Studio Tools for Windows 10 Technical Preview. That's all you need to start building D3D12 apps. You also don't require a WDDM 2.0 graphics card to get started, although the D3D12 warp driver will get pretty slow with any heavy workloads.

WDDM 2.0 drivers should be available through Windows Update (at least for AMD GPus), however driver status is still a "work in progress": Some features may not work correctly or may not work at all as far I tested.

"Recursion is the first step towards madness." - "Skegg?ld, Skálm?ld, Skildir ro Klofnir!"
Direct3D 12 quick reference: https://github.com/alessiot89/D3D12QuickRef/

A quick confirmation/update on my earlier post. You can indeed build and run applications that use the D3D12 header/lib installed with the Windows SDK for Windows 10, by using VS2015 CTP6, on Windows 10 Tech Preview March Update (build 10041). smile.png

The Windows SDK only installs the headers/libs, but not the debug runtime, so a really important addition worth getting is the "Visual Studio Tools for Windows 10 Technical Preview" from the same page I linked for the Windows SDK (it's the download above the SDK on that page). That will install the D3D12 debug layer (and warp driver etc.), which is incredibly useful considering the WIP nature of the documentation.

The docs are a bit patchy, as Alessio1989 was good to point out, but it seems the outdated parts of the docs aren't too bad to correct for, using the newer reference section of the docs or the installed header definitions, from the half hour I've spent so far. Enough to create a valid device, swapchain, and command queue/list, at least.

See the updated post #4.

Is there any list of hardware that can run dx12?

Is there any list of hardware that can run dx12?

AMD GCN 1.0 and beyond (no VLIW4/5 GPUs)

Intel Haswell and beyond (no Sandy/Ivy bridge GPUs)

NVIDIA Kepler and beyond (support for Fermi GPUs is pending for a future driver release).

Hybrid notebook systems should not be currently supported (again, support is pending for a future driver release).

"Recursion is the first step towards madness." - "Skegg?ld, Skálm?ld, Skildir ro Klofnir!"
Direct3D 12 quick reference: https://github.com/alessiot89/D3D12QuickRef/

Is there any list of hardware that can run dx12?

AMD GCN 1.0 and beyond (no VLIW4/5 GPUs)

Intel Haswell and beyond (no Sandy/Ivy bridge GPUs)

NVIDIA Kepler and beyond (support for Fermi GPUs is pending for a future driver release).

Hybrid notebook systems should not be currently supported (again, support is pending for a future driver release).

Just to clarify the hybrid graphics issues, it can happen on desktop too if you have your integrated gpu enabled. So if you have, for example, an intel i5/i7 with a hd4600 and a Geforce 770, you can only use the intel gpu to create a d3d12 device. If you try with the discrete gpu it will fail.

So in order to use your discrete gpu, you need to disable the integrated GPU first (from bios for example). The problem is that on laptops, it may be impossible to do. I have a 980m and I can only use the HD4600 that comes with the CPU :P


Hybrid notebook systems should not be currently supported

That's sad. I hope D3D_DRIVER_TYPE_REFERENCE is implemented.

This topic is closed to new replies.

Advertisement