OpenGL 3 support on Mac OSX Lion

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

OpenGL 3 support on Mac OSX Lion

robcavin
When running an app with the current JOGL release on Mac OSX 10.7.4 with an AMD Radeon HD 6750M, I'm unable to use glGenVertexArrays.  (Get the unsupported feature error from glGetError()).  I know the Radeon card supports up to GL4.1, so I doubt that's the issue.

From doing a good deal of searching I understand that previous versions of Mac OSX did not support much beyond version 2.1 and shader version 1.2.  However my understanding was that Lion should support most features of 3.0.  Using a GL Caps viewer I see that all the listed functions of 3.0 are supported, but still no shader version beyond 1.2.  I also don't specifically see glGenVertexArrays as a supported function, though my understanding was this was a GL 3.0 addition.  I did see that Apple provided a glGenVertexArraysAPPLE extension in the past.

I've seen some discussions about this but couldn't really come to a conclusion.  Does JOGL take advantage of support beyond 2.1 on OSX Lion?

I know that most notebooks also have an integrated graphics chip for simple rendering and a more powerful discrete chip for advanced rendering.  Is there a need to manually select which adapter to use?

Thanks
Reply | Threaded
Open this post in threaded view
|

Re: OpenGL 3 support on Mac OSX Lion

robcavin
Some additional info I forgot to add.  The GLProfile returned by GLProfile.getDefault() is GL2.  Given that, I'm surprised the interface allowed me to even attempt a glGenVertexArrays.  Regardless, the GL View tool suggests that the driver supports all the features of GL3, just not the shader language version.  (Which conflicts with what I read about GL support in Mac OSX Lion!)

Very confused.  :)
Reply | Threaded
Open this post in threaded view
|

Re: OpenGL 3 support on Mac OSX Lion

robcavin
One more quick note.  gl.isFunctionAvailable("glGenVertexArrays") returns true.

Also a general note.  This code works fine as is on other machines.
Reply | Threaded
Open this post in threaded view
|

Re: OpenGL 3 support on Mac OSX Lion

Sven Gothel
Administrator
In reply to this post by robcavin
On 09/22/2012 09:53 PM, robcavin [via jogamp] wrote:

> When running an app with the current JOGL release on Mac OSX 10.7.4 with an
> AMD Radeon HD 6750M, I'm unable to use glGenVertexArrays.  (Get the
> unsupported feature error from glGetError()).  I know the Radeon card supports
> up to GL4.1, so I doubt that's the issue.
>
> From doing a good deal of searching I understand that previous versions of Mac
> OSX did not support much beyond version 2.1 and shader version 1.2.  However
> my understanding was that Lion should support most features of 3.0.  Using a
> GL Caps viewer I see that all the listed functions of 3.0 are supported, but
> still no shader version beyond 1.2.  I also don't specifically see
> glGenVertexArrays as a supported function, though my understanding was this
> was a GL 3.0 addition.  I did see that Apple provided a glGenVertexArraysAPPLE
> extension in the past.
>
> I've seen some discussions about this but couldn't really come to a
> conclusion.  Does JOGL take advantage of support beyond 2.1 on OSX Lion?
>
> I know that most notebooks also have an integrated graphics chip for simple
> rendering and a more powerful discrete chip for advanced rendering.  Is there
> a need to manually select which adapter to use?
OSX's GL3 core is supported by JOGL,
simply request it via GLProfile.GL3
or that max programmable getter of GLProfile.

See the output here:
<https://jogamp.org/chuck/job/jogl/812/label=macosx-10_6-x86_64-nvidia/testReport/com.jogamp.opengl.test.junit.jogl.acore/TestGLProfile01NEWT/testGL3_2/?>

But be aware Apple doesn't support a compatibility profile.

~Sven



signature.asc (907 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: OpenGL 3 support on Mac OSX Lion

Sven Gothel
Administrator
In reply to this post by robcavin
On 09/22/2012 10:21 PM, robcavin [via jogamp] wrote:
> One more quick note.  gl.isFunctionAvailable("glGenVertexArrays") returns true.
>

Query whether the extension is avail .. pointer may be always set
as queried by isFunc*Avail*(..).

Again, you probably need to use core GL3 on OSX.

~Sven


signature.asc (907 bytes) Download Attachment