Mantle (API)

Last updated
Mantle
Developer(s) AMD, DICE [1]
Initial releaseSeptember 25, 2013;11 years ago (2013-09-25) [2]
Operating system Windows
Platform x86 and x86-64
Successor Vulkan
License Proprietary, freeware
Website www.amd.com/mantle

Mantle was a low-overhead rendering API targeted at 3D video games. [3] AMD originally developed Mantle in cooperation with DICE, starting in 2013. [1] Mantle was designed as an alternative to Direct3D and OpenGL, primarily for use on personal computers, although Mantle supports the GPUs present in the PlayStation 4 and in the Xbox One. [1] [4] In 2015, Mantle's public development was suspended and in 2019 completely discontinued, as DirectX 12 and the Mantle-derived Vulkan rose in popularity. [5] [6] [7] [8]

Contents

Overview

The draw call improvements of Mantle help alleviate cases where the CPU is the bottleneck. The design goals of Mantle are to allow games and applications to utilize the CPUs and GPUs more efficiently, eliminate CPU bottlenecks by reducing API validation overhead and allowing more effective scaling on multiple CPU cores, provide faster draw routines, and allow greater control over the graphics pipeline by eliminating certain aspects of hardware abstraction inherent to both current prevailing graphics APIs OpenGL and Direct3D. [9]

CPU-bound scenarios

With a basic implementation, Mantle was designed to improve performance in scenarios where the CPU is the limiting factor:

GPU-bound scenarios

Mantle was also designed to improve situations where high resolutions and "maximum detail" settings are used, although to a somewhat lesser degree, as these settings tax GPU resources in a way that is more difficult to improve at the API level. While Mantle provides some built-in features to improve GPU-bound performance, gains in these cases are largely dependent on how well Mantle features and optimizations are being utilized by the game engine. Some of those features include: [14] [15]

Benchmarks

Other claims

Support

The Mantle API was only available as part of AMD Catalyst prior to 19.5.1, which was available for Microsoft Windows. AMD promised to support their Mantle API only for their graphics cards and APUs which are based on their Graphics Core Next microarchitecture, but not older products based on the TeraScale microarchitecture. [29] As of July 2014 the implementation of the Mantle API was available for the following hardware:[ citation needed ]

Mantle was originally planned to be released on other platforms than Windows, including Linux, but it never happened. [30] [31]

While the API was officially discontinued, Clément Guérin [32] started a Mantle to Vulkan translation layer called GRVK [33] in mid 2020. This allows the API and ultimately the games to live on even without Mantle supporting graphic drivers.

Game engines

Video games

Originally planned

Similar technologies

A set of recent OpenGL 4.4 features, coupled with bindless texturing as an extension, can also substantially reduce driver overhead. This approach, termed by the Khronos Group as "AZDO" (Approaching Zero Driver Overhead) has been shown to achieve substantial performance improvements, approaching those stated for Mantle. [42] [43] Nvidia has extended OpenGL with a number of features that further reduce driver overhead. [44]

After details about DirectX 12 were made public, AMD has stated that they fully intend to support DirectX 12, but at the same time they claimed that Mantle "will [still] do some things faster." They have also claimed that due to similarities in the design philosophy of the two APIs, porting games from Mantle to DirectX 12 will be relatively straightforward, [45] and easier than porting from DirectX 11 to 12. [23]

Ultimately, AMD discontinued Mantle as a game API due to the similar aims of DirectX 12 and glNext (later renamed Vulkan). [5] [6] AMD donated the Mantle API to the Khronos group, which developed it into the Vulkan API. [46] [47] [48] [49] [50] [51]

Comments

Much of the work that drivers used to do on an application’s behalf is now the responsibility of the game engine. ... It also means that this work, which must still be done, is done by someone with considerably more information. Because the engine knows exactly what it will do and how it will do it, it is able to make design decisions that drivers could not.

Firaxis on 2014-04-28, Why We Went With Mantle

Recording and FPS overlay software

PC gamers and professionals traditionally used programs such as Fraps and Bandicam to record gameplay, measure game FPS and display FPS overlay, but because Mantle is new, most traditional recording software does not work with new titles while using the new API.

In partnership with AMD, PC gaming community and game recording software maker Raptr have overhauled their client and have since re-branded it as the AMD Gaming Evolved client in conjunction with AMD's Gaming Evolved initiative in the PC gaming space. Out of the partnership, players who install and use the client while in-game can earn points to spend on digital items like games or computer hardware, chat with friends, keep their game library optimized, check for graphics card driver updates, stream their games to Twitch and record gameplay of their own with a built-in GVR, a feature similar to Nvidia Shadowplay software in its own GeForce Experience software that allows users to define a custom buffer length in their game for retroactive game recording with the push of a button so no moment gets missed and users typically do not need expensive hard drive setups to record to. In late 2014, AMD updated the client to support the recording and streaming of titles using Mantle. [52] As of its initial update into the client, the Gaming Evolved software was the only software to officially support the recording and streaming of Mantle enabled games.

Besides Raptr, D3DGear [53] was the only other commercial game recording software that supported Mantle API based games.

See also

Related Research Articles

<span class="mw-page-title-main">DirectX</span> Collection of multimedia related APIs on Microsoft platforms

Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with "Direct", such as Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound, and so forth. The name DirectX was coined as a shorthand term for all of these APIs and soon became the name of the collection. When Microsoft later set out to develop a gaming console, the X was used as the basis of the name Xbox to indicate that the console was based on DirectX technology. The X initial has been carried forward in the naming of APIs designed for the Xbox such as XInput and the Cross-platform Audio Creation Tool (XACT), while the DirectX pattern has been continued for Windows APIs such as Direct2D and DirectWrite.

<span class="mw-page-title-main">OpenGL</span> Cross-platform graphics API

OpenGL is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardware-accelerated rendering.

Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware acceleration if available on the graphics card, allowing for hardware acceleration of the entire 3D rendering pipeline or even only partial acceleration. Direct3D exposes the advanced graphics capabilities of 3D graphics hardware, including Z-buffering, W-buffering, stencil buffering, spatial anti-aliasing, alpha blending, color blending, mipmapping, texture blending, clipping, culling, atmospheric effects, perspective-correct texture mapping, programmable HLSL shaders and effects. Integration with other DirectX technologies enables Direct3D to deliver such features as video mapping, hardware 3D rendering in 2D overlay planes, and even sprites, providing the use of 2D and 3D graphics in interactive media ties.

<span class="mw-page-title-main">Graphics processing unit</span> Specialized electronic circuit; graphics accelerator

A graphics processing unit (GPU) is a specialized electronic circuit initially designed for digital image processing and to accelerate computer graphics, being present either as a discrete video card or embedded on motherboards, mobile phones, personal computers, workstations, and game consoles. After their initial design, GPUs were found to be useful for non-graphic calculations involving embarrassingly parallel problems due to their parallel structure. Other non-graphical uses include the training of neural networks and cryptocurrency mining.

<span class="mw-page-title-main">Radeon</span> Brand of computer products

Radeon is a brand of computer products, including graphics processing units, random-access memory, RAM disk software, and solid-state drives, produced by Radeon Technologies Group, a division of AMD. The brand was launched in 2000 by ATI Technologies, which was acquired by AMD in 2006 for US$5.4 billion.

<span class="mw-page-title-main">Mesa (computer graphics)</span> Free and open-source library for 3D graphics rendering

Mesa, also called Mesa3D and The Mesa 3D Graphics Library, is an open source implementation of OpenGL, Vulkan, and other graphics API specifications. Mesa translates these specifications to vendor-specific graphics hardware drivers.

Unified Video Decoder is the name given to AMD's dedicated video decoding ASIC. There are multiple versions implementing a multitude of video codecs, such as H.264 and VC-1.

Adreno is a series of graphics processing unit (GPU) semiconductor intellectual property cores developed by Qualcomm and used in many of their SoCs.

<span class="mw-page-title-main">AMD Software</span> Device driver and utility software package for AMD GPUs and APUs

AMD Software is a device driver and utility software package for AMD's Radeon graphics cards and APUs. Its graphical user interface is built with Qt and is compatible with 64-bit Windows and Linux distributions.

<span class="mw-page-title-main">OpenCL</span> Open standard for programming heterogenous computing systems, such as CPUs or GPUs

OpenCL is a framework for writing programs that execute across heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), field-programmable gate arrays (FPGAs) and other processors or hardware accelerators. OpenCL specifies a programming language for programming these devices and application programming interfaces (APIs) to control the platform and execute programs on the compute devices. OpenCL provides a standard interface for parallel computing using task- and data-based parallelism.

<span class="mw-page-title-main">Radeon HD 7000 series</span> Series of video cards

The Radeon HD 7000 series, codenamed "Southern Islands", is a family of GPUs developed by AMD, and manufactured on TSMC's 28 nm process.

Graphics Core Next (GCN) is the codename for a series of microarchitectures and an instruction set architecture that were developed by AMD for its GPUs as the successor to its TeraScale microarchitecture. The first product featuring GCN was launched on January 9, 2012.

<span class="mw-page-title-main">Radeon HD 8000 series</span> Family of GPUs by AMD

The Radeon HD 8000 series is a family of computer GPUs developed by AMD. AMD was initially rumored to release the family in the second quarter of 2013, with the cards manufactured on a 28 nm process and making use of the improved Graphics Core Next architecture. However the 8000 series turned out to be an OEM rebadge of the 7000 series.

<span class="mw-page-title-main">Radeon 200 series</span> Series of video cards

The Radeon 200 series is a series of graphics processors developed by AMD. These GPUs are manufactured on a 28 nm Gate-Last process through TSMC or Common Platform Alliance.

CodeXL was an open-source software development tool suite which included a GPU debugger, a GPU profiler, a CPU profiler, a graphics frame analyzer and a static shader/kernel analyzer.

Video Code Engine is AMD's video encoding application-specific integrated circuit implementing the video codec H.264/MPEG-4 AVC. Since 2012 it was integrated into all of their GPUs and APUs except Oland.

<span class="mw-page-title-main">Metal (API)</span> iOS, macOS, and tvOS graphics rendering API

Metal is a low-level, low-overhead hardware-accelerated 3D graphic and compute shader API created by Apple, debuting in iOS 8. Metal combines functions similar to OpenGL and OpenCL in one API. It is intended to improve performance by offering low-level access to the GPU hardware for apps on iOS, iPadOS, macOS, and tvOS. It can be compared to low-level APIs on other platforms such as Vulkan and DirectX 12.

<span class="mw-page-title-main">Radeon 300 series</span> Series of video cards

The Radeon 300 series is a series of graphics processors developed by AMD. All of the GPUs of the series are produced in 28 nm format and use the Graphics Core Next (GCN) micro-architecture.

Vulkan is a low-level, low-overhead cross-platform API and open standard for 3D graphics and computing. It was intended to address the shortcomings of OpenGL, and allow developers more control over the GPU. It is designed to support a wide variety of GPUs, CPUs and operating systems, and it is also designed to work with modern multi-core CPUs.

The Radeon 400 series is a series of graphics processors developed by AMD. These cards were the first to feature the Polaris GPUs, using the new 14 nm FinFET manufacturing process, developed by Samsung Electronics and licensed to GlobalFoundries. The Polaris family initially included two new chips in the Graphics Core Next (GCN) family. Polaris implements the 4th generation of the Graphics Core Next instruction set, and shares commonalities with the previous GCN microarchitectures.

References

  1. 1 2 3 Altavilla, Dave (2013-09-30). "AMD and DICE To Co-Develop Console Style API For Radeon Graphics". Forbes . Retrieved 2014-07-14.
  2. "AMD Radeon R9 and R7 Series Graphics Cards Usher in a New Era of Gaming Realism". AMD. Retrieved 22 June 2021.
  3. 1 2 3 4 "Mantle WhitePaper" (PDF). AMD.
  4. 1 2 Parrish, Kevin (Sep 25, 2013). "AMD's Mantle API Gives Devs Direct Hardware Control". tomshardware.com. Tom's Hardware. Retrieved Oct 1, 2013.
  5. 1 2 Smith, Ryan (2 March 2015). "AMD Lays Out Future of Mantle". Anandtech.com. Retrieved 28 June 2016.
  6. 1 2 "One of Mantle's Futures: Vulkan | AMD Blogs".
  7. "AMD's Revolutionary Mantle Graphics API" . Retrieved 2017-10-04.
  8. "Farewell Mantle… AMD has ended all support for DirectX 12's API inspiration". 14 May 2019. Retrieved 2019-05-15.
  9. "Some Mantle benchmarks by AMD". AMD. 2014-02-01.
  10. 1 2 3 4 5 "Mantle 101". AMD. 2014-05-28. Archived from the original on 2014-05-30.
  11. "AMD Gaming". 2014-02-01.
  12. 1 2 3 4 "AMD Livestream at GPU 14 Tech Days". 2013. Archived from the original on September 27, 2013.
  13. Smith, Ryan (Sep 26, 2013). "Understanding AMD's Mantle: A Low-Level Graphics API For GCN". anandtech.com. AnandTech . Retrieved Oct 1, 2013.
  14. "The Next Generation of Graphics APIs". Oxide Games. 2014-05-21. Archived from the original on 2016-03-04. Retrieved 2014-07-18.
  15. "The Race to the Metal". Josh Barczak. 2014-05-23.
  16. "The performance of Mantle". AMD. 2014-05-28.
  17. "AMD Mantle API Performance Analysis With Radeon R7 260X, R9 270X, R9 280X". 2 February 2014.
  18. "Tłumacz Google". February 2014.
  19. "AMD claim performance boosts of up to 45% using Mantle over DirectX | PCGamesN". 6 January 2014.
  20. "AMD Mantle Powered Flagship Nitrous Engine "Star Swarm Benchmark" Released on Steam". 31 January 2014.
  21. "Page 2 - AMD's Mantle benchmarked: The biggest innovation in gaming since DirectX 9 | ExtremeTech".
  22. "AMD releases Mantle, shares performance numbers".
  23. 1 2 3 "Mantle: the start of a low-overhead future". AMD. 2014-05-28.
  24. "Combining Efficient Engine Design with a modern API". 2014-03-20.
  25. "Mantle in the words of game developers". AMD. 2014-05-28.
  26. "How Mantle changes the game" (PDF). 2013-11-21. Archived from the original (PDF) on 2014-08-11. Retrieved 2014-07-18.
  27. "Mantle for Developers (by Johan Andersson, DICE)". 2013-11-21.
  28. "Empowering 3D Graphics Innovation". 2013-11-21.
  29. Smith, Ryan (26 September 2013). "Understanding AMD's Mantle". Anandtech.com. Retrieved 28 June 2016.
  30. "AMD wants to improve gaming in Linux and Steam boxes with its Mantle tools". 2014-06-18.
  31. "Linux support isn't ruled out completely". Phoronix. 2014-05-31.
  32. "libcg on Github". GitHub .
  33. "GRVK on GitHub". GitHub .
  34. "AMD Mantle support is headed to another game engine". 14 January 2022.
  35. "Star Swarm Stress Test on Steam".
  36. "Mantle Renderer now available in Battlefield 4".
  37. "Mantle Takes to the Stars with Sid Meier's Civilization: Beyond Earth".
  38. "Sniper Elite 3 to tap AMD's Mantle API". 21 November 2013.
  39. "AMD's Revolutionary Mantle Graphics API Adopted by Industry Leading Game Developers Cloud Imperium, Eidos-Montréal and Oxide". AMD . NYSE: AMD. November 4, 2013. Archived from the original on 22 February 2014. Retrieved November 5, 2013.
  40. "Star Citizen to Include Mantle Support". Transmission. Cloud Imperium Games. 5 November 2013. Retrieved 6 November 2013.
  41. "Mantle to power 15 Frostbite games; DICE calls for multi-vendor support - The Tech Report". 13 November 2013.
  42. "OpenGL Efficiency: AZDO" (PDF). Khronos Group. March 2014. Retrieved 2020-10-07.
  43. "Beyond Porting: How Modern OpenGL Can Radically Reduce Driver Overhead". YouTube. 2014-02-11. Retrieved 2020-10-07.
  44. "OpenGL NVIDIA Command-List: Approaching Zero Driver Overhead". 2014-12-04. Retrieved 2020-10-07.
  45. "A closer look at DirectX 12". The Tech Report. 2014-03-30. Retrieved 2020-10-07.
  46. "More on Vulkan and SPIR - V: The future of high-performance graphics" (PDF). Khronos Group. p. 10. Retrieved 27 June 2015. Thanks AMD!
  47. Mah Ung, Gordon (6 March 2015). "Mantle is a Vulkan: AMD's dead graphics API rises from the ashes in OpenGL's successor". PCWorld.
  48. "AMD Gaming: One of Mantle's Futures: Vulkan | AMD Blogs". Community.amd.com. Retrieved 2015-03-05.
  49. Hruska, Joel (4 March 2015). "Not dead yet: AMD's Mantle powers new Vulkan API, VR efforts". ExtremeTech. Retrieved 2015-03-05.
  50. "AMD's Mantle Lives On In Vulkan - Lays The Foundation For The Next OpenGL". Wccftech.com. 2014-06-20. Retrieved 2020-10-07.
  51. Kirsch, Nathan (2015-03-03). "Is AMD Mantle Dead As We Have Known It? Vulcan API Uses Mantle Technology for OpenGL". Legit Reviews. Retrieved 2020-10-07.
  52. "AMD Gaming Evolved Now Supports Mantle".
  53. "D3DGear Mantle Recording Software".