Skip to content
The Jenkins Controller is preparing for shutdown. No new builds can be started.
Unstable

Changes

Summary

  1. GLContextImpl: Move sharedContextHandle check to (details)
  2. Bug 888 - Validate CPU Runtime Performance: (details)
  3. Bug 888 / Bug 891 - Enhance GLCapabilities-Query: Apply changes of (details)
  4. Bug 888 - Validate CPU Runtime Performance: Only use one HashMap to (details)
  5. Test DumpGLInfo: Dump caps list and extenions (details)
  6. Bug 888 / Bug 891- Enhance GLCapabilities-Query: Add perf. test case (details)
  7. Bug 888 / Bug 891- Enhance GLCapabilities-Query: Add raw perf. test case (details)
  8. JNI Code: Call DeleteLocalRef(..) manually. (details)
  9. Bug 888 / Bug 891- Enhance GLCapabilities-Query: Refine unit tests (details)
  10. NEWT Window: Expose 'setVisible(boolean wait, boolean visible)' allowing (details)
  11. NativeWindow *GraphicsDevice: Align constructors to simplify call (details)
  12. Bug 894 - GLDrawableFactory* [dummy|offscreen] Surface creation w/ own (details)
  13. Bug 894 - GLJPanel: Expose 'initializeBackend(boolean offthread)' (details)
Commit 7433e513c1f109f75aa34c224b1f5f14b612cba8 by Sven Gothel
GLContextImpl: Move sharedContextHandle check to makeCurrentWithinLock(..) and let it fail there instead of within impl. class, only pass the handle - simplifies and removes redundancy.
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11ExternalGLXContext.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXExternalCGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLContext.java (diff)
Commit 613e33ee8ffc1f2b9c5db1e1b5bb5253a159ed6d by Sven Gothel
Bug 888 - Validate CPU Runtime Performance: X11GLXGraphicsConfiguration.GLXFBConfig2GLCapabilities(..)

X11GLXGraphicsConfiguration.GLXFBConfig2GLCapabilities(..) ran over all FB configs and for each it grabbed
native config values separately. Fetching them in bulk mode saves around 7% of this function's cost.

Also reuse XRenderPictFormat instance for 'XRenderDirectFormat XRenderFindVisualFormat(..)' call,
saving a few NIO creation cycles w/ StructAccessor.

Biggest savior is X11GLXGraphicsConfigurationFactory.chooseGraphicsConfigurationFBConfig()'s
fast path w/o chooser and usable 1st FBConfig. Here we only issue 'GLXFBConfig2GLCapabilities(..)'
on the first valid entry.

Test w/ 50 X11GLXGraphicsConfigurationFactory.chooseGraphicsConfigurationFBConfig() invocations:
  - pre change:  1.708 ms
  - post change:   650 ms

Time is no spent almost solely on native glXChooseFBConfig (546ms).
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXGraphicsConfigurationFactory.java (diff)
The file was modifiedmake/config/jogl/glx-CustomJavaCode.java (diff)
The file was modifiedmake/config/jogl/glx-CustomCCode.c (diff)
The file was modifiedsrc/nativewindow/native/x11/Xmisc.c (diff)
The file was modifiedmake/config/nativewindow/x11-CustomJavaCode.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXGraphicsConfiguration.java (diff)
Commit cf1163fc88976e7087d3a17524a49139e35a4708 by Sven Gothel
Bug 888 / Bug 891 - Enhance GLCapabilities-Query: Apply changes of commit 613e33ee8ffc1f2b9c5db1e1b5bb5253a159ed6d to EGL and WGL.

Note: WGL config query is already performed as a bulk operation.
Note: OSX does not perform such queries.
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXGraphicsConfigurationFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLGraphicsConfigurationFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java (diff)
The file was addedmake/config/jogl/egl-CustomJavaCode.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLGraphicsConfiguration.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLUpstreamSurfaceHook.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfigurationFactory.java (diff)
The file was addedmake/config/jogl/egl-CustomCCode.c (diff)
The file was modifiedmake/config/jogl/egl.cfg (diff)
The file was modifiedmake/scripts/tests-win.bat (diff)
The file was modifiedmake/config/jogl/eglext.cfg (diff)
The file was modifiedmake/scripts/java-win.bat (diff)
Commit b129bd586b1e24181003f505514244004337fa7c by Sven Gothel
Bug 888 - Validate CPU Runtime Performance: Only use one HashMap to collect unified gl- and glx-extension strings.

- HashMap is more efficient than HashSet
- No need to use sub HashSet's .. we can use global HashMap.
  'Loosing' duplicate GLX entries due to GL duplicates is acceptable.
The file was modifiedsrc/jogl/classes/jogamp/opengl/ExtensionAvailabilityCache.java (diff)
Commit 1f79656d49a803da74116378f84f26dc4d79db23 by Sven Gothel
Test DumpGLInfo: Dump caps list and extenions
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/DumpGLInfo.java (diff)
Commit 507113e471e165d151bc152989e687439312686a by Sven Gothel
Bug 888 / Bug 891- Enhance GLCapabilities-Query: Add perf. test case

Even though the test case itself cannot show the proper initialization time,
it can be used w/ an attached profiler i.e.

    Test w/ 50 X11GLXGraphicsConfigurationFactory.chooseGraphicsConfigurationFBConfig() invocations:
      - pre change:  1.708 ms
      - post change:   650 ms  (613e33ee8ffc1f2b9c5db1e1b5bb5253a159ed6d)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/perf/TestPerfGLJPanel02AWT.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/perf/TestPerfGLJPanel01AWT.java (diff)
The file was modifiedmake/scripts/tests-win.bat (diff)
Commit b3f6b2fc9ec8aaf6aa5b4297aef1f5228eb15702 by Sven Gothel
Bug 888 / Bug 891- Enhance GLCapabilities-Query: Add raw perf. test case 'choose' only and 'full' offscreen-drawable w/ context

test01ChooseOnly exposes X11/GLX perf. enhancement of 613e33ee8ffc1f2b9c5db1e1b5bb5253a159ed6d:

PRE CHANGE:
++++ UITestCase.setUp: com.jogamp.opengl.test.junit.jogl.perf.TestPerf001RawInit00NEWT - test01ChooseOnly
INIT START #0
Run: 0, count 50/50 raw:
        choose     503/t  10.06/1
INIT END #0
INIT START #1
Run: 1, count 50/50 raw:
        choose     384/t   7.68/1
INIT END #1
INIT START #2
Run: 2, count 50/50 raw:
        choose     344/t   6.88/1
INIT END #2

POST CHANGE:
++++ UITestCase.setUp: com.jogamp.opengl.test.junit.jogl.perf.TestPerf001RawInit00NEWT - test01ChooseOnly
INIT START #0
Run: 0, count 50/50 raw:
        choose      49/t   0.98/1
INIT END #0
INIT START #1
Run: 1, count 50/50 raw:
        choose      43/t   0.86/1
INIT END #1
INIT START #2
Run: 2, count 50/50 raw:
        choose      38/t   0.76/1
INIT END #2
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/perf/TestPerf001GLJPanelInit01AWT.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/perf/TestPerf001RawInit00NEWT.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/perf/TestPerfGLJPanel01AWT.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/perf/TestPerf001GLJPanelInit02AWT.java (diff)
The file was modifiedmake/scripts/tests-win.bat (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/perf/TestPerfGLJPanel02AWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 1d426dd08797a3164e0a7cdf6007d3e750650265 by Sven Gothel
JNI Code: Call DeleteLocalRef(..) manually.
The file was modifiedsrc/jogl/native/libav/ffmpeg_impl_template.c (diff)
The file was modifiedsrc/nativewindow/native/x11/Xmisc.c (diff)
Commit 44117f78f5d4fb3329409a92d758562d013298af by Sven Gothel
Bug 888 / Bug 891- Enhance GLCapabilities-Query: Refine unit tests
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/perf/TestPerf001GLJPanelInit02AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/perf/TestPerf001RawInit00NEWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/perf/TestPerf001GLJPanelInit01AWT.java (diff)
The file was modifiedmake/scripts/tests-win.bat (diff)
Commit 24eab4dc2a14eed97897ec61b69f7f845ab84e04 by Sven Gothel
NEWT Window: Expose 'setVisible(boolean wait, boolean visible)' allowing applications to not block until window becomes visible.
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Window.java (diff)
Commit 35ce176152b7d1e6d4eb52f203882fdce4b465c3 by Sven Gothel
NativeWindow *GraphicsDevice: Align constructors to simplify call hierarchy for analysis.
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/x11/X11GraphicsDevice.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/DefaultGraphicsDevice.java (diff)
Commit de8a370258e60ad9bcf40cf8e6d239ecf306114e by Sven Gothel
Bug 894 - GLDrawableFactory* [dummy|offscreen] Surface creation w/ own device does _not_ require locking on global shared device.
The file was modifiedsrc/newt/classes/jogamp/newt/driver/bcm/egl/DisplayDriver.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableFactoryImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLDisplayUtil.java (diff)
Commit 10fee84d50d1085d977aab413dd446834798e009 by Sven Gothel
Bug 894 - GLJPanel: Expose 'initializeBackend(boolean offthread)' allowing user to trigger backend initialization eagerly and offthread (optional, !WINDOWS)

TestPerf001GLJPanelInit02AWT compares all variations: no-gl, glcanvas, gljpanel and gljpanel-initMT (offthread)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/perf/TestPerf001GLWindowInit03NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/perf/TestPerf001GLJPanelInit01AWT.java (diff)
The file was modifiedmake/scripts/tests-x64-dbg.bat (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/perf/TestPerf001GLJPanelInit02AWT.java (diff)
The file was modifiedmake/scripts/tests-win.bat (diff)
The file was modifiedmake/scripts/tests.sh (diff)