protonscr

Is RT accelerated by RT/Tensor cores on RTX?

vkd3dclosed
HansKristian-Work/vkd3d-proton#1193 · opened 2022-08-16 by Espionage724 · updated 2022-08-17 · 3 comments · github
EEspionage724 2022-08-16 github

I have a RTX 3060, and when running WoW I could have sworn I saw the RT option available without any NVIDIA libs being installed to the prefix.

I'm not entirely familiar with how RT is accelerated, but my understanding is that games can either use DXR, or Vulkan RT. I'm not familiar with DXR, but it sounds like it's a middle-man to accelerate RT through whatever the display driver presents. RTX GPUs have RT cores, but apparently NVIDIA also supports it on non-RTX, which implies there's a generic method for accelerating RT?

I'd like to understand how RT is accelerated, but specifically I'm wondering if when I enable RT in WoW, is it being accelerated by the RT cores on my RTX 3060 or something else?

As for Tensor cores, it sounds like they're used for DLSS, but I see mixed things about it with RT (either no mention of it, or that Tensor cores help RT). I don't believe there's a generic means for DLSS to be accelerated, so presumably DLSS on Linux goes through Tensor cores no question?

KK0bin 2022-08-16 github

DXR in vkd3d-proton is implemented using the equivalent Vulkan ray tracing extensions. The driver will then either use the ray tracing hardware (on Turing or Ampere GPUs) or use a pure compute shader based implementation (on Pascal).

As for Tensor cores, it sounds like they're used for DLSS, but I see mixed things about it with RT (either no mention of it, or that Tensor cores help RT). I don't believe there's a generic means for DLSS to be accelerated, so presumably DLSS on Linux goes through Tensor cores no question?

Tensor cores is basically a meaningless marketing term but the machine learning hardware is not used for ray tracing (unless you're counting DLSS)

EEspionage724 2022-08-16 github

Thank you! Is this accurate as to what's happening?

Windows:

  • Game -> DXR -> Driver -> (RT hardware or generic shader-based)

Linux:

  • Game -> DXR -> VKD3D-Proton -> Vulkan RT Extension -> Driver -> (RT hardware or generic shader-based)
KK0bin 2022-08-16 github

Almost except for one tiny detail:

Vulkan RT Extension -> Driver

That's the same thing. Vulkan is just a specification. The driver is the actual code that implements this specification.

Nothing extracted yet.