Jump to content


Consequences of Apple Only Supporting OpenGL 1.2 on Intel GMA?


  • Please log in to reply
7 replies to this topic

#1 ltcommander.data

ltcommander.data

    Positronic

  • Members
  • PipPipPipPip
  • 447 posts

Posted 25 January 2009 - 01:16 PM

http://developer.app...ties/index.html

So I've noticed that Apple posts an OpenGL capabilities chart listing the level of OpenGL support in the drivers for various GPUs. One thing I've always wondered is why does Apple only support up to OpenGL 1.2 on the GMA 950 and GMA X3100?

In terms of actual hardware capabilities of GMAs, Intel officially claims hardware OpenGL 1.4 in the original GMA 900, OpenGL 1.4 + extensions in the GMA 950, OpenGL 1.5 in the GMA X3100, and OpenGL 2.0 in the GMA X4500. So with Apple only supporting OpenGL 1.2, it seems to me that Apple is leaving features on the table, which is disappointing seeing that the GMAs are already limited. I'm guessing additional capabilities above OpenGL 1.2 may still be accessible via extensions, but that's probably not very convenient and may not be as optimized.

Does this have an end effect on games? As in are there many games that were written with OpenGL 1.4 or 1.5 and the GMA 950 and GMA X3100 couldn't make the requirements simply because their drivers didn't support OpenGL 1.4 or 1.5 rather than them not having the performance? For instance, Aspyr specifically mentions that the GMA X3100 is supported in their Windows version of Guitar Hero Aerosmith while they mention that Intel GMAs aren't supported on the Mac version. Another example is VMWare Fusion which specifically points to the lack of full OpenGL 1.4 driver support for the GMA 950 and GMA X3100 as holding back their 3D acceleration virtualization:

http://communities.v...m/docs/DOC-1287

Quote

Readers should keep in mind that Macs with integrated graphics (i.e. mini, MacBook) don't completely support OpenGL 1.4, which is necessary for proper guest 3D acceleration.
Not that moving to the 9400M wasn't a good choice, but the Intel GMAs may not have been so bad if Apple devoted more support for them. Now with the 9400M in the forefront, hopefully GMA driver support isn't going to languish.

#2 bobbob

bobbob

    Uberspewer

  • Members
  • PipPipPipPipPipPipPip
  • 3318 posts

Posted 25 January 2009 - 01:29 PM

View Postltcommander.data, on January 25th 2009, 01:16 PM, said:

So with Apple only supporting OpenGL 1.2, it seems to me that Apple is leaving features on the table, which is disappointing
How can you be disappointed? I mean, it's Apple, and Intel graphics. Even Brad gave up on Apple, and no one (not even Intel) have much love for Intel graphics.

Seriously, even with 1.4 or 1.5 you'd be hard-pressed to do modern games, which is probably one reason most modern games don't even work on GMA on the Windows side, where D3D conformance tests level the playing field a bit. Mac porters obviously have to redo everything in OpenGL, and sometimes that might make some things possible that weren't on Windows (mostly because no one cares about GMA, see above), and other times that's going to kill support. Of course, even if it becomes possible, GMA still has a problem with, you know, acceleration.

Quote

Now with the 9400M in the forefront, hopefully GMA driver support isn't going to languish
You've never been dumped by Apple before, have you? PPC Macs with 7800s didn't get OpenGL 2 till Leopard, while Tiger for Intel Macs had it, so at best expect a paid upgrade. At worst, Apple will promise support, and then kill it. Have a nice day.

#3 Quicksilver

Quicksilver

    Verbal Windbag

  • IMG Writers
  • PipPipPipPipPipPipPipPipPip
  • 4227 posts
  • Location:Chicago Illinois
  • Pro Member:Yes

Posted 25 January 2009 - 03:01 PM

View Postbobbob, on January 25th 2009, 01:29 PM, said:

Seriously, even with 1.4 or 1.5 you'd be hard-pressed to do modern games, which is probably one reason most modern games don't even work on GMA on the Windows side, where D3D conformance tests level the playing field a bit. Mac porters obviously have to redo everything in OpenGL, and sometimes that might make some things possible that weren't on Windows (mostly because no one cares about GMA, see above), and other times that's going to kill support.

If you can make sense of those tables, bobbob, can you spot any holes in Apple's implementation (for normal GPUs, not integrated crap) that might have really hurt the ability of porting houses to bring titles to the Mac?  I seem to remember Doom 3 requiring a Mac OS X update to run, and I wouldn't be surprised to hear that a significant number of games required a crazy programming workaround or two to run correctly.
Former Senior Hardware Editor
InsideMacGames.com

#4 ltcommander.data

ltcommander.data

    Positronic

  • Members
  • PipPipPipPip
  • 447 posts

Posted 25 January 2009 - 03:43 PM

View PostQuicksilver, on January 25th 2009, 04:01 PM, said:

If you can make sense of those tables, bobbob, can you spot any holes in Apple's implementation (for normal GPUs, not integrated crap) that might have really hurt the ability of porting houses to bring titles to the Mac?  I seem to remember Doom 3 requiring a Mac OS X update to run, and I wouldn't be surprised to hear that a significant number of games required a crazy programming workaround or two to run correctly.
The example I remember reading in this forum regarding a Mac OS X update being required to simplify/enable porting was something to do with Frame Buffer Objects (FBO) and related extensions that are needed for certain anti-aliasing methods.

Flipping through the tables, the related extensions seem to be EXT_framebuffer_object, EXT_framebuffer_blit, and EXT_framebuffer_multisample. EXT_framebuffer_object was available in 10.4.11. EXT_framebuffer_blit was only available for the HD2400/HD2600 in 10.4.11 and eventually expanded across to the ATI X1xxx and newer nVidia GPUs by 10.5.6. EXT_framebuffer_multisample doesn't seem to have been in 10.4.11 or 10.5.0 and wasn't added until 10.5.2. Interestingly, the 10.5.3 chart claims EXT_framebuffer_blit support on ATI GPUs all the way back to the Radeon 9600, yet that support disappears in the 10.5.6 chart. Either that the 10.5.3 claims are a misprint or Apple regressed.

#5 bobbob

bobbob

    Uberspewer

  • Members
  • PipPipPipPipPipPipPip
  • 3318 posts

Posted 25 January 2009 - 04:00 PM

View PostQuicksilver, on January 25th 2009, 03:01 PM, said:

If you can make sense of those tables, bobbob, can you spot any holes in Apple's implementation (for normal GPUs, not integrated crap) that might have really hurt the ability of porting houses to bring titles to the Mac?  I seem to remember Doom 3 requiring a Mac OS X update to run, and I wouldn't be surprised to hear that a significant number of games required a crazy programming workaround or two to run correctly.
The stuff I remember is usually that Apple's implementation sucks too much to be usable, not that they don't have a dot next to the feature. Also, the table only lists stuff they actually implement somewhere, not the features they're still missing.

#6 Brad Oliver

Brad Oliver

    Awesome Developer Dude Guy

  • Developer
  • PipPipPipPipPipPip
  • 1691 posts
  • Steam Name:hoserama99
  • Steam ID:hoserama99
  • Location:Glendale, AZ
  • Pro Member:Yes

Posted 03 June 2009 - 12:44 AM

View Postltcommander.data, on January 25th 2009, 12:16 PM, said:

In terms of actual hardware capabilities of GMAs, Intel officially claims hardware OpenGL 1.4 in the original GMA 900, OpenGL 1.4 + extensions in the GMA 950, OpenGL 1.5 in the GMA X3100, and OpenGL 2.0 in the GMA X4500. So with Apple only supporting OpenGL 1.2, it seems to me that Apple is leaving features on the table, which is disappointing seeing that the GMAs are already limited.

I ran into this old thread and figured I could offer up a halfway decent answer here. For a driver to be considered OpenGL 1.3 compliant, it needs to support the following extensions:

Quote

//    GL_ARB_texture_compression
//    GL_ARB_texture_cube_map
//    GL_ARB_multisample
//    GL_ARB_multitexture
//    GL_ARB_texture_env_add
//    GL_ARB_texture_env_combine
//    GL_ARB_texture_env_dot3
//    GL_ARB_texture_border_clamp
//    GL_ARB_transpose_matrix
If you cross-reference that with Apple's list for the GMA cards, you'll notice that ARB_multisample is missing. The upshot here is that the card doesn't support anti-aliasing in hardware on Mac or PC. No idea what magic Intel is doing on the PC to claim 1.4 or higher - presumably they're using some kind of software implementation with shaders and downsampling to mimic it, or perhaps they're simply "stretching the truth" with their 1.4 claim. Ditto for a few of the other extensions (like VBOs) that mark a driver as GL 1.5 compliant, although here Apple does provide a software implementation for the GMA 950 since most games would simply fail to get anywhere without VBO support.

The only thing really keeping games off the Intel cards is craptastic performance. I suspect if anything in the GMA 950 is being left on the floor, it's probably better off there. ;)

View Postltcommander.data, on January 25th 2009, 02:43 PM, said:

Interestingly, the 10.5.3 chart claims EXT_framebuffer_blit support on ATI GPUs all the way back to the Radeon 9600, yet that support disappears in the 10.5.6 chart. Either that the 10.5.3 claims are a misprint or Apple regressed.

Surely a mistake - the PPC Radeons have never had support for FBO blit.
Brad Oliver
bradman at pobox dot com

#7 ltcommander.data

ltcommander.data

    Positronic

  • Members
  • PipPipPipPip
  • 447 posts

Posted 29 August 2009 - 09:06 PM

http://www.phoronix....i...marks&num=3

For what it's worth, it seems that Apple decided it was worthwhile to spend resources on the Intel GMA afterall. Snow Leopard reportedly brings OpenGL support in the GMA 950 up to OpenGL 1.4 to achieve parity with Windows. I guess Intel decided to share whatever trick they are using to get ARB_multisample to work even without hardware antialiasing support.

http://www.phoronix....i...marks&num=4

However, OpenGL performance appears to have regressed in 10.6.0 compared to 10.5.8 for both the GMA 950 and the more modern 9400M. Maybe rob_art or someone will be able to find if this is a more widespread problem on popular Mac games. Hopefully nothing was sacrificed in order to bring OpenCL support and it'll all be fixed in the next point update.

http://www.phoronix....i...arks&num=12

Interestingly, Snow Leopard shows impressive 33% and 50% gains in ray-tracing performance. Maybe Apple thinks ray-tracing is the future or is getting ready for Larrabee.

#8 Janichsan

Janichsan

    Venting Toot Pipe

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 6528 posts
  • Steam Name:Janichsan
  • Location:over there

Posted 30 August 2009 - 02:38 AM

View Postltcommander.data, on August 30th 2009, 05:06 AM, said:

Interestingly, Snow Leopard shows impressive 33% and 50% gains in ray-tracing performance. Maybe Apple thinks ray-tracing is the future or is getting ready for Larrabee.
I guess that's because the used ray-tracing engines are all parallelised, multi-threading and not at all GPU dependent. I also guess that engines that take  at least 20 seconds per image (which translates to incredible 0.05 fps) are hardly usuable for games...
"We do what we must, because we can."
"Gaming on a Mac is like women on the internet." — "Highly common and totally awesome?"