Hacker News new | past | comments | ask | show | jobs | submit login
AMD Introduces "Mantle" API Initiative (hardwarezone.com.sg)
101 points by jobstijl on Sept 25, 2013 | hide | past | favorite | 47 comments



This sounds like 3Dfx and Glide all over again. I do not miss those days.


This was my first thought as well.


A few relevant notes from AMD's Twitter at @AMDRadeon:

- Collaboration between AMD and DICE/EA

- The Frostbite engine, used in Battlefield 4, "will use "Mantle" low-level API instead of DX11 on compatible Radeon GPUs."

- "Mantle enables 9x more draw calls per second than any other APIs by reducing CPU overhead - works with all GCN GPUs!"


And Nick from AMD: http://forum.beyond3d.com/showpost.php?p=1788711&postcount=2...

Mantle is the direct result of a number of AAA game developers asking us for something like this because of several constraints they're experiencing with existing PC graphics APIs. Those developers want to get closer to the metal and able to achieve more with the GPU(s) on their PC without the API getting in the way of this effort. "More with more" is the term used by Raja and it couldn't be more spot on. AMD listened to developer feedback and entered this venture with Johan Andersson leading the charge. Johan has a passion for writing efficient code that can allow him to accomplish his technical vision and Mantle exists to serve this purpose.

Mantle is not for every developer. It is a low-level graphics API designed to drive the GPU in the most efficient manner. This level of access requires a bit more development effort than existing APIs to reap the rewards it provides.

AMD remains committed to support DirectX and OpenGL and to keep optimizing our drivers for those APIs. Mantle is an option that some developers may choose, but it does not affect those that wish to keep using existing APIs.

Some technical concerns are mentioned on this thread. The Mantle API has been in design and development for more than 2 years and rest assured we've had some time to think about the best way to address those (and loads of others).

More technical details about Mantle will be revealed in due course. Johan is a keynote speaker at the AMD Developer Summit (11-14 November, San Jose).

Nick - Gaming Engineering Manager, AMD


Pros:

- No more drivers second guessing you.

- Speed

Cons:

- OpenGL/DirectX Drivers actually re-write the code stream and fix existing bugs from developers for specific game/versions. This is useful for the ecosystem because AMD/NVIDIA know more about 3D than most devs and how to be performant.

- It also really means NVIDIA will do the same if this catches on and now there will need to be at least two different supported implementations for anyone going down this route (prob amd + nvidia + {opengl, dx}). Changing out the 3d driver to be pluggable in a backend-agnostic way will be extremely hard/annoying to code around.


"Changing out the 3d driver to be pluggable in a backend-agnostic way will be extremely hard/annoying to code around."

I hear that the Gallium3D project has done a substantial part of that work already:

https://en.wikipedia.org/wiki/Gallium3D


Two years old article basically talking about this:

http://www.bit-tech.net/hardware/graphics/2011/03/16/farewel...


According to http://www.techspot.com/news/54134-amd-launches-mantle-api-t...: "We've been told at the GPU14 Tech Day event that the Mantle API is open, so theoretically Nvidia could purpose the technology in their GPUs."

How feasible that is in reality is of course up for question. And I doubt that nVidia would be willing to implement an AMD-controlled API.


They can, but it may require a change to their hardware (we don't know yet). And if they do follow AMD's lead here to catch up on performance gains, AMD is in control of the API so they know exactly what's going to change when.

Major coup for AMD. This is a CUDA that will affect all gamers.


  major coup for AMD. This is a CUDA that will affect all gamers.
Coup indeed, a violent bloody struggle for the throne if it involves bypassing the existing graphics APIs.


Probably about as feasible as Intel implementing AMD64 CPU extensions.


I seem to recall that Intel paid for that right with the SSE2 instruction set. Do you suggest something similar would have to happen? Please refrain from sarcasm as it adds little to a discussion and had the effect of insulting the previous poster.



I wonder how they are planning to do forward/backward compatibility? If Mantle catches on, will it constraint HW development due its low-level nature?


VOD of the announcement is available here: http://www.livestream.com/amdlivestream/video?clipId=pla_334....

Mantle information starts at 02:26:40.


This could be an opportunity for AMD considering they ship the GPU for both the new XBox and PS4 and Wii U. But Carmack suspects that MS and Sony won't like it because it could boost Steambox.

https://twitter.com/ID_AA_Carmack/status/383047595725037568

> AMD has an interesting opportunity with Mantle because of their dual console wins, but I doubt Sony and MS will be very helpful.

and

https://twitter.com/ID_AA_Carmack/status/383051142755663872

> Considering the boost Mantle could give to a steambox, MS and Sony may wind up being downright hostile to it.


This is the huge benefit with the console wins to AMD that Carmack spoke about at Quakecon this year. Sounds like thanks to the new consoles, this will put AMD in the driver's seat. Everyone else will be stuck on DX or OGL. If NV/Intel implements Mantle it may well require a hardware change, since AMD defines this API going forward.


Or maybe it won't - it could just be implemented by firmware. If the computing power is there on the silicone some talented engineers could always find ways to use it. And this is not without benefits for nVidia - they could obsolete old 5xx cards that still got year or two life in them left.

And if the benefits of the api are so great as claimed than performance could go so high that for 1080p it will just don't matter if nVidia is slightly slower.

It is funny that Valve and AMD do for PC gaming what I claimed in 2001-2 MS should do - I called it game mode then. Unload everything but the TCP/IP stack and give all the resources to a game.


My first thought when I saw the slides, especially the "cross-platform part", was "yay, no more DirectX!!!". This might mean that we're finally going to have AAA games on Linux too (DirectX was a big obstacle to that).


Mantle still doesn't solve input, audio, and a number of other services that DirectX provides in a unified way. Also, potentially AMD only, which has a smaller share than both Intel and nVidia.


100% share of the next-gen console though, which is what counts for gaming.


I'm not sure that matters too much, to be honest. Mantle probably isn't coming to the consoles because they have their own direct architecture.

If you develop for PC you want to maximize market share so you need to ask if it's really worth supporting another graphics API for a performance boost on the #3 vendor.


All those other DirectX parts have been deprecated for a long time now. The only thing still being used is Direct3D.


Not true. Many deprecated components were replaced with other components that are part of the DirectX package and are still used.

DirectSound -> XAudio/XACT

DirectInput -> XInput

Etc.


Because (3D) AMD drivers have been stellar on Linux so far?


Both old and new AAA games are on Linux today. Tribes 2, Descent: Freespace, Brutal Legend, Psychonauts, Natural Selection 2, HL2, TF2, Unreal Tournament 2004, the X3 series... etc., etc., etc.

Unless Mantle is a shedload easier to work with than OpenGL 3.x, I don't see it speeding the development of the Linux Unreal Engine 4 port. ;)


Bioshock Infinite? Starcraft 2? GTA V? Diablo 3? Skyrim? (I'm talking about native ports, not Wine) Some of those you mentioned are Valve games, and they've been porting the games to Linux because of SteamOS.


I'm still not convinced that Mantle will be a significant motivator for AAA game producers to port to Linux. After all, if an "easier" way to get your game out the door was all that it took, wouldn't we have seen a bunch of Unreal Engine games on Linux back in 2004?

Can you convince me that Mantle is a substantially better or easier way of doing graphics programming than modern OpenGL?


Not sure. I'm surprised myself that there aren't more OpenGL games. One possibility is that OpenGL is too bloated/complicated (which Mantle would fix), but I don't know enough about OpenGL to state that with certainty.


This is not for performance. OpenGL has very low overhead, and already allows you to "directly tap into the hardware" and "fully exploit the capabilities of modern GPUs".

AMD wants people to write code that will not run on Nvidia and Intel hardware. Nvidia has been doing the same thing for years with CUDA.


Follow some of the top-end OpenGL developers on Twitter sometime; you'll change your tune quickly.

There's a significant amount of overhead in the existing OpenGL API, which currently can only be mitigated somewhat through vendor-specific extensions. But extensions alone aren't sufficient to address some of the serious issues that the OpenGL API has today.

OpenGL forces you to maintain a tremendous amount of state information that significantly increases overhead.

John Carmack and many others have explicitly mentioned this in past discussions.

While I'm horrified at the idea of revisiting the days of 3DFX glide and installing my own client ICD into a game driectory, if Mantle drives the OpenGL ARB to start seriously addressing those issues and increases competition, then I'm all for it.


This. I'm hoping Mantle is to OGL what Mir was to Wayland - not a supplicant, but a kick in the rear to get their act in gear.


It was my understanding that those involved with or in the know about both Wayland and Mir felt that Mir is a project in a very early state of development [0][1] that was started for the wrong reasons [2]. Could you point me to a knowledgeable person who doesn't work for Canonical who mentions that some significant good idea(s) from Mir worked their way into Wayland? :)

[0] http://mjg59.dreamwidth.org/26254.html [1] http://mjg59.dreamwidth.org/27327.html [2] http://blog.martin-graesslin.com/blog/2013/05/mir-in-kubuntu...


Who are those "top-end OpenGL developers on Twitter"? Maybe some blogs you can recommend?


Here are some of the graphics people I follow on Twitter and whom I personally consider experts in the field:

Fabian Giesen: https://twtter.com/rygorous http://fgiesen.wordpress.com/ -- RAD Game Tools

Sean Barrett: https://twitter.com/nothings -- ex-Looking Glass, now RAD Game Tools

Brian Hook: https://twitter.com/GrumpyHook -- ex-id Software, now RAD Game Tools

Romain Guy: https://twitter.com/romainguy -- Google (Android)

John Carmack: https://twitter.com/ID_AA_Carmack -- id Software Founder / Occulus VR CTO

Johan Andersson: https://twitter.com/repi -- Technical Director on Frostbite Engine at DICE (Battlefield Games)

Dave Moore: https://twitter.com/dmmfix -- RAD Game Tools

Tom Forsyth: https://twitter.com/tom_forsyth -- ex-Valve (?), ex-Intel, now at Occulus

Graham Sellers: https://twitter.com/grahamsellers -- AMD

Matthäus G. Chajdas: https://twitter.com/NIV_Anteru

Christophe Riccio: https://twitter.com/g_truc -- ex-Imagination Technologies, ex-AMD ?, now indie?

Robert Menzel: https://twitter.com/renderpipeline

Morgan McGuire: https://twitter.com/CasualEffects



What, and people haven't been ragging on and even trying to replace OpenGL for years? Everyone used the GPU-specific API rather than OpenGL on PS3 to make it harder to port their code, not to get the maximum possible performance? The "leading game developers" that allegedly inspired Mantle aren't going to show?

Standards are great, and I'd love OpenGL drivers to be as fast as possible, but OpenGL being what it is, this API seems pretty interesting to me.


libgcm is pretty much just OpenGL with a few Sony specific extensions - plus you have to use their headers which use macros to build the command lists, probably pulled right out of NVidia's driver code.

It's quite fascinating how many of the PS3's APIs are wrappers around established standards/libraries, almost as if they were deliberately crafted to require more porting effort from developers.


Seriously? A stateless API is just OpenGL? This is not even wrong.


> OpenGL has very low overhead

Not at all. OpenGL for a start is a huge state machine still. Far from how you program graphics on a gaming console.


OpenGL can introduce a lot of overhead, especially when moving data back and forth between CPU and GPU. As just one example, OpenGL gives you no control over texture swizzling, which can be a serious performance issue during texture upload.


That's sort of the fault of the hardware vendors though for not proposing any viable extensions that expose texture swizzling. Why would it get any better with a new API?


They quoted 9x drawcall rate improvement. This is especially important on AMD APUs which are relatively weak on the CPU side.


I wonder if that is vs DirectX (easier) or vs OpenGL (harder).


well CUDA is really for general purpose development on GPUs and to be fair if i recall correctly CUDA appeared before there were standard ways to to GPGPU (like openCL and directcompute).

the idea i got from the video is that mantle is a replacement for opengl and directx for "performance reasons".

i still agree with you though, this is just pure marketing to make people develop/buy AMD GPUs instead of something else.


This seems rather contrary to the heterogenous computation interest group that AMD was involved in. http://hsafoundation.com/


There is a opportunity for performance improvements by making the API calls more practical for the hardware and unifying the design. Comparing an API at this level to OpenGL API exposes your ignorance.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: