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

Changes

Summary

  1. AWT GLCanvas: More strict GLDrawable realization [on AWT-EDT], skip if (details)
  2. Adapt change of commit d93c5d23e304ea20e868595748f92a5bef4f5703 to unit (details)
  3. Fix Bug 658 (Mesa 9.0 3.1 Intel compat quirk, 3.1 core only) ; No (details)
  4. Cleanup / Simplify: setGLFunctionAvailability(..) / (details)
  5. setGLFunctionAvailability(..): Unify GLInt and GLString version (details)
  6. SharedResourceRunner: Always dump Exception if catched @ creation, not (details)
  7. Bug632: Test NEWT Child Window Translucency (X11/Windows) .. (details)
  8. NEWT WindowsWindow.c: UpdateInsets: Fix determiniation of isUndecorated (details)
  9. Enhance PMVMatrix: Use FloatStack to implement PushMatrix and PopMatrix (details)
  10. Update PNGJ 0.85 -> 1.12 (w/ interlace read support) ; Added PNG (details)
  11. Fix GLArrayDataClient createGLSL(..) 'name' setting; Also adds equal (details)
  12. GLAutoDrawable/AnimatorBase: Add ExclusiveContextThread (ECT) feature; (details)
  13. Minor: GLWindow fix size validation; GLContextImpl: Remove hold ctx lock (details)
  14. Add old Olympic demo from GL4Java - Make it use ES1 and suitable for (details)
  15. build/test: newt-headless shall exclude AWT/SWT (details)
  16. Adding GEOMETRY_SHADER support in ShaderCode, adding core (details)
  17. Move all Exclusive Context Thread (ECT) tests to it's own package to (details)
  18. Fix Bug 666: GLBase.java line 438 contained some invalid trailing (details)
  19. NEWT-MouseEvent getWheelRotation() API Update - Fixes Bug 659: NEWT (details)
  20. LinuxMouseTracker: Fix inverted Y-axis & missing button release. (details)
  21. ShaderState: Reduce hash-map utilization at shader switch (reset (details)
  22. README: Add new IRC channel, mark Jabber deprecated (details)
  23. README: Add new IRC channel, mark Jabber deprecated (details)
  24. Sync LauncherUtil w/ GlueGen commit (details)
  25. Fix Bug 669: Recursive GLContext makeCurrent()/release() (details)
  26. NEWT/Android: Full Lifecycle for WindowDriver; Using static ViewGroup; (details)
  27. Adapt to change 5060b728b26a89a14367f8fca9f4eb7968f719ca: (details)
  28. TestSwingAWTRobotUsageBeforeJOGLInitBug411: Fix 'chicken egg' init (details)
  29. Android/NewtVersionActivity: Dump avail. GLCaps / Use stderr, since log (details)
  30. Android: Allow selection of native window formats RGBA8888, RGBX8888 and (details)
  31. Bug 665 (part 1) - Allow dis-association of GLContext's GLDrawable .. (details)
  32. FBObject/GLFBODrawableImpl: Silence stderr if not in DEBUG mode relying (details)
  33. [EGL/X11]Context: Enhance DEBUG output for failed makeCurrentImpl(..) (details)
  34. ProxySurface: Add 'NativeSurface getUpstreamSurface()' ; (details)
  35. WGLContext: Enhance DEBUG output for failed makeCurrentImpl(..) (details)
  36. Refine GL[Auto]Drawable 'realized' state in API doc, and relax it's (details)
  37. Animator: API doc cleanup, isPaused()==true if drawablesEmpty (Animator (details)
  38. Fix misc API docs .. (details)
  39. GLDrawableHelper.invoke: If drawable is !realized -> deferred execution (details)
  40. Fix regression of commit b738983638703bb721ee4c9820c8ef43e2252e73, (details)
  41. Bug 665 (part 3) - Allow dis-association of GLContext's GLDrawable .. - (details)
  42. Add WindowClosingProtocol impact detail on (details)
  43. Fix Bug 678: Deliver key-char value for printable chars on all (details)
  44. OSX unit tests: Disable OSX 32bit tests (redundant - prepare for Java7 (details)
  45. Add OSX Java7 build/test scripts (details)
  46. Fix AWTKeyAdapter: Reorder AWT events to NEWT order - also ensuring (details)
  47. Add LinuxEventDeviceTracker used by RaspPi (details)
  48. LinuxEventDeviceTracker: LinuxEventDeviceManager monitor (details)
  49. LinuxEventDeviceTracker: gracefully manage hot-swap of USB devices. (details)
  50. LinuxEventDeviceTracker: LinuxEVKey2NewtVKey(EVKey 0-121) (details)
  51. LinuxEventDeviceTracker: LinuxEVKey2NewtVKey(EVKey 122-248) (details)
  52. LinuxEventDeviceTracker: Map printable char using (details)
  53. Bump Android NDK to android-ndk-r8d (details)
  54. Android: Adapt to cleanup of ClassLoaderUtil/LauncherUtil - GlueGen (details)
  55. Android GearsES2 Launcher: Revert debug flags .. (details)
  56. Fix Animator resume() wait-condition (drawablesEmpty didn't wait for (details)
  57. GLContext: *TRACE_SWITCH spacing (details)
  58. Java2D OGLPipeline(GLJPanel+Threading): More fine grained control about (details)
  59. Fix bug 668 : Android keyboard input was uppercase (details)
  60. Fix OSX CALayer Bug 690 and Bug 691: Occasional Freeze on (details)
  61. Fix Bug 691 (part-2): Extra '[subLayer release]' is wrong, since (details)
  62. Fix Bug 675: NPE w/ Beans.setDesignTime(true) ; Fix GLCanvas.destroy(): (details)
  63. Refine unit test for Bug 691: Add onscreen/offscreen tests [if (details)
  64. Fix Bug 691 (part-3): NSOpenGLLayer::openGLContextForPixelFormat(..) on (details)
  65. X11/WGL: Better Exception Message for failed ARB context creation if (details)
  66. Fix TestWindowClosingProtocol01AWT: GLCanvas closing operation 'destroy' (details)
  67. Fix Bug 644: AWT GLCanvas and GLJPanel ignored their visibility state (details)
  68. Uni Tests AddRemove: Remove dead code .. (details)
  69. TestWindowClosingProtocol01AWT: More relaxed timing reducing false (details)
  70. NEWT/OSX: Fix Memory Leak ; Fix Occasional Crash Duer to Lifecycle Ops (details)
  71. build-test.xml: Move 'junit.run.newt.awt' up in file; 'junit.run.newt': (details)
  72. Add proper copyright header w/ all remarks regarding re-distribution (details)
  73. OSX/Java7 Cleanup: Remove JavaNativeFoundation dependency; (details)
  74. Unit Tests: Use Property 'jvmJava.exe' ; Add target (details)
  75. Unit Tests: Add 'results-java7' to check-junit.sh (Completes commit (details)
  76. Bug 678 (fix), Bug 641 (API + Windows Impl.), Bug 688 (prep): Update (details)
  77. Unit Tests NewtEventModifiers: Attempt to make them more robust for that (details)
  78. Unit Tests NewtEventModifiers (2): Robostness (details)
  79. Unit Tests: Add [manual] demo cases for SWT (TestGearsES2SWT, (details)
  80. NEWT/OSX: Fix 'locationOnScreen' usage and use proper client-area window (details)
  81. NewtCanvasAWT: Fix size determination, i.e. take newt-child's size into (details)
  82. OSX/Java7/CALayer + JAWT: Partially Fix AWT/NEWT CALayer 'out of sight' (details)
  83. Fix NPE of Bug 679: The ctx was released w/o fully initialized (no (details)
  84. TestGearsES2SWT: Fix NPE (details)
  85. Fix GLVersionNumber (Bug 679): Don't use a subsequent version number if (details)
  86. Relax GLContextImpl.setGLFunctionAvailability(..)'s Version Matching if (details)
  87. Bug 548 and Bug 679: Add 'glFlush()' requirement (OSX < 10.7.3 && NVIDIA (details)
  88. GLProfile: Adding convenient query for highest programmable core only GL (details)
  89. TestNewtEventModifiers*: Robostness (uhh) Unify wait-clear result code - (details)
  90. Fix CALayer pos/size and animation. (details)
  91. NEWT/OSX Fix: Child positioning ; NewtCanvasAWT: Change reparent time (details)
  92. Adds a unit test for the bug 694 on gluScaleImage (details)
  93. Fix NEWT/AWT WindowClosing Unit Tests ; Review/Cleanup NEWT (details)
  94. Fix Bug 677: NEWT/Android: Add support for Android's (details)
  95. NEWT WindowImpl: Cleanup redundancies in destroy() and (details)
  96. NEWT: Harmonize MouseEvent Pressure (API Change!) (details)
  97. Fix AWT EDT Deadlock in AWTWindowClosingProtocol, regression of commit (details)
  98. Adapt to GlueGen's relocation of AWTEDTExecutor - GlueGen commit (details)
  99. All AWT Related Unit Tests: Call AWT 'frame.setVisible(..)' and (details)
  100. TestBug572AWT: Add test case w/ setting GLCanvas's size and frame.pack() (details)
  101. Fix Bug 695: WGLExt.wglChoosePixelFormatARB causes buffer underflow due (details)
  102. TestBug694 -> TestBug694AWT so it properly gets picked up by the AWT (details)
  103. GLJPanel: Add DEBUG_VIEWPORT flag, Add USE_GLSL_TEXTURE_RASTERIZER flag, (details)
  104. GLJPanel: Updating GLJPanel documention w/ current mode of operation (details)
  105. Fix buggy unit test for Bug 694: The unpack alignment has to be (details)
  106. Fix Mix2TexturesES2 unit tests: Use synchronized texID access and add (details)
Commit d93c5d23e304ea20e868595748f92a5bef4f5703 by Sven Gothel
AWT GLCanvas: More strict GLDrawable realization [on AWT-EDT], skip if creation is not possible on AWT-EDT.

The Intel HD3000 OpenGL driver on Windows will deadlock @ SwapBuffers in case the drawable is created
on a thread other than the window owner thread.

We are aware of such possibilities, nevertheless the AWTEDTExecutor.singleton.invoke(..)
allowed to execute the runnable in case it cannot be invoked on AWT-EDT.
The latter is the case if the current thread is not the AWT-EDT _and_ is holding the AWT tree-lock.

With GlueGen commit 0b43b43f889ad7fc220942b0076e2001ca3cf13f, the invoke method now consumes
an argument allowing to restrict the execution to AWT-EDT only.

In such case, the drawable will be realized at a later time from the AWT-EDT.

Such a situation could be triggered if a Frame's setVisible(true)
is not issued from the AWT-EDT, as it should be!
However, to relax such use cases - we better recognize such possible dealock and avoid it.
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableImpl.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
Commit 74d8e51e1cbb436eab6b90f78de90dacd10e60a5 by Sven Gothel
Adapt change of commit d93c5d23e304ea20e868595748f92a5bef4f5703 to unit test (GLCanvas realization point)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug572AWT.java (diff)
Commit 3ce0aa6e36d9474ac3105cab491a60327860757d by Sven Gothel
Fix Bug 658 (Mesa 9.0 3.1 Intel compat quirk, 3.1 core only) ; No PROFILE_ALIASING compat -> core ; Fix setGLFunctionAvailability(..) failure path @ profile query

- Add GLRendererQuirks.GLNonCompliant, marking a GL context/profile non compliant.
  Currently: 'Mesa DRI Intel(R) Sandybridge Desktop' && 3.1 compat profile

- Fix Bug 658 (Mesa 9.0 3.1 Intel compat quirk, 3.1 core only)
  Detect case using new GLRendererQuirks.GLNonCompliant in setGLFunctionAvailability() and return 'false'.

- No PROFILE_ALIASING compat -> core
  Use true core GL profiles / context if available to ensure
  proper API behavior across platforms due to different functionality.
  E.g. don't use GL3bc if GL3 is requested.

- Fix setGLFunctionAvailability(..) failure path @ profile query
  Destroy temp context & zero result to cont. iterating through GL versions.
  This missing cleanup lead to returning the faulty GL context handle and it's mapping/usage.
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLMesaBug651NEWT.java
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLUnitsNEWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLMesaBug658NEWT.java
Commit b6ae4e4dcbd740dd57de9dc3280d943e98cdaa76 by Sven Gothel
Cleanup / Simplify: setGLFunctionAvailability(..) / createContextARBVersions(..) GL Version Validation

String or integer based GL version validation now happens in setGLFunctionAvailability(..)
depending on the requested profile.

Due to the 'strictMatch' argument the method fails early when unsatisfied
also allowing to simplify createContextARBVersions(..) implementation.
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/native/JoglCommon.c (diff)
Commit ece5acb85b3dac22352aca75dd09aadcb96b43f3 by Sven Gothel
setGLFunctionAvailability(..): Unify GLInt and GLString version validation; Refines commit b6ae4e4dcbd740dd57de9dc3280d943e98cdaa76

- Limit getGLIntVersion() w/ non ARB ctx to 3.0 - similar to getGLVersionNumber(.., String).

- GLInt only proceeds w/ valid version

- Always test GLInt version before GLString version,
  cont. w/ GLString version if GLInt failed.

- Fail if strictMode and GLInt failed, but GLString reports GL >= 3.0

- Fail is strictMode and neither GLInt nor GLString could validate version

- Clear glError before succeeding (could be tainted by GLInt version test)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
Commit fee7dbecbaaa9a65ff8cb0f54531dada413233d1 by Sven Gothel
SharedResourceRunner: Always dump Exception if catched @ creation, not just in DEBUG case.

This seems to be crucial, since otherwise user is left in the dark w/o enabling debug flags.
The file was modifiedsrc/jogl/classes/jogamp/opengl/SharedResourceRunner.java (diff)
Commit 35236f571a09e1ef21a57693bd2e4d715413f700 by Sven Gothel
Bug632: Test NEWT Child Window Translucency (X11/Windows) ..

- Windows: Child window is not translucent at all

- X11: Child window is translucent to parent's background,
       however - parents content is _not_ 'composed in'.

- TODO: Find whether there is a solution or not.

- Note: The child window does not change it's rel. position
        if parent moves! This is a feature, since we don't
        have impl. a layout.
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/nativewindow/native/win32/WindowsDWM.h (diff)
The file was modifiedsrc/nativewindow/native/win32/GDImisc.c (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/windows/GDIUtil.java (diff)
The file was modifiedmake/stub_includes/win32/WindowsDWM.h (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestTranslucentParentingAWT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java (diff)
The file was modifiedmake/scripts/java-win64-dbg.bat (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestTranslucentChildWindowBug632NEWT.java
Commit 61eb1060ca535306d6580b23933e25710ece0b14 by Sven Gothel
NEWT WindowsWindow.c: UpdateInsets: Fix determiniation of isUndecorated - WS_SYSMENU is _not_ an indication!
The file was modifiedsrc/newt/native/WindowsWindow.c (diff)
Commit 96f8f55a8db5f430fc17ce9ea1bf45e4728ab6ac by Sven Gothel
Enhance PMVMatrix: Use FloatStack to implement PushMatrix and PopMatrix (Bug 657)

One FloatStack for each, MV, P and T, with initialialSize zero to save memore
and growSizes: MV = 16 arrays, P = 2 arrays, T = 2 arrays,
with array = 16 floats.

This shall save performance due to the preallocated stack when used
and growing only in the above mentioned grow intervals.

We may finetune the growSize, if required.
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java (diff)
Commit 921b33825340d27deec2883ded21cb7434decc94 by Sven Gothel
Update PNGJ 0.85 -> 1.12 (w/ interlace read support) ; Added PNG Interlace read tests (TestPNGTextureFromFileNEWT)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/ImageLine.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkIDAT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkUNKNOWN.java (diff)
The file was addedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunksListForWrite.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/package.html (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkCopyBehaviour.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkBKGD.java (diff)
The file was addedsrc/jogl/classes/jogamp/opengl/util/pngj/ImageLineHelper.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/PngReader.java (diff)
The file was addedsrc/jogl/classes/jogamp/opengl/util/pngj/PngjExceptionInternal.java
The file was removedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkList.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunk.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngMetadata.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscIG01-160x90.png
The file was addedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkMultiple.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkZTXT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/FilterWriteStrategy.java (diff)
The file was addedsrc/jogl/classes/jogamp/opengl/util/pngj/PngHelperInternal.java
The file was addedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkOFFS.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/FilterType.java (diff)
The file was addedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkSTER.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/ProgressiveOutputStream.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkIEND.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkSPLT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/PngIDatChunkOutputStream.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestPNGTextureFromFileAWT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkTIME.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkPHYS.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkLoadBehaviour.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkHIST.java (diff)
The file was addedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkSkipped.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkTextVar.java (diff)
The file was removedsrc/jogl/classes/jogamp/opengl/util/pngj/PngHelper.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkTEXT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkHelper.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkRaw.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkCHRM.java (diff)
The file was modifiedLICENSE.txt (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkITXT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/PngWriter.java (diff)
The file was addedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkSingle.java
The file was addedsrc/jogl/classes/jogamp/opengl/util/pngj/ImageLines.java
The file was addedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunksList.java
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkIHDR.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestPNGTextureFromFileNEWT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkPLTE.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/ImageInfo.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkSRGB.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkGAMA.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkTRNS.java (diff)
The file was addedsrc/jogl/classes/jogamp/opengl/util/pngj/PngDeinterlacer.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscI01-160x90.png
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/PngIDatChunkInputStream.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkSBIT.java (diff)
The file was addedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkPredicate.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkICCP.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscN01-160x90.png
Commit 6fd9c3d84e1758ae27cd10a89237a558460ca1fb by Sven Gothel
Fix GLArrayDataClient createGLSL(..) 'name' setting; Also adds equal behavior for Client/Server FFP usage.

- GLArrayDataWrapper's init() only validated and set the 'name' for VBO ARRAY_BUFFER usage and validates it,
  regardless of FFP or GLSL usage.

- GLArrayDataWrapper's init() included the no-VBO case to the above 'name' set/validate code path.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLArrayDataWrapper.java (diff)
Commit 224fab1b2c71464826594740022fdcbe278867dc by Sven Gothel
GLAutoDrawable/AnimatorBase: Add ExclusiveContextThread (ECT) feature; AnimatorBase: Add setModeBits/MODE_EXPECT_AWT_RENDERING_THREAD; FPSAnimator: Make transactions deterministic.

ExclusiveContextThread (ECT) allows user to dedicate a GLContext to a given thread.
Only the ECT will be allowed to claim the GLContext, hence releasing must be done on the ECT itself.

The core feature is accessible via GLAutoDrawable, while it can be conveniently enabled and disabled
via an AnimatorBase implementation. The latter ensures it's being released on the ECT and waits for the result.

Note that ECT cannot be guaranteed to work correctly w/ native (heavyweight) AWT components
due to resource locking and AWT-EDT access. This is disabled in all new tests per default and
noted on the API doc.

Note: 'Animator transaction' == start(), stop(), pause(), resume().

- Add ExclusiveContextThread (ECT) feature
  - GLAutoDrawable NEW:
    - Thread setExclusiveContextThread(Thread t)
    - Thread getExclusiveContextThread()

  - AnimatorBase NEW:
    - Thread setExclusiveContext(Thread t)
    - boolean setExclusiveContext(boolean enable)
    - boolean isExclusiveContextEnabled()
    - Thread getExclusiveContextThread()

- AnimatorBase: Add setModeBits/MODE_EXPECT_AWT_RENDERING_THREAD
  Allows user to pre-determine whether AWT rendering is expected before starting the animator.
  If AWT is excluded, a more simple and transaction correct impl. will be used.

- FPSAnimator: Make transactions deterministic.
  FPSAnimator previously did not ensure whether a transaction was completed.
  A deterministic transaction is required to utilize ECT.
  FPSAnimator now uses same mechanism like Animator to ensure completeness,
  i.e. Condition and 'finishLifecycleAction(..)'. Both are moved to AnimatorBase.

Tested manually on Linux/NV, Linux/AMD, Windows/NV and OSX/NV.
  - All new tests validated correctness.
  - All new tests shows an performance increase of ~3x w/ single GLWindow, where multiple GLWindows don't show a perf. increase.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase10AWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase10NEWT.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableHelper.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext01VSyncAnimNEWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext02FPSAnimAWT.java
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLAnimatorControl.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext01VSyncAnimAWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext12FPSAnimNEWT.java
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NEWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/Animator.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase00AWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase10.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2AWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/FPSAnimator.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtAppletBase.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
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/TestExclusiveContext11VSyncAnimNEWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase00.java
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLAutoDrawable.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext02FPSAnimNEWT.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/InitConcurrentBaseNEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es1/newt/TestGearsES1NEWT.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/ExclusiveContextBase00NEWT.java
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/RedSquareES2.java (diff)
Commit bdc2e57ffc91d88e187ded8c42335710448f50f0 by Sven Gothel
Minor: GLWindow fix size validation; GLContextImpl: Remove hold ctx lock count constraints at destroy.
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
Commit cb3e3638179a360a07325a908da7593f8e285f3c by Sven Gothel
Add old Olympic demo from GL4Java - Make it use ES1 and suitable for FixedFunctionEmul.
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es1/OlympicES1.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es1/newt/TestOlympicES1NEWT.java
Commit a1bc317c24d55da1199450fe4c9c85d1105844b5 by Sven Gothel
build/test: newt-headless shall exclude AWT/SWT

TestNewtEventModifiersNEWTWindowAWT was incl. in newt headless
The file was modifiedmake/build-test.xml (diff)
Commit 62c8fcc30dd5f9558df9ca907a6936c7bc252527 by Sven Gothel
Adding GEOMETRY_SHADER support in ShaderCode, adding core GL3/GEOMETRY_SHADER unit tests. ; Simplified GLContext version number

- Adding GEOMETRY_SHADER support in ShaderCode, adding core GL3/GEOMETRY_SHADER unit tests

  Chuck Ritola reported in December 2012 that we lack support of GEOMETRY_SHADER
  and he provided a test case.

  The latter is cleaned up to use GL3 core profile features only
  tesing a pass-through and the flip-XYZ geometry shader.

  ShaderUtil is fixed.

- Simplified GLContext version number
  The OpenGL major/minor version is now hold in a VersionNumber instance
  to simplify usage. Also expose it via getGLVersionNumber() while marking
  getGLVersionMajor() and getGLVersionMinor() deprecated.
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLContext.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl3/newt/TestGeomShader01TextureGL3NEWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl3/shader/passthrough01_xxx.gp
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl3/GeomShader01TextureGL3.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl3/shader/flipXYZ01_xxx.gp
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/glsl/ShaderUtil.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl3/shader/texture01_xxx.fp
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/glsl/ShaderCode.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/GLExtensions.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl3/shader/texture01_xxx.vp
Commit 64041218f3d5965b9525e8699aa97e9ec751cd95 by Sven Gothel
Move all Exclusive Context Thread (ECT) tests to it's own package to de-clutter core test package
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/ect/ExclusiveContextBase00NEWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/ect/TestExclusiveContext02FPSAnimNEWT.java
The file was modifiedmake/scripts/tests.sh (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase00AWT.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase00NEWT.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext11VSyncAnimNEWT.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase10.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext02FPSAnimNEWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/ect/TestExclusiveContext02FPSAnimAWT.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext01VSyncAnimNEWT.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase10NEWT.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase00.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/ect/TestExclusiveContext12FPSAnimNEWT.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext01VSyncAnimAWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/ect/ExclusiveContextBase10.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/ect/ExclusiveContextBase00.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/ect/TestExclusiveContext01VSyncAnimNEWT.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase10AWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/ect/ExclusiveContextBase10NEWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/ect/TestExclusiveContext11VSyncAnimNEWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/ect/ExclusiveContextBase10AWT.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext02FPSAnimAWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/ect/ExclusiveContextBase00AWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/ect/TestExclusiveContext01VSyncAnimAWT.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext12FPSAnimNEWT.java
The file was modifiedmake/scripts/tests-x64.bat (diff)
Commit 955a444939ba67c6077b6937e191719aa184dafe by Sven Gothel
Fix Bug 666: GLBase.java line 438 contained some invalid trailing characters (regression from e7064ece049705e013d80985eae698ce0ee3c4e3)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLBase.java (diff)
Commit da14d647581751f3d2f6d651741eaec485e255b5 by Sven Gothel
NEWT-MouseEvent getWheelRotation() API Update - Fixes Bug 659: NEWT Horizontal Scrolling Behavior (OSX, X11, Win32); Bug 639: High-Res Mouse-Wheel

- API update 'float getWheelRotation()':
  Usually a wheel rotation of > 0.0f is up, and < 0.0f is down.

  Usually a wheel rotations is considered a vertical scroll.
  If isShiftDown(), a wheel rotations is considered a horizontal scroll,
  where shift-up = left = > 0.0f, and shift-down = right = < 0.0f.

  However, on some OS this might be flipped due to the OS default behavior.
  The latter is true for OS X 10.7 (Lion) for example.

  The events will be send usually in steps of one, ie. -1.0f and 1.0f.
  Higher values may result due to fast scrolling.
  Fractional values may result due to slow scrolling with high resolution devices.

  The button number refers to the wheel number.

- Fix Bug 659: NEWT Horizontal Scrolling Behavior (OSX, X11, Win32)

  - See new API doc above

  - X11/Horiz: Keep using button1 and set SHIFT modifier

  - OSX/Horiz:
    - PAD: Use highes absolute scrolling value (Axis1/Axis2)
           and set SHIFT modifier for horizontal scrolling (Axis2)
    - XXX: Use deltaX for horizontal scrolling, detected by SHIFT modifier. (traditional)

  - Windows/Horiz:
    - Add WM_MOUSEHWHEEL support (-> set SHIFT modifier), but it's rarely impl. for trackpads!
    - Add exp. WM_HSCROLL, but it will only be delivered if windows has WS_HSCROLL, hence dead code!

  - Android:
    - Add ACTION_SCROLL (API Level 12), only used if layout is a scroll layout

    - Using GestureDetector to detect scroll even w/ pointerCount > 2, while:
         - skipping 1st scroll event (value too high)
         - skipping other events while in-scroll mode
         - waiting until all pointers were released before cont. normally
         - using View config's 1/touchSlope as scale factor

- Fix Bug 639: High-Res Mouse-Wheel
  - getWheelRotation() return value changed: int -> float
    allowing fractions, see API doc changes above.

  - Fractions are currently supported natively (API) on
    - Windows
    - OSX
    - Android

- AndroidNewtEventFactory ir refactored (requires an instance now) and
  AndroidNewtEventTranslator (event listener) is pulled our of Android WindowDriver.
The file was modifiedmake/scripts/tests-x32.bat (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedmake/scripts/java-win64-dbg.bat (diff)
The file was modifiedmake/resources/android/AndroidManifest-test.xml (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/awt/event/AWTNewtEventFactory.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedmake/scripts/java-win32-dbg.bat (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/MouseEvent.java (diff)
The file was modifiedsrc/newt/native/X11Display.c (diff)
The file was modifiedsrc/newt/native/NewtMacWindow.m (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventFactory.java (diff)
The file was modifiedsrc/newt/native/WindowsWindow.c (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/windows/DisplayDriver.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/windows/GDIUtil.java (diff)
The file was modifiedsrc/newt/native/XCBEvent.c (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/windows/RegisteredClassFactory.java (diff)
The file was modifiedsrc/newt/native/KDWindow.c (diff)
The file was modifiedsrc/newt/native/X11Event.c (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/windows/RegisteredClass.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/swt/event/SWTNewtEventFactory.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/windows/WindowDriver.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
The file was modifiedsrc/newt/native/bcm_vc_iv.c (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/x11/WindowDriver.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/NewtFactory.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/WindowDriver.java (diff)
The file was addedsrc/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventTranslator.java
Commit 7c1b15bfb00b36e80284701b1ede992b7eb82ef4 by xerxes
LinuxMouseTracker: Fix inverted Y-axis & missing button release.

Signed-off-by: Xerxes Rånby <xerxes@zafena.se>
The file was modifiedsrc/newt/classes/jogamp/newt/driver/linux/LinuxMouseTracker.java (diff)
Commit 5060b728b26a89a14367f8fca9f4eb7968f719ca by Sven Gothel
ShaderState: Reduce hash-map utilization at shader switch (reset uniforms/attributes); Refine API doc.
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/glsl/ShaderState.java (diff)
Commit f89fab356c556bff91cfc74e1f723ae5477de9db by Sven Gothel
README: Add new IRC channel, mark Jabber deprecated
The file was modifiedREADME.txt (diff)
Commit 9c189b4202b25f08b0bddd9dcda4f085ec85912b by Sven Gothel
README: Add new IRC channel, mark Jabber deprecated
The file was modifiedLICENSE.txt (diff)
Commit 896a0821b78c9aadf38e0d881922e03849584984 by Sven Gothel
Sync LauncherUtil w/ GlueGen commit 1b9f0739ecc25105384b557afa698c42e08d4cc6 (adding main-cmdline-args)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/LauncherUtil.java (diff)
Commit 34687193484b2404d83eebf5d008b71d54e52286 by Sven Gothel
Fix Bug 669: Recursive GLContext makeCurrent()/release()

Culprit:
  GLContext's makeCurrent() didn't clear the boolean flag 'unlockContextAndSurface'
  in case the context is already current (-> recursion).
  Above case was detected within a code block tailed by a finally block,
  which acted on mentioned flag, i.e. called lock.unlock() and hence decremented the lock count
  even though the method return w/ successful state.

  Fixed.

Added debug code:
  GLContext.release() debug code (DEBUG | TRACE_SWITCH),
  recording stack trace of last release() call, which is dumped in case no current was current.

Added 2 unit tests:
  - Simple recursive GLContext makeCurrent()/release() from within GLEventListener's display().
    Test also validates lock count and lock ownership.

  - GLAutoDrawable display() of another GLAutoDrawable
    from within GLEventListener's display(..).
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestBug669RecursiveGLContext02NEWT.java
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestBug669RecursiveGLContext01NEWT.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
Commit 50f997557b91a2f014ef0c2ea848c5c326d0cfb2 by Sven Gothel
NEWT/Android: Full Lifecycle for WindowDriver; Using static ViewGroup; AWTRobotUtil: More tolerant for non AWT env.; Fix adb-launch-*

- NEWT/Android WindowDriver
  - Full Lifecycle, remove refs on closeNative()
  - Respect isFullscreen()
  - Using static ViewGroup if available and surface not ready, allows running from main()

- AWTRobotUtil: More tolerant for non AWT env.
  - Check for NEWT first
  - Only use AWT iff available, which allows running on Android

- Fix adb-launch-*
  - Launch main/junit tests
The file was addedmake/scripts/adb-launch-junit.sh
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/WindowDriver.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedmake/scripts/adb-launch-main.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/AWTRobotUtil.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGearsES2ActivityLauncher.java (diff)
Commit c59f78a4c3dbe9bb63119d1ece781d8f732b58e4 by Sven Gothel
Adapt to change 5060b728b26a89a14367f8fca9f4eb7968f719ca: ShaderState.uniform(..) returns false if no location available.
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/Renderer.java (diff)
Commit c27f0b37024b8a991512ad8d0856821804bb3692 by Sven Gothel
TestSwingAWTRobotUsageBeforeJOGLInitBug411: Fix 'chicken egg' init problem w/ AWTRobot, i.e. NativeWindow not yet initialized.

Regression since: 50f997557b91a2f014ef0c2ea848c5c326d0cfb2
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/newt/TestSwingAWTRobotUsageBeforeJOGLInitBug411.java (diff)
Commit 0989484b89535d56e9f150cdf63e2a17bf36e32e by Sven Gothel
Android/NewtVersionActivity: Dump avail. GLCaps / Use stderr, since log would cap 'em (too long).
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/JoglVersion.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/NewtVersionActivity.java (diff)
Commit 85d70b7d38885fa8ba6374aa790d5a296acc8ec1 by Sven Gothel
Android: Allow selection of native window formats RGBA8888, RGBX8888 and RGB565; Fix HiSilicon/Vivante/Immersion.16 EGLConfig selection (zero depth buffer @ visualID)

- NEWT/Android Fix PixelFormat/NativeWindowFormat/VisualID Selection
  - Fix allows proper selection of native window formats: RGBA8888, RGBX8888 and RGB565

  - Selection is performed in 3 steps:
    1) @ Construction (non native): SurfaceHolder.setFormat( getSurfaceHolderFormat( caps ) )
    2) @ Native Surface Creation: getANativeWindowFormat( androidFormat) -> ANativeWindow_setBuffersGeometry(..)
       Note: The set native format is revalidated, i.e. read out via ANativeWindow_getFormat(..).
    3) @ EGL Creation: ANativeWindow_getFormat(..) -> fixCaps(..) - simply fixing the chosen caps.

- NEWT GLWindow.GLLifecycleHook.resetCounter:
  - Also reset GLAnimatorControl's counter, if attached.

- NEWT WindowImpl -> GLLifecycleHook.resetCounter() calls issued _after_ operation before unlock().

- JOGL/EGLGraphicsConfigurationFactory
  - Validate whether the visualID matching EGLConfig depth buffer is suitable.
    On HiSilicon/Vivante/Immersion.16: Depth buffer w/ matching visualID is zero!

- NativeWindow/Capabilities.compareTo: Fix alpha comparison
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/WindowDriver.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/android/NEWTGearsES2RGB565ActivityLauncher.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLGraphicsConfigurationFactory.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGearsES2Activity.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/android/NEWTGearsES2ECTActivityLauncher.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLGraphicsConfiguration.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was modifiedmake/resources/android/AndroidManifest-test.xml (diff)
The file was modifiedmake/resources/android/res-test/values/strings.xml (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/Capabilities.java (diff)
Commit b738983638703bb721ee4c9820c8ef43e2252e73 by Sven Gothel
Bug 665 (part 1) - Allow dis-association of GLContext's GLDrawable ..

Changes allowing re-association (incl. null) of GLContext/GLDrawable:

- GLAutoDrawable: Refine API doc 'setContext(..)'

- GLContext: Refine API doc: 'setGLDrawable(..)' 'getGLDrawable()'

- GLContextImpl.setGLDrawable(): Handle null drawable

- GLAutoDrawableDelegate/GLAutoDrawableBase: Allow null GLContext

- GLDrawableHelper.switchContext(..)/recreateGLDrawable(): Balance GLContext.setGLDrawable(..) calls

- New GLEventListenerState, holding state vector [GLEventListener, GLContext, .. ]
  impl. relocation of all components from/to GLAutoDrawable.

- GLDrawableUtil
  - Using GLEventListenerState for swapGLContextAndAllGLEventListener(..)

+++

NEWT Window*:
  - getDisplayHandle() is 'final', no more 'shortcut' code allowed
    due to re-association incl. display handle.

  - close*:
    - close config's device (was missing)
    - null config

+++

Changes allowing reconfig of Display handle as required
to re-associate pre-existing GLContext to a 'window':

- AbstractGraphicsDevice: Add isHandleOwner() / clearHandleOwner()
  - Impl. in X11GraphicsDevice and EGLGraphicsDevice, NOP in DefaultGraphicsDevice

- DefaultGraphicsConfiguration add 'setScreen(..)'

- MutableGraphicsConfiguration
  - Make DefaultGraphicsConfiguration.setScreen(..) public

- NativeWindowFactory add 'createScreen(String type, AbstractGraphicsDevice device, int screen)'
  - Refactored from SWTAccessor

- NativeWindow x11ErrorHandler: Dump Stack Trace in DEBUG mode, always.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/GLAutoDrawableDelegate.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLContextDrawableSwitch01NEWT.java
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLAutoDrawable.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/nativewindow/native/x11/Xmisc.c (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/MutableGraphicsConfiguration.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/AbstractGraphicsScreen.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/DefaultGraphicsConfiguration.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 modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableHelper.java (diff)
The file was addedsrc/jogl/classes/jogamp/opengl/GLEventListenerState.java
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/AbstractGraphicsDevice.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/x11/WindowDriver.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLDrawableUtil.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLContextDrawableSwitchNEWT.java
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/util/GLEventListenerCounter.java
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/DefaultGraphicsDevice.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/DefaultGraphicsScreen.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/AbstractGraphicsConfiguration.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLContextDrawableSwitch11NEWT.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
Commit 9505d48f1702e2ba8c9e72edcbb8fab5ad01bc56 by Sven Gothel
FBObject/GLFBODrawableImpl: Silence stderr if not in DEBUG mode relying on application handling verbosity and debug output

The following cases were dumping states on stderr:
  - FBOObject.isStatusValid() if false
    -> Only dumps if DEBUG

  - GLFBODrawableImpl.reset() if fboResetQuirk becomes true and 1st time in ClassLoader
    -> Only dumps if DEBUG
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/FBObject.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLFBODrawableImpl.java (diff)
Commit e6ccafabb8fefa2381e7c102ca9cba4ef7555035 by Sven Gothel
[EGL/X11]Context: Enhance DEBUG output for failed makeCurrentImpl(..)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLContext.java (diff)
Commit 7fd5f76e1eb4bbf93fe9b1171744bd755d8f96e4 by Sven Gothel
ProxySurface: Add 'NativeSurface getUpstreamSurface()' ; ProxySurfaceImpl: Don't cache 'displayHandle'

- ProxySurface: Add 'NativeSurface getUpstreamSurface()' allowing querying direct access of a backing surface representing this instance.
  - Use case: EGLWrappedSurface
  - Default impl. returns null

- ProxySurfaceImpl: Don't cache 'displayHandle'
  - getDisplayHandle() is 'final', no more 'shortcut' code allowed
    due to re-association incl. display handle.

  - See commit b738983638703bb721ee4c9820c8ef43e2252e73
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLWrappedSurface.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/ProxySurfaceImpl.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/ProxySurface.java (diff)
Commit 176d2c68842587b55117dbe0df2fbd2932d0cd10 by Sven Gothel
WGLContext: Enhance DEBUG output for failed makeCurrentImpl(..)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLContext.java (diff)
Commit 07fb6ebb3fa95e8d722505883a13c62e13c7f953 by Sven Gothel
Refine GL[Auto]Drawable 'realized' state in API doc, and relax it's realized requirement in GL[Offscreen]AutoDrawableDelegate*

Compatible w/ 'before'.

TODO: Contemplate about GLDrawableFactory.createOffscreenAutoDrawable(..) whether it:
  - should better return an unrealized [auto]drawable
  - or adding another API method for such case

  Goal: Allow passing vector of [device/context/..] for use cases
        such as re-using an onscreen destructed surface and on-/offscreen hopping.
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/GLAutoDrawableDelegate.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLOffscreenAutoDrawableImpl.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableFactoryImpl.java (diff)
Commit 02104525a63aed70c51b825be0e8c83ed17cfa31 by Sven Gothel
Animator: API doc cleanup, isPaused()==true if drawablesEmpty (Animator == FPSAnimator behavior), resume after add ifPaused()

- GLAnimatorControl: Refine API doc

- Animator.run():
  - if( drawablesEmpt) { pausedIssued = true; } - Same behavior as FPSAnimator

- AnimatorBase.add(..)
  - consider paused case if no drawablesEmpty, i.e. if ( isPaused() ) { resume(); }
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLAnimatorControl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/Animator.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLAutoDrawable.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/ProxySurface.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/GLAutoDrawableDelegate.java (diff)
Commit 336c8fc0b4f419196fe31f7dc86eed310160acaf by Sven Gothel
GLDrawableHelper.invoke: If drawable is !realized -> deferred execution
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableHelper.java (diff)
Commit 3f4eeaf76efa8f1f8b305c8dc1770dc679ced307 by Sven Gothel
Fix regression of commit b738983638703bb721ee4c9820c8ef43e2252e73, possible 'pulling' display's device - check references
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
Commit 2fe180fbee15b82e2ae14fe3c95887db246c874d by Sven Gothel
Bug 665 (part 3) - Allow dis-association of GLContext's GLDrawable .. - Add EGL/ES2 tests, attempt to fix wrapped EGL case

- Bug 665 (part 2) was commit 7fd5f76e1eb4bbf93fe9b1171744bd755d8f96e4

- Add EGL/ES2 tests in
  - TestGLContextDrawableSwitch01NEWT
  - TestGLContextDrawableSwitch11NEWT

- Attempt to fix wrapped EGL case (incomplete)
  - Using EGL/ES w/ non native EGL device/surface, but natively wrapped instances (most of the cases),
    a 'complicated' delegation of
       Native-Upstream -> EGL-Proxy -> EGL-Instance
    is being used heavily relying on the objects lifecycle.
    GLEventListenerState tries to roll back the realized state
    and even sets the upstream device handle,
    but this doesn't seem to be sufficient on X11.

Discussion:

It might turn out that we only can implement the survival of GLContext
and it's display device reliable w/ EGL within the GLAutoDrawable implementation,
which can hold the previous not destructed instances.
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLContextDrawableSwitch11NEWT.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLContextDrawableSwitch01NEWT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLEventListenerState.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/NativeSurface.java (diff)
Commit 2f63a43fd6ff9964251c43e248c51bc821f3ecbd by Sven Gothel
Add WindowClosingProtocol impact detail on WindowListener.windowDestroyNotify(..)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/WindowListener.java (diff)
Commit 90e136b65a10d8daf8c3a2df6cc193e55a63722c by Sven Gothel
Fix Bug 678: Deliver key-char value for printable chars on all KeyEventListener (-> On Windows as well)

The following is observed, where t0 and t1 refer to subsequent different timestamps:
  NEWT delivery order:
      PRESSED (t0), RELEASED (t1) and TYPED (t1)

  WINDOWS delivery order:
      PRESSED (t0), TYPED (t0) and RELEASED (t1)
  Windows Auto-Repeat:
      PRESSED (t0), TYPED (t0)

Hence we changed the event reorder-code in NEWT to trigger NEWT-PRESSED on
Windows-TYPED for printable chars, assuring key-char values on all listener callbacks.

- KeyEvent.getKeyChar(): Removed disclaimer dedicated for Windows
- Keyevent.isActionKey(): Completed for all NEWT non-printable action keys; Added static variant
- Keyevent.isPrintableKey(): NEW: returns !isModifierKey(keyCode) && !isActionKey(keyCode) ; With static variant

- Windows WindowDriver:
  - EVENT_KEY_PRESSED handles non-printable chars only
  - EVENT_KEY_TYPE handles printable chars only
  - Native: VK_DELETE passes keyCode

- Unit tests: Wait for completion 1s -> 2s
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyCodeModifiersAWT.java (diff)
The file was modifiedmake/scripts/java-win64-dbg.bat (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyCodesAWT.java (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/KeyEvent.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyEventAutoRepeatAWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/windows/WindowDriver.java (diff)
The file was modifiedsrc/newt/native/WindowsWindow.c (diff)
Commit a456289c45a167269fa1bf839316164781801817 by Sven Gothel
OSX unit tests: Disable OSX 32bit tests (redundant - prepare for Java7 tests)
The file was modifiedmake/build-test.xml (diff)
Commit 4d6983ca087feb0544c27326c8bf470444df2eec by Sven Gothel
Add OSX Java7 build/test scripts
The file was addedmake/scripts/tests-osx-x64-java7.sh
The file was addedmake/scripts/make.jogl.all.macosx-java7.sh
Commit cedbdb09c00bb2a32cc065cb75590f3571bb7aa1 by Sven Gothel
Fix AWTKeyAdapter: Reorder AWT events to NEWT order - also ensuring TYPED is always sent.

This foremost fixes an issue w/ OSX/Java7 and NewtCanvasAWT offscreen CALayer usage,
which utilizes AWTKeyAdapter and AWTNewtEventFactory (AWT -> NEWT) key events.
The file was addedmake/scripts/tests-x64-custom.sh
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NewtCanvasAWT.java
The file was modifiedsrc/newt/classes/jogamp/newt/awt/event/AWTNewtEventFactory.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/awt/AWTKeyAdapter.java (diff)
The file was modifiedmake/scripts/tests-osx-x64-java7.sh (diff)
Commit 1f7b17a93aa2cf21bc943b54d764d6f283c808de by xerxes
Add LinuxEventDeviceTracker used by RaspPi newt/driver/bcm/vc/iv/WindowDriver

Signed-off-by: Xerxes Rånby <xerxes@zafena.se>
The file was addedsrc/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java
The file was modifiedsrc/newt/classes/jogamp/newt/driver/bcm/vc/iv/WindowDriver.java (diff)
Commit 8d6438eb6b03013012e3a357d92aa3cd40ee55c0 by xerxes
LinuxEventDeviceTracker: LinuxEventDeviceManager monitor /dev/input/event*

The LinuxEventDeviceManager will start new EventDevicePoller threads
when more /dev/input/event* files become available.

Signed-off-by: Xerxes Rånby <xerxes@zafena.se>
The file was modifiedsrc/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java (diff)
Commit ff39f9e5a37020d72af3d4f1ea8fe0b6b6714016 by xerxes
LinuxEventDeviceTracker: gracefully manage hot-swap of USB devices.

Signed-off-by: Xerxes Rånby <xerxes@zafena.se>
The file was modifiedsrc/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java (diff)
Commit 72bf6f4c6bc19aade075f10db4a26e3cf7cfc5ee by xerxes
LinuxEventDeviceTracker: LinuxEVKey2NewtVKey(EVKey 0-121)

Signed-off-by: Xerxes Rånby <xerxes@gudinna.com>
The file was modifiedsrc/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java (diff)
Commit f8bc0add2e3d18c397fb2af59e3787baa9dfc771 by xerxes
LinuxEventDeviceTracker: LinuxEVKey2NewtVKey(EVKey 122-248)

Signed-off-by: Xerxes Rånby <xerxes@zafena.se>
The file was modifiedsrc/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java (diff)
Commit ae89ca7342b8673e38b7d76bff386175e84a9173 by xerxes
LinuxEventDeviceTracker: Map printable char using KeyEvent.isPrintableKey.

The NEWT VK namespace tries to map keyCodes
to its Unicode varianti, make use this quirk.

Signed-off-by: Xerxes Rånby <xerxes@zafena.se>
The file was modifiedsrc/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java (diff)
Commit 2aed701ff4385cd903ad18ce8327c058ce847134 by Sven Gothel
Bump Android NDK to android-ndk-r8d
The file was modifiedmake/scripts/make.jogl.all.android-armv6-cross.sh (diff)
The file was modifiedmake/scripts/make.jogl.all.android-armv7-cross.sh (diff)
Commit af59808d5097b9cfc79b630a05f6846bc0d07878 by Sven Gothel
Android: Adapt to cleanup of ClassLoaderUtil/LauncherUtil - GlueGen Commit b47d0d92dd222999bf38633de1cec8de6a7ad369
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGraphUI2pActivityLauncher.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/MovieSimpleActivityLauncher01a.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGearsES2ECTActivityLauncher.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGearsES2TransActivityLauncher.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGearsES1ActivityLauncher.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/MovieCubeActivityLauncher0.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/MovieSimpleActivityLauncher01b.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTRedSquareES2ActivityLauncher.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/MovieSimpleActivityLauncher02.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGraphUI1pActivityLauncher.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGearsES2RGB565ActivityLauncher.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTRedSquareES1ActivityLauncher.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/MovieSimpleActivityLauncher00a.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/MovieSimpleActivityLauncher00b.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTElektronActivityLauncher.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGearsES2ActivityLauncher.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/LauncherUtil.java (diff)
Commit 1fcf7abad54528bb36da6ac70930bbe1005876d0 by Sven Gothel
Android GearsES2 Launcher: Revert debug flags ..
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGearsES2ActivityLauncher.java (diff)
Commit feebfdea24f8ac98282751824aa4d3569bb71d93 by Sven Gothel
Fix Animator resume() wait-condition (drawablesEmpty didn't wait for pausedIssued); Update TestGLWindows02NEWTAnimated (isPaused())
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestGLWindows02NEWTAnimated.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/Animator.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 6d508eb203fea16e094039b27a7368748aff122b by Sven Gothel
GLContext: *TRACE_SWITCH spacing
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
Commit d47794338ea218d1be2d21a91c8eea44d83dcb0a by Sven Gothel
Java2D OGLPipeline(GLJPanel+Threading): More fine grained control about OGL threading and resource usage

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

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

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

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

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

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

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

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

  - Utilizing this for all CALayer calls

Test case: TestGLCanvasAddRemove01SwingAWT
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAddRemove01SwingAWT.java
The file was modifiedmake/scripts/tests-osx-x64.sh (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2AWT.java (diff)
The file was modifiedmake/scripts/tests-osx-x64-java7.sh (diff)
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m (diff)
The file was modifiedmake/scripts/tests.sh (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 2aeff053c55dadafb94bfbba661250e0c96f1fe5 by Sven Gothel
Fix Bug 691 (part-2): Extra '[subLayer release]' is wrong, since 'CGL.releaseNSOpenGLLayer' triggers release - but very late w/ AWT usage.

OSXUtil_RemoveCASublayer0's added '[subLayer release]' in commit f6e6fab2a7ddfb5c9b614cb072c27ff697629161
is wrong, since 'CGL.releaseNSOpenGLLayer' actually does trigger it's release.
This was not seen w/ AWT tests, since it happens very later.
A NewtCanvasAWT test disclosed this error -> removed that extra release call.

The culprit for the late release w/ AWT usage was CGL.createNSOpenGLLayer's call in the current thread.
Moving it to the Main-Thread fixed the problem.

All CALayer lifecycle calls are issued on the Main-Thread now.

NSOpenGLLayer's CVDisplayLink OpenGL fitting via 'CVDisplayLinkSetCurrentCGDisplayFromOpenGLContext'
is now performed at it's context creation in 'NSOpenGLLayer::openGLContextForPixelFormat'.

The 'extra' release of the NSOpenGLLayer's NSOpenGLContext as introduced in commit f6e6fab2a7ddfb5c9b614cb072c27ff697629161
is still valid.
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/UITestCase.java (diff)
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAddRemove01SwingAWT.java (diff)
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestOffscreenLayer01GLCanvasAWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAddRemove02NewtCanvasAWT.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestOffscreenLayer02NewtCanvasAWT.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java (diff)
The file was addedmake/config/jogl/cgl-macosx-CustomJavaCode.java
The file was modifiedmake/config/jogl/cgl-macosx.cfg (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
Commit 3567e7e8519f82720f98b0b2ac30456cbfeddc0d by Sven Gothel
Fix Bug 675: NPE w/ Beans.setDesignTime(true) ; Fix GLCanvas.destroy(): Don't issue removeNotify(), delete drawable and context only!

- Fix Bug 675: NPE w/ Beans.setDesignTime(true)
  - Carefully consider Beans.isDesginTime() fixes NPE - added unit test

- Fix GLCanvas.destroy(): Don't issue removeNotify(), delete drawable and context only!
  - AWT removeNotify() shall only be issued via AWT itself, not manually
  - Add 'destroyImpl(boolean destroyJAWTWindowAndAWTDevice)' to be called by
    - GLCanvas.destroy(): destroyImpl( false );
    - GLCanvas.removeNotify(): destroyImpl( true );
  - Ensures JAWTWindow and AWTDevice are created and destroyed via the AWT callbacks
    addNotify() and removeNotify() only.
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug675BeansInDesignTimeAWT.java
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
Commit d178475967536f4d1e58fd6e0be49b03fe4cd4b7 by Sven Gothel
Refine unit test for Bug 691: Add onscreen/offscreen tests [if available] ; Move tests to 'acore'.
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove01GLCanvasSwingAWT.java
The file was modifiedmake/scripts/tests.sh (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAddRemove02NewtCanvasAWT.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAddRemove01SwingAWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove02GLWindowNewtCanvasAWT.java
Commit a94ff9252df66c303f48489c3e8926104941465c by Sven Gothel
Fix Bug 691 (part-3): NSOpenGLLayer::openGLContextForPixelFormat(..) on main-thread deadlock'ed due to locked shared context

NSOpenGLLayer::openGLContextForPixelFormat(..) is performed on main-thread at 1st NSOpenGLLayer display method.
This happened irregulary, i.e. sometimes (T0) right after NSOpenGLLayer creation and attachSurfaceLayer()/AddCASublayer(..),
sometimes later (T1).

NSOpenGLLayer::openGLContextForPixelFormat(..) uses the passed shared user context.
The shared user context is locked at NSOpenGLLayer's creation (T0) and if performed at this early time
the call deadlocks due to pthread_mutex wait for the shared user context.

This fix performs NSOpenGLLayer creation and layer attachment while the shared user context
is kept unlocked and enforces NSOpenGLLayer display and hence NSOpenGLLayer::openGLContextForPixelFormat(..).

Added CGL.setNSOpenGLLayerEnabled(..) to enable/disable NSOpenGLLayer - currently not used.

- Passed AddRemove tests for GLCanvas/Swing and GLWindow/NewtCanvasAWT w/ 100 loops on Java6 and Java7 on OSX.
- Passed Instruments Leaks test w/ 10 loops on Java6 and Java7
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove02GLWindowNewtCanvasAWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/OffscreenLayerSurface.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove01GLCanvasSwingAWT.java (diff)
The file was modifiedmake/config/jogl/cgl-macosx.cfg (diff)
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
The file was modifiedmake/stub_includes/opengl/macosx-window-system.h (diff)
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m (diff)
The file was modifiedmake/config/jogl/cgl-macosx-CustomJavaCode.java (diff)
Commit 2ff795342c720b3b807135c632785e18cee29334 by Sven Gothel
X11/WGL: Better Exception Message for failed ARB context creation if profile > GL2 (OpenGL >= 3.0.1) was requested.
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java (diff)
Commit 26a2496d9be3360aefc853fabb9dee2dc3327571 by Sven Gothel
Fix TestWindowClosingProtocol01AWT: GLCanvas closing operation 'destroy' will no more call removeNotify() - see commit 3567e7e8519f82720f98b0b2ac30456cbfeddc0d
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestWindowClosingProtocol01AWT.java (diff)
Commit 1cee0f1ac437de952c5cc15d5a23c8c5ddfdda8a by Sven Gothel
Fix Bug 644: AWT GLCanvas and GLJPanel ignored their visibility state

If !visible, GLCanvas and GLJPanel's paint* and display method shall not render
as the other GLAutoDrawable impl. do (GLWindow, SWT GLCanvas).
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/FPSCounterImpl.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug664GLCanvasSetVisibleSwingAWT.java
Commit 87b5d10bc6d9025de410bcd23b8d33ccdb13901d by Sven Gothel
Uni Tests AddRemove: Remove dead code ..
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove02GLWindowNewtCanvasAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove01GLCanvasSwingAWT.java (diff)
Commit 674004cd67105b27b63c7ac2f05738f21864bdc0 by Sven Gothel
TestWindowClosingProtocol01AWT: More relaxed timing reducing false positives
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestWindowClosingProtocol01AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestWindowClosingProtocol03NewtAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestWindowClosingProtocol02NEWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 8edaa9780455b60f6034a78970cab4f516d4b061 by Sven Gothel
NEWT/OSX: Fix Memory Leak ; Fix Occasional Crash Duer to Lifecycle Ops not on Main-Thread.

- Fix Memory Leak
  - NewtWindow::dealloc -> [NewtView release]: Fixes NewtView leak
  - NewtView::dealloc -> removeTrackingRect: Removes occasional crash (double free of TrackingRect)

- Fix Occasional Crash Duer to Lifecycle Ops not on Main-Thread.
  Perform OSX WindowDriver ops on Main-Thread:
    - close0
    - changeContentView0
    - createWindow0

- Cleaned up AddRemove unit tests, added TestAddRemove03GLWindowNEWT
The file was modifiedmake/scripts/tests-osx-x64.sh (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove03GLWindowNEWT.java
The file was modifiedmake/scripts/tests-osx-x64-java7.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove02GLWindowNewtCanvasAWT.java (diff)
The file was modifiedsrc/newt/native/MacWindow.m (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/awt/TestBug664GLCanvasSetVisibleSwingAWT.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java (diff)
The file was modifiedsrc/newt/native/NewtMacWindow.m (diff)
Commit 68cc962abb7ca422bb9af6f4a5366eb2b428e04f by Sven Gothel
build-test.xml: Move 'junit.run.newt.awt' up in file; 'junit.run.newt': Exclude *AWT* and *SWT* (similar to 'junit.run.newt.headless')
The file was modifiedmake/build-test.xml (diff)
Commit f937a727354fc24321d40df95008d569972ed169 by Sven Gothel
Add proper copyright header w/ all remarks regarding re-distribution etc, similar to other JNI headers
The file was modifiedmake/stub_includes/jni/macosx/jawt_md.h (diff)
Commit fdc20a0205bb01747055910eb2bb33202edee277 by Sven Gothel
OSX/Java7 Cleanup: Remove JavaNativeFoundation dependency; NativeWindow-JAWT: Remove c.fixup.jawt.version.macosx (redundant, libjawt.dylib is rpath'ed always)
The file was modifiedmake/build-nativewindow.xml (diff)
The file was modifiedmake/scripts/make.jogl.all.macosx-java7.sh (diff)
The file was addedmake/scripts/tests-osx-x64-java7u12ea.sh
The file was addedmake/scripts/make.jogl.all.macosx-java7u12ea.sh
The file was modifiedmake/scripts/tests-osx-x64-java7.sh (diff)
The file was addedmake/scripts/tests-osx-x64-java7OnJava6build.sh
The file was addedmake/scripts/tests-osx-x64-java7u12eaOnJava6Build.sh
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
Commit fc9539d50c12f9def7a3babde7384e3d38f61721 by Sven Gothel
Unit Tests: Use Property 'jvmJava.exe' ; Add target 'junit.run.local.java7' (if="jvmJava7.exe")

See GlueGen commit 6b86764f2e195b4046000fd5a7fcf3331ca72d21
The file was addedmake/scripts/tests-macosx64-junit-java7.sh
The file was modifiedmake/build-test.xml (diff)
Commit a40ee817a3bd537b0de7018772b0835f995a1bed by Sven Gothel
Unit Tests: Add 'results-java7' to check-junit.sh (Completes commit fc9539d50c12f9def7a3babde7384e3d38f61721)
The file was modifiedmake/scripts/check-junit.sh (diff)
Commit 85338858f5c58694fa88e77df1386d0556887944 by Sven Gothel
Bug 678 (fix), Bug 641 (API + Windows Impl.), Bug 688 (prep): Update NEWT's KeyEvent handling while distinguish keyCode (kbd layout independent) and keySym (kbd layout dependent)

API Changes:

- Virtual key codes and symbols are of type short.

- KeyEvent.keySymbol() shall return a layout dependent value (Bug 641)
  - Method returns former keyCode() value, which was layout dependent.
  - Returns 'short' value

- KeyEvent.keyCode() returns a short value, instead of int

- KeyEvent.keyCode() shall return a layout independent value (Bug 641)
  - To ease implementation, we only 'require' the scan code to be mapped to a 'US Keyboard layout',
    which allows reusing layout dependent code while preserving the goal to have a fixed physical key association

  - Implementation status:
    - Windows OK
    - X11 TODO
    - OSX: 50/50 TODO
      - Using layout independent 'action keys'
      - Using layout dependent 'printable keys'
      - returning above semantics for both, keyCode and keySym

    - Android 50/50 TODO
      - Returning the layout independent keyCode
      - Mapping probably incomplete

- KeyEvent.EVENT_KEY_TYPED and KeyListener.keyTyped(KeyEvent) (Bug 688)
  - Marked DEPRECATED
  - No more called for auto-repeat events
  - Synthesized in WindowImpl.consumeKeyEvent(..): No more injection by native- or java driver code

- NEWTEvent.eventType: int -> short
  - field, as well as all method involving eventType changed to short.

- NEWTEvent.isSystemEvent: REMOVED
  - Never used as well as never being implemented properly

Internal Changes:

- Simplified keyEvent driver code
  - Especially the Windows native driver's mapping code
    could be simplified using scanCode and MapVirtualKeyEx

- NEWT Event Factories: hashMap -> switch/case

Unit Tests:
  -
  - Added NewtCanvasAWT Offscreen Layer Tests
    important to test the AWT -> NEWT translation on OSX/CALayer:
    - TestNewtKeyCodeModifiersAWT
    - TestNewtKeyCodesAWT
    - TestNewtKeyEventAutoRepeatAWT
    - TestNewtKeyEventOrderAWT
    - TestNewtKeyPressReleaseUnmaskRepeatAWT
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/KeyEvent.java (diff)
The file was modifiedsrc/newt/native/KDWindow.c (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyPressReleaseUnmaskRepeatAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyEventOrderAWT.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/WindowUpdateEvent.java (diff)
The file was modifiedsrc/newt/native/NewtMacWindow.m (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/awt/AWTKeyAdapter.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/swt/event/SWTNewtEventFactory.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/x11/WindowDriver.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/MouseEvent.java (diff)
The file was modifiedmake/build-test.xml (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyCodesAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/MiscUtils.java (diff)
The file was modifiedsrc/newt/native/WindowsWindow.c (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/awt/event/AWTNewtEventFactory.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/KeyListener.java (diff)
The file was modifiedmake/scripts/java-win32-dbg.bat (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/MacKeyUtil.java (diff)
The file was modifiedmake/scripts/make.jogl.all.linux-x86_64.sh (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/WindowEvent.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/linux/LinuxMouseTracker.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventTranslator.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/NEWTEvent.java (diff)
The file was modifiedmake/scripts/tests-x64.bat (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 modifiedsrc/newt/native/NewtMacWindow.h (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/windows/WindowDriver.java (diff)
The file was modifiedsrc/newt/native/X11Display.c (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/NEWTKeyUtil.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyCodeModifiersAWT.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/InputEvent.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyEventAutoRepeatAWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/native/bcm_vc_iv.c (diff)
Commit e7df5d65e83e07bf7e8474aebcf9fd09f3597527 by Sven Gothel
Unit Tests NewtEventModifiers: Attempt to make them more robust for that one particular Windows-AMD Test Node

- Adding 'waitForVisible' and 'waitForRealized' on the GLAutoDrawable before test
- Adding clearKeyboadAndMouse before test
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasSWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersAWTCanvas.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNEWTWindowAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/BaseNewtEventModifiers.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasAWT.java (diff)
Commit be352d9b3bc2a6a5a5542a0f91f13c9e28fbb8e0 by Sven Gothel
Unit Tests NewtEventModifiers (2): Robostness

- clearKeyboadAndMouse(): Add _testMouseListener.clear(); to clear all logs!

- clearKeyboadAndMouse() after all tests
- use implicit 'clearKeyboadAndMouse()' in execOffThreadWithOnThreadEventDispatch()
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasSWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersAWTCanvas.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNEWTWindowAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/BaseNewtEventModifiers.java (diff)
Commit c6224657027b8d4a5176810ce3acd09e97087ec5 by Sven Gothel
Unit Tests: Add [manual] demo cases for SWT (TestGearsES2SWT, TestGearsES2NewtCanvasSWT); Add more AWT/NEWT layout scenarious.
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NewtCanvasSWT.java
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)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/swt/TestGearsES2SWT.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NEWT.java (diff)
Commit 7d5c51b635e0795d9b170342bdebe8e7e0bbd01d by Sven Gothel
NEWT/OSX: Fix 'locationOnScreen' usage and use proper client-area window screen position (Fixes resize -> position)

- Tested w/ NEWT GearsES2 and Java6 and Java7 on OSX
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java (diff)
The file was modifiedsrc/newt/native/MacWindow.m (diff)
The file was modifiedmake/build-test.xml (diff)
The file was modifiedsrc/newt/native/NewtMacWindow.m (diff)
The file was modifiedsrc/newt/native/NewtMacWindow.h (diff)
Commit cf3ecdb670c0dfecd1394d5b9d5d5588c1bf71f3 by Sven Gothel
NewtCanvasAWT: Fix size determination, i.e. take newt-child's size into account if no preferred size is given.
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
Commit 14b278536e6f8de2ee6254796b89bd27d5419b72 by Sven Gothel
OSX/Java7/CALayer + JAWT: Partially Fix AWT/NEWT CALayer 'out of sight' bug, where our CALayer is moved out of the visible area

- same erroneous behavior for GLCanvas and NewtCanvasAWT

- sized-frame: Set framesize and validate() it

- sized-component: Set component preferred size and call frame.pack()

- added workaround 'OffscreenLayerSurface.layoutSurfaceLayer()' to fix CALayer size, which snaps for:

  - OK initial size before setVisible: sized-frame and sized-component

  - OK resize w/ sized-frame

  - OK manual frame resize

  - Invisible: w/ sized-component after setVisible()

++

- CALayer-Sublayer (GL) has additional retain/release when added/removed
  to be on safe side.
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/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/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m (diff)
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NewtCanvasSWT.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/OffscreenLayerSurface.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NewtCanvasAWT.java (diff)
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/swt/TestGearsES2SWT.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.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/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
Commit 10b4957dc36005453d2a4e7a3b4de4df20d0c901 by Sven Gothel
Fix NPE of Bug 679: The ctx was released w/o fully initialized (no proper ARB ctx of expected version ?)
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 43df6ed31d5144fb8fcdab51eae62fc123364a38 by Sven Gothel
TestGearsES2SWT: Fix NPE
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/swt/TestGearsES2SWT.java (diff)
Commit 24fe89e6d7cc551aaffb6c95624271eef027b275 by Sven Gothel
Fix GLVersionNumber (Bug 679): Don't use a subsequent version number if not valid!
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLVersionNumber.java (diff)
Commit 97401c4b832aa6f65bfbad47c54d18e4b720dbce by Sven Gothel
Relax GLContextImpl.setGLFunctionAvailability(..)'s Version Matching if testing major < 3 versions. (Bug 679)

On OSX, we 'only' support the ctx ARB creation and hence have no !ARM fallback.

If querying a version [2.0 .. 3.0] for GL2, it is acceptable if a valid OpenGL version is lower, e.g. 1.4.
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
Commit ffcf0cb5beaf3c7c363d45cef0b9d18dcf3f50c6 by Sven Gothel
Bug 548 and Bug 679: Add 'glFlush()' requirement (OSX < 10.7.3 && NVIDIA GPU) to GLRendererQuirks and perform only if exists.
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 modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
Commit fe0a2ad6f702aee71ea06f9da19ec9fd696d4095 by Sven Gothel
GLProfile: Adding convenient query for highest programmable core only GL profile

As suggested @ http://forum.jogamp.org/How-to-force-core-profile-tp4028307.html

However, one could always get a dedicated core profile via:
  - GLProfile.get(GLProfile.GLES2)
  - GLProfile.get(GLProfile.GL3)
  - GLProfile.get(GLProfile.GL4)

.. etc
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLProfile.java (diff)
Commit 405bc071d5d13e00d0561a485d31e3a7d61bf167 by Sven Gothel
TestNewtEventModifiers*: Robostness (uhh) Unify wait-clear result code - fix SWT event dispatching.
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasSWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/BaseNewtEventModifiers.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java (diff)
Commit cbd8e33f1e19cf0c061c371af6930aba7c36b84f by Sven Gothel
Fix CALayer pos/size and animation.

- Fix CALayer animation:
  - All CALayer animations are set to nil via overriding 'actionForKey'

- Fix CALayer pos/size bug:

  - Fix root and sub CALayer position to 0/0 and size on the main-thread w/o blocking.

  - If the sub CALayer implements the Objective-C NativeWindow protocol NWDedicatedSize (e.g. JOGL's MyNSOpenGLLayer),
    the dedicated size is passed to the layer, which propagates it appropriately.

  - On OSX/Java7 our root CALayer's frame position and size gets corrupted by its NSView,
    hence we have created the NWDedicatedSize protocol.
The file was modifiedmake/build-nativewindow.xml (diff)
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java (diff)
The file was modifiedmake/build-jogl.xml (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/nativewindow/native/macosx/NativeWindowProtocols.h
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface.m (diff)
Commit af384debfdf354d98e3d0d0c6e0c5cf5a967904e by Sven Gothel
NEWT/OSX Fix: Child positioning ; NewtCanvasAWT: Change reparent time and use actual component size while setting min/pref. size at setup

- NEWT/OSX Fix: Child positioning
  - If !Offscreen and has-parent: Gather screen location by traversing through parent
    and set native position (was removed w/ commit 7d5c51b635e0795d9b170342bdebe8e7e0bbd01d since still buggy).

- NewtCanvasAWT: Change reparent time and use actual component size while setting min/pref. size at setup
  - Analog to AWT GLCanvas
  - validates and reparents at reshape(..), paint(..) and update(..)
  - reshape(..) also trigers jawtWindow.layoutSurfaceLayer()
  -
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParentingFocusTraversal01AWT.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/awt/event/AWTParentWindowAdapter.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/awt/TestBug664GLCanvasSetVisibleSwingAWT.java (diff)
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/awt/TestGearsES2AWT.java (diff)
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/newt/TestFocus01SwingAWTRobot.java (diff)
Commit e2d2d4cc048e462ffa5efdc1737caad9d2fe0ef7 by gouessej
Adds a unit test for the bug 694 on gluScaleImage
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/glu/TestBug694.java
Commit 808a9a27a8c1c9e0a6701a8dd81d51f8daa8129d by Sven Gothel
Fix NEWT/AWT WindowClosing Unit Tests ; Review/Cleanup NEWT WindowClosing mechanism

Due to a NEWT WindowClosing event regression cause by NewtCanvasAWT changes
a review of our WindowClosing event mechanism was required.

Important cleanups are marked w/ '(*)' below.

I would have preferred to change the 'WindowListener.windowDestroyNotify(WindowEvent)'
method to pass a WindowCloseEvent object exposing more information like
toolkit or programmatic destruction and passing whether a 'closing' or 'nop' action
will be performed based on the WindowClosingMode.
For now I postponed this idea .. since it would change the API again,
but may reconsider it after merging the Android 'closing' patch.

- InputEvent.consumedTag -> NEWTEvent.consumedTag

- Window
  - (*) Promote setWindowDestroyNotifyAction(Runnable) to public,
        former WindowImpl.setHandleDestroyNotify(boolean).
    Using a Runnable action for WindowImpl.windowDestroyNotify(boolean)
    allows a setting defined alternative for destroy() and gets rid
    of [ab]using WindowListener.windowDestroyNotify(WindowEvent) for
    lifecycle actions. Used in:
      - GLWindow
      - GLAutoDrawableDelegate impl.

- WindowImpl
  - Respect NEWTEvent.consumedTag for WindowEvents as well

  - (*) Impl. setHandleDestroyNotify(boolean) (see above)

  - (*) destroy() simply sends out pre- and post- destruction Window events,
    where windowDestroyNotify(boolean) sends out the pre-destruction event if NOP.

  - (*) windowDestroyNotify(boolean) is public now, allowing other impl. details
    to follow proper destruction using handleDestroyNotify Runnable (-> NewtCanvasAWT).

- AWTWindowClosingProtocol:
  - addClosingListenerOneShot() -> addClosingListener()
    - calling addClosingListener() at addNotify()
    - calling removeClosingListener() at removeNotify()

  - AWTWindowClosingProtocol ctor taking NOP runnable,
    allowing to send WindowEvent.EVENT_WINDOW_DESTROY_NOTIFY at WindowClosingMode.DO_NOTHING_ON_CLOSE

  - add/remove listener on AWT-EDT

- AWTWindowAdapter
  - Add 'removeWindowClosingFrom(..)',
    allowing to remove window closing event fwd.

  - Also fwd windowClosed in window closing fwd'ing.

- NewtCanvasAWT
  - (*) Utilize AWTWindowClosingProtocol NOP runnable (see above)
    to fwd closing-NOP event to NEWT

  - (*) Unify remove/destroy code in destroyImpl(..)
    - !removeNotify -> destroy NEWT child programatic or as toolkit event
    - removeNotify || windowClosing -> destroy jawtWindow

  - (*) Remove AWTWindowAdapter/AWTParentWindowAdapter's windowClosingListener,
    since we utilize AWTWindowClosingProtocol

- DisplayImpl
  - Adding 'final void dispatchMessage(final NEWTEvent event)'
    allowing to remove the NEWTEventTask wrapping for no reason
    in enqueueEvent(..) if on EDT and waiting.
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/awt/AWTWindowAdapter.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextNewtAWTBug523.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/WindowClosingProtocol.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/AWTWindowClosingProtocol.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Window.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/newt/TestWindowClosingProtocol03NewtAWT.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/InputEvent.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/acore/TestGLContextDrawableSwitch11NEWT.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/awt/WindowDriver.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLAutoDrawableDelegateOnOffscrnCapsNEWT.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLAutoDrawableDelegateNEWT.java
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/NativeWindow.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/TestWindowClosingProtocol02NEWT.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/DisplayImpl.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLContextDrawableSwitch01NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestWindowClosingProtocol01AWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/awt/event/AWTParentWindowAdapter.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/WindowListener.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/GLAutoDrawableDelegate.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestCloseNewtAWT.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/awt/AWTAdapter.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/NEWTEvent.java (diff)
Commit 3a4892c43be4a9dabba73d42175c2cfa39bd6d8d by Sven Gothel
Fix Bug 677: NEWT/Android: Add support for Android's KeyEvent.KEYCODE_BACK

Original author: Eric Brayet <ericb@daysofwonder.com>
Revised by: Sven Gothel <sgothel@jausoft.com>

I took the freedom to cleanup the three original patches
from https://github.com/Pooouf/jogl.git branch 'bug_677':
  - 7449d4726633d524a3bb79efffd04cfd0ca25e58 (removed by followup patch!)
  - 68c739a4f03e46deecdbb71c125b4586aec08d63 (removes previous patch!)
  - c2813dfc325a1482d18b6fc304e4e483f5633964

Further more I was able to reduce the 'extra' code while utilizing
  - Window's isKeyboardVisible() and using keyboardVisibilityChanged(false)
    to update the hidden keyboard state.
  - Moving the key-handling code to the containing WindowDriver class
    avoiding passing a reference to the inner view.
  - Using AndroidNewtEventFactory for NEWT KeyEvent creation

+++

- Handle KeyEvent.KEYCODE_BACK w/ jogamp.newt.driver.android.WindowDriver.MSurfaceView.onKeyPreIme(..):
    if( soft keyboard is up )
      [1] Update keyboard visibility state and return NEWT KeyEvent.VK_KEYBOARD_INVISIBLE;
    else
      [2] call WindowImpl.windowDestroyNotify(true)

    [3] then cont. processing, i.e. return false;

- Turns out respecting WindowClosingMode might be
  - too complicated
  - interfere w/ Android UI behavior

- AndroidNewtEventFactory
  - createKeyEvent
    - static
    - adding boolean param 'inclSysKeys', if true, KEYCODE_BACK and KEYCODE_HOME are mapped

- Unit tests: GearsES2 + MovieCubeActivity0 shows keyboard if pressure > 0.6f
    - pressure on Android shall be between [0..1], however we have to figure out
      badly calibrated touchpads/Android device where we could experience
      pressure > 2.0f !

    - TODO: API documentation of pressure [0..1]
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/KeyEvent.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventTranslator.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/MovieCubeActivity0.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/NEWTGearsES2Activity.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/NEWTEvent.java (diff)
Commit 01fdd5c564dcb8a7d4f8347f71728f8c2b657cb3 by Sven Gothel
NEWT WindowImpl: Cleanup redundancies in destroy() and windowDestroyNotify(boolean)

- destroy()
  - screen is never null!
  - always attempt to removeScreenReference()

- windowDestroyNotify(boolean)
  - NOP if !isNativeValid() to avoid DESTROY_* events
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
Commit b85903ac92be7884e99eb7b85884033d7ea42337 by Sven Gothel
NEWT: Harmonize MouseEvent Pressure (API Change!)

Due to high fluctuation (lack of normalized) pressure values on Android devices,
an option to query the normalized value and access to the current known maximum pressure is required.

MouseEvent:
  - getMaxPressure() returning the [self calibrated] known maximum pressure

  - getPressure(..) -> getPressure(.., boolean normalize) (API Change!)
     - return normalize ? pressure/maxPressure : pressure;
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)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/MouseEvent.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/MovieCubeActivity0.java (diff)
Commit 7891d2b8f73afb3a71aea237bc5891f05d1d538f by Sven Gothel
Fix AWT EDT Deadlock in AWTWindowClosingProtocol, regression of commit 808a9a27a8c1c9e0a6701a8dd81d51f8daa8129d
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/AWTWindowClosingProtocol.java (diff)
Commit 33eb58fc25b0e44666f72e5a2abf6e040efba8bf by Sven Gothel
Adapt to GlueGen's relocation of AWTEDTExecutor - GlueGen commit 99a50b38f5650fedca0f207e03706ffa9492e50c
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/AWTRobotUtil.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/awt/AWTThreadingPlugin.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/awt/AWTEDTUtil.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
Commit 9a5e03cc9e028422f8e7c85e875f6db4bedeaaff by Sven Gothel
All AWT Related Unit Tests: Call AWT 'frame.setVisible(..)' and 'frame.pack()' on AWT-EDT - Use dedicated test TestBug572AWT for testing otherwise.
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl2/awt/TestGearsAWTAnalyzeBug455.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/text/TestAWTTextRendererUseVertexArrayBug464.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/TestParenting01cAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/bugs/Bug427GLJPanelTest1.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/bugs/Issue344Base.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glsl/TestShaderCompilationBug459AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestFocus02SwingAWTRobot.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestWindowClosingProtocol03NewtAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestAWT03GLCanvasRecreate01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAWTActionDeadlock02AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/caps/TestMultisampleES1AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/caps/TestTranslucencyAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl2/awt/TestGLJPanelAWTBug450.java (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/acore/TestShutdownCompleteAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestTranslucentParentingAWT.java (diff)
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/TestParenting01bAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting03AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01cSwingAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug461FBOSupersamplingSwingAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestAWTCloseX11DisplayBug565.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestAWT01GLn.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyCodesAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestJScrollPaneMixHwLw01AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestAWT02WindowClosing.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/newt/TestWindowClosingProtocol01AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting04AWT.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/jogl/demos/es2/awt/TestGearsES2AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestSWTAccessor03AWTGLn.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestAWTCardLayoutAnimatorStartStopBug532.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAWTActionDeadlock01AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl2/awt/TestGearsAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParentingFocusTraversal01AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestTextureSequence01AWT.java (diff)
Commit 26b9b3f5dd2e6914dd6555dda61d04fac115a4b1 by Sven Gothel
TestBug572AWT: Add test case w/ setting GLCanvas's size and frame.pack() on AWT-EDT and current thread.
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug572AWT.java (diff)
Commit 7f2637bfe5ef1764882a123a8942e60632730bdf by Sven Gothel
Fix Bug 695: WGLExt.wglChoosePixelFormatARB causes buffer underflow due to a higher reported number of configs than buffer size

"I encountered a case on an NVidia Quadro 3500 fx where the call to
WGLExt.wglChoosePixelFormatARB in WindowsWGLGraphicsConfiguration (currently
line 355) returns 264 in numFormatsTmp despite 256 being passed in for the
maximum number of formats. This results in a buffer underflow on line 368 since
pformatsTmp only has 256 values and it's trying to copy 264 values."

Fixed in WindowsWGLGraphicsConfiguration and WindowsPbufferWGLDrawable.
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsPbufferWGLDrawable.java (diff)
Commit 2cf74ca4d4d7f41e8e416bfa14fe07f175dff62b by Sven Gothel
TestBug694 -> TestBug694AWT so it properly gets picked up by the AWT unit test ant task.
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/glu/TestBug694.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/glu/TestBug694AWT.java
Commit 59a1ab0312492a251a0efc700d040a5f71e88611 by Sven Gothel
GLJPanel: Add DEBUG_VIEWPORT flag, Add USE_GLSL_TEXTURE_RASTERIZER flag, DEBUG reshape trace.

- Add DEBUG_VIEWPORT flag
  Via explicit property 'jogl.debug.GLJPanel.Viewport' (not via jogl.debug=all)
  Traces the current GL Viewport in OffscreenBackend.postGL(..)

- Add USE_GLSL_TEXTURE_RASTERIZER flag
  Via explicit property 'jogl.gljpanel.noglsl'.
  Disables use of GLSL FBO flipping.

DEBUG reshape trace
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
Commit d143475e995e473c142fd34be2af6521246f014a by Sven Gothel
GLJPanel: Updating GLJPanel documention w/ current mode of operation
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
Commit b29f221c903aefdf99af8e8a8544b2223036454f by Sven Gothel
Fix buggy unit test for Bug 694: The unpack alignment has to be considered!
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/glu/TestBug694AWT.java
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLPixelStorageModes.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/glu/TestBug694ScaleImageUnpackBufferSizeAWT.java
Commit d3672684177a98a58c434bcd27541f44917050f3 by Sven Gothel
Fix Mix2TexturesES2 unit tests: Use synchronized texID access and add glFinish() after demo -> FBO rendering on or off thread.

Fixes shared GLContext OSX rendering.
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestFBOOffThreadSharedContextMix2DemosES2NEWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestFBOOnThreadSharedContext1DemoES2NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/Mix2TexturesES2.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/GLFinishOnDisplay.java