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

Changes

Summary

  1. GLContext: *TRACE_SWITCH spacing (details)
  2. Java2D OGLPipeline(GLJPanel+Threading): More fine grained control about (details)
  3. Fix OSX CALayer Bug 690 and Bug 691: Occasional Freeze on (details)
Commit 6d508eb203fea16e094039b27a7368748aff122b by Sven Gothel
GLContext: *TRACE_SWITCH spacing
The file was modified src/jogl/classes/javax/media/opengl/GLContext.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java (diff)
Commit d47794338ea218d1be2d21a91c8eea44d83dcb0a by Sven Gothel
Java2D OGLPipeline(GLJPanel+Threading): More fine grained control about OGL threading and resource usage

- Still excluse OSX
- Respect sun.java2d.opengl property
- [Prepare] Allowing OGLPipeline thread usage w/o it's OGL resource usage
The file was modified src/jogl/classes/jogamp/opengl/awt/AWTThreadingPlugin.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/awt/Java2D.java (diff)
The file was modified src/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
Commit f6e6fab2a7ddfb5c9b614cb072c27ff697629161 by Sven Gothel
Fix OSX CALayer Bug 690 and Bug 691: Occasional Freeze on CVDisplayLinkStop; Layers and native GL-Context are _not_ Released ; Java Side wait for Main-Thread

- Fix Bug 690: Occasional Freeze on CVDisplayLinkStop
  - NSOpenGLLayer.disableAnimation() shall not claim the renderLock mutex,
    since the CVDisplayLink callback could be waiting for the lock.
    This waiting callback could freeze the call to CVDisplayLinkStop.

- Fix Bug 691: Layers and native GL-Context are _not_ Released
  - Following proper release cycle:

    Context unrealized:
      - JAWTWindow.detachSurfaceLayer() -> OSXUtil.RemoveCASublayer(..)
      - CGL.releaseNSOpenGLLayer(..)

    JAWTWindow.destroy()
      - MacOSXJAWTWindow.UnsetJAWTRootSurfaceLayer(..)
      - OSXUtil.DestroyCALayer(..)

  - 'Magic' CALayer release calls (w/o manual retain beforehand) at:
     - OSXUtil.RemoveCASublayer(..): [subLayer release]
     - MacOSXJAWTWindow.UnsetJAWTRootSurfaceLayer(..): [rootLayer release]
     - OSXUtil.DestroyCALayer(..): [rootLayer release]

  - 'Magic' NSOpenGLLayer's NSOpenGLContext dealloc:
     - [NSOpenGLContext clearDrawable]
     - CGLDestroyContext( [NSOpenGLContext CGLContextObj] )

- Java Side wait for Main-Thread
  - Waiting for the delegated Main-Thread on the Java side eases debugging
    and won't block the Main-Thread in native code.

  - Utilizing this for all CALayer calls

Test case: TestGLCanvasAddRemove01SwingAWT
The file was modified make/scripts/tests-osx-x64-java7.sh (diff)
The file was modified make/scripts/tests.sh (diff)
The file was modified src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modified make/scripts/tests-osx-x64.sh (diff)
The file was modified src/nativewindow/native/macosx/OSXmisc.m (diff)
The file was modified src/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java (diff)
The file was modified src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java (diff)
The file was modified src/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
The file was modified src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2AWT.java (diff)
The file was modified src/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
The file was modified src/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAddRemove01SwingAWT.java (diff)