Maxwell and DirectX 12 Delivered

by Henry Moreton

NVIDIA this week announced Maxwell, our 10th generation GPU architecture. Maxwell delivers unmatched performance, twice the energy efficiency of the previous generation, and major new graphics capabilities including the latest DirectX 12 (DX12) advancements.

As described in a detailed earlier this year in a blog post from the Game Developers Conference (GDC), DX12 is the latest version of the industry standard graphics application programming interface (API), used by game developers worldwide. That API is now ready for developers wishing early access, and Maxwell is lined up to be a great development platform.

An extraordinary collaboration validated the worthiness of DX12. Last week in a pre-briefing with the press on Maxwell, Microsoft’s Principal DirectX Development Lead Max McMullen described the coordinated work of four companies to deliver a stunning, surprise tech demo based on the Fable Legends title announced at E3 (see more from Microsoft, here).

The demo was running on the combination of Maxwell, Unreal Engine 4 (UE4) and DX12. Engineers and artists from Lionhead, Epic, Microsoft and NVIDIA combined talents and hard work to create a compelling technology demo of Fable running on a DX12-based version of UE4. The creation of the demo wrung out bugs and extracted performance gains from drivers, runtime, engine and application alike.

Part of McMullen’s presentation was the announcement of a broadly accessible early access program for developers wishing to target DX12. Microsoft will supply the developer with DX12, UE4-DX12 and the source for Epic’s Elemental demo ported to run on the DX12-based engine. In his talk, McMullen demonstrated Maxwell running Elemental at speed and flawlessly. As a development platform for this effort, NVIDIA’s GeForce GPUs and Maxwell in particular is a natural vehicle for DX12 development.

Figure 2 – Head of Vulcan from Epic’s Elemental demo.
Figure 2 – Head of Vulcan from Epic’s Elemental demo.

DirectX 12 – Range, Control and Efficiency
Spanning devices ranging from PCs to consoles, tablets and smartphones, Microsoft’s upcoming DirectX 12 API has been designed to have CPU efficiency significantly greater than earlier DirectX versions. One of the keys to accomplishing this is providing more explicit control over hardware – giving game developers more control of GPU and CPU functions.

Figure 3 -- triangle voxelization.
Figure 3 – triangle voxelization.

While the NVIDIA driver very efficiently manages resource allocation and synchronization under DX11, under DX12 it is the game developer’s responsibility to manage the CPU and GPU. Because the developer has an intimate understanding of their application’s behavior and needs, DX12 has the potential to be much more efficient than DX11 at the cost of some effort on the part of the developer. DX12 contains a number of improvements that can be used to improve the API’s CPU efficiency; we’ve announced that all Fermi, Kepler, and Maxwell GPUs will fully support the DX12 API.

New Functionality – DX12 & DX11
In addition, the DX12 release of DirectX will introduce a number of new features supported by Maxwell for graphics rendering. Microsoft disclosed some of these features at GDC and during NVIDIA’s Editor’s Day conference. Conservative Raster is one of these features. Useful in algorithms from voxelization to memory allocation and occlusion culling, conservative raster tests a primitive against the area of the pixel.

Figure 4 -- transparency rendering.
Figure 4 – transparency rendering.

Another is Raster Ordered Views (ROVs), which gives developers control over the ordering of pixel shader operations. ROVs can be used to implement functions such as custom blending as well as algorithms for transparency.

The new graphics features included in DX12 will be accessible from either DX11 or DX12, so developers will be free to use the new features with either the DX11 or DX12 APIs.

Ready Now
Maxwell and DX12 represent the latest advancements in gaming technology, are ready now, and will empower developers to create extraordinary games.

See also: Microsoft’s DirectX 12 blog post