Raytracing with Radeon VII using DXR
Radeon VII launched just a little while ago (and yes, we got one, and are working on a review) to much fanfare from both sides of the fence. One of the talking points in a lot of the conclusions was the lack of a certain feature, DXR. Now, we all know that DXR is kind of hit and miss (putting it lightly) in games right now, but it is still a feature and the future of gaming. Now putting aside our feelings of it, its definitely a short fall for the GCN architecture not to support it. But what if it can?
Many months ago when DXR was announced you could run it on AMD cards (sort of). Using whats called the fallback layer (or compatibility layer) from Microsoft, the GPU would handle those instructions sent by the API in an emulated fashion through normal shaders. This obviously had a performance hit and was no where near the Titan V at the time, but it was a proof of concept that it did in fact work.
Fast forward another month or two, and AMD removed support in the driver for DXR and the fallback layer, it simply didn't work anymore. I believe more than anything that this was simply an oversight on their part, but nevertheless it didn't work anymore unless you installed an older driver. So from there on, I simply left it alone and never bothered to test it again, until today.
Reading through twitter the other day I was in a discussion of sorts about DXR, capabilities and the fallback layer. I didn't think much of it until one of the guys had reached out to their technical marketing representative at AMD asking why it wasn't supported. The answer caught me a little off guard, as he/she said it was. So, in the proper enthusiast nature I had to find out myself.
Now here we are. I have ran the DXR samples successfully on the Radeon VII and can confirm it does work, and it works not only with the latest samples, but also the latest fallback layer which didn't work at all before. This tells me that they are pushing forward with development on this tech. Without going on too much longer, here are the pictures.
Now, the performance isn't necessarily spectacular and we shouldn't expect it to be. Its still doing pretty high level emulation at this point. In addition to that, the Procedural Geometry sample didn't use to run on AMD at all, so this is definitely progress.
Now, going to go down the rabbit hole a bit here and dive into what I think this means. AMD has already confirmed that they are in fact working on DXR alongside MS and others. They have also acknowledged that they believe its important technology. Of course they had other words to say about timing and etc, but I'm going to ignore that as thats more of a biased bit of information considering where they stand on timing with DXR.
Given that bit of information, and AMD going out of there way to enable DXR / Fallback layer support in the drivers tells me AMD is making bigger strides than they might have let on. What I believe based on this and other information is that AMD is going to enable native DXR support through their driver by incorporating fallback layer type execution on the driver side. This wont be so that players can enjoy the same 'DXR' that RTX owners are in games (using enjoy lightly here), but more so so developers can start making optimizations for their architecture, so when AMD does have a more competent product for ray tracing, they won't be generations behind.
Well, thats it for this one guys. Hope you enjoyed it and if you feel I missed something, please leave a comment below and let me know. Until next time, PC Better.