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

Changes

Summary

  1. jogl: replce more unneeded String() construction (details)
  2. jogl: remove clone() method that only throws Exceptions (details)
  3. jogl: remove clone() version that can only ever fail (details)
  4. jogl: enable generics annotations on TextRenderer (details)
  5. jogl: adapt code generator to output @Override annotations in various (details)
  6. jogl: use .format() to build the method signature when generating (details)
  7. jogl: change code generation for Debug pipelines to avoid building large (details)
  8. jogl: do not generate an extra String for the Debug pipeline wrappers (details)
  9. jogl: save on class size in the Debug pipelines (details)
  10. jogl: pass format and arguments directly to the printGLError function (details)
  11. Fix Bug 866 - Frequent IndexOutOfBoundsException in (details)
  12. MacOSXJAWTWindow.CALayer DEBUG: Only Dump AWT location-on-screen if (details)
  13. jogl: add final to Debug wrapper error code and fix indentation (details)
  14. jogl: indent trace statements in the Trace pipelines when we hit glBegin (details)
  15. GLContext CTX_IMPL_* bits: Use 10 cached bits (+1), and 6 uncached (-1) (details)
  16. jogl: add generic annotations to the packed rectangle utility package (details)
  17. jogl: add generics annotations to lists in the waveout code (details)
  18. Bug 867 - OSX 10.9: Recognize OpenGL Core Profile > 3.0 - Add (details)
  19. Bug 871 - Add optional xcode.clang support for all modules (Extends Bug (details)
  20. Bug 867 - OSX: Allow core >=4 if isMavericksOrLater; Use (details)
  21. Bug 867 OSX [Common Code]: Trigger GLRendererQuirks.GL4NeedsGL3Request (details)
  22. Use org.junit.Assert instead of deprecated junit.framework.Assert (details)
  23. Fix GLContext: getGLProfile() add missing GLES3; (details)
  24. JoglVersion: "Default Profiles on device" -> "GLProfiles on device" - (details)
  25. GLProfile: Fix native profile mapping, i.e. use actual mapped (details)
  26. Fix regression of commit 34b35c5a0a379a6b4c0b23b9d347a0b1338f0239 - (details)
  27. Fix Bug 872: ES3 and ES3-GLSL Version not properly Handled (details)
  28. TestGLProfile00NEWT: Dump Desktop's and EGL's default-device GLProfiles (details)
  29. API doc: GLStateKeeper (wording), GLAutoDrawable (enh. init desc.), (details)
  30. spec-overview.html: Shared OpenGL context must be supported .. (GL spec) (details)
  31. Bug 776 GLContext Sharing: Refine API for relaxed and lazy GLContext (details)
  32. Fix GLCanvas ctor shared GLContext: Use helper.setSharedContext(..) (details)
  33. Bug 776 GLContext Sharing: Add GLSharedContextSetter to GLJPanel (details)
  34. Bug 776 GLContext Sharing: Add note about driver stability (destruction (details)
  35. Bug 776 GLContext Sharing: Add GLSharedContextSetter to SWT GLCanvas (details)
  36. GLDrawableHelper.reshape(): Catch pre-existing GL errors before (details)
  37. Fix TestSharedContextNewtAWTBug523: Don't use VAO's w/ GL2 context - No (details)
  38. Bug 876: BuildComposablePipeline: getGL*() shall not return (details)
  39. GLDrawableFactory: Add 'GLAutoDrawable createDummyAutoDrawable(..)' for (details)
  40. Bug 776 GLContext Sharing: Add copy-ctor to GLArrayData* w/ sliced (details)
  41. Fix #875 - ES version should be strictly validated (details)
  42. Bug 877 Concurrency Discussion: Update doc MultiThreading.txt, volatile (details)
  43. Bug 776 GLContext Sharing: Fix copy-ctor GLArrayDataClient: Create new (details)
  44. Bug 776 GLContext Sharing: GLSharedContextSetter API Doc: No 'Driver (details)
  45. Bug 776 GLContext Sharing: GLSharedContextSetter API Doc: Add (details)
  46. Bug 875: Safeguard setGLFunctionAvailability(.. strictMatch=false.. ) (details)
  47. Fix Bug 875 - Cleanup branch using VersionNumber (fix 'Int' check (details)
  48. Android NEWT.ScreenDriver MonitorSize: Use xdpi for for width (fix); Add (details)
  49. Add GLES1Impl 'finalizeInit()' to avoid a 'catched exception roundtrip' (details)
  50. Fix Unit Test Regression (commit (details)
  51. TestSharedContextVBOES2NEWT1: Fix copy/paste (mistakenly used (details)
  52. Add functions for converting to and from binary16 half-precision (details)
  53. Rename Binary*Test -> TestBinary*NOUI to get picked up by (details)
  54. Test Rename: Add Bug 729 / Bug 849 to Bug 816 Unit Test Names - Allowing (details)
  55. Fix Bug 878 - JAWTWindow's HierarchyListener doesn't set component (details)
  56. Bug 754 - Remove Ubuntu fonts from jogl-all.jar, provide it separately (details)
  57. AndroidGLMediaPlayerAPI14: Avoid possible NPEs (details)
  58. TestBinary16NOUI: Remove hardship from test node - Disable 'verbose' (details)
  59. GLDrawableFactory: createDummy*(..) Pass GLCapabilitiesImmutable + (details)
  60. EGLDrawableFactory.createDummySurfaceImpl: fix caps to pbuffer - since (details)
  61. Bug 882 - Crash on OSX when closing NEWT window - Check JavaVM and (details)
  62. Bug 882 - Crash on OSX when closing NEWT window - Fix: Release (details)
  63. Bug 881 - Add 'Application-Name' in Jar's manifest to avoid Java6 NPEs (details)
  64. Clarify Bug 692: Unbinding a VAO does _not_ imply unbinding of set VBOs (details)
  65. Bug 852: Add unit test TestCPUSourcingAPINEWT validating CPU sourcing, (details)
  66. Bug 885 - GLMediaPlayer: Allow single threaded mode - Especially where (details)
  67. GLRendererQuirks: Add GLSharedContextBuggy ('Mesa Intel 9.2.1' and (details)
Commit 946e0b59847de43d3dd51080abe7b9703d431e5f by Harvey Harrison
jogl: replce more unneeded String() construction

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/glsl/sdk/CompileShader.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/DirectDataBufferInt.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/OMXGLMediaPlayer.java (diff)
Commit 2e13993b57061e897889a3a6f4a1d44a19c32d11 by Harvey Harrison
jogl: remove clone() method that only throws Exceptions

commit:
a4e3f241cfba55e407c68eba91ffcc4beb0758b5 (Analysis of glXMakeCurrent freeze on ATI fglrx 8.78.6; Misc ..)

Removed 'implements Clonable' from NamedDisplay, which means Object.clone() will
always throw CloneNotSupportedException. Kill clone().

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/x11/X11Util.java (diff)
Commit 873a34debe0870c4ecd7aa646f92a18b2efc7ce8 by Harvey Harrison
jogl: remove clone() version that can only ever fail

commit:
d75835796900cac602f7e5789601ffba0a27efe2 (Graph: More std. functionality (equals, clone) / Better in-place transformation (cubic -> quadratic))

Added a clone method, but did not implement Cloneable, meaning Object.clone() will
always throw CloneNotSupportedException.  This method never returns anythng but null.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/OutlineShape.java (diff)
Commit 6d841a02d084142e2f90333a420cd39af1188d80 by Harvey Harrison
jogl: enable generics annotations on TextRenderer

These were already here, enable them.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/awt/TextRenderer.java (diff)
Commit aba59607bc738361dd81c5cd5362ad0ec322b441 by Harvey Harrison
jogl: adapt code generator to output @Override annotations in various places

This adds the @Override to methods in the GL implementations (debug, trace, etc) for methods
implementing a GL Profile.  It also adds @Override for the toString() method.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/jogl/classes/com/jogamp/gluegen/opengl/BuildComposablePipeline.java (diff)
Commit 27f6fce2e629e421793eaeb0e09cb6c10d9c0aa1 by Harvey Harrison
jogl: use .format() to build the method signature when generating pipeline code

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/jogl/classes/com/jogamp/gluegen/opengl/BuildComposablePipeline.java (diff)
Commit c1bb679c5d6d36e91c146d5e075e093bc83a07f1 by Harvey Harrison
jogl: change code generation for Debug pipelines to avoid building large strings

- split the check for a GL error from the output of the error string
- only build the caller String when there is an error to report
- wrap String building in an if() block rather than using an early return as we
don't know the return type in the postDownstreamCallHook

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/jogl/classes/com/jogamp/gluegen/opengl/BuildComposablePipeline.java (diff)
Commit cf0d18c7b82801f41f6fe30f5d09b6a0a9546893 by Harvey Harrison
jogl: do not generate an extra String for the Debug pipeline wrappers

Build the caller string directly and don't wrap it in an extra constructor.

Update the indentation level for the newly added if-block from the previous commit.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/jogl/classes/com/jogamp/gluegen/opengl/BuildComposablePipeline.java (diff)
Commit 7fd9174afe73ae2a61af9a6d101afb7f21bb608b by Harvey Harrison
jogl: save on class size in the Debug pipelines

Using a format String and arg list produces smaller class files for the Debug classes
as many of the format strings are identical and shared.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/jogl/classes/com/jogamp/gluegen/opengl/BuildComposablePipeline.java (diff)
Commit fa865a86033f64309b777dec7f557376f7f0eb46 by Harvey Harrison
jogl: pass format and arguments directly to the printGLError function

This saves us a bit more code size as the String.format is now in the common
helper rather than in every GL wrapper function.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/jogl/classes/com/jogamp/gluegen/opengl/BuildComposablePipeline.java (diff)
Commit 1f8a46cf71d5ecd9b8d649ccb09ccf986c48b960 by Sven Gothel
Fix Bug 866 - Frequent IndexOutOfBoundsException in jogamp.opengl.egl.EGLGraphicsConfigurationFactory: Add missing 'else' in branch
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLGraphicsConfigurationFactory.java (diff)
Commit 5a79f9138d3aa72ce683f790988bc686cd87e2e1 by Sven Gothel
MacOSXJAWTWindow.CALayer DEBUG: Only Dump AWT location-on-screen if property DEBUG_CALAYER_POS_CRITICAL is explicitly set.

- DEBUG_CALAYER_POS_CRITICAL = nativewindow.debug.JAWT.OSXCALayerPos

Since AWT's location-on-screen query can cause an AWT deadlock,
which is the sole purpose of our custom lock-free impl,
don't enable it's DEBUG output w/ default DEBUG flags.
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
Commit 0e79445985e23f0ff8c600137052cc446af421be by Harvey Harrison
jogl: add final to Debug wrapper error code and fix indentation

Make the indentation consistent in each function wrapper.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/jogl/classes/com/jogamp/gluegen/opengl/BuildComposablePipeline.java (diff)
Commit b77bd2e9de054124ef81413aa338c635dbdc5a54 by Harvey Harrison
jogl: indent trace statements in the Trace pipelines when we hit glBegin

The indent was being reduced on glEnd/glEndList but was never being incremented.
The intent appeared to be to indent all statements between glBEgin/glEnd pairs to
show the nested context of those calls.  Add the increment after printing the glBegin
trace statement.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/jogl/classes/com/jogamp/gluegen/opengl/BuildComposablePipeline.java (diff)
Commit 3647f6ad5ee3bc490a5647aee2de8d02119dd46c by Sven Gothel
GLContext CTX_IMPL_* bits: Use 10 cached bits (+1), and 6 uncached (-1) ; CTX_IMPL_FP32_COMPAT_API: "FP32 compat-api" -> "FP32 compat"
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
Commit ee9d26c28589a25329ebd26ee6f714db0eedd092 by Harvey Harrison
jogl: add generic annotations to the packed rectangle utility package

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/packrect/RectanglePacker.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/packrect/Level.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/packrect/LevelSet.java (diff)
Commit 445e6117edb0ce3545d01065a067fb7a751db030 by Harvey Harrison
jogl: add generics annotations to lists in the waveout code

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/jogl/classes/com/jogamp/audio/windows/waveout/Mixer.java (diff)
Commit 38025a602750161c72a50ad7a25e97fb7a6cb6df by Sven Gothel
Bug 867 - OSX 10.9: Recognize OpenGL Core Profile > 3.0 - Add GLRendererQuirks: Quirk GL4NeedsGL3Request and 'sticky device quirks'

The 'sticky device quirks' are required to share quirks among devices
as collected while mapping the GL versions (audit).

Those are context independent and may only be detected for certain contexts.

They can be pushed/added to the context's quirks, but also queried at context
creation (after mapping) - before the local quirks are being created.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java (diff)
Commit 970c9823007d1618e67480440ff40e7802dbb90f by Sven Gothel
Bug 871 - Add optional xcode.clang support for all modules (Extends Bug 837 w/ xcode's xcrun) - Remove abs. include path.

#include </usr/include/machine/types.h> -> #include <machine/types.h>
The file was modifiedmake/config/jogl/cgl-macosx.cfg (diff)
The file was modifiedmake/config/jogl/glu-gl2.cfg (diff)
The file was modifiedmake/config/jogl/gl-headers.cfg (diff)
The file was modifiedsrc/jogl/native/macosx/MacOSXCustomCGLCode.c (diff)
The file was modifiedmake/config/jogl/gl3-headers.cfg (diff)
The file was modifiedmake/config/nativewindow/jawt-macosx.cfg (diff)
Commit cbc641e89136098e0a9e79afe74b45203f828587 by Sven Gothel
Bug 867 - OSX: Allow core >=4 if isMavericksOrLater; Use [kCGLOGLPVersion_GL4_Core, kCGLOGLPVersion_GL3_Core] for major==4 depending on sticky GLRendererQuirks.GL4NeedsGL3Request
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLGraphicsConfiguration.java (diff)
The file was modifiedmake/stub_includes/macosx/OpenGL/OpenGL.h (diff)
Commit dc2deb071ca192594426791e95804a208e030ce3 by Sven Gothel
Bug 867 OSX [Common Code]: Trigger GLRendererQuirks.GL4NeedsGL3Request and make it sticky; Only alias profiles if HW-Accelerated!

Only alias profiles if HW-Accelerated!
GLContextImpl.mapGLVersions(..) shall not map a higher profile to a lower if it is a software renderer.

+++

GLContextImpl.mapGLVersions(..) attempts to trigger GLRendererQuirks.GL4NeedsGL3Request if OSX 10.9
by creating a GL3 core context first.

+++

GLContextImpl.setGLFunctionAvailability():
  - On OSX 10.9: Detect GLRendererQuirks.GL4NeedsGL3Request and make it sticky (per device)
    while 'withinGLVersionsMapping'

  - Merge sticky quirks w/ local quirks

+++

TestGearsES2NEWT: Add cmdline '-gl2' to force GL2 profile.
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLContext.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NEWT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLExternalContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXExternalCGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsExternalWGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11ExternalGLXContext.java (diff)
Commit f8b21903cf0db85fdc16c8e1892003702a05a33f by Sven Gothel
Use org.junit.Assert instead of deprecated junit.framework.Assert
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestBug692GL3VAO.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug675BeansInDesignTimeAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestSWTBug643AsyncExec.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestNewtCanvasSWTBug628ResizeDeadlockAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/caps/TestBug605FlippedImageNEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/caps/TestBug605FlippedImageAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug572AWT.java (diff)
Commit e1ffbf2ae6eb837dc1576eedaacbbb68247139f2 by Sven Gothel
Fix GLContext: getGLProfile() add missing GLES3; getAvailableGLProfile(device, ..) shall use GLProfile.get(device, ..)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
Commit 4050d0a319e88d4795cdefd1fd84789430adc1a2 by Sven Gothel
JoglVersion: "Default Profiles on device" -> "GLProfiles on device" - Since we do use the named device
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/JoglVersion.java (diff)
Commit 7b6fe9e4d26b4d3ff2a9ffac12523bcd29196db0 by Sven Gothel
GLProfile: Fix native profile mapping, i.e. use actual mapped profile-impl as detected and mapped by GLContext ; Enhance glAvailabilityToString(..)

We shall not map profile == profile-impl, i.e. GL3 -> GL3,
but use GLContext.getAvailableGLProfileName(device, reqMajor, reqProfileBits).
The latter reflects the actual mapped context as detected.

glAvailabilityToString(..)
  - Partition result in [Natives, Common and Mappings]

  - Mappings dumps mapped keys to profiles, while excluding default.
    Default is added at last.

  - Add count.
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLProfile.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLProfile00NEWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit ed47ed58374fe57e2d1db9b2d0af6e29595016dd by Sven Gothel
Fix regression of commit 34b35c5a0a379a6b4c0b23b9d347a0b1338f0239 - GLContextImpl.createContextARBVersions(..) erroneous upper bounds check.
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
Commit 5ee57df0fab57124afb31bc65fd87e9184cf8f16 by Sven Gothel
Fix Bug 872: ES3 and ES3-GLSL Version not properly Handled

GLContext:
  - Proper API doc for Version* fields

  - getStaticGLSLVersionNumber(): ES3 -> Version300

  - hasGLSL(): Add ES3

ShaderCode:
  - addDefaultShaderPrecision():
    - ES2 default precision: Don't 'tune up' default precision for fragment shader, use 'mediump'
    - Add ES3 default precision (equal to ES2 default precision)

  - requiresDefaultPrecision(): Shall returns 'true' for ES3 as well!
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/glsl/ShaderCode.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
Commit a444e03c8a346492de400b203d22f3f6c0067628 by Sven Gothel
TestGLProfile00NEWT: Dump Desktop's and EGL's default-device GLProfiles
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLProfile00NEWT.java (diff)
Commit b642b87c85329b37a181f96e1d7adeea9fb6b79f by Sven Gothel
API doc: GLStateKeeper (wording), GLAutoDrawable (enh. init desc.), GLDrawable (Shared Context)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLAutoDrawable.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/GLStateKeeper.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLDrawable.java (diff)
Commit ff3832bf24f02fc44a7494be49d210cacce43977 by Sven Gothel
spec-overview.html: Shared OpenGL context must be supported .. (GL spec)
The file was modifiedmake/doc/jogl/spec-overview.html (diff)
Commit 7f7a23dd0ddf106e6f0c69fc2a05ff92ac56200e by Sven Gothel
Bug 776 GLContext Sharing: Refine API for relaxed and lazy GLContext sharing ; Fix GLContext memory contract (volatile)

(Unit test remarks see below)

- Add shared GLContext queries
  - Refined GLContextShareSet:
    - Use IdentityHashMap since GLContext's can only be identical w/ same reference (footprint, performance)
    - Add API doc for clarification
    - Add methods:
       - ArrayList<GLContext> getCreatedShares(final GLContext context)
       - ArrayList<GLContext> getDestroyedShares(final GLContext context)
    - Use 'final' where possible

  - Add GLContext methods:
      - boolean isShared()
      - List<GLContext> getCreatedShares()
      - List<GLContext> getDestroyedShares()

- Add GLSharedContextSetter interface defining setting a shared GLContext
  directly (GLContext) or via a GLAutoDrawable:
  - setSharedContext(GLContext)
  - setSharedAutoDrawable(GLAutoDrawable)

  Both cause initialization/creation of GLAutoDrawable's drawable/context to be postponed,
  if the shared GLContext is not yet created natively or
  the shared GLAutoDrawable's GLContext does not yet exist.

  Most of impl. resides in GLDrawableHelper

  Implemented in:
    - GLAutoDrawableBase, GLOffscreenAutoDrawable
    - GLWindow
    - AWT GLCanvas

  TODO:
    - GLJPanel
    - SWT GLCanvas

- GLDrawableFactory:
   - Add 'GLOffscreenAutoDrawable createOffscreenAutoDrawable(..)' variant w/o passing the
     optional shared GLContext _and_ specifying lazy GLContext
     creation. This allows to benefit from GLSharedContextSetter contract.
     Lazy GLContext creation is performed at 2st display() call at the latest.

     All JOGL code and unit tests use this new method now.

  - Mark 'createOffscreenAutoDrawable(..)' w/ shared GLContext argument
    and immediate GLContext creation deprecated - shall be removed in 2.2.0

- Make reference to GLContext and it's native handle volatile
  Since we rely on the query 'GLContext.isCreated()' to properly allow GLAutoDrawable's to query whether
  a shared GLContext is natively created (already), the handle must be volatile
  since such query and the actual creation may operate on different threads.

+++++

- Add/Refine shared GLContext unit tests demonstrating diff. sharing methods.

  All variants of using shared GLContext:
      com.jogamp.opengl.test.junit.jogl.acore.TestSharedContextVBO*

  Most convenient way to share via setSharedAutoDrawable(GLAutoDrawable):
      com.jogamp.opengl.test.junit.jogl.acore.TestSharedContextVBOES2[NEWT|AWT]3

  AWT use w/ JTabbedPane using setSharedAutoDrawable(GLAutoDrawable):
      com.jogamp.opengl.test.junit.jogl.acore.TestSharedContextWithJTabbedPaneAWT
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextListNEWT.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2NEWT0.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/AWTRobotUtil.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/awt/TextRenderer.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2NEWT2.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug461FBOSupersamplingSwingAWT.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/TestNEWTCloseX11DisplayBug565.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestFBOAutoDrawableFactoryNEWT.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextWithJTabbedPaneAWT.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLOffscreenAutoDrawableImpl.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextNewtAWTBug523.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/caps/TestBug605FlippedImageAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glu/TestBug365TextureGenerateMipMaps.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLAutoDrawableFactoryGL2OffscrnCapsNEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES1NEWT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextShareSet.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/GearsES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLExtensionQueryOffscreen.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextListAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/caps/TestMultisampleES1AWT.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/TestRandomTiledRendering2GL2NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLAutoDrawableFactoryES2OffscrnCapsNEWT.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLOffscreenAutoDrawable.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2NEWT3.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/caps/TestBug605FlippedImageNEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/TestTiledRendering2NEWT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableFactoryImpl.java (diff)
The file was addedsrc/jogl/classes/javax/media/opengl/GLSharedContextSetter.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2NEWT.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestFBOOffThreadSharedContextMix2DemosES2NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLAutoDrawableFactoryGLnBitmapCapsNEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/glels/TestGLContextDrawableSwitch02AWT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/MiscUtils.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2AWT3.java
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLAutoDrawableDelegateNEWT.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2NEWT1.java
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es1/GearsES1.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestFBOOnThreadSharedContext1DemoES2NEWT.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLDrawableFactory.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/GLAutoDrawableDelegate.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableHelper.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestFBOAutoDrawableDeadlockAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/glels/GLContextDrawableSwitchBase.java (diff)
Commit aa7cbaea0c6998644ca9311f269ba0aae224d1c4 by Sven Gothel
Fix GLCanvas ctor shared GLContext: Use helper.setSharedContext(..) remove local shared ctx fields.

Regression of 7f7a23dd0ddf106e6f0c69fc2a05ff92ac56200e
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/TestSharedContextWithJTabbedPaneAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2AWT3.java (diff)
Commit f73c10f71be979d214537679f85f1897c5642e11 by Sven Gothel
Bug 776 GLContext Sharing: Add GLSharedContextSetter to GLJPanel
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2AWT3.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2AWT3b.java
Commit bcfaa149b9803ce33c5a356cbcb45f7dfd3e4361 by Sven Gothel
Bug 776 GLContext Sharing: Add note about driver stability (destruction order) ; Fix unit tests (Shared Gears, wait for created context and destruction order)

- Add note about driver stability (destruction order)
  - See GLSharedContextSetter: Don't destroy master context before slaves!

- Fix spec-overview.html#SHARED links, add link to GLSharedContextSetter in SHARED subsection.

- Fix unit tests (Shared Gears, wait for created context and destruction order)
  - The GearsObject sharing was completly bogus!
    It simply used the _same_ GLArrayDataServer instance for sharing,
    but it should use a _copy_ of the shared GLArrayDataServer while
    only preserving the VBO object!
    Fixed, while adding required methods to GLArrayDataServer.

  - Waiting for the created GLContext of a GLAutoDrawable required us
    to pass the latter _and_ check whether it's GLContext exists and is natively created.

  - Accomodated the destruction order - see above!
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/GearsObject.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2AWT3.java (diff)
The file was modifiedmake/doc/jogl/spec-overview.html (diff)
The file was modifiedmake/build-test.xml (diff)
The file was modifiedmake/scripts/tests-win.bat (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES1NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2NEWT3.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLDrawableFactory.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2NEWT0.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2AWT3b.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsObjectES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2NEWT2.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/jogl/acore/TestSharedContextVBOES2NEWT1.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLSharedContextSetter.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es1/GearsObjectES1.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLArrayDataServer.java (diff)
Commit 3598b398dfd39502078f3750ad97bbbece060846 by Sven Gothel
Bug 776 GLContext Sharing: Add GLSharedContextSetter to SWT GLCanvas
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestSWTJOGLGLCanvas01GLn.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2AWT3.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/swt/TestGearsES2SWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2AWT3b.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2SWT3.java
The file was modifiedmake/build-test.xml (diff)
The file was modifiedmake/scripts/tests-win.bat (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestSWTBug643AsyncExec.java (diff)
Commit 9b133d6b0408d08e79f2973eabd4d1d29c695747 by Sven Gothel
GLDrawableHelper.reshape(): Catch pre-existing GL errors before glViewport(..) and dump it (Add stack trace if DEBUG)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableHelper.java (diff)
Commit 5dffa6a4895a06edc44de6fe335c35af291fbd19 by Sven Gothel
Fix TestSharedContextNewtAWTBug523: Don't use VAO's w/ GL2 context - No VAO on GL2 ctx on OSX ; GLWindow #2 shall also use sharedDrawable; Cleanup  ..
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextNewtAWTBug523.java (diff)
Commit d83d54f2aaf9b8389a64fba7a8c05c495873d941 by Sven Gothel
Bug 876: BuildComposablePipeline: getGL*() shall not return downstream.getGL*() [TraceGL* / DebugGL*] ; Simplify GLContextImpl's set Debug/Trace Pipeline

Regression of commit 0002fccdcd6383874b2813dc6bbe3e33f5f00924:
  "Trace/Debug shall utilize downstream identification for isGL*() and getGL*() methods."

  Using the downstream identification commit is right for the isGL*() case,
  however, getGL*() returned the downstream object which makes the caller loosing the pipeline!

  Instead, we shall produce !GEN_GL_IDENTITY_BY_ASSIGNABLE_CLASS:

     "if( isGL<type>() ) { return this; }
     throw new GLException("Not a <type> implementation");"

  or for GEN_GL_IDENTITY_BY_ASSIGNABLE_CLASS:

     "return this;"
The file was modifiedsrc/jogl/classes/com/jogamp/gluegen/opengl/BuildComposablePipeline.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
Commit d8074fb1df1bdb63fdb97585c797c15d34695e9c by Sven Gothel
GLDrawableFactory: Add 'GLAutoDrawable createDummyAutoDrawable(..)' for convenience

Added:
  GLAutoDrawable createDummyAutoDrawable(AbstractGraphicsDevice deviceReq, boolean createNewDevice, GLProfile glp)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableFactoryImpl.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLDrawableFactory.java (diff)
Commit 9f2a9df0a4b7093925c8854b37fba053469a4b35 by Sven Gothel
Bug 776 GLContext Sharing: Add copy-ctor to GLArrayData* w/ sliced Buffer; Refine GearsObject* GLArrayDataServer copying; GearsES*: Init VBO eagerly

Add copy-ctor to GLArrayData* w/ sliced Buffer to allow general sharing of VBO via these high-level types.

Refine GearsObject* GLArrayDataServer copying (commit bcfaa149b9803ce33c5a356cbcb45f7dfd3e4361):
  Utilize new GLArrayData* copy-ctor.

GearsES*: Init VBO eagerly, allowing VBO usage after init(..).
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsObjectES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es1/GearsES1.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLArrayDataWrapper.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/GearsObject.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es1/GearsObjectES1.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLArrayDataServer.java (diff)
Commit 85be81387d33224036b3fe2b02d74aab2926e028 by brice
Fix #875 - ES version should be strictly validated

When initializing the context in GLContextImpl.setGLFuncAvailability
ES devices must be validated by strictly matching the major version,
otherwise on ES3 devices we were mixing ES1 implementation with ES3
contexts, ultimately crashing in a safeguard.

Signed-off-by: Brice Figureau <brice@daysofwonder.com>
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
Commit 0943389a6d34622c112ed73ce3d2d2e25434ce59 by Sven Gothel
Bug 877 Concurrency Discussion: Update doc MultiThreading.txt, volatile field usage; GLDrawableImpl: Make read-only fields final.
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifieddoc/Implementation/MultiThreading.txt (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableImpl.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
Commit 6f9cb656934fe9daa85e585ee2770210ceb43950 by Sven Gothel
Bug 776 GLContext Sharing: Fix copy-ctor GLArrayDataClient: Create new instance of GLArrayHandler of same type; Simplify GLArrayHandler inheritance.

Refines commit 9f2a9df0a4b7093925c8854b37fba053469a4b35
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/GLArrayHandlerInterleaved.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/GLFixedArrayHandler.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/GLSLArrayHandler.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/GLSLArrayHandlerInterleaved.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/GLDataArrayHandler.java (diff)
Commit 5cb08416a6ed44814065771f469a94f79c49ab3f by Sven Gothel
Bug 776 GLContext Sharing: GLSharedContextSetter API Doc: No 'Driver stability constraints' ; Fixing Test cases: Enable all, GearsObject*: Check VBO

- GLSharedContextSetter API Doc: No 'Driver stability constraints'
  - No driver issues ..
  - Use 'Lifecycle Considerations' to describe usage issues ..

- Fixing Test cases: Enable all, GearsObject*: Check VBO
  - GearsObject* needs to check whether VBO is 'still alive'
    if sharing is enabled.

  - Enable all unit tests.
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLSharedContextSetter.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es1/GearsObjectES1.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2NEWT3.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2NEWT1.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2AWT3.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2NEWT2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsObjectES2.java (diff)
Commit c53440b808ecf8ea066479c004cac4cdbb1e989d by Sven Gothel
Bug 776 GLContext Sharing: GLSharedContextSetter API Doc: Add 'glFinish()' to lifecycle considerations ; GearsES2: Add glFinish() after init().
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2NEWT2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2NEWT3.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLSharedContextSetter.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2AWT3.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2SWT3.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2AWT3b.java (diff)
Commit 9ce3f5f0d47f21a7dc229f0df03ac0fbda295f35 by Sven Gothel
Bug 875: Safeguard setGLFunctionAvailability(.. strictMatch=false.. ) operation, throw InternalError if failing
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLExternalContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXExternalCGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11ExternalGLXContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsExternalWGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLContext.java (diff)
Commit 2481774c4a4a5d734dbeb2f7d8963f45d1b2a437 by Sven Gothel
Fix Bug 875 - Cleanup branch using VersionNumber (fix 'Int' check strictMatch minor) and reuse isES; EGLContext: Use strictMatch for setGLFunctionAvailability() and handle failure; EGLDrawableFactory: Either detect ES3 or ES2.

- Cleanup branch using VersionNumber (fix 'Int' check strictMatch minor) and reuse isES

- EGLContext: Use strictMatch for setGLFunctionAvailability() and handle failure
  On ES, we require strictMatch, cleanup if failing.

- EGLDrawableFactory: Either detect ES3 or ES2.
  Both only available with proper EGL context creation for ES profiles (TODO)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java (diff)
Commit 802f52a2ed4769703786f03fbc9b036fecca49bd by Sven Gothel
Android NEWT.ScreenDriver MonitorSize: Use xdpi for for width (fix); Add DEBUG output.
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/ScreenDriver.java (diff)
Commit 4fcc1d68d6cdfc87a80b7c86103b02ef54f3fa41 by Sven Gothel
Add GLES1Impl 'finalizeInit()' to avoid a 'catched exception roundtrip'
The file was modifiedmake/config/jogl/gl-impl-CustomJavaCode-gles1.java (diff)
Commit d2690939b46a91b346bdd2d4ce750ddb0d2136fd by Sven Gothel
Fix Unit Test Regression (commit 9f2a9df0a4b7093925c8854b37fba053469a4b35): GearsObject used getGL2ES2(), which is not allowed.
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/util/TestES1FixedFunctionPipelineNEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/GearsObject.java (diff)
Commit 17706bd9dee80f5dd2fccdc19e7c246cb3881a98 by Sven Gothel
TestSharedContextVBOES2NEWT1: Fix copy/paste (mistakenly used sharedGears), add println; GearsES: Add init/shared state to 'toString()'
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/acore/TestSharedContextVBOES2NEWT1.java (diff)
Commit bca7777fa507a509f413c6dc8919bab641fe0d15 by mark
Add functions for converting to and from binary16 half-precision floating point values. Derived from http://mvn.io7m.com/ieee754b16, of which I am the original author.
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/math/Binary32Test.java
The file was addedsrc/jogl/classes/com/jogamp/opengl/math/Binary16.java
The file was addedsrc/jogl/classes/com/jogamp/opengl/math/Binary32.java
The file was addedsrc/jogl/classes/com/jogamp/opengl/math/Binary64.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/math/Binary16Test.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/math/Binary64Test.java
Commit c532abc1618fde46ef36bd70acdcc6b1d45fcbf1 by Sven Gothel
Rename Binary*Test -> TestBinary*NOUI to get picked up by build-test.xml's junit.run.noui
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestBinary16NOUI.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/math/Binary32Test.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/math/Binary16Test.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/math/Binary64Test.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestBinary64NOUI.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestBinary32NOUI.java
Commit 24485ead77a368ae3b77108248e067ad1f44ef0a by Sven Gothel
Test Rename: Add Bug 729 / Bug 849 to Bug 816 Unit Test Names - Allowing a better unit test lookup
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug816OSXCALayerPos03bAWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug816OSXCALayerPos03aB729AWT.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextWithJTabbedPaneAWT.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug816OSXCALayerPos03bB849AWT.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug816OSXCALayerPos03aAWT.java
The file was modifiedmake/scripts/tests.sh (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug816OSXCALayerPos03cAWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug816OSXCALayerPos03cB849AWT.java
Commit 887dbdb34d71a3a266b7854bc9a3842aad1032f9 by Sven Gothel
Fix Bug 878 - JAWTWindow's HierarchyListener doesn't set component visible (again) on 'addNotify(..)' - GLCanvas in JtabbedPane disappear

Regression of commit e33e6374e0be0454f7e9732b5f897f84dbc3c4dc (Fix for Bug 729 and Bug 849) !

+++

JAWTWindow's HierarchyListener doesn't set component visible (again) on 'addNotify(..)'

It only renders the component invisible after removeNotify() which is performed implicit anyways ..

Case java.awt.event.HierarchyEvent.DISPLAYABILITY_CHANGED
shall perform similar as our java.awt.event.HierarchyEvent.SHOWING_CHANGED impl.

+++

Tested on Gnu/Linux X11 and OSX incl. re-test Bug 729 and Bug 849 unit tests.
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug816JTabbedPanelVisibilityB849B878AWT.java
Commit b57ce5454ddeb7dd4b7c010c5df54faa6e8d951a by Sven Gothel
Bug 754 - Remove Ubuntu fonts from jogl-all.jar, provide it separately to reduce footprint for the masses.

Remove the ubuntu fonts from atomic/jogl-util-graph.jar and hence all derivated 'all' JAR files.
The Android jar files still contain the fonts as assets!

atomic/jogl-util-graph-fonts-p0.jar contains the fonts and is either referenced by:
  - UbuntuFontLoader: Using class based Jar URI derivation using TempJarCache to [down]load
    and extract the jar file (similar to native lib-loading).

  - Explicitly via traditional classpath, see jnlp-files/jogl-applet-runner-newt-GraphTextDemo01b-napplet.html

The pack200 jogl-all.jar file is now below 1MB
The file was modifiedmake/build-jogl.xml (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/UbuntuFontLoader.java (diff)
The file was addedjnlp-files/jogl-applet-runner-newt-GraphTextDemo01b-napplet.html
The file was modifiedmake/build-common.xml (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedjnlp-files/jogl-test-applets.html (diff)
Commit 5a44ec09918702fe95b65e67bd448cc171b9e8dd by Sven Gothel
AndroidGLMediaPlayerAPI14: Avoid possible NPEs
The file was modifiedsrc/jogl/classes/jogamp/opengl/android/av/AndroidGLMediaPlayerAPI14.java (diff)
Commit 93ec063abaf2d1ff7a4947a4f9732635e0a99316 by Sven Gothel
TestBinary16NOUI: Remove hardship from test node - Disable 'verbose' avoids 'out of memory' and saves most of the time; Also run test exclusively.
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestBinary16NOUI.java (diff)
Commit bde835213c584393d4be4ec7da62e7efd49430b7 by Sven Gothel
GLDrawableFactory: createDummy*(..) Pass GLCapabilitiesImmutable + GLCapabilitiesChooser instead of GLProfile, allowing using same or similar caps - important for sharing ctx
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES1NEWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableFactoryImpl.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2NEWT1.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLSharedContextSetter.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
Commit b0fa7977b154284334285daa642e114d7c9fca46 by Sven Gothel
EGLDrawableFactory.createDummySurfaceImpl: fix caps to pbuffer - since we do use EGLDummyUpstreamSurfaceHook .. a pbuffer offscreen

fixOffscreenBitOnly(..) may yield FBO queries / chosing .. usually doesn't matter (on devices here),
but not accurate.
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLDummyUpstreamSurfaceHook.java (diff)
Commit cc57413180edc4e5102f6729ccca6c4695d93e42 by Sven Gothel
Bug 882 - Crash on OSX when closing NEWT window - Check JavaVM and JNIEnv handles before usage in NewtMacWindow (Not the culprit .. but more safe)
The file was modifiedsrc/newt/native/NewtMacWindow.m (diff)
Commit 85878162940067b39b17c71878446dff0759040d by Sven Gothel
Bug 882 - Crash on OSX when closing NEWT window - Fix: Release NewtMacWindow  manually in close0()

Release NewtMacWindow  manually in close0()
  - Mark [NewtMacWindow setReleasedWhenClosed: NO] in init0(..)
  - Release NewtMacWindow manually in close0(..)

Check pointer args in close0(..)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/native/MacWindow.m (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/DemoCreateAndDisposeOnCloseNEWT.java
Commit 4d5c62620eb93d9e43ea852960da50d548684429 by Sven Gothel
Bug 881 - Add 'Application-Name' in Jar's manifest to avoid Java6 NPEs ..
The file was modifiedmake/newtversion (diff)
The file was modifiedmake/joglversion-all (diff)
The file was modifiedmake/nativewindowversion (diff)
The file was modifiedmake/joglversion-test-android (diff)
The file was modifiedmake/joglversion-test (diff)
The file was modifiedmake/joglversion (diff)
Commit 10b2f2219306746f3a3af6043717f42ae32c31e3 by Sven Gothel
Clarify Bug 692: Unbinding a VAO does _not_ imply unbinding of set VBOs (spec doesn't mention it, and it does not show results w/ CPU sourced rendering) ; Clean up GLBuffer*Tracker

+ * Note that VAO initialization does unbind the VBO .. since otherwise they are still bound
+ * and the CPU_SRC test will fail!<br/>
+ * The OpenGL spec does not mention that unbinding a VAO will also unbind the bound VBOs
+ * during their setup.<br/>
+ * Local tests here on NV and AMD proprietary driver resulted in <i>no ourput image</i>
+ * when not unbinding said VBOs before the CPU_SRC tests.<br/>
+ * Hence Bug 692 Comment 5 is invalid, i.e. <https://jogamp.org/bugzilla/show_bug.cgi?id=692#c5>,
+ * and we should throw an exception to give users a hint!

Leaving uncommented code in GLBufferStateTracker ..

+++

- Clean up GLBuffer*Tracker
  - Use final
  - Use static final keyNotFound value.
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestBug692GL3VAONEWT.java
The file was modifiedmake/config/jogl/gl-impl-CustomJavaCode-gles3.java (diff)
The file was modifiedmake/config/jogl/gl-impl-CustomJavaCode-gl4bc.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLBufferSizeTracker.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestBug692GL3VAO.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLBufferStateTracker.java (diff)
Commit 33db4580da46ba21771499fdf50489e60294e439 by Sven Gothel
Bug 852: Add unit test TestCPUSourcingAPINEWT validating CPU sourcing, i.e. expecting exception w/ core profile!
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestCPUSourcingAPINEWT.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestBug692GL3VAONEWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit f4574bf6846f2084f6a403552f7be6e845107c73 by Sven Gothel
Bug 885 - GLMediaPlayer: Allow single threaded mode - Especially where multiple media textures (Android) or shared GL context are not usable.

- GLMediaPlayer:
  - TEXTURE_COUNT_MIN is the new minimum: '1' - i.e. no multithreading, single threaded player
  - TEXTURE_COUNT_DEFAULT is '4' - multithreaded

- GLMediaPlayerImpl:
  - Add Single threaded mode, but perform initStreamImpl(..) off-thread.
  -
The file was modifiedmake/scripts/adb-launch-activity.sh (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieCube.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/android/av/AndroidGLMediaPlayerAPI14.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/NullGLMediaPlayer.java (diff)
Commit 3ed74abaddb90cb537897b9928e923be50f7f99f by Sven Gothel
GLRendererQuirks: Add GLSharedContextBuggy ('Mesa Intel 9.2.1' and 'Hisilicon Immersion.16')

Note: Even though Mesa Intel driver crashes w/ heavy multithreading (Bug 873),
it works well w/ our multithreaded GLMediaPlayer.
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java (diff)