Preview of New DirectX 12 - DirectX Raytracing Tier 1.1 Coming
In a blog Microsoft is talking DX Raytracing Tier 1.1 and overall a previews a suite of new DirectX 12 features, including DirectX Raytracing tier 1.1, Mesh Shader, and Sampler Feedback.
DirectX Raytracing Tier 1.1
Back in October 2018, MS released Windows 10 OS and SDK to support DirectX Raytracing (aka. DXR tier 1.0). Within one year of its official release, game developers used DXR to bring cinematic level of photorealism in real time to a list of games. At the same time, we continue to work with both GPU vendors and game developers to better expose hardware capabilities and to better address adoption pain points. As a result, we will introduce DXR tier 1.1 with the following new additions on top of tier 1.0.
- Support for adding extra shaders to an existing Raytracing PSO, which greatly increases efficiency of dynamic PSO additions.
- Support ExecuteIndirect for Raytracing, which enables adaptive algorithms where the number of rays is decided on the GPU execution timeline.
- Introduce Inline Raytracing, which provides more direct control of the ray traversal algorithm and shader scheduling, a less complex alternative when the full shader-based raytracing system is overkill, and more flexibility since RayQuery can be called from every shader stage. It also opens new DXR use cases, especially in compute: culling, physics, occlusion queries, and so on.
DXR tier 1.1 is a superset of tier 1.0. Game developers should start building their raytracing solution based on the existing tier 1.0 APIs, then move up to tier 1.1 once they can better evaluate the benefit of tier 1.1. to their games.
DirectX Mesh Shader
Mesh shaders and amplification shaders are the next generation of GPU geometry processing capability, replacing the current input assembler, vertex shader, hull shader, tessellator, domain shader, and geometry shader stages. The main goal of the mesh shader is to increase the flexibility and performance of the geometry pipeline. Mesh shaders use cooperative groups of threads (similar to a compute shader) to process small batches of vertices and primitives before the rasterizer, with choice of input data layout, compression, geometry amplification, and culling being entirely determined by shader code. Mesh shaders can enhance performance by allowing geometry to be pre-culled without having to output new index buffers to memory, whereas triangles are currently only culled by fixed function hardware after the vertex shader has completed execution. There is also a new amplification shader stage, which enables tessellation, instancing, and additional culling scenarios. The flexibility and high performance of the mesh shader programming model will allow game developers to increase geometric detail, rendering more complex scenes without sacrificing framerate.
DirectX Sampler Feedback
Sampler Feedback is a hardware feature for recording which areas of a texture were accessed during sampling operations. With Sampler Feedback, games can generate a Feedback Map during rendering which records what parts of which MIP levels need to be resident. This feature greatly helps in two scenarios as detailed below.
Texture Streaming
Many next-gen games have the same problem: when rendering bigger and bigger worlds with higher and higher quality textures, games suffer from longer loading time, higher memory pressure, or both. Game developers have to trim down their asset quality, or load in textures at runtime more than necessary. When targeting 4k resolution, the entire MIP 0 of a high quality texture takes a lot of space! It is highly desirable to be able to load only the necessary portions of the most detailed MIP levels.
One solution to this problem is texture streaming as outlined below, where Sampler Feedback greatly improves the accuracy with which the right data can be loaded at the right times.
- Render scene and record desired texture tiles using Sampler Feedback.
- If texture tiles at desired MIP levels are not yet resident:
- Render current frame using lower MIP level.
- Submit disk IO request to load desired texture tiles.
- (Asynchronously) Map desired texture tiles to reserved resources when loaded.
Texture-Space Shading
Another interesting scenario is Texture Space Shading, where games dynamically compute and store intermediate shader values in a texture, reducing both spatial and temporal rendering redundancy. The workflow looks like the following, where again, Sampler Feedback greatly improves efficiency by avoiding redundant work computing parts of a texture that were not actually needed.
- Draw geometry with simple shaders that record Sampler Feedback to determine which parts of a texture are needed.
- Submit compute work to populate the necessary textures.
- Draw geometry again, this time with real shaders that apply the generated texture data.
Other Features
- DRED support for PIX markers
- New APIs for interacting with the D3D9on12 mapping layer
- R11G11B10_FLOAT format supported for shared resources
- New resource allocation flags that allow creating D3D12 resources without also making them resident in GPU memory, or without zero initializing them, which can improve the performance of resource creation
- D3DConfig: A new tool to manage DirectX Control Panel settings
PIX support for these new DirectX 12 features is coming in the next few months. We will provide more details when deep diving into each feature in coming weeks.
Tropico 6 Preview Short Trailer - 03/07/2019 09:45 AM
Kalypso Media has opened up the Tropico 6 beta to all for a limited time only, with a multiplayer stress test available now on Steam. Players can get in on all the action now until 18:00 GMT on 8th M...
Preview of Zen 2 architecture in at AMD GDC 2019 presentation - 02/11/2019 09:48 AM
At the Game Developers' Conference, in San Francisco from March 18 to 22 this year, AMD will present a preview of its Zen 2 architecture. The session is dedicated to code optimization for AMD's Ryze...
COLORFUL Unveils Feature Preview of its iGame200 Motherboards - 12/23/2016 10:30 AM
Colorful Technology Company Limited, professional manufacturer of graphics cards and motherboards, is thrilled to reveal its preview of features for its upcoming iGame200 motherboard product line. ...
Windows 10 Tech Preview downloads Pass 1 million - 10/15/2014 09:25 AM
Microsoft writes that Windows 10 Tech Preview registrations have passed the 1 million mark. 36 percent of these installations are running in virtual machines and that 68 percent of users are launching...
Windows 9 Preview screenshots Shows Start Menu and notification screen - 09/11/2014 04:58 PM
Interesting, the guys over at ComputerBase have shown some initial screen-shots of Windows 9 Technical Preview build 9834. Computerbase shows 20 screenshots of the pending Technical Preview, they rev...
Senior Member
Posts: 14642
Joined: 2014-07-21
Good question (I tend to believe yes, until LTSC switches over to the next big build sometime next year), but I'm also curious about this:
Will current DXR hardware (as in, RTX Geforces of Turing) support Tier 1.1? Or is this reserved for next year's RTX cards?
Senior Member
Posts: 3408
Joined: 2013-03-10
I have a feeling Nvidia hasn't been hurrying with Ampere to have all of this fully implemented. They probably worked together with MS to develop this. Let's hope AMD was there as well since MS probably had the new Xbox gen in mind when developing this.
Senior Member
Posts: 614
Joined: 2019-05-29
Good question (I tend to believe yes, until LTSC switches over to the next big build sometime next year), but I'm also curious about this:
Will current DXR hardware (as in, RTX Geforces of Turing) support Tier 1.1? Or is this reserved for next year's RTX cards?
Don't have much understanding, but it seems to me that current cards should be supported. Next-gen might(should?) be more optimized.
Senior Member
Posts: 2273
Joined: 2003-09-10
Senior Member
Posts: 614
Joined: 2019-05-29
Is this to be available only for the regular editions, or for LTSC as well?