Hacker News new | ask | show | jobs
by leorocky 4398 days ago
> how about you complain about Microsoft, Dell, HP, Nvidia, AMD etc.?

These companies are businesses that need a business reason to support your platform. Until more people are playing triple A games on platforms that use OpenGL you can't really fault them for spending money when it doesn't make sense. Apple designs its own chips for its mobile device so I'd think the OpenGL on iOS would have better driver support.

5 comments

> Apple designs its own chips for its mobile device so I'd think the OpenGL on iOS would have better driver support.

Apple licenses Imagination Technology's PowerVR GPUs, they do not design them themselves. The OpenGL driver also comes from IT.

Apple absolutely has graphics driver teams for iOS and OS X. They control a significant portion of the driver stack, not to mention the rendering APIs.
Source for that?
I interviewed with apple and many of the people I interviewed with were explicitly on their mobile driver team. We discussed hardware and driver stack details. They made it clear that yes, they are partially responsible for the driver stack.

I also have explicitly had my statement confirmed by game & driver developers for desktop OS X; I can't say with 100% certainty that Apple owns the iOS stack, but I am relatively certain that it is true given that it is 100% known to be true on OS X.

Common-sense wise, I find it highly unlikely that iOS would be bolted directly to the powerVR graphics stack. It would make it too hard for them to move to another graphics vendor. So I think it is almost a certainty that they own some, if not all of the graphics stack, even if it is derived from proprietary PowerVR code & hardware.

I've spoken to the driver teams for both Imagination and iOS. For anything regarding iOS, the Imagination team will always say "We can't answer that, speak to the iOS team." For anything that's not in the public docs, the iOS team will respond "We can't answer that." ;)
At least for large customers of PowerVR the GPU design includes the source code for the drivers. This is why you can't even rely on the same GPU model or even exact same SoC working similarly in the Android world because they come from different companies so have different driver trees.
Rage and Wolfenstein:The new order are both triple A titles and IdTech 4 & 5 is based on OpenGL.
But laptop manufacturers normally don't support driver updates over many years which is necessary to stay current with OpenGL versions. Often the (semi-official) NVidia Verde drivers from NVidia work when the laptop has an NVidia GPU; for AMD GPUs there's no such support.
OpenGL is the only thing you get on iOS. There is no Direct3D on iOS. Likewise, it's the only thing you get on PS4, Steambox, OSX etc.

But that's not my issue, I acknowledge freely that OpenGL drivers are bad. I just don't quite see how that's a failing of OpenGL, rather than the vendors who actually implement the drivers.

Well, no, Sony has its own low-level API that you can use on the PS4[0], and because all PS4s use the same GPU you don't have to worry about a lot of what OpenGL has to offer you in terms of abstracting away the underlying hardware, if all you care about is the PS4.

http://arstechnica.com/gaming/2013/03/sony-dives-deep-into-t...

PS4 doesn't use OpenGL. No game console I'm aware of has ever used OpenGL. (The PS3 is the closest example, since it used to let you run Linux, so you could run Mesa - but the GPU wasn't accessible to you.) I don't know why people keep claiming that a given console runs OpenGL.
People probably bring it up because you can often use OpenGL on a console, even if it's through a wrapper library instead of supported directly, or even if it's only "OpenGL-like" instead of fully compliant -- which still may be better than porting to the native format depending on the game. (Though the original XBox's D3D was pretty OpenGL friendly: http://www.emuxtras.net/forum/viewtopic.php?f=193&t=4009) So for the PS2, PS3, Wii, and handhelds like the PSP and DS, there are OpenGL or OpenGL-like wrappers available.
PS4 doesn't use 'OpenGL', just a low level api and a higher level api that has features suspiciously close to OpenGL 4.3...

Also uses Clang and a bunch of Unixy open source stuff...

Sure, but in practice this is not 'OpenGL' enough to count when talking about OpenGL making ports trivial. (I say this as someone who recently shipped a game w/a OpenGL renderer that has a PS4 port in the works - there are a surprising number of differences!)

The core OpenGL feature set and API factoring are almost certainly things you can expect to be similar on console platforms, at least where the hardware matches. So in that sense 'It's OpenGL' is almost true!

Ouya, maybe?
The bigger problem is a failing of the ecosystem at large; there's an insufficiently toothful agency policing the vendors and a lack of gold-seal certification that matters, leaving space for vendors to do whatever gets the card out the door before the competition. OpenGL's breadth as an API definitely doesn't help ("now that you've implemented direct-buffer rendering, let's go implement all that glVertex crap that lets you do the exact same thing, only slower! Your library coders have infinite time, right?"). But I doubt it's the root cause of the frustration; the "hit the benchmarks and beat ATI out the door this Christmas" ecosystem is my biggest gripe.

I've had to deal with cards that explicitly lie to the software about the capabilities by specifying they support a shader feature that's implemented in software without acceleration (!!!). There's no way to tell via the software that the driver is emulating the feature besides enabling it and noticing your engine now performs in the seconds-per-frame range. So we blacklist the card from that feature set and move on, because that's what you do when you're a game engine developer.

>Until more people are playing triple A games on platforms that use OpenGL you can't really fault them for spending money when it doesn't make sense.

All platforms support OpenGL, not sure where you're getting at.

Sorry to break it to you, but until the recent introduction of Android devices branded as 'microconsoles', nothing resembling a game console ever ran OpenGL. And millions of people play their games on consoles (some instead of on PCs)
And how many of those run DirectX? Are we really trying to debate whether or not OpenGL is more portable than DirectX across platforms? Really?
I'm calling out the incredibly common lies that a) game consoles use OpenGL b) all major game platforms use OpenGL.

Like it or not, neither of those are true. It might be nice if they were.

OpenGL is obviously still a widely-supported choice on desktop PCs (and mobiles), so that's not in question.

You're aware that the PS4 is basically a PC running FreeBSD and an AMD GPU right?
And its rendering APIs are nothing close to OpenGL.
Strange, I developed on Xbox/Xbox 360/Xbox One for many years. Never realized they supported OpenGL...
I didn't know this.