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

Changes

Summary

  1. *External*Context Impl: Remove unused 'lastContext' field, incl. their (details)
  2. MemoryObject: Use GlueGen's new HashUtil (details)
  3. Bug 665: Allow re-association of GLContext/GLEventListener to a (details)
  4. Bug 665: Allow re-association of GLContext/GLEventListener to a (details)
  5. Minor Changes: EGLDisplayUtil: Add stack trace in DEBUG mode for opened (details)
  6. GLEventListenerState: Moved to public package 'com.jogamp.opengl.util' (details)
  7. Fix TestParenting01NEWT: Since recreational reparenting resets the (details)
  8. OSX/CALayer: Revise CALayer 'RunOnMainThread' utilization, avoiding (details)
  9. OSX/CALayer: Simplify FixCALayerLayout()/layoutSurfaceLayer() call, no (details)
  10. Fix NEWT WindowImpl reparent-recreate w/ GLEventListenerState: Bug (details)
  11. Remodel OSX/CALayer Threading (commit (details)
  12. Adapt to GlueGen commit b1eb7ca6b9d7dec7ff62c1f1e8ef0a0545724d2f: (details)
  13. NativeWindow OSXUtil RunOnMainThread: Use daemon attachment and do not (details)
  14. OSX CGL: Don't issue [NSOpenGLContext clearDrawable] for (details)
  15. MyNSOpenGLContext::dealloc: Avoid 'invalid context' (details)
  16. OSX/CALayer: OSX/CALayer Threading Part3 - Run CALayer ops in a (details)
  17. OSX/NEWT: Following CALayer streaming design, i.e. issue NSWindow/NSView (details)
  18. GLJPanel: No need to utilize AWT Component's default ImageObserver code (details)
  19. MacOSXCGLContext: Remove Debug output (details)
  20. OSX/NEWT: NSWindow/NSView Ops on main-thread w/o blocking - Part2 (details)
  21. Handles indexed PNGs (details)
  22. Rename PNG test files and add RGBA variations (To be used by (details)
  23. Newt PNG test file locations (details)
  24. TestPNGTextureFromFileNEWT: Use new PNG test file locations, add RGBA (details)
  25. PNGImage: Cleanup code and reuse scanlineRGBA buffer in indexed mode. (details)
  26. TestGearsES2NEWT/TestGearsES2NewtCanvasAWT: Add -noanim option to (details)
  27. OSX/NEWT: Fix native window parenting freeze, invisible/orderOut0, (details)
  28. MacOSXCGLContext: NPE in DEBUG mode while releaseNSOpenGLLayer on (details)
  29. OSX/NEWT: Fix visible -> false when closing and reparenting window. This (details)
  30. NEWTEvent: Add isConsumed() and setConsumed(boolean) methods to simply (details)
  31. NEWT/Android: Fix BACK button implementation, use different KeyCode (details)
  32. NEWT/Android: Remove KeyEvent.KEYCODE_HOME handling, since it doesn't (details)
  33. Add GLStateKeeper handling GLEventListenerState preservation and (details)
  34. Animator: Cleanup DEBUG output (details)
  35. NEWT/Android WindowDriver.closeNative0(..): Catch Exception at surface (details)
  36. NEWT/Android (Bug 665): Add Support for GLStateKeeper ; onPause() always (details)
  37. NEWT/Android: Fix suspense regression of commit (details)
  38. NEWT/MouseEvent: Refine MultiTouch Event Spec regarding associated (details)
  39. Android/NEWT MouseEvent: Fix Delivery of MultiTouch PRESSED/RELEASE; Fix (details)
  40. Newt/MouseEvent: Add 'float[3] getRotation()', getWheelScale() -> (details)
  41. Android/NEWT MouseEvent: Fix Detection/Processing of 2-Finger-Scroll (details)
  42. GLJPanel: Refine API doc (details)
  43. NEWTEvent: Fix toString message - add comma (details)
  44. Unit Tests: Unify 'AWT Robot Key Press/Release', waitForIdle, action, (details)
  45. PNGImage: Add license header ; TestPNGImage01NEWT package move .. (details)
  46. SharedRessourceRunner: Add isDeviceSupported(..) query before spawn off (details)
  47. Complete 9a4fcc7ea4ec61e4ceed791acced734ac04ea270: (details)
  48. GLStateKeeper: Add clearPreservedGLState() (details)
  49. NewtBaseActivity: Perform cleanup() even on onCreate() due to possible (details)
  50. NEWTGearsES2Activity*: Adding property to enable 'process kill' behavior (details)
  51. Adapt to new version scheme, see GlueGen (details)
  52. NewtBaseActivity: Move setVisible(false) from onPause() -> onStop(), (details)
  53. Fix Bug 671: Add JPEG Decoder w/o AWT Dependencies (details)
  54. NewtCanvasAWT: Cleanup up private method calls; Attach/Detach (details)
  55. OSX CALayer minor edit: Call [super setFrame..] directly (details)
  56. JAWTWindow: Issue component.repaint() after attachSurfaceLayer(..), (details)
  57. OSX/CALayer Threading Part4: Stream all JAWT Root CALayer Operations on (details)
  58. OSX CALayer/NewtCanvasAWT: Force relayout of component (size +1, size (details)
  59. OSX CALayer Unit Tests: NEWT child is destroyed if NewtCanvasAWT is (details)
  60. SWT unit tests: Sort w/ AWT and Headless - Fix threading w/ AWT. (details)
  61. Bug 713: Handle broken EGL setup - Catch all Exception types, not only (details)
  62. Bug 707: Fix NEWT EVENT_MOUSE_EXITED not sent on Windows - Regression of (details)
  63. Adds a unit test and a fix for the bug 697 (details)
  64. TestGLAutoDrawableGLCanvasOnOffscrnCapsAWT: Wrong test comment, no NEWT (details)
  65. Bug 678: Differentiate ALT (left) and ALT_GRAPH (right) on X11, (details)
  66. Bug 714: Add GL_COPY_READ_BUFFER_BINDING and (details)
  67. Bug 709: Testing texured demo w/ FBO, comparing w/ onscreen - No (details)
  68. Adds the missing file (details)
  69. Bug 641 NEWT: X11 Deliver keyCode layout independent, keySym layout (details)
  70. NEWT/Native: NewtCommon_GetJNIEnv(..) adding 'asDaemon' flag, used by (details)
  71. Bug 641 NEWT/X11: Deliver 'J_VK_WINDOWS'; keySym is layout independent (details)
  72. NEWT/OSX: Remove USE_SENDIO_DIRECT conditional compilation, by now it's (details)
  73. NEWT KeyEvent: More tight definition of isPrintable(), i.e. must have (details)
  74. Bug 641 NEWT/OSX Deliver keySym, derived from the current layout's (details)
  75. Bug 641 NEWT: Refine definition of keySym, i.e. for printable keys, (details)
  76. Fix Bug 703: Quaternion slerp function. Disclaimer: Not tested / No unit (details)
  77. LinuxEventDeviceTracker: shift-modifier (details)
  78. LinuxEventDeviceTracker: 4 space indentation (details)
  79. LinuxEventDeviceTracker: ALT, ALT_GRAPH & CTRL modifiers. (details)
  80. Debug Messages: Unify getThreadName() usage and 'Catched Exception' (details)
  81. GLDrawable: Refine API doc; GLDrawableImpl: Balance (details)
  82. GLContextImpl.destroy(): Fail fast in case of invalid dawable [null, (details)
  83. jogl: remove executable bit from some java files and a png (details)
  84. NEWT KeyEvent: Use UTF-16 UniCode for key-code and key-symbol exposing (details)
  85. LinuxEventDeviceTracker: Reapply changes from commit (details)
  86. NEWT/WindowsWindow.c: Simplify pointerVisible branch for calling (details)
  87. Bug 697: Fix commit 4db745e84fac610f85ab085e5c147e571e82e008 - Not (details)
  88. GLContextImpl: destroy(): Fix null drawable check; (details)
  89. FBObject.init() uses safe 1x1 size like reset(..) to behave equal; (details)
  90. NEWT/AWT: Fix 'AWT driver' to work w/ OSX CALayer ; WindowImpl: 'Object (details)
  91. NEWT/AWT-Wrapper-Driver: Fix MS-Windows Case (Use NativeWindow window (details)
  92. GLES[12] Impl: Cleanup 'checkBufferObject(..)', remove unused and (details)
  93. Bug 692: Add modified version of Edgar Velazquez-Armendariz's test case (details)
  94. Fix Bug 692: Add tracking of VERTEX_ARRAY_BINDING, and enable allowing a (details)
  95. Bug 705: This is the version of displayMultiple02 which uses (details)
  96. Bug 705: This is the version of displayMultiple02 which uses (details)
  97. FFMPEGMediaPlayer: Fix mpeg seek using time_base.num 1 , time_base.den (details)
  98. Fix Bug 705 - Make Mesa X11 driver < 8.0 use new Quirk (details)
  99. Fix Bug 705 - Cleanup & Generalize Commit (details)
  100. Fix Bug 705 - Validated that Quirk DontCloseX11Display is not required (details)
  101. Fix Bug 705 - Set Quirk DontCloseX11Display also if using X11 and (details)
  102. Bug 718: Windows BITMAP Offscreen Fails w/ GLCaps other than simple (details)
  103. *Capabilities: Cleanup string ctor; GLGraphicsConfigurationUtil: Clean (details)
  104. Bug 718: Windows BITMAP Offscreen Fails w/ GLCaps other than simple (details)
  105. GLJPanel.toString(): Avoid NPE (details)
  106. Fix Bug 720: Unify all platform specific GLContextImpl specializations; (details)
  107. GLJPanel: setFocusable(true) at ctor to allow keyboard input (details)
  108. Bug 721: NEWT/X11 RandR 1.3 Support - Part 1 - Delegate RandR (details)
  109. Bug 718: Further restriction of Windows BITMAP PFD's - RGB888 and !alpha (details)
  110. Bug 718: Exclude updateGraphicsConfigurationARB(..) usage for BITMAP (details)
  111. type: weather -> whether :) .. it's spring again :) (details)
  112. Bug 718: WindowsBitmapWGLDrawable: Requires GLProfile.GL2, fix BITMAP (details)
  113. GLJPanel: Avoid NPE of 'backend' in getChosenGLCapabilities() and (details)
  114. Bug 721: NEWT/X11 RandR 1.3 Support - Part 2 - Rename impl class/files, (details)
  115. Test for null against a temp variable to narrow races (details)
  116. Fix Bug 722: Make GLEventListenerState 'transaction' safe (details)
  117. Refine some API docs .. (details)
  118. X11GLXContext: Issue XSync(..) after forcing X11ErrorHandle and before (details)
  119. Fix JAWTUtil's ToolkitLock: Using RecursiveLock instance covering the (details)
  120. Complete intend of commit cdbf3f42ea530f91639536e03b2c203715c3c300 - (details)
  121. Use new toolchain (gluegen 3b7ea9f67487be8f133c19b493b632fc579c5049) (details)
  122. Add scripts/make.jogl.all.sh (details)
  123. X11 Error Handler: Start quiet; Init: quite = !debug; Internal calls: (details)
  124. Quirk DontCloseX11Display: Only detect w/ X11 NativeWindow System. (details)
  125. Fix Bug 706 and Bug 520: Certain ATI GPU/driver require a current (details)
  126. Simplify GLDrawableFactory's SharedResource Query Methods; Move (details)
  127. GLContext*'s ctxGLSLVersion: Use zeroVersion to denominate uninitialized (details)
  128. Move JPEGDecoder.PixelStorage -> TextureData.ColorSink: Appropriate name (details)
  129. Complete commit e7064ece049705e013d80985eae698ce0ee3c4e3: Add (details)
  130. Add missing JogAmp (c) note - using date of 1st JogAmp edit. (details)
  131. TextureData: Add PixelAttributes and PixelBufferProvider; ColorSink back (details)
  132. GLReadBufferUtil: Utilizing PixelBufferProvider; Adding (details)
  133. Fix Bug 600 and Bug 721: Adding support for multiple monitors w/ NEWT (details)
  134. Fix GLSL Version Exposure: Type in 'static' GL -> GLSL matching, don't (details)
  135. Fix GLX: X11GLXContext used wrong FBConfig n/a query; X11GLX*: If (details)
  136. MonitorMode Unit Tests: Perform 'filterByRate(..)' _after_ (details)
  137. MonitorMode: Fix API doc / comments / names. (details)
  138. NEWT Multiple Monitor Mode: Add missing 'collect' impl. for NEWT/AWT (details)
  139. NEWT Multiple Monitor Mode: Fix monitorModeChanged(..) event id, (details)
  140. NEWT MonitorMode: Refine 081177f2433be50e3b5d46385c2f0f3f96311ed8: (details)
  141. Minor: Typo/Syntax in GLRendererQuirks (details)
  142. GLX: Put native ByteBuffer to native-order in 'glXGetVisualFromFBConfig' (details)
  143. GLJPanel: Use PixelBufferProvider AWTPixelBufferProviderInt; (details)
  144. Add TestGearsGLJPanelAWT, i.e. multiple JPanels w/ GLJPanel running (details)
  145. GLBuffers: Extract common methods: bytesPerPixel(..) and (details)
  146. Refactor: TextureData's PixelAttributes/PixelBufferProvider -> (details)
  147. Fix regression of commit 0a7bf77b8c0765f8a53dc72a8edab8e0496938ff - (details)
  148. Fix NEWT MultiMonitor Regression: Use case w/o attached monitor, and NPE (details)
  149. Fix Bug 731: GLJPanel: Access global GLPixelBuffer via (details)
  150. Fix Bug 723: Remove VK_KP_<Cursor> numpad key-codes, use general (details)
  151. NEWT: MouseEvent Ctor: Use proper float[] rotationXYZ and float (details)
  152. Fix Bug 737: Add shader default precision for GLSL [1.30 .. 1.50[ - See (details)
  153. Fix Bug 711: Align Graphs's Curve Shader programmatically to used (details)
  154. GLSL version determination: Use static GLSL version mapping in case of (details)
  155. JOGL GLSL ShaderProgram/State: Release of an unlinked ShaderProgram (details)
  156. GLPixelBuffer.dispose(): Set diposed:=true to allow isValid() to work (details)
  157. Fix Bug 736: Add GL.GL_UNSIGNED_INT and GL2ES2.GL_INT case in (details)
  158. Fix Unit Tests Exclusion " if( !GLProfile.isAvailable(GLProfile.GL*) ) { (details)
  159. Unit Test: Remove unused import (details)
  160. Fix regression of commit b2802021acf8aa9b363ebef383c8dc8c8079ffa4 (Bug (details)
  161. GLVersionNumber: Fix vendor version parser; Adapt to GlueGen commit (details)
  162. Complete/Fix GLVersionNumber (81afec4e963ac4372dc2b604d6f91237b81ee6f2): (details)
  163. GLVersionNumber.createVendorVersion(): Only test match result and (details)
  164. Unit Tests: Group *math* tests in own test package (details)
  165. ScreenMode Unit Tests: Add wait for screen destroy (off-thread) (details)
  166. Bug 747: Allow usage of IdentityHashMap w/ keys: (details)
  167. Adapt to Gluegen's IOUtil change commit (details)
  168. FloatUtil: Add in-place multMatrixf (since we mult line by line, we can (details)
  169. Fix Bug 748 - PMVMatrix gluProject and gluUnProject broken w/ (details)
  170. HowTo Build: Ubuntu -> Debian (details)
  171. Adapt to GlueGen commit 1a01dce6c42b398cdd68d405828774a3ab366456 (details)
Commit 6b924839b33dbf507dd9eebc0ad5b5fbf23f4fb2 by Sven Gothel
*External*Context Impl: Remove unused 'lastContext' field, incl. their makeCurrent() and release() override.

Semantics of 'lastContext' are plain wrong, since release() override does claim the previous 'lastContext'
is current at the end - however, it wasn't technically made current.
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11ExternalGLXContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXExternalCGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsExternalWGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLExternalContext.java (diff)
Commit 8457bf35fee253d9af29ff1150a9671f6896fc17 by Sven Gothel
MemoryObject: Use GlueGen's new HashUtil

GlueGen commit 1a4514accc8f61ab7ff5fe8c82d22a5ef356c865
The file was modifiedsrc/jogl/classes/jogamp/opengl/MemoryObject.java (diff)
Commit c225285e09f0a29fca418601bf1aa07cafb54339 by Sven Gothel
Bug 665: Allow re-association of GLContext/GLEventListener to a GLDrawable (Part 4)

Note:

  - GLEventListenerState preservs the GLAutoDrawable state,
    i.e. GLContext, all GLEventListener and the GLAnimatorControl association.

  - GLEventListenerState may be utilized to move the state from a dying GLAutoDrawable,
    to be moved to a new created GLAutoDrawable at a later time.

  - GLEventListenerState will be made public soon.

+++

Exessive unit tests cover the new feature, tested manually on GNU/Linux/X11 and OSX(Java6/Java7).

+++

- GLAutoDrawable
  - Change 'setContext(..)' to allow the destruction of the unbound old context:
      'setContext(GLContext newCtx)' -> 'setContext(GLContext newCtx, boolean destroyPrevCtx)'

  - Implementations: Properly implement 'setRealized(..)' incl. obeying threading constraints if exists.
    Method is being utilized at least for GLEventListenerState.moveTo(..)
    to unrealize and realize the drawable resources.

+++

Fix propagation of GLContext/GLDrawable association change (Bottom -> Top):

  GLDrawableImpl.associateContext
      GLContextImpl.associateDrawable
          GLContextImpl.makeCurrent
          GLContextImpl.destroy
          GLContext.setGLDrawable
              ...
              GLDrawableHelper.switchContext
                  GLAutoDrawble.setContext

associateDrawable(..)/associateContext(..) unifies and hence:
    - GLContextImpl.contextRealized() (removed)
    - GLDrawableImpl.contextRealized() (removed)
    - GLDrawableImpl.associateContext(..) (merged)
    - MacOSXCGLContext.drawableChangedNotify(..) (removed)

+++

- EGLUpstreamSurfaceHook.evalUpstreamSurface() validates the surface's device for reusage,
  which is valid in case of GLEventListenerState.moveTo(..)

- MacOSXCGLContext.NSOpenGLImpl: pixelFormat replaces NSOpenGLLayerPfmt and has simplified lifecycle [create..destroy],
  while native NSOpenGLLayer code only holds the reference until released.
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NewtCanvasAWT.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/glels/GLContextDrawableSwitchBase.java
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/glels/TestGLContextDrawableSwitch10NEWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/glels/TestGLContextDrawableSwitch11NewtAWT.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLFBODrawableImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/GLAutoDrawableDelegate.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLEventListenerState.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/glels/TestGLContextDrawableSwitch21Newt2AWT.java
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/glels/TestGLContextDrawableSwitch01NEWT.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLContextDrawableSwitch01NEWT.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLPbufferImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableHelper.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLDrawableUtil.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/QuitAdapter.java (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/acore/glels/TestGLContextDrawableSwitch12AWT.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLUpstreamSurfaceHook.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableImpl.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLAutoDrawable.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLContextDrawableSwitch11NEWT.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java (diff)
Commit e2506d7663b752f00f0a98f793ebad52e65bd1e3 by Sven Gothel
Bug 665: Allow re-association of GLContext/GLEventListener to a GLDrawable (Part 5)

- GLAutoDrawableBase:

  - Add 'setPreserveGLStateAtDestroy(..)' to preserve the GLEventListenerState at destroy() operation,
    and impl. details pullGLEventListenerState()/pushGLEventListenerState().
    pullGLEventListenerState() is called automatic at destroyImplInLock(),
    where pushGLEventListenerState() has to be called after drawable realization
    instead of context creation.

  - Note/TODO: Method will become public in GLAutoDrawable in general!

- NEWT/GLWindow:
  - Use GLEventListenerState preservation for reparenting case w/ destruction,
    i.e. keep GLContext/GLEventListener alive while reparenting in recreation mode.

    Scenario: NewtCanvasAWT Child <-> Top on OSX w/ CALayer
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
Commit 74019520e8d82d03f5cf95729456717b34060f5d by Sven Gothel
Minor Changes: EGLDisplayUtil: Add stack trace in DEBUG mode for opened DPYs; JAWTWindow: Add JAWT info in toString()
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLDisplayUtil.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
Commit ce788752d0370b63ed6cebf8c8e91b459935b187 by Sven Gothel
GLEventListenerState: Moved to public package 'com.jogamp.opengl.util'
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/glels/TestGLContextDrawableSwitch21Newt2AWT.java (diff)
The file was removedsrc/jogl/classes/jogamp/opengl/GLEventListenerState.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/glels/GLContextDrawableSwitchBase.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/glels/TestGLContextDrawableSwitch11NewtAWT.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/opengl/util/GLEventListenerState.java
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLDrawableUtil.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/glels/TestGLContextDrawableSwitch10NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/glels/TestGLContextDrawableSwitch12AWT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java (diff)
Commit 58f6f4e5665ae2c72ec6bbd86ad5a36bef00de07 by Sven Gothel
Fix TestParenting01NEWT: Since recreational reparenting resets the fps-counter, wait for a few frames!
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01NEWT.java (diff)
Commit 896e8b021b39e9415040a57a1d540d7d24b02db1 by Sven Gothel
OSX/CALayer: Revise CALayer 'RunOnMainThread' utilization, avoiding deadlocks

RunOnMainThread(waitUntilDone:=true,..) can deadlock the main-thread if called from AWT-EDT,
since the main-thread may call back to AWT-EDT while injecting a new main-thread task.

This patch revises all RunOnMainThread CALayer usage, resulting in only one required left:
  - OSXUtil.AddCASublayer() w/ waitUntilDone:=false

Hence the CALayer code has no more potential to deadlock main-thread/AWT-EDT.

OSXUtil.AddCASublayer() must be performed on main-thread, otherwise the
CALayer attachment will fail - no visible rendering result.

+++

Note: A good trigger to test this deadlock is to magnify/zoom
      the OSX desktop (click background + ctrl-mouse_wheel)
      before running some unit tests.

      TestGLCanvasAWTActionDeadlock01AWT and TestAddRemove02GLWindowNewtCanvasAWT
      also have the potential to trigger the mentioned deadlock.
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/OffscreenLayerSurface.java (diff)
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m (diff)
The file was modifiedmake/config/jogl/cgl-macosx-CustomJavaCode.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2AWT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
Commit dd705f1eb14b87b207e375ea0d71e00155a9933f by Sven Gothel
OSX/CALayer: Simplify FixCALayerLayout()/layoutSurfaceLayer() call, no more need for explicit call

- OffscreenLayerSurface.layoutSurfaceLayer() removed, no more required

- JAWTWindow adds a ComponentListener, which issues FixCALayerLayout() at resized, moved and shown.

- MyNSOpenGLLayer no more requires fix*Size() methods

- MyNSOpenGLLayer::setDedicatedSize() need no explicit CATransaction, performed by caller.
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/OffscreenLayerSurface.java (diff)
Commit 538a41849192cc09da36eeaa5fa9ae10973d85b7 by Sven Gothel
Fix NEWT WindowImpl reparent-recreate w/ GLEventListenerState: Bug introduced w/ commit e2506d7663b752f00f0a98f793ebad52e65bd1e3

In case a reparent action takes place w/ recreate,
only preserve the GLEventListenerState if the window is valid and will become visible again (wasVisible).

Also add proper DEBUG log prefix to GLEventListenerState.
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLEventListenerState.java (diff)
Commit 28c6472335b924080d638b33a28f8f4eedb459b1 by Sven Gothel
Remodel OSX/CALayer Threading (commit 896e8b021b39e9415040a57a1d540d7d24b02db1): Run on main-thread w/o blocking ; Misc Changes

Commit 896e8b021b39e9415040a57a1d540d7d24b02db1 moved all native CALayer calls to the current thread
to avoid deadlocks.

Even though this seemed to be fine at least resource GC (release/dealloc calls) were issued
very late in time, probably due to multithreading synchronization of JAWT and/or OSX API.

Example: Our 'TestAddRemove01GLCanvasSwingAWT' test didn't freed CALayer resources incl. GL ctx
         when destroying the objects (AWT Frame, GLCanvas, ..), leading to resource starvation .. eventually.

Remedy is a compromise of behavior before commit 896e8b021b39e9415040a57a1d540d7d24b02db1
and that commit, i.e. to run CALayer lifecycle methods on main-thread, but do not block!

The careful part within MacOSXCGLContext.associateDrawable(..) performs the following block on main-thread:
  - lock the context
  - create NSOpenGLLayer (incl. it's own shared GL context and the DisplayLink)
  - attach NSOpenGLLayer to root CALayer
  - unlock the context

Due to the GL ctx locking, this async offthread operation is safe within our course of operations.

Details:
  - NSOpenGLContext
    - Context and CVDisplayLink creation at init
    - Call [ctx update] if texture/frame size changed
    - 'waitUntilRenderSignal' uses default TO value if given TO is 0 to avoid deadlocks

+++

Misc Changes:
  - Fix object type detection: isMemberOfClass -> isKindOfClass
    - OSXUtil_isNSView0
      OSXUtil_isNSWindow0,
      CGL_isNSOpenGLPixelBuffer

  - MacOSXCGLDrawable/MacOSXPbufferCGLDrawable: remove getNSViewHandle() method.
    MacOSXCGLContext uses common code to detect nature of the drawable handle.

  - MacOSXCGLContext/CALayer: Use safe screenVSyncTimeout values, never 0 to avoid deadlock!

  - JAWTWindow.invalidate: Call detachSurfaceLayer() if not done yet
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove01GLCanvasSwingAWT.java (diff)
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface.m (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove03GLWindowNEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NEWT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXPbufferCGLDrawable.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove02GLWindowNewtCanvasAWT.java (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/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLAutoDrawableGLCanvasOnOffscrnCapsAWT.java (diff)
Commit ed911109d40e0fca3b2263a4617f35d475612549 by Sven Gothel
Adapt to GlueGen commit b1eb7ca6b9d7dec7ff62c1f1e8ef0a0545724d2f: Function- RunnableTask adds PrintStream 'exceptionOut' argument in ctor.
The file was modifiedsrc/newt/classes/jogamp/newt/swt/SWTEDTUtil.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/BaseNewtEventModifiers.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/awt/AWTEDTUtil.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestPBufferDeadlockAWT.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/DefaultEDTUtil.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestFBOAutoDrawableDeadlockAWT.java (diff)
Commit 3f2da22cfb682d0eb4fedec98b088f95371f8ef4 by Sven Gothel
NativeWindow OSXUtil RunOnMainThread: Use daemon attachment and do not detach; Add RunLater0(..)
The file was modifiedsrc/nativewindow/native/x11/Xmisc.c (diff)
The file was modifiedsrc/nativewindow/native/NativewindowCommon.c (diff)
The file was modifiedsrc/nativewindow/native/NativewindowCommon.h (diff)
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
Commit 4457b343fe8eba3f2da096a72e38b1aac978ffd5 by Sven Gothel
OSX CGL: Don't issue [NSOpenGLContext clearDrawable] for [NSOpenGLContext setView: view] which breaks pbuffer; Add [NSOpenGLContext clearDrawable].
The file was modifiedmake/stub_includes/opengl/macosx-window-system.h (diff)
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface.m (diff)
Commit 12e868f79938f44eba6f50313f977be76d8ea2bb by Sven Gothel
MyNSOpenGLContext::dealloc: Avoid 'invalid context'
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m (diff)
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
Commit f354fb204d8973453c538dda78a2c82c87be61dc by Sven Gothel
OSX/CALayer: OSX/CALayer Threading Part3 - Run CALayer ops in a streaming design on main-thread w/o [infinitive] blocking

History:
  Part1   commit 896e8b021b39e9415040a57a1d540d7d24b02db1 (Run CALayer Ops on current thread to avoid blocking)
  Part2   commit 28c6472335b924080d638b33a28f8f4eedb459b1 (Run CALayer Ops on main-thread w/o blocking)

Dependency:
  GlueGen commit 4becdfa125b07ff969d6540e1112735b53cd15eb (Fix RecursiveLockImpl* Timeout corner case)

Part2 misses essential locking of the OpenGL context (and it's surface upfront) while creating the
NSOpenGLLayer instance. The latter instantiates a OpenGL context shared w/ JOGL's, hence it cannot be locked.

Encapsulating NSOpenGLLayer creation/attachment and it's detachment/release in sub-classes
AttachNSOpenGLLayer and DetachNSOpenGLLayer, where instances will be streamed on main-thread.

Both tasks are triggered at associateDrawable(boolean bound).

The mentioned GL context locking requires disturbs the 'streaming' design considerably in AttachNSOpenGLLayer.
It is solved by attempt to acquire the recursive lock of the surface and the context via 'tryLock(maxwait)'
w/ screen-vSync-period/2. If the locks could not be acquired completly, the AttachNSOpenGLLayer instance
will be re-queued to the main-thread for later execution.

Before DetachNSOpenGLLayer is being streamed, it is validated whether AttachNSOpenGLLayer did run.
A recursive situation does happen w/ resizing an offscreen pbuffer drawable! Hence extra care is being taken.
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableHelper.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/OffscreenLayerSurface.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/windows/WindowsJAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/x11/X11JAWTWindow.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove02GLWindowNewtCanvasAWT.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.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/acore/TestAddRemove01GLCanvasSwingAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/newt/TestSwingAWTRobotUsageBeforeJOGLInitBug411.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting04AWT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
Commit 81cbcdc8469143587b2044661dd613c798ae02ba by Sven Gothel
OSX/NEWT: Following CALayer streaming design, i.e. issue NSWindow/NSView Ops on main-thread w/o blocking; NEWT/WindowImpl: Volatile multithreaded mutable values

Similar to commits:
  28c6472335b924080d638b33a28f8f4eedb459b1
  f354fb204d8973453c538dda78a2c82c87be61dc

main-thread operations cannot block main-thread.

Luckily we are able to create the NSWindow and NSView instance uninitialized (deferred) on the current thread,
while issuing their initialization on the main-thread w/o blocking.

Further more a size glitch is fixed, which didn't take the title bar into account.

+++

NEWT/WindowImpl: Volatile multithreaded mutable values

Since position, size and other attributes might get changes off-thread, these fields needs to be volatile.
The file was modifiedsrc/newt/native/NewtMacWindow.m (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/DefaultEDTUtil.java (diff)
The file was modifiedsrc/newt/native/NewtMacWindow.h (diff)
The file was modifiedsrc/newt/native/MacWindow.m (diff)
Commit 8e56bd80ab17970e2a45039a44d15e36514c4d50 by Sven Gothel
GLJPanel: No need to utilize AWT Component's default ImageObserver code - pixel data is ready when invoked.
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
Commit 28f0a8ca7437a70f6adf7947529b36060b381f7c by Sven Gothel
MacOSXCGLContext: Remove Debug output
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
Commit 1a1557cd9e31bd7975d858b7b2d49e586805bba4 by Sven Gothel
OSX/NEWT: NSWindow/NSView Ops on main-thread w/o blocking - Part2

Continues commit 81cbcdc8469143587b2044661dd613c798ae02ba

Perform on main-thread invocation from Java, allowing to issue
visibleChanged(..) after creation/visible calls.

This fixes the 'Visibility not reached ..' regressions.
The file was modifiedsrc/newt/native/MacWindow.m (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/util/texture/TestPNGTextureFromFileNEWT.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscP401-160x90.png
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/spi/PNGImage.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscP301-160x90.png
Commit 3ee6665fb5cdcf50599e7ec51c67f6d56a73887b by Sven Gothel
Rename PNG test files and add RGBA variations (To be used by TestPNGTextureFromFileNEWT, etc)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscN_4-01-160x90.png
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscP_4-01-160x90.png
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscIG3-01-160x90.png
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscNG4-01-160x90.png
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscP_3-01-160x90.png
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscI01-160x90.png
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscIG4-01-160x90.png
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscP401-160x90.png
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscIG01-160x90.png
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscN_3-01-160x90.png
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscP301-160x90.png
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscI_3-01-160x90.png
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscN01-160x90.png
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscI_4-01-160x90.png
Commit 47a123169cf99bd9889caccb75c9be48d359d9a0 by Sven Gothel
Newt PNG test file locations
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestPNGTextureFromFileAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl3/GeomShader01TextureGL3.java (diff)
Commit bfe40bf3670731ef44ff4066c2a7119f1ab43bf8 by Sven Gothel
TestPNGTextureFromFileNEWT: Use new PNG test file locations, add RGBA tests and use alpha in drawable
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestPNGTextureFromFileNEWT.java (diff)
Commit d9d0abc0974f42dbc1c7c91bc004b92729b8ae8a by Sven Gothel
PNGImage: Cleanup code and reuse scanlineRGBA buffer in indexed mode. Add DEBUG property 'jogl.debug.PNGImage'
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/spi/PNGImage.java (diff)
Commit 30b2490eef5069214eb6cc0c1b18ddb62c15123b by Sven Gothel
TestGearsES2NEWT/TestGearsES2NewtCanvasAWT: Add -noanim option to manually validate Bug 649
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NewtCanvasAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NEWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit ec50802db11f897a49a6f9e716186c700411ece5 by Sven Gothel
OSX/NEWT: Fix native window parenting freeze, invisible/orderOut0, Position bugs w/ parenting

Fix native window parenting freeze:

  - Pull out setJavaWindowObject(..) of changeContentView(..) to be called seperately,
    add param for changeContentView(..) to enable/disable setJavaWindowObject()

  - initWindow0(..):
    - Call changeContentView(..) w/o setJavaWindowObject()
    - setJavaWindowObject(..) at end of initialization

Fix native window parenting orderOut0:
  If parent window is invisible or no parent used call orderOut(..),
  otherwise call orderBack().

Fix updatePosition(..): positionChanged(..) - Position bug w/ parenting
  - AWT parent passed 0/0
  - call positionChanged(..) w/ client-pos instead of screen-pos

Fix getLocationOnScreenImpl(..) - Position bug w/ parenting
  - Position < 0/0 is valid!

Misc:
  - setWindowClientTopLeftPointAndSize0(..), setWindowClientTopLeftPoint0(..):
    Add 'display' param, deciding whether area should be display (invalidated)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/DriverUpdatePosition.java (diff)
The file was modifiedsrc/newt/native/MacWindow.m (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/awt/event/AWTParentWindowAdapter.java (diff)
Commit 23acd1f063cfd8519be57f867cbafe748094756d by Sven Gothel
MacOSXCGLContext: NPE in DEBUG mode while releaseNSOpenGLLayer on main-thread, drawable maybe null already
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
Commit 9dcd8bba63cfbcd6e72c855065cf4dafdbcf037e by Sven Gothel
OSX/NEWT: Fix visible -> false when closing and reparenting window. This lead to non functional recreational reparenting.

OSX recreational reparenting moves the saved GLEventListenerState at destroy
to the new dawable/surface, which must be valid.
The flaky visible state caused seemingly random reparenting failures.

- WindowImpl.ReparentActionRecreate.run() set 'visible:=true', which circumvented OSX to wait for actual realization.
- OSX WindowDriver.closeNative(): Issue visibleChanged(true, false); ASAP
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java (diff)
Commit 98f6f99ddc6643cfa540d6c85c64c7f8510cc1ea by Sven Gothel
NEWTEvent: Add isConsumed() and setConsumed(boolean) methods to simply usage, using the existing consumedTag attachment for compatibility and efficiency.
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/NEWTEvent.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
Commit 58ebd43a78491281e2c3b012666220ed47634c7e by Sven Gothel
NEWT/Android: Fix BACK button implementation, use different KeyCode mappings and allowing native action to be suppressed.

- Don't trust soft-kbd visibility state, but perform invisible action. If the latter
  was successful - soft-kbd was visible before.

- Map BACK to VK_KEYBOARD_INVISIBLE and propagate it,
  if soft-kbd was visible before.
  No native default action is performed.

- Map BACK to VK_ESCAPE event and propagate it,
  if soft-kbd was invisible _and_ an activity was registered via registerActivity(Activity),
  i.e. by NewtBaseActivity.
  Otherwise proceed w/ default action (-> activity.finish()).

- If the KeyListener consumed the [EVENT_KEY_RELEASED, VK_ESCAPE] event,
  it will be suppressed and no default action performed.
  This allows applications to have a custom 'ESCAPE' or 'BACK' handling.
  Otherwise (not consumed) the default action is performed.
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/WindowDriver.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventFactory.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/NEWTEvent.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/NewtBaseActivity.java (diff)
Commit 8b34a0389e07967ce0c2ccc430a7c1d0803c3e51 by Sven Gothel
NEWT/Android: Remove KeyEvent.KEYCODE_HOME handling, since it doesn't work - i.e. cannot be intercepted this way.
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/WindowDriver.java (diff)
Commit 3ad03e41a0cda81119c23f350c00b064a4de70c2 by Sven Gothel
Add GLStateKeeper handling GLEventListenerState preservation and restauration for GLAutoDrawable

- New GLStateKeeper interface, package com.jogamp.opengl

  Implemented by:
    - GLAutoDrawableBase

  Currently supported by:
    - NEWT GLWindow

- GLEventListenerState package move:
   com.jogamp.opengl.util ->  com.jogamp.opengl
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/glels/TestGLContextDrawableSwitch12AWT.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/opengl/GLEventListenerState.java
The file was removedsrc/jogl/classes/com/jogamp/opengl/util/GLEventListenerState.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/glels/TestGLContextDrawableSwitch11NewtAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/glels/GLContextDrawableSwitchBase.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/opengl/GLStateKeeper.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/glels/TestGLContextDrawableSwitch21Newt2AWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLDrawableUtil.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/jogl/acore/glels/TestGLContextDrawableSwitch10NEWT.java (diff)
Commit 109def11bebd63f66eb0e751aa7932ce147a2738 by Sven Gothel
Animator: Cleanup DEBUG output
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/Animator.java (diff)
Commit 3673964caf2c4ac4efddffb8d7e9c28cce49b48c by Sven Gothel
NEWT/Android WindowDriver.closeNative0(..): Catch Exception at surface destroy allowing to continue destruction.
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/WindowDriver.java (diff)
Commit d514ecbf052d013ea8c0982c490757678075a9ea by Sven Gothel
NEWT/Android (Bug 665): Add Support for GLStateKeeper ; onPause() always destroys ; Recognizing all GLAutoDrawable's GLAnimatorControl for pause/resume ; Use GLAnimatorControl instead of Animator

- Add Support for GLStateKeeper
  If !isFinishing() (HOME button), preserve the GLEventListener if an GLStateKeeper instance

- onPause() always destroys
  onDestroy() is too late, i.e. surfaceDestroyed() already called

- Recognizing all GLAutoDrawable's GLAnimatorControl for pause/resume
  pause/resume the GLAnimatorControl of all GLAutoDrawable instances

- Use GLAnimatorControl instead of Animator
  We used an Animator reference .. duh!

Note: The EGL native WindowDriver (Android and BCM.IV) must retain their own copy of EGLGraphicsDevice,
      which preserves the EGLDisplay handle due to EGLDisplayUtil reference counting per nativeHandleID.
The file was modifiedsrc/test/com/jogamp/opengl/test/android/MovieSimpleActivity0.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/WindowDriver.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTRedSquareES2Activity.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGearsES2Activity.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/GLEventListenerState.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGearsES1Activity.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTRedSquareES1Activity.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/NewtBaseActivity.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/bcm/vc/iv/WindowDriver.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGearsES2TransActivity.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGraphUI1pActivity.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTElektronActivity.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/MovieSimpleActivity1.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/ScreenDriver.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/MovieCubeActivity0.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGraphUI2pActivity.java (diff)
Commit 218b9d88f4ec1d15a46697dd7c5e835660020f99 by Sven Gothel
NEWT/Android: Fix suspense regression of commit d514ecbf052d013ea8c0982c490757678075a9ea

Explicit win.destroy() shall only be called at activity.onDestroy(),
- GLStateKeeper preservation is marked at pause,
- and the Window's surfaceDestroyed() will also issue destroy() - so it's safe

Reason: On Suspense (or power button), application is paused _without_ surfaceDestruction !
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/NewtBaseActivity.java (diff)
Commit 18cb57246372eda72c25a5cd9a69a873bdf09489 by Sven Gothel
NEWT/MouseEvent: Refine MultiTouch Event Spec regarding associated 'action' pointer Index; Add PointerType[PointerClass]; Add 'wheelScale' Attribute;

- Refine MultiTouch Event Spec regarding associated 'action' pointer Index
  In case an instance represents multi-touch events, i.e. {@link #getPointerCount()} is > 1,
  the first data element represents the pointer which triggered the action if individual to one pointer.
  For example {@link #getX(int) e.getX(0)} at {@link #EVENT_MOUSE_PRESSED} returns the data of the pressed pointer, etc.

- Add PointerType[PointerClass]
  This allows applications to identify the type and it's class [On-/Offscreen]
  helping to interpret semantics, e.g. wheel-rotate and new wheel-scale

- Add 'wheelScale' Attribute
  Returns the scale used to determine the {@link #getWheelRotation() wheel rotation},
  which semantics depends on the {@link #getPointerType() pointer type's} {@link PointerClass}.
  See API doc for details ..

TODO: NEWT/Android changes adopting these changes.
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/MouseEvent.java (diff)
Commit 654a678bd7171e81ec947cafa854dad366f5041e by Sven Gothel
Android/NEWT MouseEvent: Fix Delivery of MultiTouch PRESSED/RELEASE; Fix Detection/Processing of 2-Finger-Scroll Gesture ; GearsES2: Add NEWT based 'zoom' gesture detection.

- Fix Delivery of MultiTouch PRESSED/RELEASE
  Adopting MouseEvent changes of commit 18cb57246372eda72c25a5cd9a69a873bdf09489

- Fix Detection/Processing of 2-Finger-Scroll Gesture

  Dropping utilization of Android's GestureDetector and implementing our own,
  which turns out to simplify keeping track of states.

  Our gesture detection works well w/ user NEWT based gesture detection (-> See GearsES2 zoom and rotate),
  using following criteria related to Android parameter:
     - ScaledDoubleTapSlop:
        - Max 2 finger distance

     - ScaledTouchSlop:
        - Min. movement w/ 2 pointer withing ScaledDoubleTapSlop starting 'scroll' mode
        - Max. change of finger distance in respect to initiating 2-finger distance (2x ScaledTouchSlop)
        - Max. distance growth in respect to initiating 2-finger distance.

- GearsES2: Add NEWT based 'zoom' gesture detection.
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventFactory.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
Commit ded080fd890c21b54ba1f96d84f9e355711dc88a by Sven Gothel
Newt/MouseEvent: Add 'float[3] getRotation()', getWheelScale() -> getRotationScale(), refinement of commit 18cb57246372eda72c25a5cd9a69a873bdf09489

Turns out the 'wheel' semantics are not generic enough and confining rotation values
to one axis only satisfies the traditional mouse wheel.

Widen the definition of 'rotation' and delivering 3-axis if supported.

On NEWT/Android, we deliver the 2-axis for example, allowing to rotate around both
or scrolling using both directions (-> GearsES2).
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventFactory.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/MouseEvent.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/MouseListener.java (diff)
Commit 21cde04129ea241744b95cad8fd0a545d3474b05 by Sven Gothel
Android/NEWT MouseEvent: Fix Detection/Processing of 2-Finger-Scroll Gesture - Part 2

Multiple tests on different devices disclosed that:
  - 1 of 2 pointers get disconnected every now and then ..
    -> Shall tolerate this case

  - dist-delta within gesture may shrink below doubleTouchSlope
    -> Remove constraint after gesture detection

- Always validate pointer-id

GearsES2
  - Works quite stable on several devices now
  - Moved soft-keyboad show to 4-pointer pressed >= 0.7f pressure
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventFactory.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/MovieCubeActivity0.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGearsES2ActivityLauncher.java (diff)
Commit d90855bfc457a703d7a8fe14598f4d5e8de7e73e by Sven Gothel
GLJPanel: Refine API doc
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
Commit 7c397e9915278f529aa38b1f02591b95b9e8c446 by Sven Gothel
NEWTEvent: Fix toString message - add comma
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/NEWTEvent.java (diff)
Commit a0c50530714ceb3072e258b8704cd05376d30074 by Sven Gothel
Unit Tests: Unify 'AWT Robot Key Press/Release', waitForIdle, action, delay, waitForIdle ; TestFocus0*: Wait until closed after win.destroy().
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestFocus02SwingAWTRobot.java (diff)
The file was modifiedmake/scripts/java-win64-dbg.bat (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestFocus01SwingAWTRobot.java (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/AWTRobotUtil.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 83e9b0ce577e1a78eda20800f86cadcf90905141 by Sven Gothel
PNGImage: Add license header ; TestPNGImage01NEWT package move ..
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestPNGImage01NEWT.java
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/spi/PNGImage.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/util/TestPNGImage01NEWT.java
Commit 9a4fcc7ea4ec61e4ceed791acced734ac04ea270 by Sven Gothel
SharedRessourceRunner: Add isDeviceSupported(..) query before spawn off thread, allowing a more gracefull detection of n/a GLX on X11
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/SharedResourceRunner.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java (diff)
Commit b95dbaeb0d23d365bc15d9b6deb4149d35be533a by Sven Gothel
Complete 9a4fcc7ea4ec61e4ceed791acced734ac04ea270: SharedResourceRunner.Impl.createSharedResource(..): isGLXAvailableOnServer(..) call redundant since checked upfront at isDeviceSupported(..)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java (diff)
Commit fa847cd755833ab7f3530bffbb63ccfd8863a9f6 by Sven Gothel
GLStateKeeper: Add clearPreservedGLState()
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/GLStateKeeper.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java (diff)
Commit a211a2e84e3f69d511a43e8673b6beda779c6a12 by Sven Gothel
NewtBaseActivity: Perform cleanup() even on onCreate() due to possible call w/ initialized states (App process is killed for memory exhaustion etc)

.. even though I was not able to reproduce this case, it will not harm.
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/NewtBaseActivity.java (diff)
Commit a121055f9e4ac039fa820f06e9e81e5ce72e5e24 by Sven Gothel
NEWTGearsES2Activity*: Adding property to enable 'process kill' behavior (memory and killSelf)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGearsES2Activity.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGearsES2ActivityLauncher.java (diff)
Commit 0b242442fba01df86be636f54e3d478aa722d6a7 by Sven Gothel
Adapt to new version scheme, see GlueGen a3f2ef50ad33c58a240a17fcf03e415d772207c3, etc; Fix NewtVersion, NativeWindowVersion and NewtVersionActivityLauncher

NewtVersion, NativeWindowVersion: Also search for extension javax.media.opengl (all packaging)
NewtVersionActivityLauncher: Use new launcher URI
The file was modifiedmake/joglversion (diff)
The file was modifiedmake/joglversion-test-android (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/NativeWindowVersion.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/NewtVersionActivityLauncher.java (diff)
The file was modifiedmake/build.xml (diff)
The file was modifiedmake/build-newt.xml (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedmake/build-common.xml (diff)
The file was removedmake/versions.xml
The file was modifiedmake/build-jogl.xml (diff)
The file was modifiedmake/build-test.xml (diff)
The file was modifiedmake/joglversion-test (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/NewtVersion.java (diff)
The file was modifiedmake/build-nativewindow.xml (diff)
Commit 00c65b4a34445d140ca9e6ee531dfa4278b8e770 by Sven Gothel
NewtBaseActivity: Move setVisible(false) from onPause() -> onStop(), since only onStop() declares invisible status. onPause() could imply other non fullscreen activity on top.
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/NewtBaseActivity.java (diff)
Commit a54bd3e963a7be320dee0c9692d237607fcd0f96 by Sven Gothel
Fix Bug 671: Add JPEG Decoder w/o AWT Dependencies

Original JavaScript code from <https://github.com/notmasteryet/jpgjs/blob/master/jpg.js>,
author 'notmasteryet' <async.processingjs at yahoo.com>.

Ported to Java.

Enhancements:
* InputStream instead of memory buffer
* User provided memory handler
* Fixed JPEG Component ID/Index mapping
* Color space conversion (YCCK, CMYK -> RGB)
* More error tolerant

+++

Features:
              JOGL   AWT
  RGB          ok     ok
  YCCK         ok     Exception
  CMYK         ok     Exception
  YUV Store    ok     n/a
  Need Y-Flip  no     yes

+++

Benchmark: TestJPEGJoglAWTBenchmarkNewtAWT

  JOGL.RGB Loops 100, dt 1199 ms, 11.99 ms/l
  JOGL.YUV Loops 100, dt  351 ms,  3.51 ms/l
  AWT..... Loops 100, dt 2144 ms, 21.44 ms/l

File:    jogl/src/test/com/jogamp/opengl/test/junit/jogl/util/texture/j1-baseline.jpg
Machine: GNU/Linux PC (AMD 8 core), JavaSE 6 (1.6.0_38)

.++++ UITestCase.setUp: com.jogamp.opengl.test.junit.jogl.util.texture.TestJPEGJoglAWTBenchmarkNewtAWT - benchmark
libEGL warning: DRI2: failed to authenticate
0: JPEGImage[261x202, bytesPerPixel 3, reversedChannels false, JPEGPixels[261x202, sourceComp 3, sourceCS YCbCr, storageCS RGB, storageComp 3], java.nio.DirectByteBuffer[pos=0 lim=158166 cap=158166]]
0: TextureData[261x202, y-flip false, internFormat 0x1907, pixelFormat 0x1907, pixelType 0x1401, border 0, estSize 158166, alignment 1, rowlen 0, buffer java.nio.DirectByteBuffer[pos=0 lim=158166 cap=158166]
JOGL.RGB Loops 100, dt 1199 ms, 11.99 ms/l
0: JPEGImage[261x202, bytesPerPixel 3, reversedChannels false, JPEGPixels[261x202, sourceComp 3, sourceCS YCbCr, storageCS YCbCr, storageComp 3], java.nio.DirectByteBuffer[pos=0 lim=158166 cap=158166]]
0: TextureData[261x202, y-flip false, internFormat 0x1907, pixelFormat 0x1907, pixelType 0x1401, border 0, estSize 158166, alignment 1, rowlen 0, buffer java.nio.DirectByteBuffer[pos=0 lim=158166 cap=158166]
JOGL.YUV Loops 100, dt 351 ms, 3.51 ms/l
0: TextureData[261x202, y-flip true, internFormat 0x1907, pixelFormat 0x80e0, pixelType 0x1401, border 0, estSize 158166, alignment 1, rowlen 261, buffer java.nio.HeapByteBuffer[pos=0 lim=158166 cap=158166]
AWT..... Loops 100, dt 2144 ms, 21.44 ms/l
++++ UITestCase.tearDown: com.jogamp.opengl.test.junit.jogl.util.texture.TestJPEGJoglAWTBenchmarkNewtAWT - benchmark
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestJPEGJoglAWTBenchmarkNewtAWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscN_3-01-160x90-60pct-yuv422h-base.jpg
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-cmyk-01.jpg
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscN_3-01-160x90-60pct-yuv422h-prog.jpg
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/TextureIO.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestJPEGJoglAWTCompareNewtAWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestJPEGTextureFromFileNEWT.java
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/awt/AWTTextureData.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/j3-baseline_gray.jpg
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/j1-baseline.jpg
The file was addedsrc/jogl/classes/jogamp/opengl/util/jpeg/JPEGDecoder.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscN_3-01-160x90-90pct-yuv444-base.jpg
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestJPEGImage01NEWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/j2-progressive.jpg
The file was addedsrc/jogl/classes/com/jogamp/opengl/util/texture/spi/JPEGImage.java
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscN_3-01-160x90-90pct-yuv444-prog.jpg
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ycck-01.jpg
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/TextureData.java (diff)
Commit a27af8dc7120eac0cf84a777e7a7d82dae548c01 by Sven Gothel
NewtCanvasAWT: Cleanup up private method calls; Attach/Detach JAWTWindow's SurfaceUpdateListener to NEWT Window when it gets attached/detached.
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
Commit 8d3018d0852e1d44cb76298f6113629c110a1d4d by Sven Gothel
OSX CALayer minor edit: Call [super setFrame..] directly
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m (diff)
Commit 15e20956fc6a700c12b54342b6e1320a150ce039 by Sven Gothel
JAWTWindow: Issue component.repaint() after attachSurfaceLayer(..), otherwise no rendering result might be visible w/o Animator
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
Commit 68526d3f9432ea9c80e444146fc99b4ae1352d50 by Sven Gothel
OSX/CALayer Threading Part4: Stream all JAWT Root CALayer Operations on OSX Main-Thread

Previous code created, set and unset the root CALayer on the current thread,
which lead to a very delayed destruction of the root CALayer w/.
With Java7 this lead to a possible resource starvation in certain situations,
since Java7 uses an CAOpenGLLayer.

Similar w/  f354fb204d8973453c538dda78a2c82c87be61dc,
creation, set and unset is operated on main-thread.
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java (diff)
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
Commit 57bf60b789d89d70a58583a9cc0119317f179c3a by Sven Gothel
OSX CALayer/NewtCanvasAWT: Force relayout of component (size +1, size -1) when attaching NEWT Child to avoid false CALayer position.
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NewtCanvasAWT.java (diff)
Commit ea87d0ce9a57762700b295f002bb544cef7223a3 by Sven Gothel
OSX CALayer Unit Tests: NEWT child is destroyed if NewtCanvasAWT is disposed/removed, due to offscreen/onscreen transition
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01aAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting02AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01cAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01cSwingAWT.java (diff)
Commit e68566febb69f6aca4bdf39d1d841c17df894631 by Sven Gothel
SWT unit tests: Sort w/ AWT and Headless - Fix threading w/ AWT.

This especially impacts (fixes) Mac OSX.
The file was removedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasSWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasSWTAWT.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestSWTBug643AsyncExec.java (diff)
The file was modifiedmake/build-test.xml (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestNewtCanvasSWTBug628ResizeDeadlock.java
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestNewtCanvasSWTBug628ResizeDeadlockAWT.java
Commit 5e3563d7dab16384bcc381e24b741fa651f2f3cd by Sven Gothel
Bug 713: Handle broken EGL setup - Catch all Exception types, not only JogampRuntimeException at *DrawableFactory* instantiation trial

In case EGL is not completly installed, EGLDisplayUtil.eglGetDisplayAndInitialize(..)
will throw a GLExeception which was not catched in GLDrawableFactory.

The latter only catched JogampRuntimeException caused by ReflectionUtil due to n/a classes,
but the actual initialization code is capable to throw others.
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java (diff)
Commit d4e840fed236bb139515ec03a4a2ebe1676d3cb1 by Sven Gothel
Bug 707: Fix NEWT EVENT_MOUSE_EXITED not sent on Windows - Regression of commit 85338858f5c58694fa88e77df1386d0556887944

Commit replaced enqueueMouseEventID w/ sendMouseEventID, while not removing the 'jboolean wait' argument.
This also lead to staying in DRAGGED mode when mouse left the window.
The file was modifiedsrc/newt/native/WindowsWindow.c (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/windows/WindowDriver.java (diff)
Commit c2e02b9964860dc59af92187ae124695e1e2f1dc by gouessej
Adds a unit test and a fix for the bug 697
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/TestGLWindowInvisiblePointer01NEWT.java
Commit 9cf72802f4559efa77baa14ae5d501bc341bf86a by Sven Gothel
TestGLAutoDrawableGLCanvasOnOffscrnCapsAWT: Wrong test comment, no NEWT involved
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLAutoDrawableGLCanvasOnOffscrnCapsAWT.java (diff)
Commit 4898f582d9303caa7fd1b44438808e86b51c2a3b by Sven Gothel
Bug 678: Differentiate ALT (left) and ALT_GRAPH (right) on X11, EventDev, Windows and OSX

- X11: Memorize pressed Alt_R to decide which 'alt' has to be used for non key modifier fetching
- Windows: Only use GetKeyState(..) and compare the US vkey, since int. kbd layout use reduced scancode
The file was modifiedsrc/newt/native/WindowsWindow.c (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/KeyEvent.java (diff)
The file was modifiedmake/scripts/java-win64-dbg.bat (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/InputEvent.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/MacKeyUtil.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/newt/native/X11Display.c (diff)
Commit 82ee483ad56571ca30fea3d0c5a9078216b0d8c5 by Sven Gothel
Bug 714: Add GL_COPY_READ_BUFFER_BINDING and GL_COPY_WRITE_BUFFER_BINDING, which were added to spec post release.
The file was modifiedmake/stub_includes/opengl/GL/glext.h (diff)
The file was modifiedmake/stub_includes/opengl/GL3/gl3.h (diff)
Commit 4934f1801ba44d20353652f9ee3686a13323fb74 by Sven Gothel
Bug 709: Testing texured demo w/ FBO, comparing w/ onscreen - No corruption.
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl2/Teapot.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl2/newt/TestTeapotNEWT.java
Commit 4db745e84fac610f85ab085e5c147e571e82e008 by gouessej
Adds the missing file
The file was modifiedsrc/newt/native/WindowsWindow.c (diff)
Commit ed596d9a329f1788979e148a4d09df7815ada527 by Sven Gothel
Bug 641 NEWT: X11 Deliver keyCode layout independent, keySym layout dependent and UTF-16 keyChar value

On X11, the layout dependent keySym was not delivered [1],
as well as the UTF-8 to UTF-16 translation was missing [2].

[1] is solved using XLookupString w/o ShiftMask
[2] is solved using JNI's NewStringUTF, which takes UTF-8.
The file was modifiedsrc/newt/native/X11Display.c (diff)
The file was modifiedsrc/newt/native/X11Window.c (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/x11/DisplayDriver.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/x11/WindowDriver.java (diff)
Commit 64fd6eef879f7453b491a9df421faf2d47da9d7f by Sven Gothel
NEWT/Native: NewtCommon_GetJNIEnv(..) adding 'asDaemon' flag, used by all OSX JNI attachments to save time since detachment is skipped.
The file was modifiedsrc/newt/native/NewtCommon.c (diff)
The file was modifiedsrc/newt/native/NewtMacWindow.m (diff)
The file was modifiedsrc/newt/native/NewtCommon.h (diff)
Commit 3052de236eb08a27286f20d52671bb40dbdd8875 by Sven Gothel
Bug 641 NEWT/X11: Deliver 'J_VK_WINDOWS'; keySym is layout independent for dead-keys (zero keyChar); For 'unshifted' keySym's also unmask Ctrl and Mod* states
The file was modifiedsrc/newt/native/X11Display.c (diff)
Commit 9b28aea53c9b7aa6fb8c9ae5521d935fa92d1026 by Sven Gothel
NEWT/OSX: Remove USE_SENDIO_DIRECT conditional compilation, by now it's clear we need to enqeue the events
The file was modifiedsrc/newt/native/NewtMacWindow.m (diff)
Commit 6755fc707672a77025bcde81a47a5e4d93b37fb1 by Sven Gothel
NEWT KeyEvent: More tight definition of isPrintable(), i.e. must have defined keyCode [and keyChar]; VK_KEYBOARD_INVISIBLE -> isActionKey
The file was modifiedsrc/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventFactory.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/KeyEvent.java (diff)
Commit d2fc229b844942646fd9a32fc943923a5770a4be by Sven Gothel
Bug 641 NEWT/OSX Deliver keySym, derived from the current layout's lower-case UTF-16 character.
The file was modifiedsrc/newt/native/NewtMacWindow.m (diff)
The file was modifiedmake/build-newt.xml (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java (diff)
The file was addedsrc/newt/classes/com/jogamp/newt/event/UTFKeyUtil.java
The file was modifiedsrc/newt/native/KeyEvent.h (diff)
Commit 09ebc2cd6fdd317134f0afb38174418a6d067d65 by Sven Gothel
Bug 641 NEWT: Refine definition of keySym, i.e. for printable keys, keySym is the 'unshifted' UTF-16 char value ; Add isPrintable() to toString().
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/KeyEvent.java (diff)
Commit 2b3bb9426385d97375c3312f5c0f4e2a827b1fbb by Sven Gothel
Fix Bug 703: Quaternion slerp function. Disclaimer: Not tested / No unit test.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/Quaternion.java (diff)
Commit e9467722e50b3db835228e6d91d7087b39e9d164 by xerxes
LinuxEventDeviceTracker: shift-modifier

Signed-off-by: Xerxes Rånby <xerxes@zafena.se>
The file was modifiedsrc/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java (diff)
Commit dc049d5ab60c856576ee7dd58d3cc36da9f9780b by xerxes
LinuxEventDeviceTracker: 4 space indentation

Signed-off-by: Xerxes Rånby <xerxes@zafena.se>
The file was modifiedsrc/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java (diff)
Commit 578011822abb973800f96a21138c497862cba800 by xerxes
LinuxEventDeviceTracker: ALT, ALT_GRAPH & CTRL modifiers.

Signed-off-by: Xerxes Rånby <xerxes@zafena.se>
The file was modifiedsrc/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java (diff)
Commit eff09c3545f32f1f481198d57de71a5bf564e797 by Sven Gothel
Debug Messages: Unify getThreadName() usage and 'Catched Exception' messages
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/glsl/ShaderUtil.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLWorkerThread.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/ExtensionAvailabilityCache.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLFBODrawableImpl.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/SharedResourceRunner.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/Animator.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableHelper.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/FPSAnimator.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
Commit 7978096bdaac4c4bd14187382bb1f8ab9d082ebe by Sven Gothel
GLDrawable: Refine API doc; GLDrawableImpl: Balance createHandle()/destroyHandle(); Handle LOCK_SURFACE_CHANGED in lockSurface() ; GLContextImpl.makeCurrent(): Fix drawable handle validation.

GLDrawable: Refine API doc (realized/handle)
  - Lifecycle of the drawable handle was not clear
  - Ephasizing handle's dependency on NativeSurface's lock state and drawable's realization

GLDrawableImpl: Balance createHandle()/destroyHandle()
  - updateHandle() -> createHandle()
  - ensure both are balance, see below

GLDrawableImpl: Handle LOCK_SURFACE_CHANGED in GLDrawableImpl's lockSurface()
  - call destroyHandle() and createHandle()

GLContextImpl.makeCurrent(): Validate drawable handle if realized only.
  - it is valid to have an invalid drawable handle if not realized (see above)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11OnscreenGLXDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLDrawable.java (diff)
Commit f3e0f109ac7f03ef803523af8e965d713b6044db by Sven Gothel
GLContextImpl.destroy(): Fail fast in case of invalid dawable [null, !realized] and makeCurrent() failure.
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
Commit 4bea90974190baa2110c8398b4fe2dccb61e0daa by Harvey Harrison
jogl: remove executable bit from some java files and a png

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtApplet1Run.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glu/TestGluUnprojectFloatNOUI.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionNewtDemo01.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/gluegen/opengl/GLConfiguration.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/caps/TestMultisampleES1NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/grayscale_texture.png (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestFloatUtil01MatrixMatrixMultNOUI.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/RegionRendererImpl01.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/gluegen/opengl/nativesig/NativeSignatureEmitter.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/Quaternion.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieCube.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/gluegen/opengl/nativesig/NativeSignatureJavaMethodBindingEmitter.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/VectorUtil.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieSimple.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/gluegen/opengl/GLJavaMethodBindingEmitter.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/RegionFactory.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtAppletBase.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/caps/TestMultisampleES1AWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/OutlineShape.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glu/TestGluUnprojectDoubleNOUI.java (diff)
Commit b13868b612689307ebf4e46ee4ede2fd0560e504 by Sven Gothel
NEWT KeyEvent: Use UTF-16 UniCode for key-code and key-symbol exposing well defined key encoding and simplify usage.

Note, we use one collision to reduce key-code range:
  [0x61 .. 0x78] keyCodes [F1..F24] collide w/ ['a'..'x']

  Since keyCode/Sym won't use lower capital a-z, this is a no isssue.

KeyEvent:
  - 'printable' type is being determined by a nonPrintableKeys table,
    while 'action' type is set in case !printable and !modifier.

  - public ctor hidden, use create(..) method instead.
    This allows us to ensure modifier bit are properly set (incl. the keySym one) w/o performance loss.
  - ctor validates that only one of the type flags is set, printable, modifyable or action.

WindowImpl:
  - Using IntBitfield of 255 bits to track pressed state,
    while removing the repeat state tracking since it is redundant.
    The Windows impl. uses a single field to validate whether a key
    was already repeated or not.
  - Properly cast keyCode short values to int for tracking!

AWTNewtEventFactory, SWTNewtEventFactory:
  - Add translation of keyCode/Sym from and to NEWT
  - All tested via:
    - Newt -> Awt for AWTRobot
    - OSX CALayer: AWT -> NEWT
    - SWT tests

X11:
  - Add VK_CONTEXT_MENU mapping (XK_Menu)

LinuxEventDeviceTracker:
  - Fix apostrophe and grave mapping, i.e. to VK_QUOTE and VK_BACK_QUOTE.

Adapted all unit tests, especially:
  - TestNewtKeyCodesAWT: More fine grained keyCode ranges to test
    using proper keyCode symbols.
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/awt/DisplayDriver.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/NEWTKeyUtil.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/windows/WindowDriver.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/swt/TestNewtCanvasSWTBug628ResizeDeadlockAWT.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventFactory.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/AWTRobotUtil.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyCodeModifiersAWT.java (diff)
The file was modifiedsrc/newt/native/X11Display.c (diff)
The file was modifiedsrc/newt/native/KeyEvent.h (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/KeyEvent.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/awt/event/AWTNewtEventFactory.java (diff)
The file was removedsrc/newt/classes/com/jogamp/newt/event/UTFKeyUtil.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyCodesAWT.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/swt/event/SWTNewtEventFactory.java (diff)
Commit 294294c2317d1a22406f471c74235315afed86e4 by Sven Gothel
LinuxEventDeviceTracker: Reapply changes from commit b13868b612689307ebf4e46ee4ede2fd0560e504, which got lost via my merge conflict resolution (duh).
The file was modifiedsrc/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java (diff)
Commit 214794419b2e736d581bb57bf9b5838b09e28f1c by Sven Gothel
NEWT/WindowsWindow.c: Simplify pointerVisible branch for calling SafeShowCursor(..)
The file was modifiedsrc/newt/native/WindowsWindow.c (diff)
Commit dc898f14eeebf524726c820e25ffefb166a6c7f3 by Sven Gothel
Bug 697: Fix commit 4db745e84fac610f85ab085e5c147e571e82e008 - Not compile clean! Also brought back my safe showCursor logic.

The code was not compile clean:
  - declaration after use w/o prototype!
  - missing var declaration 'success'!
  - 'pointerVisible=0', instead of 'wud->pointerVisible=0' var. not found!

Used my old safe show cursor logic, while removing the max count,
which was redundant, since we can check whether the counter moves
in the right direction.
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/newt/native/WindowsWindow.c (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit cfe62741e19196d973d9b31f2c8f3873705cb74b by Sven Gothel
GLContextImpl: destroy(): Fix null drawable check; makeCurrentWithinLock(): Add drawable size validation before attempt to create context; MacOSXCGLContext: Explicit exception for Null AttachGLLayerCmd.

GLContextImpl:
  - destroy():
    - Fix null drawable check
      Only if the GLContext isCreated(), we require a drawable to be set.

    - Proper name of associateDrawable Exception

  - makeCurrentWithinLock():
    - Add drawable size validation before attempt to create context.
      - 'makeCurrent()' shall never be called w/o proper sized drawable, i.e. > 0x0.
      - returns CONTEXT_NOT_CURRENT, if drawable size is <= 0x0

MacOSXCGLContext:

  - Explicit exception for Null AttachGLLayerCmd.
    In case context creation has failed via makeCurrent(),
    AttachGLLayerCmd may never been issued and hence maybe NULL.
    Catch this case and send a meaningful exception,
    which is catched and fwd in GLContext.destroy().
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
Commit 5606dd12f8086b506f33030072af5095a5871f9c by Sven Gothel
FBObject.init() uses safe 1x1 size like reset(..) to behave equal; GLFBODrawableImpl.contextMadeCurrent(ctx, true): Throw exception if !initialized
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLFBODrawableImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/FBObject.java (diff)
Commit 9d78ea65a6bf1064887bc7524c01a689a1fc2a5c by Sven Gothel
NEWT/AWT: Fix 'AWT driver' to work w/ OSX CALayer ; WindowImpl: 'Object getWrappedWindow()' -> 'NativeSurface getWrappedSurface()'

WindowImpl: 'Object getWrappedWindow()' -> 'NativeSurface getWrappedSurface()'
  - AWT driver itself instantiates the JAWTWindow for eager initialization at createNative().

Fix 'AWT driver' to work w/ OSX CALayer
  - See above
  - size reconfig changed to ease OSX CALayer,
    i.e. set frame's size if already visible reducing CALayer artefacts.
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/awt/AWTCanvas.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl2/newt/TestGearsNewtAWTWrapper.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/awt/WindowDriver.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
Commit d2075cce989881ce3556e4384ab1fbdf829bc212 by Sven Gothel
NEWT/AWT-Wrapper-Driver: Fix MS-Windows Case (Use NativeWindow window handle); Use set size by frame only for OSX/CALayer
The file was modifiedsrc/newt/classes/jogamp/newt/driver/awt/AWTCanvas.java (diff)
The file was modifiedmake/scripts/java-win64-dbg.bat (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/awt/WindowDriver.java (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 594329b4334e453a3f0b7bb6f576a6e943263f95 by Sven Gothel
GLES[12] Impl: Cleanup 'checkBufferObject(..)', remove unused and 'avail' argument and 'initBufferObjectExtensionChecks()'
The file was modifiedmake/config/jogl/gl-impl-CustomJavaCode-gles2.java (diff)
The file was modifiedmake/config/jogl/gl-impl-CustomJavaCode-gles1.java (diff)
Commit d7096cfeee500177db85d97241cc142af41517cb by Sven Gothel
Bug 692: Add modified version of Edgar Velazquez-Armendariz's test case for testing alternating VAO and VBO usage.

Alternating VBO/VAO usage triggers bug 692, where our VBO enable check throws an exception:
  javax.media.opengl.GLException: element vertex_buffer_object must be enabled to call this method
        at jogamp.opengl.gl4.GL4bcImpl.checkBufferObject(GL4bcImpl.java:34318)
        at jogamp.opengl.gl4.GL4bcImpl.checkElementVBOEnabled(GL4bcImpl.java:34361)
        at jogamp.opengl.gl4.GL4bcImpl.glDrawElements(GL4bcImpl.java:4395)
        at javax.media.opengl.DebugGL3.glDrawElements(DebugGL3.java:1006)
        at com.jogamp.opengl.test.junit.jogl.acore.TestBug692GL3VAO$GL3VAODemo.displayVAONormal(TestBug692GL3VAO.java:254)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestBug692GL3VAO.java
Commit b414c4b1be05249590138e73558ada82bd170f15 by Sven Gothel
Fix Bug 692: Add tracking of VERTEX_ARRAY_BINDING, and enable allowing a bound non default VAO to pass VBO enabled test, even if VBO is disabled.

VAO is available if: GL >= 3.0 or is having GL_ARB_vertex_array_object extension.

checkBufferObject(..) checks whether VERTEX_ARRAY_BINDING has a non default VAO bound in case
no VBO is being bound and VAO is allowed.

glBindVertexArray(int) is being tracked, i.e. on state VERTEX_ARRAY_BINDING
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedmake/config/jogl/gl-impl-CustomJavaCode-gl4bc.java (diff)
The file was modifiedmake/config/jogl/gl-common.cfg (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLBufferStateTracker.java (diff)
The file was modifiedmake/scripts/java-win64-dbg.bat (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
Commit dc8d3bbbba7910b3e2453a0d7d37d2bf8a05f4b6 by Sven Gothel
Bug 705: This is the version of displayMultiple02 which uses glXCreateNewContext instead of glXCreateContext. Segmentation fault w/ Mesa 7.0
The file was addedsrc/test-native/displayMultiple02_new_mch.c
Commit 4d7c527756f0410f31915e86815732ba912c1bee by Sven Gothel
Bug 705: This is the version of displayMultiple02 which uses glXCreateNewContext instead of glXCreateContext. X11 Error w/ Mesa 7.0
The file was addedsrc/test-native/displayMultiple02_mch.c
Commit 6894a534b40b870fa7c237cc307a359866707db5 by xerxes
FFMPEGMediaPlayer: Fix mpeg seek using time_base.num 1 , time_base.den 90000

Prevent division and multiplication by zero errors in native code
after mpeg video seek caused by type truncation.

Signed-off-by: Xerxes Rånby <xerxes@zafena.se>
The file was modifiedsrc/jogl/native/libav/jogamp_opengl_util_av_impl_FFMPEGMediaPlayer.c (diff)
Commit 5b47372590ec715647ebbd75d70c41ec7a64485a by Sven Gothel
Fix Bug 705 - Make Mesa X11 driver < 8.0 use new Quirk DontCloseX11DisplayConnection
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLProfile.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/x11/X11Util.java (diff)
Commit ff25c711fe4fa627004c57e0d308d06759156290 by Sven Gothel
Fix Bug 705 - Cleanup & Generalize Commit 5b47372590ec715647ebbd75d70c41ec7a64485a ; Close X11 Display in isDeviceSupported()

- Moved GL vendor version parsing to GLVersionNumber

- Moved X11Util.markAllDisplaysUnclosable() trigger into SharedResource creation of
  - X11GLXDrawableFactory
  - EGLDrawableFactory

- GLProfile is back to pre 5b47372590ec715647ebbd75d70c41ec7a64485a,
  i.e. contains no quirk artifact (clean)

- Close X11 Display in X11GLXDrawableFactory.isDeviceSupported()
  Regression of 9a4fcc7ea4ec61e4ceed791acced734ac04ea270

- TODO: Remove X11Util markAllDisplaysUnclosable detection code ?

Notes to Martin:
  - Use TAB == 4 SPACES
  - No author names into source code, git commit log is enough.
  - No need to tag your edits, the diff is enough.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/JoglVersion.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test-native/make.sh (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLProfile.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLVersionNumber.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/x11/X11Util.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java (diff)
Commit cea002636c4c8e1cf41288662fffc26bd24f90ac by Sven Gothel
Fix Bug 705 - Validated that Quirk DontCloseX11Display is not required w/ Mesa >= 8.0

Tested w/ kubuntu 12.04, Mesa 8.0.4 (glx/dri/gallium and X11 SW rasterizer)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java (diff)
Commit 94d3960757db292eeefb7acdfa1220b6b7168b98 by Sven Gothel
Fix Bug 705 - Set Quirk DontCloseX11Display also if using X11 and X11Util has set 'markAllDisplaysUnclosable' (Down -> Upstream)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
Commit 1af639340bb119e4839170c6e5e3258012d99136 by Sven Gothel
Bug 718: Windows BITMAP Offscreen Fails w/ GLCaps other than simple RGB888 - Refine Unit Tests ; UITestCase.Snapshot: Add RGBA bits to filename.

Split TestGLAutoDrawableFactoryOffscrnCapsNEWT to
      TestGLAutoDrawableFactoryGL2OffscrnCapsNEWT and TestGLAutoDrawableFactoryES2OffscrnCapsNEWT

TestGLAutoDrawableFactoryGL2OffscrnCapsNEWT contains more 'Bitmap' tests of various caps, w/ snapshots.
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/UITestCase.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLAutoDrawableFactoryGL2OffscrnCapsNEWT.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NEWT.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLAutoDrawableFactoryES2OffscrnCapsNEWT.java
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl2/awt/TestGearsGLJPanelAWT.java (diff)
The file was modifiedmake/scripts/java-win64-dbg.bat (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLAutoDrawableFactoryOffscrnCapsNEWT.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl2/Gears.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2AWT.java (diff)
Commit 6dd851e74dde28d24a2d2bb6e788a78bc7fedd76 by Sven Gothel
*Capabilities: Cleanup string ctor; GLGraphicsConfigurationUtil: Clean getExclusiveWinAttributeBits(..); WGLGLCapabilities: Add PFD2String(..)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLCapabilities.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLGraphicsConfigurationUtil.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/Capabilities.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WGLGLCapabilities.java (diff)
Commit 61a47e07975eb2fd8b1f5f60552935c993a6eef6 by Sven Gothel
Bug 718: Windows BITMAP Offscreen Fails w/ GLCaps other than simple RGB888 - Filter invalid PFD configs

- Filter invalid PFD configs
  - WindowsBitmapWGLDrawable: Clip chosenCaps to RGBA888[0|8]
  - WindowsBitmapWGLDrawable: Only use BITMAPINFOHEADER.BiBitCount=24
  - WindowsWGLGraphicsConfiguration: Only allow GDI BITMAP PFD's w/ RGB888 w/ alpha <= red, others may fail

- WindowsWGLGraphicsConfigurationFactory.getAvailableGLCapabilities()
  - Fetch ARB caps w/o BITMAP
  - Concat GDI [BITMAP] caps
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsBitmapWGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfigurationFactory.java (diff)
Commit 3cc6fd350fe56ac5b344ee75cfa8bfe4dcc44f1b by Sven Gothel
GLJPanel.toString(): Avoid NPE
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
Commit fd418a69eca7b8c1bb74244982305fc6004d0a52 by Sven Gothel
Fix Bug 720: Unify all platform specific GLContextImpl specializations; Fix Bug 719 - Windows BITMAP Offscreen Orientation is not propagated through API

Fix Bug 719 - Windows BITMAP Offscreen Orientation is not propagated through API
  Depends on Bug 720, since cleaning up GLContextImpl* is required to move
  property 'GLContext.isGLOrientationFlippedVertical()'
  to 'GLDrawable.isGLOriented()' where it belongs!

  Windows BITMAP GLDrawable impl. isGLOriented() shall return false,
  while we keep the BITMAPINFOHEADER's height field negative
  to remove the need for vertical flip when used w/ AWT or Windows, ..

  Then property 'GLDrawable.isGLOriented()' has to be recognized throughout the
  utility functions, i.e. TextureData's mustFlipVertically and hence TextureIO writer.

Fix Bug 720: Unify all platform specific GLContextImpl specializations
  GLContextImpl shall have only _one_ unique platform derivative
  to allow proper swapping of GLDrawables of any type via:
    - 'GLAutoDrawable.setContext(GLContext newCtx, boolean destroyPrevCtx)', which calls
    - 'GLContext.setGLDrawable(GLDrawable readWrite, boolean setWriteOnly)'

  Exception: External context may be specialized.

  All drawable specific property handling shall be provided
  and implemented (if possible) via GLDrawable specializations.

- GLContext.isGLOrientationFlippedVertical() -> GLDrawable.isGLOriented()
  - PNGImage.createFromData() takes 'isGLOriented' to properly handle vertical flipping simply by line ordering
  - TextureIO's PNG writer passes TextureData's getMustFlipVertically() as isGLOriented to PNGImage.createFromData()
  - GLReadBufferUtil respects GLDrawable's isGLOriented() when creating TextureData instance.
  - Screenshot respects GLDrawable's isGLOriented()

- Screenshot is deprecated, use GLReadBufferUtil.

- Removed all PBuffer attributes, i.e. floatingPoint, RenderToTexture and RenderToTextureRectangle.
   - Allows removal of special pbuffer handling in GLContext* implementations.
   - Removed also from GLCapabilities*
   - Removed from deprecated GLPbuffer

  Impact:
    - Low, users who desire to render into a texture shall use our FBO GLOffscreenDrawable.
    - Only use case was the deprecated GLPbuffer
    - floating point framebuffer technology is still patented anyways :)

- Removed Java2DGLContext, which was only used for OSX's GLJPanel Java2D bridge,
  which is no more supported anyways.
The file was removedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXPbufferCGLContext.java
The file was removedsrc/jogl/classes/jogamp/opengl/macosx/cgl/awt/MacOSXAWTCGLDrawableFactory.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXPbufferCGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11OnscreenGLXDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLOnscreenDrawable.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java (diff)
The file was removedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXOffscreenCGLContext.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLReadBufferUtil.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/TextureIO.java (diff)
The file was removedsrc/jogl/classes/jogamp/opengl/egl/EGLOnscreenContext.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLPbufferDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXOnscreenCGLDrawable.java (diff)
The file was removedsrc/jogl/classes/jogamp/opengl/egl/EGLPbufferContext.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsPbufferWGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsBitmapWGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11PbufferGLXDrawable.java (diff)
The file was removedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXOnscreenCGLContext.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLCapabilities.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXGraphicsConfiguration.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLPbufferImpl.java (diff)
The file was removedsrc/jogl/classes/jogamp/opengl/x11/glx/X11OnscreenGLXContext.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestPNGImage01NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl2/awt/TestGearsGLJPanelAWT.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
The file was removedsrc/jogl/classes/jogamp/opengl/x11/glx/X11PbufferGLXContext.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLGraphicsConfiguration.java (diff)
The file was removedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsPbufferWGLContext.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXOffscreenCGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLContext.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLPbuffer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11PixmapGLXDrawable.java (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WGLGLCapabilities.java (diff)
The file was removedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsBitmapWGLContext.java
The file was removedsrc/jogl/classes/jogamp/opengl/awt/Java2DGLContext.java
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/spi/PNGImage.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLContext.java (diff)
The file was removedsrc/jogl/classes/jogamp/opengl/x11/glx/X11PixmapGLXContext.java
The file was removedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsOnscreenWGLContext.java
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLCapabilitiesImmutable.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLDrawable.java (diff)
The file was removedsrc/jogl/classes/jogamp/opengl/macosx/cgl/awt/MacOSXJava2DCGLContext.java
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/awt/Screenshot.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableFactoryImpl.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsOnscreenWGLDrawable.java (diff)
Commit f8adb848c0d6b61a8a34dfcdaf13ca773000fbb4 by Sven Gothel
GLJPanel: setFocusable(true) at ctor to allow keyboard input
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
Commit d173feb60d085399194549102d4b3d77512c3f73 by Sven Gothel
Bug 721: NEWT/X11 RandR 1.3 Support - Part 1 - Delegate RandR functionality to pluggable impl. for RandR 1.1 and 1.3 (todo)
The file was modifiedsrc/newt/native/X11Screen.c (diff)
The file was modifiedmake/build-newt.xml (diff)
The file was addedsrc/newt/classes/jogamp/newt/driver/x11/ScreenRandR11.java
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/newt/classes/jogamp/newt/driver/x11/ScreenRandR.java
The file was modifiedsrc/newt/native/X11ScreenRandR11.c (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/x11/ScreenDriver.java (diff)
The file was addedsrc/newt/native/X11Screen.h
The file was modifiedsrc/newt/classes/jogamp/newt/ScreenImpl.java (diff)
The file was modifiedsrc/newt/native/X11Common.h (diff)
Commit db24615ebaebcda88ffb7275d3a60e6400226099 by Sven Gothel
Bug 718: Further restriction of Windows BITMAP PFD's - RGB888 and !alpha only

On Windows Vista machines, using alpha, i.e. RGB8888 failed to SetPixelFormat(..),
hence only allow RGB888.
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLGraphicsConfigurationUtil.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsBitmapWGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java (diff)
Commit 4d2f4a1b75dc176b2b46de5076b587b70988ac42 by Sven Gothel
Bug 718: Exclude updateGraphicsConfigurationARB(..) usage for BITMAP (Windows Vista does report BITMAP w/ ARB PFD)

On Windows Vista machines, ARB PFD selection reports BITMAP which is attempted to be used.

Excluse updateGraphicsConfigurationARB(..) from BITMAP query, similar to getAvailableGLCapabilitiesARB()
from commit 61a47e07975eb2fd8b1f5f60552935c993a6eef6.

TODO: Re-evaluate commit db24615ebaebcda88ffb7275d3a60e6400226099
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfigurationFactory.java (diff)
Commit 0a9ecf74540659a3258ea71d3355eeb45697db96 by Sven Gothel
type: weather -> whether :) .. it's spring again :)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLReadBufferUtil.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/GLSLArrayHandlerInterleaved.java (diff)
Commit 0a7cd9c58537d80131dbebf102f1f639ca0eb334 by Sven Gothel
Bug 718: WindowsBitmapWGLDrawable: Requires GLProfile.GL2, fix BITMAP GLCaps ASAP at Ctor instead of setRealized(true); WindowsWGLContext: Exclude ARB creation for BITMAP

Unit Test TestGLAutoDrawableFactoryGLnBitmapCapsNEWT added using BITMAP on GLProfile.getDefault()

Also:
  X11GLXContext, WindowsWGLContext: Cleanup formatting in createImpl(..)
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLAutoDrawableFactoryGLnBitmapCapsNEWT.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableFactoryImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLGraphicsConfigurationUtil.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLContext.java (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsBitmapWGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java (diff)
Commit 5eee4251b781e90ac66c33a2a1bcb7f2f6cf736a by Sven Gothel
GLJPanel: Avoid NPE of 'backend' in getChosenGLCapabilities() and DisposeGLEventListenerAction.run() ; Make 'backend' volatile due to possible multi-threading access.
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
Commit 03a3f209aff955410e0f3133e73078529c23d3e1 by Sven Gothel
Bug 721: NEWT/X11 RandR 1.3 Support - Part 2 - Rename impl class/files, start RandR13 coding.
The file was addedsrc/newt/classes/jogamp/newt/driver/x11/RandR13.java
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/native/X11Screen.h (diff)
The file was addedsrc/newt/native/X11RandR13.c
The file was modifiedsrc/newt/native/X11Screen.c (diff)
The file was addedsrc/newt/classes/jogamp/newt/driver/x11/RandR.java
The file was addedsrc/newt/classes/jogamp/newt/driver/x11/RandR11.java
The file was removedsrc/newt/classes/jogamp/newt/driver/x11/ScreenRandR11.java
The file was modifiedsrc/newt/native/X11Common.h (diff)
The file was removedsrc/newt/classes/jogamp/newt/driver/x11/ScreenRandR.java
The file was addedsrc/newt/native/X11RandR11.c
The file was modifiedmake/build-newt.xml (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/x11/ScreenDriver.java (diff)
The file was removedsrc/newt/native/X11ScreenRandR11.c
The file was removedsrc/newt/native/X11ScreenRandR13.c
Commit cdbf3f42ea530f91639536e03b2c203715c3c300 by Harvey Harrison
Test for null against a temp variable to narrow races

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
Commit 0f7412855c118cb501d8a001df7a7487354b5029 by Sven Gothel
Fix Bug 722: Make GLEventListenerState 'transaction' safe Animator.pause[ surface.lock[ modify ] ]

GLEventListenerState:
  New model for GLEventListenerState's transaction safety:
   - Z Decorate-1: Animator.pause [ X ]  Animator.resume
   - X Decorate-2: Surface.lock [ Y ] Surface.unlock

  - Instead of setting AbstractGraphicsDevice, just swap the handle and ownership.

  - Issuing setRealized(..) only if required, i.e. having an upstream-surface (EGL..) depending on used device

  - Utilizing setRealized(..) on the GLAD's delegated 'real' drawable, avoiding optional GLAD locking.

  - Cleanup and above changes shall render impl. easier to read.

GLEventListenerState Unit Tests:
  - If swapping/moving from AWT -> NEWT, use a NEWT dedicated Display
    avoiding ATI driver XCB crash - read comment.
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/DefaultGraphicsDevice.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/GLEventListenerState.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/glels/GLContextDrawableSwitchBase.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/glels/TestGLContextDrawableSwitch21Newt2AWT.java (diff)
The file was modifiedmake/build-test.xml (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/glels/TestBug722GLContextDrawableSwitchNewt2AWT.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/glels/TestGLContextDrawableSwitch11NewtAWT.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/egl/EGLGraphicsDevice.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/x11/X11GraphicsDevice.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/glels/TestGLContextDrawableSwitch12AWT.java (diff)
Commit 471ae0dea0666398f181baea4d4e91ca666fd46c by Sven Gothel
Refine some API docs ..
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLWrappedSurface.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLDrawableUtil.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLUpstreamSurfaceHook.java (diff)
Commit 47dca9c0af7ba6240aa11e154fbfafbd07c6cfbd by Sven Gothel
X11GLXContext: Issue XSync(..) after forcing X11ErrorHandle and before glXCreateContextAttribsARB(..) - Mitigate driver bugs

Ensures the error handler is in place and previous X11 cmds are being executed before the 'critical' glXCreateContextAttribsARB(..)
call which might lead to erroneous behavior w/ buggy drivers.
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java (diff)
Commit 8a66294628589d765c1c5d5b3cafe7b939179dc2 by Sven Gothel
Fix JAWTUtil's ToolkitLock: Using RecursiveLock instance covering the AWT lock instead of simple volatile fields (bug).
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/JAWTUtil.java (diff)
Commit 9711076d8d34ae4235697bee782eaf36f487e0ca by Sven Gothel
Complete intend of commit cdbf3f42ea530f91639536e03b2c203715c3c300 - Test for null against a temp variable to narrow races
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
Commit 8d7819aa08b031fddd5813ec29b2fa3d66666407 by Sven Gothel
Use new toolchain (gluegen 3b7ea9f67487be8f133c19b493b632fc579c5049)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedmake/scripts/make.jogl.all.linux-armv6hf.sh (diff)
The file was modifiedmake/scripts/make.jogl.all.linux-armv6hf-cross.sh (diff)
The file was modifiedmake/scripts/make.jogl.all.linux-armv6-cross.sh (diff)
The file was modifiedmake/scripts/make.jogl.all.linux-armv6.sh (diff)
Commit 56b330db24338cb287f1c53b92a6e0b7bf521625 by Sven Gothel
Add scripts/make.jogl.all.sh
The file was addedmake/scripts/make.jogl.all.sh
Commit 8b70108d6fd04b2ab97cbd1b6729361b5ce98a6b by Sven Gothel
X11 Error Handler: Start quiet; Init: quite = !debug; Internal calls: Pass through errorHandlerQuiet state.
The file was modifiedsrc/nativewindow/native/x11/Xmisc.c (diff)
Commit e2323aea92dc8d47f583002921287a06230b2d93 by Sven Gothel
Quirk DontCloseX11Display: Only detect w/ X11 NativeWindow System.
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
Commit 75b3d37a3b15c071b49609921244bcb62d329fa9 by Sven Gothel
Fix Bug 706 and Bug 520: Certain ATI GPU/driver require a current context when calling wglCreateContextAttribsARB (Windows)

See discussion at
   https://jogamp.org/bugzilla/show_bug.cgi?id=520
   https://jogamp.org/bugzilla/show_bug.cgi?id=706
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java (diff)
The file was addedsrc/nativewindow/native/win32/DeviceDriverQuery.txt
Commit 36dc4f5ab6957a4078842c488afb51df2fdc0630 by Sven Gothel
Simplify GLDrawableFactory's SharedResource Query Methods; Move WindowsWGLDrawableFactory Quirks to GLRendererQuirks (NeedCurrCtx4ARBPixFmtQueries, NeedCurrCtx4ARBCreateContext); Bug 706: Confine NeedCurrCtx4ARBCreateContext to [Windows, ATI, driver < 12.102.3); Avoid possible NPE @ GLContext.getGLVendorVersionNumber()

- Simplify GLDrawableFactory's SharedResource Query Methods
  - Moving common methods to GLDrawableFactory/GLDrawableFactoryImpl
    while reusing common methods to SharedResourceRunner.Resource.
  - All factories SharedResources impl. SharedResourceRunner.Resource.

- Move WindowsWGLDrawableFactory Quirks to GLRendererQuirks (NeedCurrCtx4ARBPixFmtQueries, NeedCurrCtx4ARBCreateContext)
  - For better maintenance, move the mentioned quirks from the windows factory to our common place,
    being detected within GLContextImpl after each context creation.

- Bug 706: Confine NeedCurrCtx4ARBCreateContext to [Windows, ATI, driver < 12.102.3)
  - Before we added this quirk if [Windows, ATI],
    however, we have hopes that the new drivers will suffice for all
    as tested successful on my test machine (AMD Radeon HD 6300M Series, amd_catalyst_13.5_mobility_beta2).

- Avoid possible NPE @ GLContext.getGLVendorVersionNumber()
  - GLContext.getGLVendorVersionNumber() never returns 'null' but a zero version instance instead!
  - Add API doc.

- Use mixed case names in GLContextImpl.setRendererQuirks(..).
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsPbufferWGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfigurationFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLGraphicsConfigurationFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXGraphicsConfigurationFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLGraphicsConfiguration.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLVersionNumber.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXPbufferCGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/SharedResourceRunner.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableFactoryImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLContext.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
Commit ff9fb2d0adc81fdf25d6e26b91e1f67d8241e3e4 by Sven Gothel
GLContext*'s ctxGLSLVersion: Use zeroVersion to denominate uninitialized VersionNumber instead of null, it's get*string returns a zero length string instead of null.
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
Commit 94ea306d1809290db678d3181619bdc39d4334bb by Sven Gothel
Move JPEGDecoder.PixelStorage -> TextureData.ColorSink: Appropriate name + public use
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/spi/JPEGImage.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/TextureData.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/jpeg/JPEGDecoder.java (diff)
Commit 29e5caf61c1e09d2b225f4d42f5a384dd6eef9a8 by Sven Gothel
Complete commit e7064ece049705e013d80985eae698ce0ee3c4e3: Add getDefaultPixelDataFormat(), complementing getDefaultPixelDataType()
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
Commit 2fc95fa183a133b4a1b675c50a2d97bf41c6c391 by Sven Gothel
Add missing JogAmp (c) note - using date of 1st JogAmp edit.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/Texture.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/TextureCoords.java (diff)
Commit 587ec1437ed762ed8cdfcbf27f940ab83813f4a5 by Sven Gothel
TextureData: Add PixelAttributes and PixelBufferProvider; ColorSink back to JPEGDecode (not general enough)

- TextureData: Add PixelAttributes and PixelBufferProvider
  - PixelBufferProvider is intended as a pattern allowing
    producers (i.e. GLReadBufferUtil) to utilize custom pixel buffer
    for various intend.

  - PixelAttributes can be chosen by PixelBufferProvider implementation
    and groups the texture's pixel/data format and type.
    TextureData uses PixelAttributes internally now.

- ColorSink back to JPEGDecode (not general enough)
  - Partially reverts 94ea306d1809290db678d3181619bdc39d4334bb
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestJPEGImage01NEWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/TextureData.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/awt/AWTTextureData.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/spi/JPEGImage.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestJPEGJoglAWTBenchmarkNewtAWT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/jpeg/JPEGDecoder.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestJPEGJoglAWTCompareNewtAWT.java (diff)
Commit 4d35eaa766071fd8dedab8b6e2ee53710831c567 by Sven Gothel
GLReadBufferUtil: Utilizing PixelBufferProvider; Adding AWTGLReadBufferUtil adding BufferedImage support; Demonstrating w/ unit tests.
The file was addedsrc/jogl/classes/com/jogamp/opengl/util/awt/AWTGLReadBufferUtil.java
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLReadBufferUtil.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/caps/TestBug605FlippedImageNEWT.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestTexture02AWT.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestTexture01AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug461FBOSupersamplingSwingAWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/awt/Screenshot.java (diff)
Commit 6ebf649d1b87944257fe492e0aef842d1b8debc2 by Sven Gothel
Fix Bug 600 and Bug 721: Adding support for multiple monitors w/ NEWT

- Support for all monitor devices and their available modes
  - X11: Use RandR 1.3 if available
  - Retrieve information
  - Changing a monitor device's mode

- Support for dedicated and spannig fullscreen
  - See <http://jogamp.org/files/screenshots/newt-mmonitor/html/>

- TODO:
  - X11 RandR does _not_ relayout the virtual screen size
    and neither the CRT's viewport.
    We may need to relayout them if they were covering a seamless region
    to achieve same experience!

  - OSX: No machine to attach a secondary CRT -> TEST!

- Tested Manually for Regressions
  - Linux ARMv6hf (Rasp-Pi/BCM, Panda/X11)
  - Android (Huawei, Kindle)

- Tested Manually and junit:
  - X11/Linux
    - NV, ATI-Catalyst w/ 2 CRTs
    - VBox w/ 4 CRTs

  - Win/Windows
    - NV, w/ 2 CRTs
    - VBox w/ 4 CRTs

  - X11/OpenIndiana, NV, 1 CRT
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/NEWTEvent.java (diff)
The file was removedsrc/newt/classes/jogamp/newt/ScreenModeStatus.java
The file was addedsrc/newt/classes/com/jogamp/newt/MonitorMode.java
The file was modifiedsrc/newt/classes/jogamp/newt/driver/bcm/egl/ScreenDriver.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/intel/gdl/ScreenDriver.java (diff)
The file was modifiedsrc/newt/native/Window.h (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGraphUI2pActivity.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/util/Point.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/OffscreenWindow.java (diff)
The file was modifiedsrc/newt/native/X11Screen.h (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glsl/TestRulerNEWT01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGearsES1Activity.java (diff)
The file was addedsrc/newt/classes/jogamp/newt/MonitorDeviceImpl.java
The file was modifiedsrc/newt/native/NewtMacWindow.h (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/ScreenImpl.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/bcm/vc/iv/ScreenDriver.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTElektronActivity.java (diff)
The file was removedsrc/newt/classes/com/jogamp/newt/event/ScreenModeListener.java
The file was modifiedsrc/newt/classes/jogamp/newt/driver/awt/ScreenDriver.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGearsES2ActivityLauncher.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/util/Insets.java (diff)
The file was addedsrc/newt/classes/com/jogamp/newt/event/MonitorEvent.java
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGearsES2Activity.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTRedSquareES1Activity.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Screen.java (diff)
The file was addedsrc/newt/classes/jogamp/newt/ScreenMonitorState.java
The file was modifiedsrc/newt/native/X11RandR13.c (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestScreenMode00bNEWT.java (diff)
The file was addedsrc/newt/classes/com/jogamp/newt/event/MonitorModeListener.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/TestScreenMode01cNEWT.java
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTRedSquareES2Activity.java (diff)
The file was addedsrc/newt/classes/com/jogamp/newt/MonitorDevice.java
The file was modifiedsrc/newt/classes/com/jogamp/newt/Window.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/TestScreenMode01aNEWT.java
The file was modifiedsrc/newt/native/ScreenMode.h (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NEWT.java (diff)
The file was modifiedsrc/newt/native/X11Window.c (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestScreenMode02NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestScreenMode01NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGearsES2TransActivity.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/windows/ScreenDriver.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/util/Dimension.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/x11/RandR13.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGraphUI1pActivity.java (diff)
The file was addedsrc/newt/classes/com/jogamp/newt/event/OutputEvent.java
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/util/Rectangle.java (diff)
The file was modifiedsrc/newt/native/X11Screen.c (diff)
The file was modifiedmake/build-newt.xml (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestScreenMode01bNEWT.java (diff)
The file was modifiedsrc/newt/native/NewtMacWindow.m (diff)
The file was removedsrc/newt/classes/com/jogamp/newt/util/ScreenModeUtil.java
The file was removedsrc/newt/classes/com/jogamp/newt/ScreenMode.java
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/newt/native/WindowsWindow.c (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/WindowDriver.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/x11/ScreenDriver.java (diff)
The file was addedsrc/newt/classes/com/jogamp/newt/util/MonitorModeUtil.java
The file was modifiedsrc/newt/classes/jogamp/newt/driver/kd/ScreenDriver.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestScreenMode00NEWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/newt/classes/jogamp/newt/MonitorModeProps.java
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/ScreenDriver.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/x11/RandR11.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/x11/RandR.java (diff)
The file was modifiedmake/scripts/java-win64-dbg.bat (diff)
The file was modifiedsrc/newt/native/MacWindow.m (diff)
The file was modifiedsrc/newt/native/X11RandR11.c (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/ScreenDriver.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/util/RectangleImmutable.java (diff)
The file was removedsrc/newt/classes/com/jogamp/newt/util/MonitorMode.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/ManualScreenMode03NEWT.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/util/SurfaceSize.java (diff)
Commit 502e1d863e636808b7436354c3b639fc2f92bf29 by Sven Gothel
Fix GLSL Version Exposure: Type in 'static' GL -> GLSL matching, don't set GLSL version if GLSL is n/a
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl2/Gears.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es1/RedSquareES1.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/ExtensionAvailabilityCache.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es1/OlympicES1.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl3/GeomShader01TextureGL3.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es1/GearsES1.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/JoglVersion.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLMesaBug651NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/PointsDemoES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/RedSquareES2.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
Commit c8f41307f4a622398b3e765badc0525d74c2cbf7 by Sven Gothel
Fix GLX: X11GLXContext used wrong FBConfig n/a query; X11GLX*: If FBConfig is n/a force GLX (server) version down to 1.1 to avoid crashes w/ old GLX server (i.e. Mesa 4.*).
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXGraphicsConfiguration.java (diff)
Commit 5fb7f6322863e11892ace100e131ac7451ba8274 by Sven Gothel
MonitorMode Unit Tests: Perform 'filterByRate(..)' _after_ 'filterByResolution(..)' (desired resolution)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestScreenMode01NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestScreenMode01aNEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/ManualScreenMode03NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestScreenMode02NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestScreenMode01bNEWT.java (diff)
Commit 84576bc0b7c5bd9b7554ec02f01786228efdbe07 by Sven Gothel
MonitorMode: Fix API doc / comments / names.
The file was modifiedsrc/newt/classes/com/jogamp/newt/MonitorDevice.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestScreenMode01aNEWT.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/ScreenMonitorState.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/MonitorMode.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/WindowDriver.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/ScreenImpl.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Screen.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/MonitorDeviceImpl.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/x11/ScreenDriver.java (diff)
Commit 061ce19983556a751471459a964d886e4d7e3908 by Sven Gothel
NEWT Multiple Monitor Mode: Add missing 'collect' impl. for NEWT/AWT impl.
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/awt/ScreenDriver.java (diff)
Commit 081177f2433be50e3b5d46385c2f0f3f96311ed8 by Sven Gothel
NEWT Multiple Monitor Mode: Fix monitorModeChanged(..) event id, WindowImpl.monitorModeChanged(): Resize/position if not fitting into virtual screen viewport.
The file was modifiedsrc/newt/classes/jogamp/newt/driver/x11/WindowDriver.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/ScreenMonitorState.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 2344a21587b3053fc2f343087319ee094fe45442 by Sven Gothel
NEWT MonitorMode: Refine 081177f2433be50e3b5d46385c2f0f3f96311ed8: Reduce EDT roundtrip when resize/positioning on MonitorMode changed ..
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
Commit 038896636311c66e70f38066329c601beb0a3866 by Sven Gothel
Minor: Typo/Syntax in GLRendererQuirks
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java (diff)
Commit da8717097df2afba3fc7e9ef648ce6bc4ebd4f9f by Sven Gothel
GLX: Put native ByteBuffer to native-order in 'glXGetVisualFromFBConfig' and minor edits (final, same 'nativeOrder()' call style)
The file was modifiedmake/config/jogl/glx-CustomJavaCode.java (diff)
Commit ff08ebae2f6ed8788d481f4a21fc7a07a75733ee by Sven Gothel
GLJPanel: Use PixelBufferProvider AWTPixelBufferProviderInt; PixelBufferProvider: Add 'dispose()' to interface.

Transition reusing AWT specific PixelBufferProvider to allow a later user provided PixelBufferProvider.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/TextureData.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLReadBufferUtil.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/awt/AWTTextureData.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2GLJPanelAWT.java
Commit 66e3917da774b723007811e66d95f37b1ffffc97 by Sven Gothel
Add TestGearsGLJPanelAWT, i.e. multiple JPanels w/ GLJPanel running GearsES2 in their own color.

Note: JComponent will introduce flickering if using opaque rendering mode!
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl2/awt/TestGearsGLJPanelAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsObjectES2.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2GLJPanelsAWT.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es1/GearsES1.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/GearsObject.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2GLJPanelAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es1/GearsObjectES1.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/MiscUtils.java (diff)
Commit e6a234edb1318bb38f6ab65d96518471d0c7fd68 by Sven Gothel
GLBuffers: Extract common methods: bytesPerPixel(..) and componentCount(.). Better namings for vars, i.e. compCount, .. etc
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLBuffers.java (diff)
Commit 0a7bf77b8c0765f8a53dc72a8edab8e0496938ff by Sven Gothel
Refactor: TextureData's PixelAttributes/PixelBufferProvider -> GLPixelBuffer/.. and enhance usage; GLJPanel: Use GLPixelBuffer* API and SingleAWTGLPixelBufferProvider if possible.

Refactor: TextureData's PixelAttributes/PixelBufferProvider -> GLPixelBuffer/.. and enhance usage
  - GLPixelBuffer, GLPixelAttributes and GLPixelBufferProvider have potential for wider audience,
    hence extract them to package 'com.jogamp.opengl.util'.

  - Using GLPixelBuffer, shall attempt to use pack/unpack row-stride, i.e.
    GL2GL3.GL_PACK_ROW_LENGTH, or GL2GL3.GL_UNPACK_ROW_LENGTH.
    See GLReadBufferUtil and GLJPanel

  - AWTGLPixelBuffer*: Attribute 'row-stride' allows reusing a bigger buffer than requested.

GLJPanel: Use GLPixelBuffer* API and SingleAWTGLPixelBufferProvider if possible.
  - Use GLPixelBuffer API to remove redundancies

  - Attempts to use SingleAWTGLPixelBufferProvider to save JVM/CPU heap space
    for BuffereImage and IntBbuffer (readBack)

Added unit new test demonstrating multiple overlapping GLJPanels reusing (or not)
a singlton SingleAWTGLPixelBufferProvider.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/awt/AWTTextureData.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestJPEGJoglAWTBenchmarkNewtAWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLReadBufferUtil.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestJPEGJoglAWTCompareNewtAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2GLJPanelsAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestJPEGImage01NEWT.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/opengl/util/GLPixelBuffer.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug461FBOSupersamplingSwingAWT.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/opengl/util/awt/AWTGLPixelBuffer.java
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/awt/AWTGLReadBufferUtil.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/TextureData.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestTexture01AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/MiscUtils.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/caps/TestBug605FlippedImageNEWT.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestTexture02AWT.java (diff)
Commit ed732cddbcb979062c56e9c93534a232aaa7fa20 by Sven Gothel
Fix regression of commit 0a7bf77b8c0765f8a53dc72a8edab8e0496938ff - GLReadBufferUtil's GLPixelBuffer* usage. Ref GLJPanel SingleAWTGLPixelBufferProvider's screenshots.

Ref GLJPanel SingleAWTGLPixelBufferProvider's screenshots:
  <http://jogamp.org/files/screenshots/gljpanels-singlebuffer/>
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLReadBufferUtil.java (diff)
Commit 5e0a5049d873b5896553ee530562c28ffd3fbe0c by Sven Gothel
Fix NEWT MultiMonitor Regression: Use case w/o attached monitor, and NPE (Cache) in ScreenImpl.getVirtualMonitorDevice(..).

W/ RandR13, we can have a case of an Output/CRT w/o valid modes,
indicating a switched off or detached monitor.

ScreenImpl.getVirtualMonitorDevice(..) requires a Cache .. due to MonitorModeProps.streamInMonitorDevice(..)
The file was modifiedsrc/newt/classes/jogamp/newt/ScreenImpl.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/x11/ScreenDriver.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 890dabf77593732bd9833350b441a37c60f74d45 by Sven Gothel
Fix Bug 731: GLJPanel: Access global GLPixelBuffer via SingletonGLPixelBufferProvider, if provided - releasing prev. smaller GLPixelBuffer after resize.
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2GLJPanelsAWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLPixelBuffer.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/awt/AWTGLPixelBuffer.java (diff)
Commit 86a5460c5052cdab7b9f6294c46a0b4e30dfa260 by Sven Gothel
Fix Bug 723: Remove VK_KP_<Cursor> numpad key-codes, use general VK_<Cursor> key-codes; Respect numpad printable keys; Use keySym for numpad if possible.

- KeyEvent keyCode/keySym values re-ordered!

- Remove VK_KP_<Cursor> numpad key-codes, use general VK_<Cursor> key-codes.
  Numpad cursor keys are not supported on some platforms (Windows),
  or not configured on most X11 configurations.

- Respect numpad printable keys,
  i.e. don't treat them as non-printable.

- Use keySym for numpad if possible.
  Numpad keys require modifiers, hence X11 and Windows shall return keySym.
The file was modifiedsrc/newt/classes/jogamp/newt/awt/event/AWTNewtEventFactory.java (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/KeyEvent.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/swt/event/SWTNewtEventFactory.java (diff)
The file was modifiedsrc/newt/native/X11Display.c (diff)
The file was modifiedsrc/newt/native/WindowsWindow.c (diff)
The file was modifiedsrc/newt/native/KeyEvent.h (diff)
Commit 31e72d2f2d953352b2a8c83368039ecca8139d49 by Sven Gothel
NEWT: MouseEvent Ctor: Use proper float[] rotationXYZ and float rotationScale arguments.
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/BaseNewtEventModifiers.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/swt/event/SWTNewtEventFactory.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/awt/event/AWTNewtEventFactory.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/x11/WindowDriver.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/MouseEvent.java (diff)
Commit 33abeb8097a8f80acd1a4ce94b4866e5dc41f0c0 by Sven Gothel
Fix Bug 737: Add shader default precision for GLSL [1.30 .. 1.50[ - See GLSL Spec [1.30 - 1.40].
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2GLJPanelAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/TextureDraw01ES2Listener.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glsl/TestRulerNEWT01.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncPipeline.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/RedSquareES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glsl/TestGLSLShaderState02NEWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/GLSLTextureRaster.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glsl/TestGLSLShaderState01NEWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/glsl/ShaderCode.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/PointsDemoES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl3/GeomShader01TextureGL3.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
Commit b2802021acf8aa9b363ebef383c8dc8c8079ffa4 by Sven Gothel
Fix Bug 711: Align Graphs's Curve Shader programmatically to used GL/GLSL version, following all other internal GLSL usage utilizing ShaderCode.
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/RegionRendererImpl01.java (diff)
The file was removedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01b-es2.fp
The file was removedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-es2-merged.vp
The file was removedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer02a-xxx.fp
The file was addedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-2pass.fp
The file was addedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-1pass-weight.fp
The file was removedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01a-es2-merged.fp
The file was addedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-1pass.fp
The file was removedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01b-gl2.fp
The file was removedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer02b-gl2.fp
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/attributes.glsl (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT10.java (diff)
The file was removedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01a-xxx.fp
The file was removedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer02b-xxx.fp
The file was removedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-es2.vp
The file was addedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01.vp
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/TextRendererImpl01.java (diff)
The file was removedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-gl2.vp
The file was removedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer02a-gl2.fp
The file was removedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-xxx.vp
The file was removedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer02a-es2.fp
The file was addedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-2pass-weight.fp
The file was removedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01a-gl2.fp
The file was removedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01b-xxx.fp
The file was removedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer02b-es2.fp
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/glsl/ShaderCode.java (diff)
The file was removedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01a-es2.fp
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/Renderer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/varyings.glsl (diff)
Commit aef87b5db07d6b3f556d72ac7492fa0fba0d2de0 by Sven Gothel
GLSL version determination: Use static GLSL version mapping in case of GLES - Mesa 9.1* fails otherwise since it supports ES3/300 which is returned.
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
Commit 1cc44101bd4f44407929c686d3c6e00d36793495 by Sven Gothel
JOGL GLSL ShaderProgram/State: Release of an unlinked ShaderProgram shall not throw an exception -> avoid calling useProgram(.., false).
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/glsl/ShaderState.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/glsl/ShaderProgram.java (diff)
Commit 9fbcc16eb37b35f4f0f02e74be6ab14169e3bad0 by Sven Gothel
GLPixelBuffer.dispose(): Set diposed:=true to allow isValid() to work properly; GLJPanel: Rely on GLPixelBuffer.requiresNewBuffer(..) for each frame, don't use local pixelBufferCheckSize (buggy w/ singleton)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLPixelBuffer.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
Commit 979e8375e59050d3c7a37ba4902eb8b789813831 by Sven Gothel
Fix Bug 736: Add GL.GL_UNSIGNED_INT and GL2ES2.GL_INT case in GLArrayDataWrapper.getBufferClass()
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLArrayDataWrapper.java (diff)
Commit 6e08b6f011335ff4a9f4f59b271d97aec4ba30d7 by Sven Gothel
Fix Unit Tests Exclusion " if( !GLProfile.isAvailable(GLProfile.GL*) ) { .. } ": Add missing return statement to abort test.
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2GLJPanelAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/swt/TestGearsES2SWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NewtCanvasSWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestRedSquareES2NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NewtCanvasAWT.java (diff)
Commit 6655194e6d206807b8cf1a14cffb005dde673e26 by Sven Gothel
Unit Test: Remove unused import
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLAutoDrawableDelegateOnOffscrnCapsNEWT.java (diff)
Commit f650e6b37407aaa3ef6c16e7daf6423103b94ddf by Sven Gothel
Fix regression of commit b2802021acf8aa9b363ebef383c8dc8c8079ffa4 (Bug 711): varying in/out mapping is different in vertex/fragment shader!

Vertex shader:   varying -> out
Fragemnt shader: varying -> in

NV GLSL compiler ignored in/out direction,
where ATI GLSL compiler failed (could not find gcu_Weight, due to dead code).
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-1pass.fp (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01.vp (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/attributes.glsl (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-2pass-weight.fp (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-2pass.fp (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-1pass-weight.fp (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/varyings.glsl (diff)
Commit 81afec4e963ac4372dc2b604d6f91237b81ee6f2 by Sven Gothel
GLVersionNumber: Fix vendor version parser; Adapt to GlueGen commit 959d6d83ec26152343d538287c02eeebf0dcf238

Adapt to GlueGen commit 959d6d83ec26152343d538287c02eeebf0dcf238:
  - Use only RegExp and cache default (no wrapped whitespace tokenizer)
  - String match: Store end-of-match and flag defined components.
  - Remove manual parsing, utilize VersionNumber
  - No need to look further for 'updated' GL version, (probably the vendor version),
    since we utilize the ARB version number as set at creation.

Fix vendor version parser:
  - Cut off GL version part of versionString (fixes case where GL version was interpreted as vendor version)
  - Loop through remaining string until a valid version number w/ major.minor has been found
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLVersionParsing00NEWT.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLVersionNumber.java (diff)
Commit ef8949d4bdfb21bbe423acc661affaf59369f859 by Sven Gothel
Complete/Fix GLVersionNumber (81afec4e963ac4372dc2b604d6f91237b81ee6f2): Set 'valid' flag, always set major/minor and strEnd.

Also: Add negative tests to unit test.
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLVersionNumber.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLVersionParsing00NEWT.java (diff)
Commit cbd7bf1d65a253381b0775d57c0c949c75aef008 by Sven Gothel
GLVersionNumber.createVendorVersion(): Only test match result and potentially continue matching if having a pattern-match (don't loop for-ever).
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLVersionNumber.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/FBObject.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLVersionParsing00NEWT.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
Commit a60e3b1a894c53abe7ab3a19f1f30cfa96886464 by Sven Gothel
Unit Tests: Group *math* tests in own test package
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestPMVMatrix02NEWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestPMVMatrix02NOUI.java
The file was modifiedmake/scripts/tests.sh (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestPMVMatrix01NEWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestFloatUtil01MatrixMatrixMultNOUI.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestGluUnprojectDoubleNOUI.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestGluUnprojectFloatNOUI.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestPMVMatrix01NEWT.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/glu/TestGluUnprojectFloatNOUI.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/glu/TestGluUnprojectDoubleNOUI.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestFloatUtil01MatrixMatrixMultNOUI.java
Commit 70087b3067df7bfe6612af7388f8e86f77b150b4 by Sven Gothel
ScreenMode Unit Tests: Add wait for screen destroy (off-thread)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestScreenMode01NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/AWTRobotUtil.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestScreenMode02NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestScreenMode00bNEWT.java (diff)
Commit 1c1ffed31548094cf7afbb4c83b0cb627ae3a1ad by Sven Gothel
Bug 747: Allow usage of IdentityHashMap w/ keys: AbstractGraphicsDevice.getUniqueID() and GLContext.getDeviceVersionAvailableKey()

.. both value classes unique, long lived and rare.
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/AbstractGraphicsDevice.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/DefaultGraphicsDevice.java (diff)
Commit e2b443a61cc9dd3efcaf685163ef9290638bf18e by Sven Gothel
Adapt to Gluegen's IOUtil change commit b98825eb7cfb61aead4a7dff57471cd2d2c26823
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestPNGImage01NEWT.java (diff)
Commit 81a4f175e3065ea281139d08cc79bcdfb4912ee7 by Sven Gothel
FloatUtil: Add in-place multMatrixf (since we mult line by line, we can multiply in place). Will be used by PMVMatrix.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/FloatUtil.java (diff)
Commit 50fc55b42f791840ce1ddee943351ccc61285a84 by Sven Gothel
Fix Bug 748 - PMVMatrix gluProject and gluUnProject broken w/ backingArray (default) ; Also: Use FloatUtil in-place multMatrixf.

PMVMatrix gluProject(..) and gluUnProject(..) don't pass their position (offset)
to the multMatrixf operation - even though they are sliced.

The API doc actually emphasizes this.
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestPMVMatrix03NOUI.java
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit ee3c6d807f24fafc6a79da4d60442f62f6065d39 by Sven Gothel
HowTo Build: Ubuntu -> Debian
The file was modifieddoc/HowToBuild.html (diff)
Commit 05eef46e33f41f5c234ffb1563fd8f641208fe85 by Sven Gothel
Adapt to GlueGen commit 1a01dce6c42b398cdd68d405828774a3ab366456
The file was modifiedmake/config/jogl/cg-common-CustomJavaCode.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtAppletBase.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/TypecastFontConstructor.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGDynamicLibraryBundleInfo.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/Debug.java (diff)
The file was modifiedmake/config/jogl/cg-common.cfg (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/font/FontFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/Debug.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/Debug.java (diff)