22/07/2011 MacOS X 10.7 released with OpenGL 3.2 support

Like many people who owns a MacBook Pro (or any Mac) I upgraded my system with a brand new OS: MacOS X Lion... then I wondered if anything actually happen. No, I am not disappointed because this 21 brought me OpenGL 3.2 core support on my good old MacBook 13" I carry everywhere.

It seems that Apple decided to make a clean cut on legacy providing two OpenGL implementations. One is the old OpenGL 2.1 for compatibility with legacy software and one which is the OpenGL 3.2 core profile but the OpenGL 3.2 compatibility profile isn't supported.

UPDATE: I previously wrote that AMD OpenGL drivers didn't support the compatibility profile which is a mistake. When creating a default contect, this context will be an OpenGL 4.1 compability profile implementation.

The cut is clean because the legacy features are not only removed from the core profile, there are also removed from the set of extensions exposed by the drivers.

This is really few extensions so we could wonder if the cut isn't a bit too clean. Looking at it maybe some extensions dependency haven't been considered. For example, EXT_texture_sRGB is an extension part of OpenGL 2.1 core specification but only partially because this extension has a dependency on EXT_texture_compression_s3tc. Because of the S3 patent issue here, EXT_texture_compression_s3tc is not part of the OpenGL code specification neither can be dependent features. If EXT_texture_sRGB is not available then we might not have sRGB support for S3TC texture formats. However, I have no doubt that in fact sRGB on S3TC texture formats is actually supported.

I don't know yet about the actual support of the feature set but this is what the drivers expose. Why not OpenGL 3.3 support? My guess is just development time and there are probably working on it so the right questions are more: Is this OpenGL 3.2 implementation solid enough? I will need to explore deeper the implementation by actually using it to figure this out. The other one is how far from OpenGL 3.3 support is it? ARB_instanced_arrays, ARB_occlusion_query2 and ARB_timer_query are OpenGL 3.3 core features which is a good start but we still miss two major extensions ARB_sampler_objects and ARB_texture_swizzle but also some maybe more minor extensions ARB_explicit_attrib_location, ARB_blend_func_extended, ARB_texture_rgb10_a2ui and ARB_vertex_type_2_10_10_10_rev.

Finally, for people who were surprized that Apple brought back Intel Chips in their hardware: You were right! As the OpenGL Capability Matrix shows, the OpenGL 3.2 implementation is not supported on Intel HD 3000 platform like the brand new MacBook Air and MacBook Pro 13".

UPDATE: The OpenGL Programming Guide for MacOS X is updated.

I love my old MacBook Pro 13" with a GeForce 8400M even more now! Time for the OpenGL Samples Pack to support a new platform?

July 2011 OpenGL drivers status: OpenGL 4.1 for NVIDIA >
< OpenGL Samples Pack 4.1.7.1 released with Linux support
Copyright Christophe Riccio 2002-2013 all rights reserved
Designed for Chrome 9, Firefox 4, Opera 11 and Safari 5