AMD Supports Possible Lower Level DirectX

Status
Not open for further replies.

jwcalla

Distinguished
Sep 24, 2011
65
0
18,630
The whole Mantle thing was a marketing ruse. OpenGL already provides a mechanism for developers to get just about whatever they want from the hardware.
 

jin_mtvt

Honorable
Dec 25, 2012
26
0
10,530
YEs it was a ruset that is why Square and Dice worked hard to include it in the next games. AMD is not in a position to "force" Mantle . But if It needs to "merge" with DX or OpenGL or to be used in conjunction so we can all benefit, then so be it! I personally do not care much about their "brands" until WE ( consumer ) reaps benefit from it. So Viva AMD ( because without them we would still be playing under GeForce and Pentium 3's ) and let's hope Mantle will push everyone forward into the next stage .
 

Shankovich

Distinguished
Feb 14, 2010
336
0
18,810
Making lower level accessible is only a first step for Mantle. It'll only get better from here, and considering it's AMD's own for its own chips and architecture, I think it will continue to have a leg up over Direct X and OpenGL in specific areas.
 

cd000

Honorable
Jan 3, 2013
33
0
10,530
OpenGL already provides a mechanism for developers to get just about whatever they want from the hardware.
Then why don't they use it?
My issue is that it will be implemented into the next DirectX which is bound to be limited to Windows 9 or 8.1
But Mantle will not. AMD win.
 

tobalaz

Honorable
Jun 26, 2012
276
0
10,780
We had lower level access in DOS, Win95 and Win98.MS decided to add extra application and hardware extraction layers in the name of "security" with WinXP. Remember how bad Nvidia and ATI drivers were for close to 2 years when WinXP came out?Remember how games could get the same FPS under OpenGL and DirectX but OpenGL just looked smoother until about half way through XP's life cycle?I'd LOVE to see Mantle stick around and I'd love to see it working in Linux on most of the games in my Steam library.Man I miss 3DFX and Glide something awful. All I can do is hope Mantle is the new Glide.
 

Kewlx25

Distinguished


Except OpenGL is about 10x slower, because OpenGL is nearly the same speed as DX11. But hey, if you think 10x slower is fine, you can use a lovely 300mhz CPU instead of a 3ghz.
 

Shankovich

Distinguished
Feb 14, 2010
336
0
18,810
Except OpenGL is about 10x slower, because OpenGL is nearly the same speed as DX11. But hey, if you think 10x slower is fine, you can use a lovely 300mhz CPU instead of a 3ghz.
OpenGL can accomplish as much, and more, than Direct X. The reason DirectX is in use so much is because Microsoft is a monopoly plain and simple. The fact that it can use vendor extensions is already a huge plus in its favour. Check this little post out http://blog.wolfire.com/2010/01/Why-you-should-use-OpenGL-and-not-DirectX
 

CaptainTom

Honorable
May 3, 2012
1,563
0
11,960
I think a lot of fanboys forget that AMD consistently said it would support Nvidia in Mantle. If DirectX and OpenGL both get close to mantle, then they are just doing AMD's job for free...
 


There is more to it than that. There is also the fact that back then when a game crashed it also could potentially and normally took the OS with it. The API route helps keep that from happening, which is why now you will see a "AMD/NVidia driver stopped working and was recovered" message instead of the system BSoDing and rebooting.

Not even Mantle has true direct hardware access as it is still a API which the game calls the hardware through and still masks it. It does offer more of a low level access than DirectX or OGL do but it is nothing like it used to be when games could directly access hardware.

That will never change. Could you imagine the uproar of the people if a game comes out with a bug or glitch that causes constant reboots when launched? Now if a game does that then you know something else is probably wrong such as a bad GPU or bad RAM but if it had direct access figuring that out would be harder.

OpenGL can accomplish as much, and more, than Direct X. The reason DirectX is in use so much is because Microsoft is a monopoly plain and simple. The fact that it can use vendor extensions is already a huge plus in its favour. Check this little post out http://blog.wolfire.com/2010/01/Why-you-should-use-Open...

Here is how I have always and always will see it. Microsoft will retain the majority of PC market share as will DirectX. The main reason is support. You pay for a license of Windows and you get patch support along with technical support.

The biggest problem with things like OpenGL is that they may not update it to support some of the newest features. Microsoft will always be updating DirectX because of the consoles and because they want to keep that grip on gaming as it is very profitable.

As for the article, it is pretty old and honestly the guy is full of it. Both OGL and DX have mostly the same capabilities and both are working on future capabilities. It is up to the company developing the game to decide if they want to jump on DX or OGL. Problem with OGL is driver support is still lacking. To this day I have to actually copy a certain version of the AMD OGL driver into a folder for Doom 3 or RAGE to work properly while with any DX game I just play it.

As for the Mantle/DX merge, it wont. What most likely will happen is DirectX will have their version as will OpenGL and Mantle will disappear or become something else. Microsoft and the guys behind OGL have been around for a long time doing this, I think they wont have an issue.

Square Enix and DICE obviously had some incentive from AMD to do Mantle. Right now Mantle has a very small market share as it only runs on a handful of GPUs (GCN only) so it is not a massive selling point. And with the price inflation for said GCN cards, they wont sell enough.

Either way I think it is great that Mantle did what AMD wanted and pushed MS and OGL to add support for it. I wouldn't mind a slight performance boost. I just hope it gets better for high end CPUs as right now there isn't much incentive to use Mantle over DDX if you have a high end CPU.
 

Jaroslav Jandek

Honorable
Jan 13, 2014
103
0
10,680
We do. Also, OpenGL can be as low level as possible via OpenGL extensions (there have even been rumors about Mantle extensions for OpenGL). The problem is that not all GPUs support all features. So legacy and platform concerns are a BIG problem. Also a reason why a lot of game devs use third party game engines - they provide another layer of abstraction above various API implementations and allow them to support multiple platforms easily.

With all the good things said about OpenGL, I am mostly using DirectX myself. And the reason for that has nothing to do with performance. DirectX has better documentation, better drivers, better (and available sooner - eg. vertex buffers) features, better debugging, better tools and better support (=> more stable apps with less man-hour investment). Another thing was that in the past, OpenGL was simply bad - like the GLSL (OpenGL shading language) - the stuff of nightmares (it's OK now).

All these points are also applicable to Mantle with one addition - in its current state, it only supports a small fraction of the market (and I do not really expect any changes in that regard in the near future). Furthermore, Mantle does not even compete with Direct3D nor OpenGL - in fact it can't, because it does not (and is not going to, AFAIK) support older HW. It is more like a complementary API - something you implement in addition to OpenGL or Direct3D (a lot of devs simply can't afford to allocate man hours for this).
 

qlum

Distinguished
Aug 13, 2013
195
0
18,690
I still think mantle will be there after these platforms get more close to metal as mantle is more flexible and in the current age of big game engines that rule a lot of games a cryengine, unity, or Unreal can just support the tech and be done with it in a general sense, I think Mantle will always have some edge as it is more flexible and would work better with amd, it may just end up being a niche for certain special uses but still I doubt we will be seeing it go away anytime soon.
 

genz

Distinguished


I that direct call causes an unhandled exception what will happen? Will the PC BSOD? Because if not, that's not close enough to the metal. OGL plugins are still nested within OGL, it's kind of like saying that because I can write bits of C code in .NET, that .NET is suddenly capable of programs that are faster than your competitor hat is using C and ASM.

Remember Mantle is not just talking to the driver, it's talking to the driver in the hardware's own language, and no translation has to be done at all.
 

megamanxtreme

Distinguished
May 2, 2013
59
0
18,630
Bunch of suck-ups.When Google created Chrome, Firefox talked like they welcomed competition. Yet, when Microsoft updated IE, Firefox is like "Oh, HELL NO!"If Microsoft does this, AMD welcomes competition. Yet, if NVIDIA does this, AMD will be like, "Oh, HELL NO!"Competition is competition and it shouldn't be welcomed regardless because it can end up like Intel vs AMD on the processors.
 

ddpruitt

Honorable
Jun 4, 2012
1,109
0
11,360
It appears that most people don't understand what DirectX is really for. It provides an abstraction from the hardware that way devs don't have to deal with all the idiosyncrasies a varies hardware combinations have. When was the last time you opened a file and had to provide a sector number along with the drive commands to write the individual sectors? Same thing with Directx. It also provides a number of high level functions not offered in the hardware, like drawing a box for instance. OpenGL is also an abstraction that not as well maintained as DirectX. Programming closer to the hardware, like Mantle, requires that you really know what your doing and means your spending resources on low-level programming that might be put to better use elsewhere.
 

Haravikk

Distinguished
Sep 14, 2013
317
0
18,790
I have kind of mixed feelings about this idea of low-level DirectX and OpenGL to be honest. I definitely think there's good reason to restructure graphics APIs with modern GPU features in mind, and to cut the cruft that leaves them to become CPU bound, however at the same time we need to avoid anything becoming too GPU dependent.In an ideal world we'd get an all new version of OpenGL built solely around different types of shader program, with a form of scripting language that is designed to run on the GPU itself (where possible), leaving the CPU entirely out of the equation for most typical engine tasks (loading geometries, textures etc. and drawing them), except of course for the initial setup, and for feeding in new data such viewpoint, triggering new sets of shaders, geometries etc. Basically leaving your on-GPU engine to just draw as efficiently as possible, while the CPU only worries about letting it know when what it's drawing needs to change.
 

Jaroslav Jandek

Honorable
Jan 13, 2014
103
0
10,680
OpenGL Extensions (not plugins) are talking directly to the driver, just like Mantle. They are as close to the metal as Mantle is.
As for the other sentence - that is just silly. You are implying that I somehow said or indicated that a native code executed from a managed language would be somehow faster than pure native code. That does not even make sense, nobody said that, nobody is going to... Native code executed from a managed language (PInvoke) is as fast as native code run by any other means - the only performance hit is at the interface level (marshalling), which is irrelevant for the native code's performance.

Mantle goes through the driver - it does not use the HW's own language - it calls driver functions just like every other API (it can even use Direct3D's HLSL).
Essentially, Mantle is a lightweight driver (thin HW abstraction) that is a slave to the GPU's architecture, unlike D3D/OpenGL, where the driver is a slave to the API (except extensions). That means you can't use familiar OpenGL paradigm and have to shift to GCN-friendly way of rendering with Mantle. If NV chooses to adopt Mantle, they would have to either simulate/adopt GCN or implement their own Mantle extensions (which AMD indicated at the AMD Developer Summit).

@ddpruitt: exactly. Well said.
@Haravikk: that is how D3D and OpenGL is used today. Except the script you talk about is called shaders and the feeding of data happens via vertex and index buffers. All the above has to be synchronized with the CPU so the game updates match the visuals and those are the calls where the driver overhead is coming from.
 

jwcalla

Distinguished
Sep 24, 2011
65
0
18,630
I that direct call causes an unhandled exception what will happen? Will the PC BSOD? Because if not, that's not close enough to the metal. OGL plugins are still nested within OGL, it's kind of like saying that because I can write bits of C code in .NET, that .NET is suddenly capable of programs that are faster than your competitor hat is using C and ASM.Remember Mantle is not just talking to the driver, it's talking to the driver in the hardware's own language, and no translation has to be done at all.
This just makes no sense at all. Mantle is not any "lower level" than D3D or OGL, and it's not "close to the metal" or anything like that. Those are just BS marketing terms that have nothing in common with the technical reality of these APIs. Especially the "close the the metal" argument. Console devs have been stroking that one out for years now and even today people still lap it up.And we see it in the performance numbers for Mantle: there is less draw call overhead and so performance improvements are limited to areas where the CPU is bottlenecked. That's about it. There are ways to dramatically reduce draw call overhead in OGL, available now. It's not really any different. Mantle just comes in with new branding and packaging wrap: a common marketing tactic.
 

siman0

Distinguished
Jan 16, 2011
89
0
18,630
The fact of this is we are seeing a swing in gaming and its a big game changer. back in the day the GPU was a graphics processor that was it today its more of a compute accelerator, they do far more than just graphics. AMD is trying as hard as it can to use the full raw power of the graphics processor. Something that in all honesty hasn't been done before. AMD's graphics line wasn't made for graphics they are targeting allot more. This is why they are loved by coin miners. Nvidia for the longest time only targeted graphics, needless to say they are back peddling as fast as they can right now. Nvidia got hit hard with the 9000 series recalls to a point they haven't been truly developing anything. They have been revising the same 8000 series GPU for years. Their GPUs are grate for gaming but the market is changing and AMD is for some reason always the ones changing it. I love AMD for the fact that they are always trying to change the mold. they did it with 64bit, multi-core, and now they have realized that the CPU is starting to reach its limits what do they do. They tried to find a way around the problem. For the longest time AMD has been scaring me since it was a CPU company that didn't make any good CPUs in reality they were working on accelerating programs with GPUs. If you stand back and look at how AMD has positioned itself with GPUs and programs that now use GPU acceleration, you have to admit AMD played its cards well, vary well. The time of GPUs are upon us and AMD has a big head start.
 


You seemed to have forgotten CUDA and how F@H was using that before going the OpenCL route.
 
Status
Not open for further replies.