It turns out that neither AMD nor NVIDIA fully support DirectX 12


In the last few months leading up to the Windows 10 launch (which I’ve briefly looked at here), both AMD and NVIDIA were in the news talking about their support for DirectX 12. Both companies have claimed “full support” for DirectX 12 in their respective product launches for 2015, notably NVIDIA’s Maxwell family release and AMD’s Fury lineup. Up until now, what we’ve heard from both sides is that Maxwell supports up to DirectX 12 with the standard feature level support, while AMD has always said that they support DirectX 12_1, which has extra features incorporated in hardware. But this seems to not be entirely accurate, according to recent statements by AMD’s Robert Hallock made in a Reddit thread yesterday. Hit the jump for more.

Appearing on the PC Master Race subreddit, Hallock was responding to user’s concerns about AMD’s performance in some recent DirectX 12 benchmarks that are currently available in Ashes of the Singularity, a real-time strategy title developed by Stardock. In it, AMD’s performance shows some hefty improvements over their showing under DirectX 11, but NVIDIA’s cards suffer a lot more because they do not support asynchronous compute, according to Stardock’s developers.

I think gamers are learning an important lesson: there’s no such thing as “full support” for DX12 on the market today”, said Hallock in the thread. “There have been many attempts to distract people from this truth through campaigns that deliberately conflate feature levels, individual untiered features and the definition of ‘support’. This has been confusing, and caused so much unnecessary heartache and rumor-mongering.”

“Here is the unvarnished truth: Every graphics architecture has unique features, and no one architecture has them all. Some of those unique features are more powerful than others. Yes, we’re extremely pleased that people are finally beginning to see the game of chess we’ve been playing with the interrelationship of GCN, Mantle, DX12, Vulkan and LiquidVR. Since this might be misinterpreted by some to mean ‘omg DX12 is fragmented~’ let me be clear that supporting the core DX12 specification is the most important aspect of DX12. It’s a ‘you do or you don’t’ kind of thing, and that’s going to be a huge boost in performance and flexibility for those gamers that have DX12-ready cards. Microsoft was quite wise in how they structured the API to target a huge base of hardware,” he added later.

If you’re confused about what’s being said here, Hallock is admitting that there are DirectX 12 features that NVIDIA has rolled out in hardware that GCN doesn’t support, even when you look at the Radeon R9 380, which is GCN 1.2 and AMD’s most recent update to the design. Where AMD lacks the ability to do this in hardware, they make up for it with a software implementation, and vice versa for NVIDIA.

However, the fact remains that Maxwell and previous architectures designed by NVIDIA are still rooted in an older way of thinking for compute tasks, which GCN accommodates for because they can run compute tasks asynchronously, thereby using any extra idle resources on the GPU to run through things that will be required later on. Nvidia will surely fix this with Pascal, but they’re going to be attempting that for the first time, while AMD already has a leg up with being prepared for DirectX 12 and Vulkan years in advance. Its going to be an interesting race to watch.

Source: Reddit