Posted by
runiter on
Jun 09, 2020; 3:51pm
URL: https://forum.jogamp.org/Java3D-Javafx-doesn-t-work-on-Java-14-tp4040679p4040686.html
Also I compared the logs generated by Java 8 with Java 14 and noticed these differences:
Java 8:
updateGraphicsConfigurationGDI: ChoosePixelFormat(HDC 0x79011cb0) = pfdID 9, skipCapsChooser true, idx 0 (LastError: 0)
Java 14:
updateGraphicsConfigurationGDI: ChoosePixelFormat(HDC 0xffffffff9c01131a) = pfdID 9, skipCapsChooser true, idx 0 (LastError: 127)
Not sure what LastError: 127 means in Java 14 but might be the cause of this problem.
Java 8:
Factory #0: DeviceCapsType[com.jogamp.nativewindow.windows.WindowsGraphicsDevice, com.jogamp.opengl.GLCapabilitiesImmutable] -> jogamp.opengl.windows.wgl.WindowsWGLGraphicsConfigurationFactory@3f438400
Factory #1: DeviceCapsType[com.jogamp.nativewindow.AbstractGraphicsDevice, com.jogamp.nativewindow.CapabilitiesImmutable] -> jogamp.nativewindow.DefaultGraphicsConfigurationFactoryImpl@224724ae
Factory #2: DeviceCapsType[com.jogamp.nativewindow.awt.AWTGraphicsDevice, com.jogamp.opengl.GLCapabilitiesImmutable] -> jogamp.opengl.windows.wgl.awt.WindowsAWTWGLGraphicsConfigurationFactory@24e20284
Java 14:
Factory #0: DeviceCapsType[com.jogamp.nativewindow.awt.AWTGraphicsDevice, com.jogamp.opengl.GLCapabilitiesImmutable] -> jogamp.opengl.windows.wgl.awt.WindowsAWTWGLGraphicsConfigurationFactory@621016c5
Factory #1: DeviceCapsType[com.jogamp.nativewindow.AbstractGraphicsDevice, com.jogamp.nativewindow.CapabilitiesImmutable] -> jogamp.nativewindow.DefaultGraphicsConfigurationFactoryImpl@2568232
Factory #2: DeviceCapsType[com.jogamp.nativewindow.windows.WindowsGraphicsDevice, com.jogamp.opengl.GLCapabilitiesImmutable] -> jogamp.opengl.windows.wgl.WindowsWGLGraphicsConfigurationFactory@bd91fde
It looks like the order of config factories are reversed. This might be okay. Not sure.
Finally, these logs are missing in Java 8 but exist in Java 14:
AWT pfd[0] 0
WindowsAWTWGLGraphicsConfigurationFactory: PFD IDs: 1, unique: 1
updateGraphicsConfiguration(using shared): hdc 0xffffffff9c0115c7
user chosen caps GLCaps[wgl vid 58 arb: rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms 24/0/8, sample-ext default, dbl, mono , hw, GLProfile[GL4bc/GL4bc.hw], on-scr[.]]
updateGraphicsConfigurationARB: hdc 0xffffffff9c0115c7, pfdIDCount(hdc) 670, capsChosen GLCaps[wgl vid 58 arb: rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms 24/0/8, sample-ext default, dbl, mono , hw, GLProfile[GL4bc/GL4bc.hw], on-scr[.]], WINDOW
isOpaque true (translucency requested: false, compositioning enabled: true)
extHDC true, chooser true, pformatsNum 1
wglARBPFIDs2GLCapabilities: Invalid pfdID 0/1: 0
updateGraphicsConfigurationARB: wglARBPFIDs2GLCapabilities failed with 1 pfd ids
[2]: jogamp.fat/jogamp.opengl.windows.wgl.WindowsWGLGraphicsConfigurationFactory.updateGraphicsConfigurationARB(WindowsWGLGraphicsConfigurationFactory.java:450)
[3]: jogamp.fat/jogamp.opengl.windows.wgl.WindowsWGLGraphicsConfigurationFactory.updateGraphicsConfiguration(WindowsWGLGraphicsConfigurationFactory.java:323)
[4]: jogamp.fat/jogamp.opengl.windows.wgl.WindowsWGLGraphicsConfigurationFactory.preselectGraphicsConfiguration(WindowsWGLGraphicsConfigurationFactory.java:291)
[5]: jogamp.fat/jogamp.opengl.windows.wgl.WindowsWGLGraphicsConfiguration.preselectGraphicsConfiguration(WindowsWGLGraphicsConfiguration.java:157)
[6]: jogamp.fat/jogamp.opengl.windows.wgl.awt.WindowsAWTWGLGraphicsConfigurationFactory.chooseGraphicsConfigurationImpl(WindowsAWTWGLGraphicsConfigurationFactory.java:168)
[7]: jogamp.fat/com.jogamp.nativewindow.GraphicsConfigurationFactory.chooseGraphicsConfiguration(GraphicsConfigurationFactory.java:424)
[8]: j3dcore/org.jogamp.java3d.JoglPipeline.createAwtGraphicsConfiguration(JoglPipeline.java:8704)
[9]: j3dcore/org.jogamp.java3d.JoglPipeline.getBestConfiguration(JoglPipeline.java:8435)
[10]: j3dcore/org.jogamp.java3d.Renderer.doWork(Renderer.java:497)
[11]: j3dcore/org.jogamp.java3d.J3dThread.run(J3dThread.java:271)
updateGraphicsConfigurationGDI: hdc 0xffffffff9c0115c7, capsChosen GLCaps[wgl vid 58 arb: rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms 24/0/8, sample-ext default, dbl, mono , hw, GLProfile[GL4bc/GL4bc.hw], on-scr[.]], WINDOW
extHDC true, chooser true, pformatsNum 1
Chosen PFDID 10 (idx -1), but not found in available caps (use given pfdIDs true, reqPFDCaps GLCaps[wgl vid 10 gdi: rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms 24/0/0, dbl, mono , hw, GLProfile[GL4bc/GL4bc.hw], on-scr[fbo]], chosenCaps: GLCaps[wgl vid 10 gdi: rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms 24/0/0, dbl, mono , hw, GLProfile[GL4bc/GL4bc.hw], on-scr[.]]
updateGraphicsConfigurationGDI: ChoosePixelFormat(HDC 0xffffffff9c0115c7) = pfdID 0, skipCapsChooser false, idx -1 (LastError: 0)
updateGraphicsConfigurationGDI: availableCaps[0 -> skip]: pfdID 0, GLCaps[wgl vid 0 gdi: rgba 0/0/0/0, opaque, accum-rgba 0/0/0/0, dp/st/ms 0/0/0, one, mono , hw, GLProfile[GL4bc/GL4bc.hw], offscr[auto-cfg]]
Empty available capabilities
updateGraphicsConfigurationGDI: failed, return false
[2]: jogamp.fat/jogamp.opengl.windows.wgl.WindowsWGLGraphicsConfigurationFactory.updateGraphicsConfigurationGDI(WindowsWGLGraphicsConfigurationFactory.java:637)
[3]: jogamp.fat/jogamp.opengl.windows.wgl.WindowsWGLGraphicsConfigurationFactory.updateGraphicsConfiguration(WindowsWGLGraphicsConfigurationFactory.java:326)
[4]: jogamp.fat/jogamp.opengl.windows.wgl.WindowsWGLGraphicsConfigurationFactory.preselectGraphicsConfiguration(WindowsWGLGraphicsConfigurationFactory.java:291)
[5]: jogamp.fat/jogamp.opengl.windows.wgl.WindowsWGLGraphicsConfiguration.preselectGraphicsConfiguration(WindowsWGLGraphicsConfiguration.java:157)
[6]: jogamp.fat/jogamp.opengl.windows.wgl.awt.WindowsAWTWGLGraphicsConfigurationFactory.chooseGraphicsConfigurationImpl(WindowsAWTWGLGraphicsConfigurationFactory.java:168)
[7]: jogamp.fat/com.jogamp.nativewindow.GraphicsConfigurationFactory.chooseGraphicsConfiguration(GraphicsConfigurationFactory.java:424)
[8]: j3dcore/org.jogamp.java3d.JoglPipeline.createAwtGraphicsConfiguration(JoglPipeline.java:8704)
[9]: j3dcore/org.jogamp.java3d.JoglPipeline.getBestConfiguration(JoglPipeline.java:8435)
[10]: j3dcore/org.jogamp.java3d.Renderer.doWork(Renderer.java:497)
[11]: j3dcore/org.jogamp.java3d.J3dThread.run(J3dThread.java:271)