DirectX 12

Although the GDC schedule doesn’t specifically mention DirectX 12, the tech’s Twitter account and website have both flagged a GDC reveal.
The March 20 sponsored session will be hosted by Microsoft graphics development manager Anuj Gosalia, and is described as follows:
“For nearly 20 years, DirectX has been the platform used by game developers to create the fastest, most visually impressive games on the planet. However, you asked us to do more. You asked us to bring you even closer to the metal and to do so on an unparalleled assortment of hardware. You also asked us for better tools so that you can squeeze every last drop of performance out of your PC, tablet, phone and console. Come learn our plans to deliver.”
There will also be a session devoted to Direct 3D.
DirectX, for those of you in the dark, is a series of APIs for Windows, Xbox and other Microsoft platforms particularly useful for multimedia, including games. Each new version adds additional features, which is why PC gamers always ask whether a game is using DirectX 11 or not. Developers normally take a few years to come around to a new version of DirectX, as even slightly older systems can’t always support the latest version.

- In DX11, one core is doing most of the work, on DX12, overall CPU utilization is down 50% and the workload is more spread out.
- "Solved" multi-threaded scalability.
- API is now much lower level. Application tracks pipeline status, not the API.
- Better collision and culling.
- Existing base of AMD users will benefit from DX12.
- Intel commits to having Haswell support DX12 at launch.
- NVIDIA will support DX12 on Fermi, Kepler, Maxwell and forward.
- By the time DX12 ships, 50% of all PC gamers will be DX12-capable.
- Targeting December 2015 games.
- Early access coming this year.
- Windows 7 support seems to currently be a question mark.

Some of the slides:

FAQ:

Q: Should I wait to buy a new PC or GPU?
A: No – if you buy a PC with supported graphics hardware (over 80% of gamer PCs currently being sold), you’ll be able to enjoy all the power of DirectX 12 games as soon as they are available.

Q: Does DirectX 12 include anything besides Direct3D 12?
A: Also new is a set of cutting-edge graphics tools for developers. Since this is a preview of DirectX 12 focused on Direct3D 12, other technologies may be previewed at a later date.

Q: When will I be able to get my hands on DirectX 12?
A: We are targeting Holiday 2015 games.

Q: What hardware will support Direct3D 12 / will my existing hardware support Direct3D 12?
A: We will link to our hardware partners’ websites as they announce their hardware support for Direct3D 12.

Lower level API
DirectX 12, just like AMD’s Mantle, takes things to much lower hardware abstraction level than ever before. Similar to Mantle, DX12 will reduced the overhead of both GPU and CPU.Better multi-thread scaling
DX12 will benefit from multi-threaded hardware. DirectX11 was heavily bottlenecked by CPU performance. Mostly because it can’t efficiently benefit from multi-core systems.Pipeline state objects

Direct3D 11 allows pipeline state manipulation through a large set of orthogonal objects. For example, input assembler state, pixel shader state, rasterizer state, and output merger state are all independently modifiable. This provides a convenient, relatively high-level representation of the graphics pipeline, however it doesn’t map very well to modern hardware. This is primarily because there are often interdependencies between the various states (…)
Direct3D 12 addresses this issue by unifying much of the pipeline state into immutable pipeline state objects (PSOs), which are finalized on creation. This allows hardware and drivers to immediately convert the PSO into whatever hardware native instructions and state are required to execute GPU work. (…)

Command lists and bundles

In Direct3D 11, all work submission is done via the immediate context, which represents a single stream of commands that go to the GPU. To achieve multithreaded scaling, games also have deferred contexts available to them, but like PSOs, deferred contexts also do not map perfectly to hardware, and so relatively little work can be done in them.
Direct3D 12 introduces a new model for work submission based on command lists that contain the entirety of information needed to execute a particular workload on the GPU. (…)

Descriptor heaps and tables

Resource binding in Direct3D 11 is highly abstracted and convenient, but leaves many modern hardware capabilities underutilized. In Direct3D 11, games create “view” objects of resources, then bind those views to several “slots” at various shader stages in the pipeline. (…)
Direct3D 12 changes the binding model to match modern hardware and significantly improve performance. Instead of requiring standalone resource views and explicit mapping to slots, Direct3D 12 provides a descriptor heap into which games create their various resource views.

Support

NVIDIA: Kepler, Fermi, Maxwell
NVIDIA confirmed that all Fermi, Kepler and Maxwell GPUs will support DirectX 12. We do know now if this is a 100% API support or just a feature set support, however it does mean that DX12 is more like an extension to DX11 rather than completely new API, which would require hardware implementation.AMD: Graphics Core Next
AMD also confirmed that all Graphics Core Next GPUs already support DirectX 12.Intel: Iris
Intel also confirmed that 4th generation Haswell will support DX12, it does not mean that all CPUs will support it, in fact only Iris and Iris PRO will.DirectX 12 release date

Microsoft is targeting Holiday 2015 games, so it’s still more than a year before we see a final release. Microsoft promised to deliver a preview driver somewhere latest this year.Other slides