To get the most out of DirectX 12 Ultimate, we’ve provided early public access to the NVIDIA DirectX Ultimate Developer Preview Driver [450.82] on our DirextX developer page, for both NVIDIA GeForce and NVIDIA Quadro. This new driver will let you go hands-on with DirectX 12 Ultimate’s exciting new features:
DirectX Raytracing 1.1
DXR traces paths of light with physics calculations, enabling highly accurate simulations. DXR 1.1 adds three major new capabilities:
- ExecuteIndirect: GPU work creation now allows ray tracing. This enables shaders on the GPU to invoke and control ray tracing without an intervening round-trip back to the CPU. This is useful for adaptive ray tracing scenarios like shader-based culling, sorting, classification, and refinement.
- Incremental State Objects: State objects can now be incrementally compiled to enable streaming engines to efficiently add new ray tracing shaders as needed when the player moves around the world and new objects become visible without causing performance issues like stuttering
- TraceRayInline: Inline ray tracing is an alternative form of ray tracing that gives developers the option to drive more of the ray tracing process, as opposed to handing work scheduling entirely to the system (dynamic-shading). It is available in any shader stage (including compute shaders, pixel shaders etc) which also allows for easier integration into existing game engines. Both the dynamic-shading and inline forms of ray tracing use the same opaque acceleration structures.
Mesh Shaders
Mesh shaders bring the full power of generalized GPU compute to the geometry pipeline. They allow developers to build more detailed and dynamic worlds. Prior to mesh shaders, the GPU geometry pipeline hid the parallel nature of GPU hardware execution behind a simplified programming abstraction, which only gave developers access to seemingly linear shader functions. Mesh shaders change this by making geometry processes behave more like compute shaders. There is also an optional new shader stage called the amplification shader. This runs before the mesh shader, determines how many mesh shader thread groups are needed, and then launches the required number of mesh shaders.
Sampler Feedback
Sampler Feedback enables better visual quality, shorter load times, and less stuttering. This is accomplished by providing detailed information that enables developers to only load in textures when needed. Sampler feedback also enables texture-space shading (TSS), a rendering technique which de-couples the shading of an object in world space from the rasterization of the shape of that object to the final target.
Variable Rate Shading
Variable Rate Shading (VRS) allows developers to selectively vary a game’s shading rate. This lets them dial up the GPU power in more important parts of the game for better visuals, and dial back the GPU power during less important areas in a game for better speed
IoT Edge Containers
When a GPU from a host is shared with an Argon container on a normal Enterprise PC, an IoT workload can now be produced. An IoT SKU can then be run inside of the container. This necessitates a successful execution of compute & WinML applications in the container environment. Previously, GPUs were not supported on Argon containers. But with 20H1 GPUs (or virtual GPUs) now supported, developers can enjoy the benefits of GPU computation for any IoT based app development.
High Performance Timing Data
DX Runtime and Driver optimizations improve the performance of timestamp markers, which will help tools like PIX (a Microsoft-provided performance tuning and debugging tool for Windows and Xbox game developers using DirectX 12).
Preview Available Now!
To try the DirectX 12 Ultimate Preview Driver out for yourself, head over to our DirextX developer page and download it for GeForce or Quadro.