iOS OpenGL ES Extension Support

Supported iOS OpenGL ES ExtensionsThis weekend I was adding improved extension support to the Athena engine for iOS. There is a page on the Apple site that tells what device has what extensions but it hasn’t been updated since iOS 4.2.

So I ran through each version of GLES on a 1st Generate iPod Touch (MBX), an iPhone 4 (SGX) and an iPad 2 (A5), printing the returned string from glGetString( GL_EXTENSIONS ) for each device.

There are a some new extensions in iOS5, some of which are iPad2 specific. But you can see from the image, each newer device supports all the previous extensions.

I haven’t had chance to run it on an iPad1 yet, so it will be interesting to see if there is any difference. I’ve only wrote a rough idea of what version of what SDK is required to use them.

Anything with ‘***’ does not need the extension to work and has an implementation for that version of OpenGL ES.

For more information on each extension, most of them can be viewed here. Some of the newer ones in the EXT namespace are viewable on the what’s new page of the beta for iOS5, though the page calls them by the APPLE namespace still.