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

Changes

Summary

  1. NEWT WindowImpl.runOnEDTIfAvail(..): Run task from current thread if (details)
  2. NativeSurface Cleanup (API Change) - Adapt to GlueGen Lock cleanup (details)
  3. Misc cleanup: add @Override (details)
  4. Misc cleanup: Add @Override, remove trailing whitespace (details)
  5. Misc cleanup: Add @Override, remove trailing whitespace (details)
  6. Capabilities cleanup: make most get*() final, impl. Comparable to (details)
  7. GLDrawable* cleanup: Add @Override, remove trailing whitespace, .. (details)
  8. GLContext* TRACE_SWITCH: Add GLContext instance hash value to allow (details)
  9. SWT GLCanvas: Fix destroy(), Remove local concurrency hack & (details)
  10. SWT/AWT GLCanvas multithreading annotations (see commit (details)
  11. NEWT GLWindow multithreading fix and annotations (see commit (details)
  12. AWT/SWT GLCanvas: Remove volatile of context instance, use drawable (details)
  13. Bug #589 - Enhance snapshot/textIO test: Add offscreen mode; Add AWT (details)
Commit 4a0a5d69ffcb7592b092991ddb3761653c389ce6 by Sven Gothel
NEWT WindowImpl.runOnEDTIfAvail(..): Run task from current thread if owning the windowLock. Avoiding deadlock when cmds issued from within locked code path.

This allows e.g. GLEventListener::display(..) { .. glWindow.setSize(100, 100); .. }
The file was modified src/newt/classes/jogamp/newt/WindowImpl.java (diff)
Commit a06e40cce89615eb8c4b080842997c9c3ad1130b by Sven Gothel
NativeSurface Cleanup (API Change) - Adapt to GlueGen Lock cleanup commit: 834b9e530e652b7ff7c5e222720bce3ad2b11c5f

- adapt to GlueGen Lock cleanup
- remove isSurfaceLocked(), use 'null != getSurfaceLockOwner()' instead

Misc:

- remove unused priv./impl. methods
- add @Override
The file was modified src/jogl/classes/jogamp/opengl/GLDrawableImpl.java (diff)
The file was modified src/nativewindow/classes/javax/media/nativewindow/ProxySurface.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/GLPbufferImpl.java (diff)
The file was modified src/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was modified src/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modified src/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
The file was modified src/nativewindow/classes/javax/media/nativewindow/NativeSurface.java (diff)
Commit 6bff43023b630d7e9f413e39821ebf89c40a399a by Sven Gothel
Misc cleanup: add @Override
The file was modified src/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java (diff)
The file was modified src/nativewindow/classes/javax/media/nativewindow/NativeWindow.java (diff)
The file was modified src/newt/classes/com/jogamp/newt/Window.java (diff)
The file was modified src/nativewindow/classes/jogamp/nativewindow/windows/GDISurface.java (diff)
The file was modified src/nativewindow/classes/com/jogamp/nativewindow/WrappedSurface.java (diff)
Commit 1d9ce79f9e396599b2503f385c74bd132bf88fed by Sven Gothel
Misc cleanup: Add @Override, remove trailing whitespace
The file was modified src/jogl/classes/jogamp/opengl/windows/wgl/WindowsPbufferWGLDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXExternalCGLContext.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/windows/wgl/WindowsOnscreenWGLDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/GLDrawableImpl.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/windows/wgl/WindowsExternalWGLContext.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/egl/EGLDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/x11/glx/X11ExternalGLXContext.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/egl/EGLOnscreenDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/x11/glx/X11OnscreenGLXDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXOnscreenCGLDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/x11/glx/X11DummyGLXDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/egl/EGLPbufferDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/windows/wgl/WindowsExternalWGLDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/windows/wgl/WindowsBitmapWGLDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/x11/glx/X11PbufferGLXDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/x11/glx/X11PixmapGLXDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXPbufferCGLDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/windows/wgl/WindowsDummyWGLDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/x11/glx/X11ExternalGLXDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawable.java (diff)
Commit 4e2fb5389d22f2b16c1678843d4e31dd948c7902 by Sven Gothel
Misc cleanup: Add @Override, remove trailing whitespace
The file was modified src/jogl/classes/jogamp/opengl/windows/wgl/WindowsBitmapWGLContext.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLContext.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXOnscreenCGLContext.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/egl/EGLOnscreenContext.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/egl/EGLPbufferContext.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXOffscreenCGLContext.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/windows/wgl/WindowsPbufferWGLContext.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/x11/glx/X11OnscreenGLXContext.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/windows/wgl/WindowsOnscreenWGLContext.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/egl/EGLContext.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/x11/glx/X11PixmapGLXContext.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXPbufferCGLContext.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/x11/glx/X11PbufferGLXContext.java (diff)
The file was modified src/jogl/classes/javax/media/opengl/GLContext.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/egl/EGLExternalContext.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
Commit 914b522af26b6d779dc931bf4303be3c7e898eff by Sven Gothel
Capabilities cleanup: make most get*() final, impl. Comparable to CapabilitiesImmutable, Misc ..

- Comparable<CapabilitiesImmutable> to CapabilitiesImmutable:
  "interface CapabilitiesImmutable extends VisualIDHolder, WriteCloneable" ->
  "interface CapabilitiesImmutable extends VisualIDHolder, WriteCloneable, Comparable<CapabilitiesImmutable>"

- CapabilitiesImmutable and GLCapabilitiesImmutable get-methods final (most)

- GLCapabilitiesImmutable.compareTo: add doubleBuffered (between stereo and samples)

Misc:
  - Add @Override
  - remove trailing whitespace,
The file was modified src/jogl/classes/jogamp/opengl/windows/wgl/WGLGLCapabilities.java (diff)
The file was modified src/nativewindow/classes/jogamp/nativewindow/x11/X11Capabilities.java (diff)
The file was modified src/nativewindow/classes/javax/media/nativewindow/Capabilities.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/x11/glx/X11GLCapabilities.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/egl/EGLGLCapabilities.java (diff)
The file was modified src/jogl/classes/javax/media/opengl/GLCapabilities.java (diff)
The file was modified src/nativewindow/classes/javax/media/nativewindow/CapabilitiesImmutable.java (diff)
Commit bd92af2b6b0ae2d1b1f22c64dcb0ffd0e94fae84 by Sven Gothel
GLDrawable* cleanup: Add @Override, remove trailing whitespace, ..
The file was modified src/jogl/classes/jogamp/opengl/GLPbufferImpl.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXOnscreenCGLDrawable.java (diff)
The file was modified src/jogl/classes/javax/media/opengl/GLDrawable.java (diff)
The file was modified src/jogl/classes/javax/media/opengl/GLPbuffer.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/windows/wgl/WindowsPbufferWGLDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/x11/glx/X11PbufferGLXDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXOffscreenCGLDrawable.java (diff)
The file was modified src/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/windows/wgl/WindowsExternalWGLDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/windows/wgl/WindowsOnscreenWGLDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/windows/wgl/WindowsBitmapWGLDrawable.java (diff)
The file was modified src/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/x11/glx/X11ExternalGLXDrawable.java (diff)
The file was modified src/jogl/classes/javax/media/opengl/GLAutoDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/x11/glx/X11OnscreenGLXDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/windows/wgl/WindowsDummyWGLDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/x11/glx/X11PixmapGLXDrawable.java (diff)
The file was modified src/jogl/classes/javax/media/opengl/awt/AWTGLAutoDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/x11/glx/X11DummyGLXDrawable.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawable.java (diff)
Commit 53ff91470b73f2f12f0d1cf5cf800a13e46e026e by Sven Gothel
GLContext* TRACE_SWITCH: Add GLContext instance hash value to allow tracking.
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)
Commit 1a91ec5c8b6fd9d9db7bc115569c369fe7b38e9b by Sven Gothel
SWT GLCanvas: Fix destroy(), Remove local concurrency hack & out-of-process locking ; Revise threading code; Proper name for SWT unit tests.

SWT GLCanvas:
  - Fix destroy()
    drawable.setRealized(false); is being called within dispose() method

  - Remove local concurrency hack
    [MT-0] The hack: 'final GLContext ctx = getContext(); a = null != ctx ? ctx.something() : 0;'
    is thread safe locally, however, w/o covering the hole use case of the caller
    it makes no sense to add thread safe code here - would be only an illusion.
    In case any of the methods are called outside of a locked state
    extra care should be added. Maybe we shall expose locking facilities to the user.
    However, since the user shall stick to the GLEventListener model while utilizing
    GLAutoDrawable implementations, she is safe due to the implicit locked state.

  - Removing out-of-process locking
    [MT-1] Claiming the recursive lock in the dispose/display/.. methods
    and _then_ issuing a complex off-thread GL task could lead to deadlock.
    The GL task could involve calling GLEventListener methods, which itself
    could try to manipulate the GLCanvas -> deadlock.
    Similar to [MT-0] we may need to either find a proper locking mechanism
    or simply ignore it and reduce functionality.
    TBH .. the number of scenarious of the mentioned deadlock are very limited
    and exotic.

  - Revise threading code
    [MT-2] Besides the other MT-* remarks, the logic whether to spawn off
    the GL task and determination which thread to use is too complex and redundant.
    (See isRenderThread(), runInGLThread() and runInDesignatedGLThread())

  - Proper name for SWT unit tests.
    Reflect the semantics.
The file was modified make/scripts/tests.sh (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestSWTJOGLGLCanvas01GLnAWT.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestSWTJOGLGLCanvas01GLn.java (diff)
The file was modified src/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestSWTAWT01GLn.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestSWTAccessor03AWTGLn.java (diff)
Commit bc7503c77892a9e14b10e8b8e9ce48b148c6fa4c by Sven Gothel
SWT/AWT GLCanvas multithreading annotations (see commit 1a91ec5c8b6fd9d9db7bc115569c369fe7b38e9b) ; AWT GLCanvas remove dead code.
The file was modified src/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java (diff)
The file was modified src/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
Commit 3334a924309a9361a448d69bc707d4cce416b430 by Sven Gothel
NEWT GLWindow multithreading fix and annotations (see commit bc7503c77892a9e14b10e8b8e9ce48b148c6fa4c).

NEWT GLWindow multithreading fix:
  - Add required locking of display(), otherwise a drawable/context destruction of another threads
    could lead to [still] use asynced data.
The file was modified src/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was modified src/newt/classes/jogamp/newt/WindowImpl.java (diff)
Commit 4f27bcecf7484dc041551f52a5c49e2884cb3867 by Sven Gothel
AWT/SWT GLCanvas: Remove volatile of context instance, use drawable instance's volatile 'feature'
The file was modified src/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java (diff)
The file was modified src/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
Commit c03ad260aea0b4a640a5eeb50a206688c531b591 by Sven Gothel
Bug #589 - Enhance snapshot/textIO test: Add offscreen mode; Add AWT onscreen/offscreen-layer resize test.
The file was modified make/scripts/tests.sh (diff)
The file was modified src/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestGLReadBufferUtilTextureIOWrite01AWT.java (diff)
The file was modified src/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestGLReadBufferUtilTextureIOWrite02NEWT.java (diff)
The file was modified src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParentingOffscreenLayer01GLCanvasAWT.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestGLReadBufferUtilTextureIOWrite02AWT.java (diff)