Error creating OpenGL 3.1 context

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

Error creating OpenGL 3.1 context

tree1
Hi,

I have been trying to create an OpenGL 3.1 context, but I'm getting some errors:

Exception in thread "AWT-EventQueue-0" java.lang.InternalError: handle is PBuffer, fixedCaps not: MacOSXPbufferCGLDrawable[Realized true,
        Factory   jogamp.opengl.macosx.cgl.awt.MacOSXAWTCGLDrawableFactory@2b180bfd,
        Handle    0x7fcc74c50720,
        Surface   WrappedSurface[ UpstreamSurfaceHookMutableSize[ 1024x512], displayHandle 0x0, surfaceHandle 0x7fcc74c50720, size 1024x512, UOB[ OWNS_DEVICE ], surfaceLock <37bb2525, 5f83bcb8>[count 1, qsz 0, owner <AWT-EventQueue-0>] ]]
        at jogamp.opengl.macosx.cgl.MacOSXCGLContext$NSOpenGLImpl.create(MacOSXCGLContext.java:549)
        at jogamp.opengl.macosx.cgl.MacOSXCGLContext.createContextARBImpl(MacOSXCGLContext.java:239)
        at jogamp.opengl.GLContextImpl.createContextARB(GLContextImpl.java:758)
        at jogamp.opengl.macosx.cgl.MacOSXCGLContext.createImpl(MacOSXCGLContext.java:298)
        at jogamp.opengl.macosx.cgl.MacOSXPbufferCGLContext.createImpl(MacOSXPbufferCGLContext.java:69)
        at jogamp.opengl.GLContextImpl.makeCurrentWithinLock(GLContextImpl.java:572)
        at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:485)
        at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:645)
        at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:594)
        at jogamp.opengl.GLPbufferImpl.display(GLPbufferImpl.java:121)
        at javax.media.opengl.awt.GLJPanel$PbufferBackend.doPaintComponentImpl(GLJPanel.java:1280)
        at javax.media.opengl.awt.GLJPanel$AbstractReadbackBackend.doPaintComponent(GLJPanel.java:1002)
        at javax.media.opengl.awt.GLJPanel.paintComponent(GLJPanel.java:361)
        at javax.swing.JComponent.paint(JComponent.java:1037)
        at javax.swing.JComponent.paintChildren(JComponent.java:870)
        at javax.swing.JComponent.paint(JComponent.java:1046)
        at javax.swing.JComponent.paintChildren(JComponent.java:870)
        at javax.swing.JComponent.paint(JComponent.java:1046)
        at javax.swing.JLayeredPane.paint(JLayeredPane.java:567)
        at javax.swing.JComponent.paintChildren(JComponent.java:870)
        at javax.swing.JComponent.paint(JComponent.java:1046)
        at javax.swing.JComponent.paintChildren(JComponent.java:870)
        at javax.swing.JComponent.paint(JComponent.java:1046)
        at javax.swing.JComponent.paintChildren(JComponent.java:870)
        at javax.swing.JComponent.paint(JComponent.java:1046)
        at javax.swing.JLayeredPane.paint(JLayeredPane.java:567)
        at javax.swing.JComponent._paintImmediately(JComponent.java:5106)
        at javax.swing.JComponent.paintImmediately(JComponent.java:4890)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:812)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:714)
        at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:694)
        at javax.swing.RepaintManager.access$700(RepaintManager.java:41)
        at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1672)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:702)
        at java.awt.EventQueue.access$400(EventQueue.java:82)
        at java.awt.EventQueue$2.run(EventQueue.java:663)
        at java.awt.EventQueue$2.run(EventQueue.java:661)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:672)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Exception in thread "AWT-EventQueue-0" java.lang.InternalError: handle is PBuffer, fixedCaps not: MacOSXPbufferCGLDrawable[Realized true,
        Factory   jogamp.opengl.macosx.cgl.awt.MacOSXAWTCGLDrawableFactory@2b180bfd,
        Handle    0x7fcc74c50720,
        Surface   WrappedSurface[ UpstreamSurfaceHookMutableSize[ 1024x512], displayHandle 0x0, surfaceHandle 0x7fcc74c50720, size 1024x512, UOB[ OWNS_DEVICE ], surfaceLock <37bb2525, 5f83bcb8>[count 2, qsz 0, owner <AWT-EventQueue-0>] ]]
        at jogamp.opengl.macosx.cgl.MacOSXCGLContext$NSOpenGLImpl.create(MacOSXCGLContext.java:549)
        at jogamp.opengl.macosx.cgl.MacOSXCGLContext.createContextARBImpl(MacOSXCGLContext.java:239)
        at jogamp.opengl.GLContextImpl.createContextARB(GLContextImpl.java:758)
        at jogamp.opengl.macosx.cgl.MacOSXCGLContext.createImpl(MacOSXCGLContext.java:298)
        at jogamp.opengl.macosx.cgl.MacOSXPbufferCGLContext.createImpl(MacOSXPbufferCGLContext.java:69)
        at jogamp.opengl.GLContextImpl.makeCurrentWithinLock(GLContextImpl.java:572)
        at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:485)
        at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:645)
        at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:594)
        at jogamp.opengl.GLPbufferImpl.display(GLPbufferImpl.java:121)
        at javax.media.opengl.awt.GLJPanel$PbufferBackend.doPaintComponentImpl(GLJPanel.java:1280)
        at javax.media.opengl.awt.GLJPanel$AbstractReadbackBackend.doPaintComponent(GLJPanel.java:1002)
        at javax.media.opengl.awt.GLJPanel.paintComponent(GLJPanel.java:361)
        at javax.swing.JComponent.paint(JComponent.java:1037)
        at javax.swing.JComponent.paintChildren(JComponent.java:870)
        at javax.swing.JComponent.paint(JComponent.java:1046)
        at javax.swing.JComponent.paintChildren(JComponent.java:870)
        at javax.swing.JComponent.paint(JComponent.java:1046)
        at javax.swing.JLayeredPane.paint(JLayeredPane.java:567)
        at javax.swing.JComponent.paintChildren(JComponent.java:870)
        at javax.swing.JComponent.paint(JComponent.java:1046)
        at javax.swing.JComponent.paintChildren(JComponent.java:870)
        at javax.swing.JComponent.paint(JComponent.java:1046)
        at javax.swing.JComponent.paintChildren(JComponent.java:870)
        at javax.swing.JComponent.paint(JComponent.java:1046)
        at javax.swing.JLayeredPane.paint(JLayeredPane.java:567)
        at javax.swing.JComponent._paintImmediately(JComponent.java:5106)
        at javax.swing.JComponent.paintImmediately(JComponent.java:4890)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:812)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:714)
        at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:694)
        at javax.swing.RepaintManager.access$700(RepaintManager.java:41)
        at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1672)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:702)
        at java.awt.EventQueue.access$400(EventQueue.java:82)
        at java.awt.EventQueue$2.run(EventQueue.java:663)
        at java.awt.EventQueue$2.run(EventQueue.java:661)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:672)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

The code I used is:

GLProfile glProfile = GLProfile.get(GLProfile.GL3);
GLCapabilities glCapabilities = new GLCapabilities(glProfile);

GLJPanel glPanel = new GLJPanel(glCapabilities);
                       
internalFrame.getContentPane().add(glPanel);

(I am using Swing)

My hardware is:
Mac OS X 10.8.2, 4 GB Ram, ATI Radeon HD 2600 Pro 256 MB

I tried running the same code on a Linux Debian Squeeze machine with ATI Radeon HD 5xxx card, and it seemed to work there.

If I change the code from GLProfile.get(GLProfile.GL3) to GLProfile.getDefault(), which seems to return OpenGL 2.1 instead of OpenGL 3.1, then it seems to work.

Thanks
Reply | Threaded
Open this post in threaded view
|

Re: Error creating OpenGL 3.1 context

gouessej
Administrator
Maybe your driver under Mac doesn't support OpenGL 3.1.
Julien Gouesse | Personal blog | Website