DirectX®12 Ultimate
Comprised of four key features:
Variable Rate Shading (VRS)
DirectX® Raytracing 1.1
Mesh Shading
Sampler Feedback
It introduces an unprecedented alignment between the Xbox Series X and PC.
The AMD RDNA™ 2 architecture has full support for DirectX®12 Ultimate. Sharing the architecture with Microsoft®’s next generation console.
Did you catch us at Microsoft® Game Stack Live 2021?
The virtual Microsoft® Game Stack Live returned this April, bringing you some incredible game developer content.
Did you miss it? You should watch the Graphics Keynote, which includes the exciting news that you can now use select FidelityFX effects in the Xbox GDK.
We also presented some fantastic “don’t miss” talks of our own too:
With raytraced visuals bumping rendering quality even higher than ever before, a significant amount of fine tuning is required to maintain real-time performance. A typical way to achieve this is to trace fewer rays, and to make sense of the noisier output that method delivers.
This presentation will explain how the AMD FidelityFX Denoiser allows for high-quality raytracing results without increasing rays per pixel, and deep dives into specific AMD RDNA™ 2-based optimizations that benefit both Xbox Series X|S and PC.
Join AMD on an adventure thru “Zen 2” and “Zen 3” processors which power today’s game consoles and PCs. Dive into instruction sets, cache hierarchies, resource sharing, and simultaneous multi-threading. Journey across the sands of silicon to master microarchitecture and uncover best practices!
Variable Rate Shading (VRS)
Variable Rate Shading (VRS) is a new feature which allows the hardware to decouple rasterization rate from shading rate.
This enables applications to allocate pixel shading effort where it matters most.
AMD FidelityFX Variable Shading can help you integrate VRS into your engine - find out more!
AMD RDNA™ 2 – DirectX® 12 Ultimate: Variable Rate Shading – YouTube link
Engineer Stephan Hodes provides a short description how VRS works, and how AMD’s FidelityFX Variable Shading technique can assist with integrating VRS into your engine.
AMD FidelityFX™ Variable Shading
AMD FidelityFX Variable Shading drives Variable Rate Shading into your game.
DirectX® Raytracing 1.1
AMD has a long history of enabling a software ecosystem that gives control of the GPU to developers.
Microsoft® DirectX® Raytracing (DXR) adds a new level of graphics realism to video games previously only available in movies. AMD has collaborated with Microsoft on the design of DXR 1.1, an update that can deliver better efficiency and performance in many raytracing effects. DXR 1.1 is a lower-level API which gives more control to developers and is an ideal vehicle to design GPU-friendly raytracing solutions such as Single Shader Raytracing approaches.
How the demo works
Pass 1
Create the visibility buffer
Pass 2*
Ray-traced primary shadows (compute shader with TraceRayInline)
Pass 3*
Ray-traced ambient occlusion (compute shader with TraceRayInline)
Pass 4
Primary shading (compute shader)
Pass 5*
Ray-traced reflections with shadows (compute shader with 2x TraceRayInline)
Pass 6
Combine + TAA (compute shader)
* – uses DXR 1.1
Mesh and Amplification shading
These two, new shader stages replace the four stages of the traditional, programmable, geometry processing pipeline.
Amplification and mesh shaders bring the simplicity and efficiency of compute shaders to the frontend of the graphics pipeline.
Amplification shaders are designed to be deployed to perform tasks such as culling. Traditional renderers perform frustum culling at the draw call level. This implies that such an approach is capable of discarding geometry at mesh granularity. Amplification shaders operate instead on meshlets. As the name applies, a meshlet is a smaller subset of a larger mesh. The amplification shader produces a payload of data which is subsequently consumed by the Mesh shader stage, which then performs all geometry-related processing activities.
Sampler feedback
Sampler feedback adds new instructions which determine the texel footprint of a given texture sample, accounting for filtering modes and MIPmapping.
Before sampler feedback, it was challenging to work out this texel footprint, especially with more complex sampling approaches such as Anisotropic filtering.
This information about what samples the hardware would have fetched can be used to determine the region and resolution of where to apply decoupled shading, or perhaps for adding additional hints to a texture streaming system.
And finally - why not check out more of our DirectX®12-related content?
Developing DirectX® applications
Developing with DirectX? This page shares our DirectX blog posts, presentations, samples, and more. Let us help you create and optimize your DirectX applications!
DirectX®12
Microsoft® DirectX®12 provides APIs for creating games and other graphics applications. Find out how we can help you get the best out of DirectX®12.