DirectX Developer Day 2020

Kaotik

Drunk Member
Legend
Supporter
Microsoft's DirectX Developer Day 2020 is about to begin just about now at https://mixer.com/DirectX

On agenda:
- The New features and unprecedented opportunities of DirectX 12 (Jianye Lu)
- The New Standard for Next Gen Games (NVIDIA)
- DXR Tier 1.1: Adding functionalities and efficiency (Jianye Lu)
- DXR Tier 1.1 Running on AMD RDNA 2 Hardware (Dave Oldcorn, AMD)
- Reinventing the geometry pipeline: Mesh Sahders in DirectX 12 (Shawn Hargreaves)
- Advanced Mesh Shaders (Martin Fuller)
- DirectX 12 Sampler Feedback (Claire Andrews)
- PIX on Windows (Austin Kinross)
- HLSL Compiler (Michael Doughterty)
 
NVIDIA claims to have developed DXR1.1 with MS as well now. Turing supports it officially.

DXR1_1.jpg


https://www.nvidia.com/en-us/geforce/news/geforce-rtx-ready-for-directx-12-ultimate/
 

It should be highly advised for console or AMD hardware developers to use the DXR Tier 1.1 inline ray tracing feature to get the most optimal performance out of their GPU. DXR Tier 1.1 maps nicely to the new upcoming AMD graphics architecture and using the inline ray tracing feature will most likely trigger their fast-paths in their hardware. Treat the practices from DXR Tier 1.0 as being effectively 'deprecated'.

No idea what the 'fast-path' would be on Nvidia hardware or whether it even matters in terms of performance.
 
DXR Tier 1.1 maps nicely to the new upcoming AMD graphics architecture and using the inline ray tracing feature will most likely trigger their fast-paths in their hardware
Have you watched the presentation on DXR 1.1 you linked?

It discusses quite common shading optimisations for all GPUs, thread divirgence is the issue for all GPUs.

In other words, these are architecture agnostic optimizations.

The same can be said about new features in DXR 1.1, there is nothing specific for AMD.

GPU work creation for rays dispatching and software scheduling is a good thing for all GPUs.
 
Have you watched the presentation on DXR 1.1 you linked?

It discusses quite common shading optimisations for all GPUs, thread divirgence is the issue for all GPUs.

In other words, these are architecture agnostic optimizations.

The same can be said about new features in DXR 1.1, there is nothing specific for AMD.

GPU work creation for rays dispatching and software scheduling is a good thing for all GPUs.

Doubt it since this is an IHV representative from AMD doing this presentation.

Also I doubt divergence is much of an issue on Nvidia hardware since their GPUs have independent thread scheduling which keeps track of the divergence with a program counter per lane.

DXR Tier 1.1's inline ray tracing feature is likely to be an AMD centric fast-path to doing ray tracing on their hardware. Maybe Intel hardware could potentially work similarly ?

Whatever it is that Nvidia taught developers with DXR Tier 1.0, it's probably lies and it does not match how ray tracing works on consoles.

I still don't know what the exact fast-paths or slow-paths are for Nvidia's ray tracing implementation.
 
Treat the practices from DXR Tier 1.0 as being effectively 'deprecated'.
Some tidbits on the discord channel of the GDC presentation:

Turing GPUs fully support DXR 1.1 in hardware

developers would only use the extra facilities of DXR1.1 when they make sense. DXR1.1 does not replace DXR1.0, but compliments it with additional functionality

DXR 1.0 and DXR 1.1 simply provide different ways of using the same underlying hardware. Games developed with DXR1.1 in mind will not have lower performance on Turing. However, games performing complex shading w/ multiple materials will likely see better performance on DXR 1.0 because scheduling of shading work will be handled by the system.

Microsoft themselves reiterated the same sentiment, and stated that both DXR1 and DXR1.1 don't replace each other, they exist together and complement each other.

Scenarios with many complex shaders will run better with dynamic-shader-based raytracing, as opposed to using massive inline raytracing uber-shaders. Meanwhile, scenarios that have a minimal shading complexity and/or very few shaders will run better with inline raytracing.

The high-level takeaway is that both the new inline raytracing and the original dynamic-shader-based raytracing are valuable for different purposes. As of DXR 1.1, developers not only have the choice of either approach, but can even combine them both within a single renderer.

https://devblogs.microsoft.com/directx/announcing-directx-12-ultimate/
 
Microsoft themselves reiterated the same sentiment, and stated that both DXR1 and DXR1.1 don't replace each other, they exist together and complement each other.





https://devblogs.microsoft.com/directx/announcing-directx-12-ultimate/

That still doesn't change the fact that this goes against AMD's programming advice for their hardware. DXR Tier 1.1 with inline ray tracing is the most likely way to hit AMD's fast-paths even with complex shaders in the vast majority of the cases.

As far as AMD are concerned, DXR Tier 1.0 is nearly obsolete crap to them. If a developer is trying to optimize ray tracing on AMD hardware then they should avoid it as much as possible.
 
As far as AMD are concerned, DXR Tier 1.0 is nearly obsolete crap to them. If a developer is trying to optimize ray tracing on AMD hardware then they should avoid it as much as possible.

AMD is trying to encourage developers to use as little shaders as possible in their RT implementation to use the inline DX1.1 features. Most likely because otherwise RT will be slower on AMD hardware. Maybe significantly slower as well. I guess it will depend on the nature of the game and the required achieved look, some games will do fine with minimalistic shader approaches, some simply don't.
 
I'm sure there will be demos showing performance and visual quality of both Nvidia and AMD implementation using both DX1.0 and DX1.1. So far not impressed with the DX1.1 demo visuals.
 
Last edited:
Doubt it since this is an IHV representative from AMD doing this presentation.
Such a childish argument.
All hw vendors participated in DXR 1.1 development, and yes, AMD presented it, so what? In the same way, nvidia guys presented DX12 many times on different conferences.

Also I doubt divergence is much of an issue on Nvidia hardware since their GPUs have independent thread scheduling which keeps track of the divergence with a program counter per lane.
That's a programming model feature that enables execution of mutexes and other sync primitives on a single thread level without causing deadlocks on GPU. It enables new algorithms on GPU and simplifies CPU code porting. This feature enables MIMD like programming model, yet performance wise it still behaves like SIMD. It is not a performance feature, it doesn't help with thread divergence performance problems.

DXR Tier 1.1's inline ray tracing feature is likely to be an AMD centric fast-path to doing ray tracing on their hardware
Certainly it can be a fast-path in comparison with dynamic-shader-based raytracing on AMD hw for whatever reason, but why do you think simplified inline raytracing shading will cause any slowdowns on Turing?
 
Certainly it can be a fast-path in comparison with dynamic-shader-based raytracing on AMD hw for whatever reason, but why do you think simplified inline raytracing shading will cause any slowdowns on Turing?

Did I somehow state that inline ray tracing was a slow-path on Nvidia hardware or did you and the others start getting defensive ?

And one should always take caution with vendor because what speak of does not necessarily apply to other hardware vendors.
 
March 19, 2020
With DirectX Raytracing 1.1, games can now call on light rays from the GPU without first pinging the CPU. This makes it more efficient for engines to spool up more ray tracing shaders as players move around an environment.

Developers can also choose to use inline ray tracing, which acts as an alternative to dynamic ray tracing. In the dynamic model, the ray tracing system calculates how the lighting works depending on materials and light sources. With inline ray tracing, artists can pick and choose how the ray tracing behaves. Microsoft notes that inline is useful for confined shadows.

“Scenarios with many complex shaders will run better with dynamic-shader-based ray tracing, as opposed to using massive inline ray tracing uber-shaders,” writes Microsoft. “Meanwhile, scenarios that have a minimal shading complexity and/or very few shaders will run better with inline ray tracing.”

Microsoft has once again worked with Nvidia to ensure that DirectX Raytracing 1.1 takes full advantage of RTX video cards.
https://venturebeat.com/2020/03/19/microsoft-unveils-directx-12-ultimate-with-improved-ray-tracing/

March 20, 2020
DirectX 12 Ultimate supports DirectX Raytracing (DXR) tier 1.1, which is an incremental update to the first iteration. 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.) The most notable addition in DXR 1.1 is inline ray tracing, a new technique that “gives developers the option to drive more of the raytracing process, as opposed to handling work scheduling entirely to the system,” per Microsoft.
https://www.pcworld.com/article/353...ting-graphics-tricks-across-pcs-and-xbox.html
 
Last edited:
As far as AMD are concerned, DXR Tier 1.0 is nearly obsolete crap to them.
That's funny considering that official MS recommendation is to use 1.0 capabilities (which are a part of 1.1 now btw so saying that 1.0 is "crap" means that 1.1 is also "crap" in like 90% or so) when you're actually doing a lot of RT and use inline trace ray when you're doing just a little of it.
 
Back
Top