The State of Mantle, The Drivers, & The Test

Before diving into our long-awaited benchmark results, I wanted to quickly touch upon the state of Mantle now that AMD has given us a bit more insight into what’s going on.

With the Vulkan project having inherited and extended Mantle, Mantle’s external development is at an end for AMD. AMD has already told us in the past that they are essentially taking it back inside, and will be using it as a platform for testing future API developments. Externally then AMD has now thrown all of their weight behind Vulkan and DirectX 12, telling developers that future games should use those APIs and not Mantle.

In the meantime there is the question of what happens to existing Mantle games. So far there are about half a dozen games that support the API, and for these games Mantle is the only low-level API available to them. Should Mantle disappear, then these games would no longer be able to render at such a low-level.

The situation then is that in discussing the performance results of the R9 Fury X with Mantle, AMD has confirmed that while they are not outright dropping Mantle support, they have ceased all further Mantle optimization. Of particular note, the Mantle driver has not been optimized at all for GCN 1.2, which includes not just R9 Fury X, but R9 285, R9 380, and the Carrizo APU as well. Mantle titles will probably still work on these products – and for the record we can’t get Civilization: Beyond Earth to play nicely with the R9 285 via Mantle – but performance is another matter. Mantle is essentially deprecated at this point, and while AMD isn’t going out of their way to break backwards compatibility they aren’t going to put resources into helping it either. The experiment that is Mantle has come to an end.

This will in turn impact our testing somewhat. For our 2015 benchmark suite we began using low-level APIs when available, which in the current game suite includes Battlefield 4, Dragon Age: Inquisition, and Civilization: Beyond Earth, not counting on AMD to cease optimizing Mantle quite so soon. As a result we’re in the uncomfortable position of having to backtrack on our policies some in order to not base our recommendations on stupid settings.

Starting with this review we’re going to use low-level APIs when available, and when using them makes performance sense. That means we’re not going to use Mantle in the cases where performance has clearly regressed due to a lack of optimizations, but will use it for games where it still works as expected (which essentially comes down to Civ: BE). Ultimately everything will move to Vulkan and DirectX 12, but in the meantime we will need to be more selective about where we use Mantle.

The Drivers

For the launch of the 300/Fury series, AMD has taken an unexpected direction with their drivers. The launch driver for these parts is the Catalyst 15.15 driver, AMD’s next major driver branch which includes everything from Fiji support to WDDM 2.0 support. However in launching these parts, AMD has bifurcated their drivers; the new cards get Catalyst 15.15, the old cards get Catalyst 15.6 (driver version 14.502).

Eventually AMD will bring these cards back together in a later driver release, after they have done more extensive QA against their older cards. In the meantime it’s possible to use a modified version of Catalyst 15.15 to enable support for some of these older cards, but unsigned drivers and Windows do not get along well, and it introduces other potential issues. Otherwise considering that these new drivers do include performance improvements for existing cards, we are not especially happy with the current situation. Existing Radeon owners are essentially having performance held back from them, if only temporarily. Small tomes could be written on AMD’s driver situation – they clearly don’t have the resources to do everything they’d like to at once – but this is perhaps the most difficult situation they’ve put Radeon owners in yet.

The Test

Finally, let’s talk testing. For our benchmarking we have used AMD’s Catalyst 15.15 beta drivers for the R9 Fury X, and their Catalyst 15.5 beta drivers for all other AMD cards. Meanwhile for NVIDIA cards we are on release 352.90.

From a build standpoint we’d like to remind everyone that installing a GPU radiator in our closed cased test bed does require reconfiguring the test bed slightly; a 120mm rear exhaust fan must be removed to make room for the GPU radiator.

CPU: Intel Core i7-4960X @ 4.2GHz
Motherboard: ASRock Fatal1ty X79 Professional
Power Supply: Corsair AX1200i
Hard Disk: Samsung SSD 840 EVO (750GB)
Memory: G.Skill RipjawZ DDR3-1866 4 x 8GB (9-10-9-26)
Case: NZXT Phantom 630 Windowed Edition
Monitor: Asus PQ321
Video Cards: AMD Radeon R9 Fury X
AMD Radeon R9 295X2
AMD Radeon R9 290X
AMD Radeon R9 285
AMD Radeon HD 7970
NVIDIA GeForce GTX Titan X
NVIDIA GeForce GTX 980 Ti
NVIDIA GeForce GTX 980
NVIDIA GeForce GTX 780 Ti
NVIDIA GeForce GTX 680
NVIDIA GeForce GTX 580
Video Drivers: NVIDIA Release 352.90 Beta
AMD Catalyst Cat 15.5 Beta (All Other AMD Cards)
AMD Catalyst Cat 15.15 Beta (R9 Fury X)
OS: Windows 8.1 Pro
Meet The Radeon R9 Fury X Battlefield 4
Comments Locked

458 Comments

View All Comments

  • Navvie - Thursday, July 2, 2015 - link

    "Which is not say I’m looking" (paragraph 5, first line).

    Missing a "to" I think.
  • watzupken - Thursday, July 2, 2015 - link

    Brilliant review. Well worth the wait. Thanks Ryan.
  • Taracta - Thursday, July 2, 2015 - link

    ROPs, ROPs, ROPs! Hows can they ~ double everything else and keep the same amount of ROPs and expect to win?
  • Thatguy97 - Thursday, July 2, 2015 - link

    maybe something to do with cost or yield
  • tipoo - Thursday, July 2, 2015 - link

    They literally hit the size limits interposers can scale up to with this chip - so they can't make it any bigger to pack more transistors for more ROPs, until a die shrink. So they decided on a tradeoff, favouring other things than ROPs.
  • Kevin G - Thursday, July 2, 2015 - link

    They had a monster shader count and likely would be fine if they went to 3840 max to make room for more ROPs. 96 or 128 ROPs would have been impressive and really made this chip push lots of pixels. With HBM and the new delta color compression algorithm, there should be enough bandwidth to support these additional ROPs without bottle necking them.

    AMD also scaled the number of TMUs with the shaders but it likely wouldn't have hurt to have increased them by 50% too. Alternatively AMD could have redesigned the TMUs to have better 16 bit per channel texture support. Either of these changes would have put the texel throughput well beyond the GM200's theoretical throughput. I have a feeling that this is one of the bottlenecks that helps the GM200 pull ahead of Fiji.
  • tipoo - Friday, July 3, 2015 - link

    Not saying it was the best tradeoff - just explaining. They quite literally could not go bigger in this case.
  • testbug00 - Sunday, July 5, 2015 - link

    the performances scaling as resolution increase is better than Nvidia, implying the ROPs aren't the bottleneck...
  • chizow - Sunday, July 5, 2015 - link

    No, that implies the shaders are the bottleneck at higher resolutions while ROP/fillrate/geometry remained constant. While Nvidia's bottleneck at lower resolutions isn't shader bound but their higher ROP/fillrate allows them to realize this benefit in actual FPS, AMD's ROPs are saturated and simply can't produce more frames.
  • Ryan Smith - Thursday, July 2, 2015 - link

    Right now there's not a lot of evidence for R9 Fury X being ROP limited. The performance we're seeing does not have any tell-tale signs of being ROP-bound, only hints here and there that may be the ROPs, or could just as well be the front-end.

    While Hawaii was due for the update, I'm not so sure we need to jump up in ROPs again so soon.

Log in

Don't have an account? Sign up now