SuccessChanges

Summary

  1. NEWT Window: Remove deprecated methods: HiDPI + reparentWindow(..) (details)
  2. Bug 741 HiDPI: Add ScalableSurface.getNativeSurfaceScale(..) to compute (details)
  3. GraphUI: Fix using multiple texture units w/ opt. colorTexUnit in (details)
  4. GLMediaPlayer: Fix video stutter if using NullAudioSink (details)
  5. Remove explicit xcode.clang property files (details)
  6. Bug 1011 / Bug 1012: GLMediaPlayer Audio/Video stuttering w/ OSX and (details)
  7. Graph: Fix GLSL issue w/ ES3, add 'const float sample_count', since (details)
  8. Graph RegionRenderer: Fix GL3 and ES3 GLSL issues (details)
  9. GraphUI Demo: Analyze issue w/ OSX and NewtCanvasAWT when rendering / (details)
  10. Fix Bug 1019 - Remedy of Bug 691 causes 'access/modify after free' and (details)
Commit 14ff638b63fc7adaa59f351891f6a38806d7fa5d by Sven Gothel
NEWT Window: Remove deprecated methods: HiDPI + reparentWindow(..)

Remove HiDPI pixel- from/to window-unit conversion and getter methods:
  Rectangle HiDPI pixel- from/to window-units are erroneous in case of multiple monitor setup where a mixed pixel-scale exist,
  since the methods didn't take the monitor viewport and each of it's pixel-scale into account (expensive).

Remove deprecated reparentWindow(..) methods.
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/mm/TestScreenMode01aNEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/mm/TestScreenMode01bNEWT.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Window.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/mm/TestScreenMode00cNEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/mm/TestScreenMode01cNEWT.java (diff)
Commit 4686a652d821efe04045333026be79270bc19bfd by Sven Gothel
Bug 741 HiDPI: Add ScalableSurface.getNativeSurfaceScale(..) to compute surface DPI ; Add NEWT Window.getPixelsPerMM(..) to query surface DPI

With HiDPI and surface scale, we need knowledge of the native surface's pixel-scale
matching the monitor's pixel-per-millimeter value.

Preserving the queried native pixel-scale and exposing it via
ScalableSurface.getNativeSurfaceScale(..) to compute surface DPI.

Add NEWT Window.getPixelsPerMM(..) to query surface DPI.

Surface DPI is demonstrated in GraphUI's GPUUISceneGLListener0A .. and TestRulerNEWT01, etc ..
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/ScalableSurface.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/SurfaceScaleUtils.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/MonitorDevice.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NEWT.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/util/Dimension.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NewtCanvasAWT.java (diff)
The file was modifiedsrc/newt/native/NewtMacWindow.m (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtCanvasAWTDemo.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/WrappedSurface.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glsl/TestRulerNEWT01.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Window.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java (diff)
Commit 99230cc04b6d0143088129ccc1a20d5c8799ca67 by Sven Gothel
GraphUI: Fix using multiple texture units w/ opt. colorTexUnit in GLRegion

The texture unit has to be updated always,
since program maybe used by multiple regions and diff. texUnits
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java (diff)
Commit 2d50663d43b627b5569d8d9538a0507813ac0fc6 by Sven Gothel
GLMediaPlayer: Fix video stutter if using NullAudioSink

NullAudioSink shall return the last enqueued PTS in getPTS()
not causing a-v delta measure based on lagging audio in player.
The file was modifiedsrc/jogl/classes/jogamp/opengl/openal/av/ALAudioSink.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/AudioSink.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/NullAudioSink.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/JavaSoundAudioSink.java (diff)
Commit 021735487716f15cef8d7d8d317b9cabbacea9dd by Sven Gothel
Remove explicit xcode.clang property files
The file was removedmake/scripts/make.jogl.all.macosx-clang.sh
Commit bc905a107d83d291f6ea34391768d16a9842bfc1 by Sven Gothel
Bug 1011 / Bug 1012: GLMediaPlayer Audio/Video stuttering w/ OSX and OpenAL/JOAL (works using openal-soft default on all platforms now)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/NullAudioSink.java (diff)
The file was modifiedmake/scripts/tests-osx-x64.sh (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/openal/av/ALAudioSink.java (diff)
The file was modifiedmake/scripts/tests-x64.sh (diff)
The file was modifiedsrc/jogl/native/libav/ffmpeg_impl_template.c (diff)
Commit 3b6e6caeb24a112a2b1fbee5f54bbdc0bbf865c0 by Sven Gothel
Graph: Fix GLSL issue w/ ES3, add 'const float sample_count', since define SAMPLE_COUNT is of type 'int'
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_flipquad3.glsl (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_allequal.glsl (diff)
Commit ea0f37d33acff83091fdb0e47a70cfad7186dfe8 by Sven Gothel
Graph RegionRenderer: Fix GL3 and ES3 GLSL issues

Macro redefine 'texture2D -> texture'
was added _after_ the custom texture lookup insertion
causing GL3-core to fail.
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtCanvasAWTDemo.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-segment-head.fp (diff)
Commit 94de08a2b0661d072324677c729fc8d1b3d0ef0f by Sven Gothel
GraphUI Demo: Analyze issue w/ OSX and NewtCanvasAWT when rendering / animating GLEventListenerButton

Analyze issue w/ OSX and NewtCanvasAWT when rendering / animating GLEventListenerButton.

FBO of main 'window' is _not_ updated ..

Probably related to CALayer - FBO - FBO* (of this button) ..
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtCanvasAWTDemo.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShape.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/demos/ui/GLEventListenerButton.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 5626740d14554acf7a17a73ec12b0893445832d0 by Sven Gothel
Fix Bug 1019 - Remedy of Bug 691 causes 'access/modify after free' and crashes the app

The 'magic' MyNSOpenGLContext::dealloc (MacOSXWindowSystemInterface-calayer.m)
of force destroying the underlying CGLContextObj of it's associated
NSOpenGLContext as introduced as a remedy of Bug 691 is plain wrong.

It was added in commit f6e6fab2a7ddfb5c9b614cb072c27ff697629161
to mitigate the experience behavior of delayed GL context
destruction when creating/destroying them multiple times
as exposed in unit test TestGLCanvasAddRemove01SwingAWT.

While this 'hack' worked for some reason on some OSX versions,
it caused a 'access/modify after free' issue exposed under some circumstances
and crashes the application.

The actual culprit of the delayed GL context destruction is different.
The offthread CALayer detachment and hence final destruction
issued on the main-thread is _not_ issued immediately
due to some referencing holding by NSApp.
Issuing an empty event on the NSApp (thread) will wake up the thread
and release claimed resources.

This has been found while realizing that the GL context
are released if the mouse is being moved (duh!).
This issue is also known when triggering stop on the NSApp (NEWT MainThread),
same remedy has been implemented here for a long time.
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove01GLCanvasSwingAWT.java (diff)