[lsb-discuss] OpenGL 3.x and 4.x

Craig.Scott at csiro.au Craig.Scott at csiro.au
Wed Jun 29 20:06:47 PDT 2011

Comment from the minutes of LSB meeting on 29th June 2011:

"OpenGL: We're old. The spec is up to 4.1, but 4.x and 3.x don't seem to be in use by anyone, even Apple. 2.1 would be the target. We should see if anything needs to be done to reconcile with OpenGL ES work."

A response to this from one of our team members (Lachlan Hetherton):

"People are using OpenGL 3.2, as it provides lots of features to keep up with DirectX 10 (shader model 4.0), and removes all of the fixed-function pipeline. In games, most people stick to the DirectX side of things, unless they're doing mobile or web development, in which case they'll use GL 2.1 or GL ES 2.0. Plus, in games, there are very few. OpenGL 4+ is only 6m old or so, and is designed to enable use of the new DirectX 11 features, such as the domain and hull shaders. I don't believe there are any products out there that depend on OpenGL 4 yet. I'm not sure that there are any that depend on OpenGL 3.2 yet either - most have fallback code to 2.1. Even in direct X land, there are very few products which depend soley on DX10; they usually fall-back to 9.

GL_EXT_gpu_shader4 adds support for most of the DX10 (shader model 4.0) features without requiring GL3.2, so everyone tends to use this.

Apple only supports OpenGL 2.1 in OSX 10.5 and later, with a number of extensions including GL_EXT_gpu_shader4."

What I'd suggest is that we look at what level of support Mesa has in the versions available in most current distros. The dedicated graphics drivers from nVidia and AMD/ATI will generally support very recent OpenGL versions, so Mesa is likely to be the one that lags. Besides, Mesa seems to be the driver that most systems bundle anyway (yes there are others, but Mesa still seems to be the thing people rely on to work). OpenGL 2.1 seems to be where Mesa is at for now, and this really should be the minimum LSB 5.0 should require in my view. Anything older essentially makes it pointless.

Note also that Qt 5.0 (expected next year) is slated to require OpenGL 2.1 as well.

Dr Craig Scott
Computational Software Engineering Team Leader, CSIRO (CMIS)
Melbourne, Australia

More information about the lsb-discuss mailing list