I am getting the following error with an NVidia Quadro FX 3500 on Windows 7 64 bit (using an AMD64 CPU).
javax.media.opengl.GLException: Unable to create temp OpenGL context for device context 0xffffffffad011890 at jogamp.opengl.windows.wgl.WindowsWGLContext.createImpl(WindowsWGLContext.java:296) at jogamp.opengl.GLContextImpl.makeCurrentLocking(GLContextImpl.java:406) at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:352) at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:348) at javax.media.opengl.awt.GLCanvas$DisplayOnEventDispatchThreadAction.run(GLCanvas.java:890) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:642) at java.awt.EventQueue.access$000(EventQueue.java:85) at java.awt.EventQueue$1.run(EventQueue.java:603) at java.awt.EventQueue$1.run(EventQueue.java:601) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:612) at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:148) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178) at java.awt.Dialog$1.run(Dialog.java:1046) at java.awt.Dialog$3.run(Dialog.java:1098) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Dialog.show(Dialog.java:1096) at javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:853) at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:650) at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:621) at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:592) at jp.atr.dni.bmi.desktop.workspace.WorkspaceTopComponent.componentOpened(WorkspaceTopComponent.java:278) at org.openide.windows.WindowManager.componentOpenNotify(WindowManager.java:307) at org.netbeans.core.windows.WindowManagerImpl.notifyTopComponentOpened(WindowManagerImpl.java:986) at org.netbeans.core.windows.Central.addModeOpenedTopComponent(Central.java:774) at org.netbeans.core.windows.ModeImpl.addOpenedTopComponent(ModeImpl.java:314) at org.netbeans.core.windows.WindowManagerImpl.topComponentOpenAtTabPosition(WindowManagerImpl.java:1094) at org.netbeans.core.windows.WindowManagerImpl.topComponentOpen(WindowManagerImpl.java:1061) at org.openide.windows.TopComponent.open(TopComponent.java:503) at org.openide.windows.TopComponent.open(TopComponent.java:483) at org.openide.windows.OpenComponentAction.actionPerformed(OpenComponentAction.java:89) at org.openide.awt.AlwaysEnabledAction$1.run(AlwaysEnabledAction.java:137) at org.openide.util.actions.ActionInvoker$1.run(ActionInvoker.java:95) at org.openide.util.actions.ActionInvoker.doPerformAction(ActionInvoker.java:116) at org.openide.util.actions.ActionInvoker.invokeAction(ActionInvoker.java:99) at org.openide.awt.AlwaysEnabledAction.actionPerformed(AlwaysEnabledAction.java:140) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.AbstractButton.doClick(AbstractButton.java:357) at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:809) at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:850) at java.awt.Component.processMouseEvent(Component.java:6289) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6054) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4652) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4482) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4482) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644) at java.awt.EventQueue.access$000(EventQueue.java:85) at java.awt.EventQueue$1.run(EventQueue.java:603) at java.awt.EventQueue$1.run(EventQueue.java:601) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) at java.awt.EventQueue$2.run(EventQueue.java:617) at java.awt.EventQueue$2.run(EventQueue.java:615) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:614) at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:148) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Caused: javax.media.opengl.GLException at jogamp.opengl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadingPlugin.java:98) at jogamp.opengl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:197) at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:164) at javax.media.opengl.awt.GLCanvas.maybeDoSingleThreadedWorkaround(GLCanvas.java:767) at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:388) at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:74) at com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:140) at com.jogamp.opengl.util.Animator$MainLoop.run(Animator.java:180) [catch] at java.lang.Thread.run(Thread.java:662) Our source is on GitHub (e.g., https://github.com/mtakemiya/BMIDesktop/blob/fcad73408b6285902f6a1701bbf045b227712544/timeline/src/jp/atr/dni/bmi/desktop/timeline/TimelineTopComponent.java). It is still under dev right now and not very pretty. Are there any known issues with the NVidia Quadro FX 3500? I am using the jars and native libs from the latest signed release of jogl (jogl-2.0-b23-20110303-windows-amd64). This same source works fine on my mac. |
Administrator
|
jogl-2.0-b23-20110303-windows-amd64
I also tried jogl-2.0-b23-20110303-windows-i586. |
Administrator
|
Hi,
Looking at the code line 250: Animator animator = new Animator(getGlCanvas()); animator.add(getGlCanvas()); u add the canvas twice one at cnstr and another using add, could cause a problem. (at least will call display twice!) plus run it with sun.awt.noerasebackground=true also you need to call setVisible(true) at creation of the container. you can also run it with jogl.debug.Animator to get debug messages to see whats happening. Cheers, On Tue, Jun 21, 2011 at 10:34 AM, Makoto [via jogamp] <[hidden email]> wrote: > jogl-2.0-b23-20110303-windows-amd64 > > ________________________________ > If you reply to this email, your message will be added to the discussion > below: > http://forum.jogamp.org/Unable-to-create-temp-OpenGL-context-for-device-context-tp3089571p3089624.html > To start a new topic under jogamp, email > [hidden email] > To unsubscribe from jogamp, click here. |
Rami,
Thanks for catching that. I made the changes and committed them to github: https://github.com/mtakemiya/BMIDesktop/blob/master/timeline/src/jp/atr/dni/bmi/desktop/timeline/TimelineTopComponent.java However, this did not fix the original problem of "unable to create temp OpenGL context for device context". I am using the netbeans platform for a netbean module project, so for the life of me I can't find a way to set vm args. |
Administrator
|
Try to do this very early:
System.setProperty("sun.awt.noerasebackground", "true");
Julien Gouesse | Personal blog | Website
|
I am trying to se the property with System.setProperty("sun.awt.noerasebackground", "true"); like you said, but I am not sure if it is doing anything.
I don't get the "unable to create temp OpenGL context for device context" error on open, but rather when the window is dragged out of the main window into its own window, the exception occurs. This works fine on the Mac, but not on windows, using different hardware configs. Any ideas on what might be the problem? |
Even running with sun.awt.noerasebackground and sun.java2d.noddraw set to true, I get the following errors. I am wondering, is the java.lang.UnsatisfiedLinkError: Native Library related to the unable to create temp openGL context?
Just to review, I only get the GLException when docking the window containing the glcanvas or pulling the window out of the main UI in my netbeans platform project. This works fine on my Mac, but it gives this error on two different windows machines running different versions of windows (vista and 7) and different hardware. javax.media.opengl.GLException: Unable to create temp OpenGL context for device context 0xffffffffa30120c6 at jogamp.opengl.windows.wgl.WindowsWGLContext.createImpl(WindowsWGLContext.java:296) at jogamp.opengl.GLContextImpl.makeCurrentLocking(GLContextImpl.java:406) at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:352) at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:348) at javax.media.opengl.awt.GLCanvas$DisplayOnEventDispatchThreadAction.run(GLCanvas.java:890) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:641) at java.awt.EventQueue.access$000(EventQueue.java:84) at java.awt.EventQueue$1.run(EventQueue.java:602) at java.awt.EventQueue$1.run(EventQueue.java:600) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:611) at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:148) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Caused: javax.media.opengl.GLException at jogamp.opengl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadingPlugin.java:98) at jogamp.opengl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:197) at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:164) at javax.media.opengl.awt.GLCanvas.maybeDoSingleThreadedWorkaround(GLCanvas.java:767) at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:388) at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:74) at com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:140) at com.jogamp.opengl.util.Animator$MainLoop.run(Animator.java:180) [catch] at java.lang.Thread.run(Thread.java:662) WARNING [org.netbeans.core.modules] java.lang.UnsatisfiedLinkError: Native Library C:\Users\decode\Documents\gitSources\BMIDesktop\build\cluster\modules\lib\gluegen-rt.dll already loaded in another classloader at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1772) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1716) at java.lang.Runtime.loadLibrary0(Runtime.java:823) at java.lang.System.loadLibrary(System.java:1028) at com.jogamp.gluegen.runtime.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:102) at com.jogamp.gluegen.runtime.NativeLibLoader.access$000(NativeLibLoader.java:51) at com.jogamp.gluegen.runtime.NativeLibLoader$1.run(NativeLibLoader.java:70) at java.security.AccessController.doPrivileged(Native Method) at com.jogamp.gluegen.runtime.NativeLibLoader.loadGlueGenRT(NativeLibLoader.java:68) at com.jogamp.common.jvm.JVMUtil.<clinit>(JVMUtil.java:56) at javax.media.opengl.GLProfile.<clinit>(GLProfile.java:1141) at jp.atr.jogltest.JoglTestTopComponent.initGL(JoglTestTopComponent.java:87) at jp.atr.jogltest.JoglTestTopComponent.<init>(JoglTestTopComponent.java:72) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at org.netbeans.modules.settings.convertors.XMLPropertiesConvertor.defaultInstanceCreate(XMLPropertiesConvertor.java:227) at org.netbeans.modules.settings.convertors.XMLPropertiesConvertor.read(XMLPropertiesConvertor.java:98) at org.netbeans.modules.settings.InstanceProvider$InstanceCookieImpl.instanceCreate(InstanceProvider.java:310) at org.netbeans.core.windows.persistence.PersistenceManager.getTopComponentPersistentForID(PersistenceManager.java:545) at org.netbeans.core.windows.persistence.PersistenceManager.getTopComponentForID(PersistenceManager.java:655) at org.netbeans.core.windows.PersistenceHandler.getTopComponentForID(PersistenceHandler.java:460) at org.netbeans.core.windows.WindowManagerImpl.getTopComponentForID(WindowManagerImpl.java:827) at org.netbeans.core.windows.model.TopComponentSubModel.getTopComponent(TopComponentSubModel.java:363) at org.netbeans.core.windows.model.TopComponentSubModel.getTopComponents(TopComponentSubModel.java:89) at org.netbeans.core.windows.model.DefaultModeModel.getTopComponents(DefaultModeModel.java:270) at org.netbeans.core.windows.model.DefaultModel.getModeTopComponents(DefaultModel.java:851) at org.netbeans.core.windows.Central.getModeTopComponents(Central.java:1513) at org.netbeans.core.windows.ModeImpl.getTopComponents(ModeImpl.java:189) at org.netbeans.core.windows.model.DefaultModel.isModePermanent(DefaultModel.java:793) at org.netbeans.core.windows.Central.isModePermanent(Central.java:1492) at org.netbeans.core.windows.ModeImpl.isPermanent(ModeImpl.java:378) at org.netbeans.core.windows.PersistenceHandler.getConfigFromMode(PersistenceHandler.java:698) at org.netbeans.core.windows.PersistenceHandler.getConfig(PersistenceHandler.java:608) at org.netbeans.core.windows.PersistenceHandler.save(PersistenceHandler.java:308) at org.netbeans.core.windows.WindowSystemImpl.save(WindowSystemImpl.java:78) at org.netbeans.core.NbLifecycleManager$ExitActions.run(NbLifecycleManager.java:131) at org.netbeans.core.startup.ModuleSystem$2.run(ModuleSystem.java:311) [catch] at org.netbeans.ModuleManager.shutDown(ModuleManager.java:1737) at org.netbeans.core.startup.ModuleSystem.shutDown(ModuleSystem.java:316) at org.netbeans.core.NbLifecycleManager.doExit(NbLifecycleManager.java:167) at org.netbeans.core.NbLifecycleManager.access$000(NbLifecycleManager.java:75) at org.netbeans.core.NbLifecycleManager$ExitActions.run(NbLifecycleManager.java:123) at org.openide.util.Mutex.doEvent(Mutex.java:1341) at org.openide.util.Mutex.readAccess(Mutex.java:348) at org.netbeans.core.NbLifecycleManager.exit(NbLifecycleManager.java:111) at org.netbeans.core.windows.view.ui.MainWindow$5.windowClosing(MainWindow.java:427) at java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:332) at java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:332) at java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:332) at java.awt.Window.processWindowEvent(Window.java:1865) at javax.swing.JFrame.processWindowEvent(JFrame.java:274) at java.awt.Window.processEvent(Window.java:1823) at java.awt.Component.dispatchEventImpl(Component.java:4651) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4481) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643) at java.awt.EventQueue.access$000(EventQueue.java:84) at java.awt.EventQueue$1.run(EventQueue.java:602) at java.awt.EventQueue$1.run(EventQueue.java:600) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) at java.awt.EventQueue$2.run(EventQueue.java:616) at java.awt.EventQueue$2.run(EventQueue.java:614) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:613) at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:148) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) 構築成功 (合計時間: 30 秒) |
This was fixed on Windows by switching from GLCanvas to GLJPanel.
However, now on the Mac I get the following error with GLJPanel when dragging windows out of the main application in the netbeans platform project: java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method) at javax.media.opengl.awt.GLJPanel$AbstractReadbackBackend.postGL(GLJPanel.java:978) at javax.media.opengl.awt.GLJPanel$Updater.display(GLJPanel.java:683) at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:191) at jogamp.opengl.GLPbufferImpl$DisplayAction.run(GLPbufferImpl.java:288) at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:363) at jogamp.opengl.GLPbufferImpl.invokeGL(GLPbufferImpl.java:274) at jogamp.opengl.GLPbufferImpl.display(GLPbufferImpl.java:147) at javax.media.opengl.awt.GLJPanel$PbufferBackend.doPaintComponentImpl(GLJPanel.java:1227) at javax.media.opengl.awt.GLJPanel$AbstractReadbackBackend.doPaintComponent(GLJPanel.java:996) at javax.media.opengl.awt.GLJPanel.paintComponent(GLJPanel.java:384) at javax.swing.JComponent.paint(JComponent.java:1029) at javax.swing.JComponent.paintChildren(JComponent.java:862) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JComponent.paintChildren(JComponent.java:862) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JComponent.paintChildren(JComponent.java:862) at javax.swing.JComponent.paint(JComponent.java:1038) at org.netbeans.swing.tabcontrol.TabbedContainer.paint(TabbedContainer.java:959) at javax.swing.JComponent.paintChildren(JComponent.java:862) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JComponent.paintChildren(JComponent.java:862) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JLayeredPane.paint(JLayeredPane.java:567) at javax.swing.JComponent.paintChildren(JComponent.java:862) at javax.swing.JComponent.paint(JComponent.java:1038) at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:34) at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:60) at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97) at java.awt.Container.paint(Container.java:1793) at java.awt.Window.paint(Window.java:3375) at sun.awt.RepaintArea.paintComponent(RepaintArea.java:276) at sun.awt.RepaintArea.paint(RepaintArea.java:241) at apple.awt.ComponentModel.handleEvent(ComponentModel.java:263) at apple.awt.CWindow.handleEvent(CWindow.java:525) at java.awt.Component.dispatchEventImpl(Component.java:4812) at java.awt.Container.dispatchEventImpl(Container.java:2143) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4566) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:680) at java.awt.EventQueue.access$000(EventQueue.java:86) at java.awt.EventQueue$1.run(EventQueue.java:639) at java.awt.EventQueue$1.run(EventQueue.java:637) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) at java.awt.EventQueue$2.run(EventQueue.java:653) at java.awt.EventQueue$2.run(EventQueue.java:651) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:650) at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:148) [catch] 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) |
I'm having similar exception that shows up while switching a GLCanvas to fullscreen (GLCanvas moved to a new undecorated frame, then setFullScreenWindow on it). I'm using sun.java2d.noddraw=true too.
Nothing crash and after the switch the rendering is fine. I'm wondering if the exception is normal behavior or may be something that should be fixed somewhere (and possibly from my code ?). BTW I'm using JOGL b544 and the exception is below: Exception in thread "RenderLoop-0" javax.media.opengl.GLException: javax.media.opengl.GLException: Unable to create temp OpenGL context for device context 0x51011f83 at jogamp.opengl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadingPlugin.java:98) at jogamp.opengl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:197) at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:164) at javax.media.opengl.awt.GLCanvas.maybeDoSingleThreadedWorkaround(GLCanvas.java:797) at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:400) at jouvieje.scene.target.jogl2.GLCanvas_jogl2.onDisplay(GLCanvas_jogl2.java:63) at jouvieje.opengl.RenderLoop$Loop.run(RenderLoop.java:61) Caused by: javax.media.opengl.GLException: Unable to create temp OpenGL context for device context 0x51011f83 at jogamp.opengl.windows.wgl.WindowsWGLContext.createImpl(WindowsWGLContext.java:296) at jogamp.opengl.GLContextImpl.makeCurrentLocking(GLContextImpl.java:458) at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:392) at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:370) at javax.media.opengl.awt.GLCanvas$DisplayOnEventDispatchThreadAction.run(GLCanvas.java:920) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$000(Unknown Source) at java.awt.EventQueue$1.run(Unknown Source) at java.awt.EventQueue$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)
Jérôme
|
Administrator
|
Please use NEWT if you want to make a window in full screen mode as this feature is broken in AWT on KDE 4 on GNU/Linux. If you want to get a correct behavior everywhere, using GLCanvas (and then AWT) is a really bad idea.
Julien Gouesse | Personal blog | Website
|
This post was updated on .
I know that newt is better but I can't used it when I have multiple context running/rendering. When I'll have my code working with multiple context and newt I could get ride of the remaining GLCanvas, but in the meantime I still try to get the best support with GLCanvas.
BTW thanks for pointing me out the problem in kde :)
Jérôme
|
Administrator
|
On Thursday, November 10, 2011 11:30:35 PM jouvieje [via jogamp] wrote:
> > I know that newt is better but I can't used it when I have multiple context > running/rendering. When I'll have my code working with multiple context and > newt I could get of the remaining GLCanvas, sorry, I guess I don't understand this statement. however, NEWT imposes no restriction to multiple GLContext use or whatsoever. if you think there is one .. please elaborate, maybe adding a unit test or 'pseudo' code if in doubt. > but in the meantime I still try > to get the best support with GLCanvas. > sure, everybody chose their own .. all good. ofc Julien is right, we have no control about AWT, so we cannot help in situations where AWT is buggy. ~Sven |
When I try to create a shared context in a NewtCanvasAWT I have a wglSharedLists failed exception (during makeCurrent of GLWindow.setSize) which breaks everything. Not sure where the problem come from, and not have time to look at that yet.
I can reproduce easily this exception modifying the RedSquare demo using context sharing.
Jérôme
|
Administrator
|
On Friday, November 11, 2011 09:38:29 AM jouvieje [via jogamp] wrote:
> > When I try to create a shared context in a NewtCanvasAWT I have a > wglSharedLists failed exception (during makeCurrent of GLWindow.setSize) > which breaks everything. Not sure where the problem come from, and not have > time to look at that yet. We have 4 unit test for shared context and all work fine: http://jogamp.org/git/?p=jogl.git;a=blob;f=src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextListAWT.java;hb=HEAD http://jogamp.org/git/?p=jogl.git;a=blob;f=src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextListNEWT.java;hb=HEAD http://jogamp.org/git/?p=jogl.git;a=blob;f=src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES1NEWT.java;hb=HEAD http://jogamp.org/git/?p=jogl.git;a=blob;f=src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2NEWT.java;hb=HEAD Maybe you can copy one of those and change it to reproduce the erroneous behavior, so we can discuss it. > > I can reproduce easily this exception modifying the RedSquare demo using > context sharing. ~Sven |
I've modify the unit test to reproduce the exception:
TestSharedContextListNEWT.java TestSharedContextListNEWT2.java The wglShareLists happens > 75% of the time (so sometimes it works). Using the same animator for all GLWindow never show the exception. As far as I know, running different context (all shared) in different thread is possible, but may be there are some constraint on their creation. Anyway, if something looks wrong on the changes let me know.
Jérôme
|
Administrator
|
On Friday, November 11, 2011 10:56:50 AM jouvieje [via jogamp] wrote:
> > I've modify the unit test to reproduce the exception: > http://jerome.jouvie.free.fr/downloads/TestSharedContextListNEWT.java > TestSharedContextListNEWT.java > http://jerome.jouvie.free.fr/downloads/TestSharedContextListNEWT2.java > TestSharedContextListNEWT2.java > > The wglShareLists happens > 75% of the time (so sometimes it works). > Using the same animator for all GLWindow never show the exception. As far as > I know, running different context (all shared) in different thread is > possible. Not only possible, but one of the whole reasons for it. > Anyway, if something looks wrong on the changes let me know. > > This one .. > I am getting the following error with an NVidia Quadro FX 3500 on Windows 7 > 64 bit (using an AMD64 CPU). Can you complete the version information as requested / described in our wiki/FAQ ? Thank you. If I have missed it, pls post URL. Thank you. I will check this one as well, sure - probably a driver bug. ~Sven |
Here's the detailed information: TestSharedContextListNEWT2-information.txt
Let me know if I should fill a bug.
Jérôme
|
Administrator
|
On Friday, November 11, 2011 12:57:11 PM jouvieje [via jogamp] wrote:
> > Here's the detailed information: > http://jerome.jouvie.free.fr/downloads/TestSharedContextListNEWT2-information.txt > TestSharedContextListNEWT2-information.txt > Thx. > Let me know if I should fill a bug. That would be great and much helpfull so we can track it there (better than email). ~Sven |
Free forum by Nabble | Edit this page |