• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

Microsoft Details DirectX Raytracing Tier 1.1, New DirectX 12 Features

btarunr

Editor & Senior Moderator
Staff member
Joined
Oct 9, 2007
Messages
47,165 (7.57/day)
Location
Hyderabad, India
System Name RBMK-1000
Processor AMD Ryzen 7 5700G
Motherboard ASUS ROG Strix B450-E Gaming
Cooling DeepCool Gammax L240 V2
Memory 2x 8GB G.Skill Sniper X
Video Card(s) Palit GeForce RTX 2080 SUPER GameRock
Storage Western Digital Black NVMe 512GB
Display(s) BenQ 1440p 60 Hz 27-inch
Case Corsair Carbide 100R
Audio Device(s) ASUS SupremeFX S1220A
Power Supply Cooler Master MWE Gold 650W
Mouse ASUS ROG Strix Impact
Keyboard Gamdias Hermes E2
Software Windows 11 Pro
Microsoft detailed feature additions to the DirectX 12 3D graphics API, and an expansion of its DirectX Ray-tracing (DXR) API to Tier 1.1. The updated APIs will be included with the Windows 10 major update that's scheduled for the first half of 2020 — the features are accessible already for developers in Windows Insider preview builds. DXR 1.1 is the first major update to the API since its Q4-2018 launch, and adds three major features. To begin with, it brings support for extra shaders to an existing ray-tracing PSO (pipeline-state object), increasing the efficiency of dynamic PSO additions. Next up, is ExecuteIndirect for Raytracing support, described by Microsoft as "enabling adaptive algorithms where the number of rays is decided on the GPU execution timeline." This could be a hint what to expect from NVIDIA's next-generation GPUs that are expected for next year. Lastly, the API introduces support for Inline Raytracing, which gives developers more control over ray traversal and scheduling.

Over in the main DirectX 12 API, Microsoft is introducing support for Mesh Shaders, which brings about systemic changes to the graphics pipeline. "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," writes Microsoft in its blog post. DirectX Sampler Feedback contributes toward memory management by allowing games to better understand which texture assets are more frequently accessed and need to remain resident.



Microsoft describes the performance impact of DirectX Sampler Feedback on two key API features: streamed textures and texture-space shading, as follows:

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:
    o Render current frame using lower MIP level.
    o 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
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.

View at TechPowerUp Main Site
 
Joined
Sep 11, 2019
Messages
187 (0.10/day)
Processor Raptor Lake 13700K
Motherboard Asus Z690
Memory 32GB DDR4 3600Mhz CAS16
Video Card(s) Gigabyte 4070 Ti
Display(s) Samsung C32HG70 - 32" 1440p
Case Silverstone GD-07B
Audio Device(s) Focusrite Scarlett 8i6 3rd Gen - Sennheiser HD595
Cool stuff. I have a somewhat dumb question (or maybe it’s just me that’s dumb): Do these new features require new hardware to implement, or can any full DX12 card make use of them after a software/driver update? So far as I can tell, this is not mentioned.
 

Solaris17

Super Dainty Moderator
Staff member
Joined
Aug 16, 2005
Messages
26,846 (3.83/day)
Location
Alabama
System Name RogueOne
Processor Xeon W9-3495x
Motherboard ASUS w790E Sage SE
Cooling SilverStone XE360-4677
Memory 128gb Gskill Zeta R5 DDR5 RDIMMs
Video Card(s) MSI SUPRIM Liquid X 4090
Storage 1x 2TB WD SN850X | 2x 8TB GAMMIX S70
Display(s) Odyssey OLED G9 (G95SC)
Case Thermaltake Core P3 Pro Snow
Audio Device(s) Moondrop S8's on schitt Modi+ & Valhalla 2
Power Supply Seasonic Prime TX-1600
Mouse Lamzu Atlantis mini (White)
Keyboard Monsgeek M3 Lavender, Akko Crystal Blues
VR HMD Quest 3
Software Windows 11 Pro Workstation
Benchmark Scores I dont have time for that.
TIL snapdragons use directx
 
Joined
Jul 16, 2014
Messages
8,195 (2.18/day)
Location
SE Michigan
System Name Dumbass
Processor AMD Ryzen 7800X3D
Motherboard ASUS TUF gaming B650
Cooling Artic Liquid Freezer 2 - 420mm
Memory G.Skill Sniper 32gb DDR5 6000
Video Card(s) GreenTeam 4070 ti super 16gb
Storage Samsung EVO 500gb & 1Tb, 2tb HDD, 500gb WD Black
Display(s) 1x Nixeus NX_EDG27, 2x Dell S2440L (16:9)
Case Phanteks Enthoo Primo w/8 140mm SP Fans
Audio Device(s) onboard (realtek?) - SPKRS:Logitech Z623 200w 2.1
Power Supply Corsair HX1000i
Mouse Steeseries Esports Wireless
Keyboard Corsair K100
Software windows 10 H
Benchmark Scores https://i.imgur.com/aoz3vWY.jpg?2
Texture Streaming works well for cards with low vram and tend to work better in conjunction with things like distant terrain rendering reducing micro stuttering in several games.
 
Joined
Feb 3, 2017
Messages
3,726 (1.32/day)
Processor Ryzen 7800X3D
Motherboard ROG STRIX B650E-F GAMING WIFI
Memory 2x16GB G.Skill Flare X5 DDR5-6000 CL36 (F5-6000J3636F16GX2-FX5)
Video Card(s) INNO3D GeForce RTX™ 4070 Ti SUPER TWIN X2
Storage 2TB Samsung 980 PRO, 4TB WD Black SN850X
Display(s) 42" LG C2 OLED, 27" ASUS PG279Q
Case Thermaltake Core P5
Power Supply Fractal Design Ion+ Platinum 760W
Mouse Corsair Dark Core RGB Pro SE
Keyboard Corsair K100 RGB
VR HMD HTC Vive Cosmos
Cool stuff. I have a somewhat dumb question (or maybe it’s just me that’s dumb): Do these new features require new hardware to implement, or can any full DX12 card make use of them after a software/driver update? So far as I can tell, this is not mentioned.
It depends. Existing hardware may be capable of new features in which case it would be doable with driver update.
Some of the new stuff does seem to be more about optimizing API, software and their interactions though.

Timing is also curious. 2020H1 is where current rumors put Ampere and RDNA2 cannot be far behind.
 
Joined
Oct 1, 2006
Messages
4,930 (0.75/day)
Location
Hong Kong
Processor Core i7-12700k
Motherboard Z690 Aero G D4
Cooling Custom loop water, 3x 420 Rad
Video Card(s) RX 7900 XTX Phantom Gaming
Storage Plextor M10P 2TB
Display(s) InnoCN 27M2V
Case Thermaltake Level 20 XT
Audio Device(s) Soundblaster AE-5 Plus
Power Supply FSP Aurum PT 1200W
Software Windows 11 Pro 64-bit
It depends. Existing hardware may be capable of new features in which case it would be doable with driver update.
Some of the new stuff does seem to be more about optimizing API, software and their interactions though.

Timing is also curious. 2020H1 is where current rumors put Ampere and RDNA2 cannot be far behind.
I suspect some of these features are back-ported from what ever new developmental version of DX the upcoming Xbox will use.
So most likely something to do with RTRT on RDNA2.
 
Joined
Oct 4, 2017
Messages
706 (0.27/day)
Location
France
Processor RYZEN 7 5800X3D
Motherboard Aorus B-550I Pro AX
Cooling HEATKILLER IV PRO , EKWB Vector FTW3 3080/3090 , Barrow res + Xylem DDC 4.2, SE 240 + Dabel 20b 240
Memory Viper Steel 4000 PVS416G400C6K
Video Card(s) EVGA 3080Ti FTW3
Storage XPG SX8200 Pro 512 GB NVMe + Samsung 980 1TB
Display(s) Dell S2721DGF
Case NR 200
Power Supply CORSAIR SF750
Mouse Logitech G PRO
Keyboard Meletrix Zoom 75 GT Silver
Software Windows 11 22H2
Cool stuff. I have a somewhat dumb question (or maybe it’s just me that’s dumb): Do these new features require new hardware to implement, or can any full DX12 card make use of them after a software/driver update? So far as I can tell, this is not mentioned.

To my understanding yes any full DX12 card can make use or them BUT that doesn't mean any full DX12 card will take full advantage while using them ! For instance it has become clear that raytracing workloads require dedicated hardware for optimal results so don't expect full DX12 cards that lack said dedicated hardware to take any serious advantage of those new features .
 
Joined
Apr 8, 2012
Messages
270 (0.06/day)
Location
Canada
System Name custom
Processor intel i7 9700
Motherboard asrock taichi z370
Cooling EK-AIO 360 D-RGB
Memory 24G Kingston HyperX Fury 2666mhz
Video Card(s) GTX 2080 Ti FE
Storage SSD 960GB crucial + 2 Crucial 500go SSD + 2TO crucial M2
Display(s) BENQ XL2420T
Case Lian-li o11 dynamic der8auer Edition
Audio Device(s) Asus Xonar Essence STX
Power Supply corsair ax1200i
Mouse MX518 legendary edition
Keyboard gigabyte Aivia Osmium
VR HMD PSVR2
Software windows 11
Asteroids Mesh Shaders Demo

 
Joined
Mar 21, 2016
Messages
2,508 (0.80/day)
Asteroids Mesh Shaders Demo

These mesh shader optimizations will be key to enabling ray tracing at acceptable performance in complex lighting/shading scenes. At least that's my thoughts on it. Not just that though they'll be really useful for animation as well if they can lumped together and utilized jointly to make animations more adaptive in such a way they can be more expressive or less dynamic with the animations. Optimizing with more variable means of GPU displaying and compression and such is one of the best ways forward for GPU tech outside of more cores/shaders and faster cores/shaders I'm sure we'll be seeing a lot more granular GPU optimizations applied to various area's of gpu rendering. The mesh shaders demo was probably the most exciting part of the RTX launch in a lot of ways, but least talked about. These would actually be key to making more realistic tree's in foliage for example that sway with the wind. Once this tech gets better we can see leaves on the ground that blow in the wind that don't look static it'll be cool and like rain on leaves that cause them to bend and the rain to roll off of them. They'll be key to making realistic rain drops as well and that is a challenging task especially if you had to render all those malleable rain drops.

On that note it just shows how far away we are from ray traced graphics because there is still so much geometric power that needs to be further harnessed and once it's better harnessed it'll make faking lighting and shading better in the first place, but also making ray tracing more challenging at the same time. What needs to happen with ray tracing is they need to join mesh shading with ray tracing as a means to make it more variable. For example allow higher mesh detail for the scene geometry itself to be rendered, but used a lower LOD mesh detail for the actual ray traced rendering along with a flexible amount of ray tracing light rays. In fact if they do that and can have it selectively apply additional variable amount light rays to denser area's of geometric detail that would be even more ideal.
 
Last edited:
Joined
Apr 8, 2010
Messages
1,001 (0.19/day)
Processor Intel Core i5 8400
Motherboard Gigabyte Z370N-Wifi
Cooling Silverstone AR05
Memory Micron Crucial 16GB DDR4-2400
Video Card(s) Gigabyte GTX1080 G1 Gaming 8G
Storage Micron Crucial MX300 275GB
Display(s) Dell U2415
Case Silverstone RVZ02B
Power Supply Silverstone SSR-SX550
Keyboard Ducky One Red Switch
Software Windows 10 Pro 1909
Joined
Sep 17, 2014
Messages
22,282 (6.02/day)
Location
The Washing Machine
Processor 7800X3D
Motherboard MSI MAG Mortar b650m wifi
Cooling Thermalright Peerless Assassin
Memory 32GB Corsair Vengeance 30CL6000
Video Card(s) ASRock RX7900XT Phantom Gaming
Storage Lexar NM790 4TB + Samsung 850 EVO 1TB + Samsung 980 1TB + Crucial BX100 250GB
Display(s) Gigabyte G34QWC (3440x1440)
Case Lian Li A3 mATX White
Audio Device(s) Harman Kardon AVR137 + 2.1
Power Supply EVGA Supernova G2 750W
Mouse Steelseries Aerox 5
Keyboard Lenovo Thinkpad Trackpoint II
Software W11 IoT Enterprise LTSC
Benchmark Scores Over 9000
These mesh shader optimizations will be key to enabling ray tracing at acceptable performance in complex lighting/shading scenes. At least that's my thoughts on it. Not just that though they'll be really useful for animation as well if they can lumped together and utilized jointly to make animations more adaptive in such a way they can be more expressive or less dynamic with the animations. Optimizing with more variable means of GPU displaying and compression and such is one of the best ways forward for GPU tech outside of more cores/shaders and faster cores/shaders I'm sure we'll be seeing a lot more granular GPU optimizations applied to various area's of gpu rendering. The mesh shaders demo was probably the most exciting part of the RTX launch in a lot of ways, but least talked about. These would actually be key to making more realistic tree's in foliage for example that sway with the wind. Once this tech gets better we can see leaves on the ground that blow in the wind that don't look static it'll be cool and like rain on leaves that cause them to bend and the rain to roll off of them. They'll be key to making realistic rain drops as well and that is a challenging task especially if you had to render all those malleable rain drops.

On that note it just shows how far away we are from ray traced graphics because there is still so much geometric power that needs to be further harnessed and once it's better harnessed it'll make faking lighting and shading better in the first place, but also making ray tracing more challenging at the same time. What needs to happen with ray tracing is they need to join mesh shading with ray tracing as a means to make it more variable. For example allow higher mesh detail for the scene geometry itself to be rendered, but used a lower LOD mesh detail for the actual ray traced rendering along with a flexible amount of ray tracing light rays. In fact if they do that and can have it selectively apply additional variable amount light rays to denser area's of geometric detail that would be even more ideal.

Great post and very much agree
 
Joined
Mar 21, 2016
Messages
2,508 (0.80/day)
The human eye automatically culls all that geometric mesh detail it see's that isn't visible instantly which shows how dumb GPU's are still. Another aspect of the mesh shader optimizations is that every pixel saved is a pixel earned so to speak. Can always apply that power and heat waste for other GPU tasks just don't waste the GPU's resourced rendering ghosts even if you're looking at them and named Mario they are unfriendly and they are invisible treat them as such, but continue to stare on a need be basis.
 
Last edited:
Top