Microsoft has announced DirectX 12 Ultimate, a new version of the graphics technology underpinning both Windows and the upcoming Xbox Series X. Unveiled on Thursday, it’s one of many announcements originally scheduled for GDC 2020 that are carrying on despite the show’s cancellation.
Nvidia shared details of what to expect before Microsoft’s official presentation, and it’s easy to see why: Even though Microsoft’s next-gen console is powered by AMD, DirectX 12 Ultimate enshrines several innovative technologies first introduced by GeForce RTX 20-series graphics cards as a new industry standard.
DirectX 12 Ultimate supports DirectX Raytracing (DXR) tier 1.1, of course. The cutting-edge lighting technology stole the spotlight in GeForce RTX 20-series GPUs to the extent that Nvidia ditched its traditional “GTX” branding for “RTX,” and it’s a key feature of the next-gen Xbox Series X. (The PlayStation 5 also supports hardware-based ray tracing, but Sony’s systems don’t rely on DirectX technology.)
Ray tracing can look positively breathtaking when used to good effect, as it has been in Control and Metro Exodus. While its adoption has been limited to this point, expect to see ray tracing explode in popularity once it’s in the consoles.
AMD’s forthcoming RDNA2-based Radeon graphics cards will also support hardware ray tracing, and presumably DirectX 12 Ultimate, as the Xbox Series X is compatible with DXR 1.1.
Ray tracing isn’t the only tech introduced by Nvidia’s Turing architecture that’s being codified by DirectX 12 Ultimate, though. Two other intelligent rendering capabilities make your GPU work smarter, not harder, supercharging the performance potential of your graphics card (or Xbox) if developers wind up embracing them.
DX12 Ultimate hardware also needs to support Variable Rate Shading (VRS) tier 2. Here’s how we described Variable Rate Shading in our Nvidia Turing GPU deep dive:
“Variable Rate Shading is sort of like a supercharged version of the multi-resolution shading that Nvidia’s supported for years now. Human eyes only see the focal points of what’s in their vision at full detail; objects at the periphery or in motion aren’t as sharp. Variable rate shading takes advantage of that to shade primary objects at full resolution, but secondary objects at a lower rate, which can improve performance.
One potential use case for this is Motion Adaptive Shading, where non-critical parts of a moving scene are rendered with less detail. The image above shows how it could be handled in Forza Horizon. Traditionally, every part of the screen would be rendered at full detail, but with Motion Adaptive Shading, only the blue sections of the scene get such lofty treatment.”
Variable Rate Shading can also be used in other ways, such as the Content Adaptive Shading technology that shipped in Wolfenstein II. Content Adaptive Shading applies the same basic principles as Motion Adaptive Shading, but it dynamically identifies portions of the screen that have low detail or large swathes of similar colors, and shades those at lower detail—and more so when you’re in motion—to increase overall performance with minimal loss of perceptible visual quality.
As a high frame rate connoisseur, I’ve been a massive fan of smart rendering techniques like these every time I’ve seen them in action. Fingers crossed that with VRS now part of DX12 Ultimate and the next-gen consoles, developers will start deploying tools like these more often.
Microsoft’s latest version of the API also demands support for mesh shaders, per Nvidia. Once again, Nvidia’s Turing GPUs introduced the concept of mesh shading. Here’s what we said at the time:
“Mesh shading help take some of the burden off your CPU during very visually complex scenes, with tens or hundreds of thousands of objects. It consists of two new shader stages. Task shaders perform object culling to determine which elements of a scene need to be rendered. Once that’s decided, Mesh Shaders determine the level of detail at which the visible objects should be rendered. Ones that are farther away need a much lower level of detail, while closer objects need to look as sharp as possible.
Nvidia showed off mesh shading with an impressive, playable demo where you flew a spaceship through a massive field of 300,000 asteroids. The demo ran around 50 frames per second despite that gargantuan object count because mesh shading reduced the number of drawn triangles at any given point down to around 13,000, from a maximum of 3 trillion potential drawn triangles.”
It was super impressive in the demo. You can see Nvidia’s asteroids demo in action below, and read more about how it works here. No games have taken advantage of mesh shading thus far, even though GeForce RTX 20-series GPUs have been available for well over a year. Nvidia expects to see traction for the technology now that it’s part of DX12 Ultimate.
If you want to learn more about how VRS can be implemented, check out the GeForce blog post on Nvidia Adaptive Shading in Wolfenstein: Youngblood. Youngblood’s NAS combined two different forms of Variable Rate Shading—Content Adaptive Shading and Motion Adaptive Shading—to “accelerate performance by up to 15%, with no perceivable visual quality loss.”
Finally, DirectX 12 Ultimate also requires support for a technology called Sampler Feedback.
“Fundamentally, what this does is allows the texture subsystem to provide some communication to the shading subsystem, to allow developers to make more intelligent choices about the way it manages sampling, filtering, and LODs (levels of detail),” Nvidia’s Tony Tamasi explained during a press briefing. “The way we demonstrated that is with texture space shading. The idea there is that certain shading can be reused, either spatially or temporally across space or time, to allow developers to potentially save performance that don’t need to be reshaded versus shaded time and time again when it’s not necessary.”
For VR workloads, Tamasi said you can use Sampler Feedback to render all the pixels in a scene once, then simply reproject it to the second eye, “saving essentially half the shading calculations in a stereo use case.”
“You can do the same kind of thing temporally,” Tamasi continued. “Say you have a mountain off in the distance, and you didn’t have a lot of dynamic lighting shifting across that mountain. You could potentially update the shading on those mountains every other frame, or every tenth frame, whatever you felt was appropriate for your game, again saving all those shading calculations, allowing developers to up the image quality by putting the quality where it matters, where users are going to see it, and saving some performance in places where it’s not really going to matter.”
Beyond the fact that many of these technologies debuted in Nvidia’s “Turing” GeForce graphics cards well over a year ago, it’s also worth noting that aside from ray tracing, the other DirectX 12 Ultimate capabilities focus on having GPUs work smarter to increase performance. Real time ray tracing puts big-time stress on your graphics chip even with hardware dedicated to the task. Augmenting it with software tricks that can boost performance (including Nvidia’s DLSS on PCs) isn’t just wise, it’s borderline necessary.
Any PC hardware needs to support all of these technologies to be DirectX 12 Ultimate compliant. Nvidia’s GeForce RTX graphics cards already do, obviously, as will the Xbox Series X. Again, given that the next-gen Xbox is based on AMD’s RDNA2 GPUs, we’d expect the next-gen RDNA2 Radeon graphics cards scheduled to launch later this year to support DX12 Ultimate as well.
Microsoft’s DirectX team plans on holding a streamed presentation about DX12 Ultimate at the time this post goes live. We’ll update it with additional information if necessary.