Again even MS says that RTX,etc is to enable DXR to work on top of Nvidia GPUs to use specific hardware functionality their GPUs have to accelerate RT. Remember RTX,or Nvidia extensions are NOT required for DXR to run under Windows as it will run in an agnostic software mode. RTX and any Nvidia extensions are there to target specific Nvidia hardware to enable a speedup in RT calculations.
RTX is not "Nvidia extensions" it's their range of cards that implement RT and DXR. I'm not sure why you would think "RTX" refers to anything other than the hardware and its driver?
I said or. Both work on only Nvidia hardware. You are literally now agreeing with me when I literally quoted what now you are saying - RTX is just Nvidia enabling its own specific hardware features under DXR.
RTX is defined by MS as the following:
Several studios have partnered with our friends at NVIDIA, who created RTX technology to make DirectX Raytracing run as efficiently as possible on their hardware
So a Nvidia specific technology for its own GPUs to work under DXR. If you have a problem with that e-mail MS?
The nvidia drivers won't, certainly, as the hardware will be different. But at the RT API level it's likely to be very similar, defining high-level ray operations. The only RT API in Vulkan so far is the one nvidia have defined, it looks quite likely to form the basis for the standard API in Vulkan.
Nope,people started examing and it only was made to work specifically on Nvidia GPUs. It wasn't a driver problem as AMD already has RT under Vulkan working for other applications.
So vulkan only has raytracing as the nvidia raytracing extension. AFAIK AMD cards don't support that. Radeon Rays, on the other hand is an OpenCL raytracing library (or something). Q2VKPT was done AFAIK with VK_NV_RAY_TRACING so it's nvidia only AFAIK, though possibly you could run it with MESA, I don't know, but I don't know if the nvidia Q2 uses anything more RTX specific than VK_NV_RAY_TRACING.
Downloaded the source just for quick fun during a study break.
- Commented out the "No ray tracing capable GPU found" check you are mentioned. This throws an unhandled exception since no device is picked.
- Hardcoded it to pick "Device 0" even though it's an "Unknown AMD GPU". This throws a handled "Couldn't initialize Vulkan error." No sense commenting this error check out since if an actual Vulkan device is not created, nothing afterwards will run properly.
- Log says that a Vulkan device was not created since it "Failed to validate extensions in list", namely "Device extension VK_NV_ray_tracing not supported by selected physical device or enabled layers.". Commented out VK_NV_ray_tracing from the list of requested extensions.
- A Vulkan device still can't be created. Log says: "terminator_CreateDevice: Failed in ICD C:\WINDOWS\System32\DriverStore\FileRepository\u0342715.inf_amd64_680c98a4f78c6e03\B342717\.\amdvlk64.dll vkCreateDevicecall" Not sure what the code requests during device creation that causes this failure, don't have time to delve into this, as I don't know anything about Vulkan. Probably the absence of VK_NV_ray_tracing makes everything invalid during device creation.
Gotta go back to studying. In short, it's not just a question of a hardcoded NVIDIA GPU check in the code (there seems to be a Nvidia driver version check though, which is easy to remove). If you don't have a (physical) device that supports VK_NV_ray_tracing Vulkan extension, nothing will run. Probably it is so reliant on this extension that you'd have to rework the raytracing part of the code completely, but then you would arguably have a completely different game on your hands. Unless AMD starts magically supporting VK_NV_ray_tracing, this application is a no-go.
The extension only works on Nvidia GPUs and is the basis of Quake 2 RTX which is using Vulkan. Perhaps complain to Nvidia?
That's entirely irrelevant, as the hardware is addressed by the driver, which implements the API, but the API remains the same.
You don't think that there are different Vulkan and/or DX API calls for talking to Nvidia or AMD hardware right now, in none-RT operations, do you? But the hardware in Turing, Pascal etc is entirely different to RDNA, GCN etc. The APIs at the level of Vulkan or DX are identical. That's the whole point.
But it would be pointless, the only reason they have extensions right now in Vulkan is because vulkan has no RT APIs. Once it has, they'll be fine for all vendors.
Vulkan isn't a driver, it's an API, the drivers then make that work.
And I would imagine that significant hardware changes would have no effect whatsoever at the level of Vulkan, because anything hardware specific would be handled by their driver. So long as the API is defined well enough at the beginning, there should be no need to change the vulkan specification just because of new hardware.
You are confusing the API at a higher level to extensions which support specific hardware. Now you are calling them drivers. Guess what?? Read through various Vulkan releases - you see mentions of vendor specific extensions. One is VK_AMD_display_native_hdr which only works...on you guess it...AMD GPUs. The extensions are designed specifically to work with specific hardware - they are not cross vendor. Nvidia will have to write its own extensions.
The Nvidia extensions are not the API,they are extensions to support specific hardware features on Nvidia GPUs:
https://www.phoronix.com/scan.php?page=news_item&px=NVIDIA-DXR-To-Vulkan
For now this DirectX Ray Tracing to Vulkan depends upon NVIDIA's NV_ray_tracing extension until the cross-vendor Vulkan ray-tracing extension(s) are finalized and published."
Nvidia extensions only work on Nvidia hardware. You can use as much flowery language as you and your mates want,but the Khronos Group unfortunately don't agree with you - the Nvidia specific extensions will be replaced by extensions which support a wider range of hardware,so at best they will roll what Nvidia is doing for its own GPUs into it,but AMD will need to make its own extensions to support its own GPUs.
It is so blatantly obvious Nvidia would be making sure it made its extensions work for only its own GPUs,its not going to AMD's or Intel's work for them,hence why Khronos Group is working together to enable support.
Anyway,as I literally have to point this out to you the third time,and you still think a lower level set of extensions will magically work on different vendors hardware we will leave it at that - agree to disagree.
It doesn't help that in all the Nvidia marketing videos they show the comparison of games with and without Ray tracing as "RTX On" and "RTX off" So now people assume RTX On = Ray Tracing On.
Him and the other guy were argueing that RTX was the name for raytracing - I linked to a MS article which showed that MS described it as "technology" to expose Nvidia specific hardware features to DXR.
Its the same with them claiming Nvidia invented DXR(which MS doesn't say - it says Nvidia worked with them and implemented RTX to work with DXR),and that they invented raytracing and that all the Nvidia specific extensions which like RTX,only target Nvidia specific features would be the basis of Vulkan RT.
Yet,3 times I have linked to the same article showing these are only stop-gap extensions,and run under a ported version of DXR to Linux using specific tools MS also helped created.
The same article says the extensions will be replaced by a group of extensions which are cross vendor which makes sense as Nvidia only has hardware which supports it.
At this point its almost like they are saying MS and other vendors are not doing anything for some weird reason,and on purpose misreading the obvious. The thing is consoles take years to develop,so if MS and Sony are talking about RT now,its been in the pipeline for a long time,just like adaptive sync was.