Brice Figureau (2): Fix Bug 866 - Frequent IndexOutOfBoundsException in jogamp.opengl.egl.EGLGraphicsConfigurationFactory: Add missing 'else' in branch Fix #875 - ES version should be strictly validated Harvey Harrison (14): jogl: replce more unneeded String() construction jogl: remove clone() method that only throws Exceptions jogl: remove clone() version that can only ever fail jogl: enable generics annotations on TextRenderer jogl: adapt code generator to output @Override annotations in various places jogl: use .format() to build the method signature when generating pipeline code jogl: change code generation for Debug pipelines to avoid building large strings jogl: do not generate an extra String for the Debug pipeline wrappers jogl: save on class size in the Debug pipelines jogl: pass format and arguments directly to the printGLError function jogl: add final to Debug wrapper error code and fix indentation jogl: indent trace statements in the Trace pipelines when we hit glBegin jogl: add generic annotations to the packed rectangle utility package jogl: add generics annotations to lists in the waveout code Mark Raynsford (1): 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. Sven Gothel (50): MacOSXJAWTWindow.CALayer DEBUG: Only Dump AWT location-on-screen if property DEBUG_CALAYER_POS_CRITICAL is explicitly set. GLContext CTX_IMPL_* bits: Use 10 cached bits (+1), and 6 uncached (-1) ; CTX_IMPL_FP32_COMPAT_API: "FP32 compat-api" -> "FP32 compat" Bug 867 - OSX 10.9: Recognize OpenGL Core Profile > 3.0 - Add GLRendererQuirks: Quirk GL4NeedsGL3Request and 'sticky device quirks' Bug 871 - Add optional xcode.clang support for all modules (Extends Bug 837 w/ xcode's xcrun) - Remove abs. include path. Bug 867 - OSX: Allow core >=4 if isMavericksOrLater; Use [kCGLOGLPVersion_GL4_Core, kCGLOGLPVersion_GL3_Core] for major==4 depending on sticky GLRendererQuirks.GL4NeedsGL3Request Bug 867 OSX [Common Code]: Trigger GLRendererQuirks.GL4NeedsGL3Request and make it sticky; Only alias profiles if HW-Accelerated! Use org.junit.Assert instead of deprecated junit.framework.Assert Fix GLContext: getGLProfile() add missing GLES3; getAvailableGLProfile(device, ..) shall use GLProfile.get(device, ..) JoglVersion: "Default Profiles on device" -> "GLProfiles on device" - Since we do use the named device GLProfile: Fix native profile mapping, i.e. use actual mapped profile-impl as detected and mapped by GLContext ; Enhance glAvailabilityToString(..) Fix regression of commit 34b35c5a0a379a6b4c0b23b9d347a0b1338f0239 - GLContextImpl.createContextARBVersions(..) erroneous upper bounds check. Fix Bug 872: ES3 and ES3-GLSL Version not properly Handled TestGLProfile00NEWT: Dump Desktop's and EGL's default-device GLProfiles API doc: GLStateKeeper (wording), GLAutoDrawable (enh. init desc.), GLDrawable (Shared Context) spec-overview.html: Shared OpenGL context must be supported .. (GL spec) Bug 776 GLContext Sharing: Refine API for relaxed and lazy GLContext sharing ; Fix GLContext memory contract (volatile) Fix GLCanvas ctor shared GLContext: Use helper.setSharedContext(..) remove local shared ctx fields. Bug 776 GLContext Sharing: Add GLSharedContextSetter to GLJPanel Bug 776 GLContext Sharing: Add note about driver stability (destruction order) ; Fix unit tests (Shared Gears, wait for created context and destruction order) Bug 776 GLContext Sharing: Add GLSharedContextSetter to SWT GLCanvas GLDrawableHelper.reshape(): Catch pre-existing GL errors before glViewport(..) and dump it (Add stack trace if DEBUG) Fix TestSharedContextNewtAWTBug523: Don't use VAO's w/ GL2 context - No VAO on GL2 ctx on OSX ; GLWindow #2 shall also use sharedDrawable; Cleanup .. Bug 876: BuildComposablePipeline: getGL*() shall not return downstream.getGL*() [TraceGL* / DebugGL*] ; Simplify GLContextImpl's set Debug/Trace Pipeline GLDrawableFactory: Add 'GLAutoDrawable createDummyAutoDrawable(..)' for convenience Bug 776 GLContext Sharing: Add copy-ctor to GLArrayData* w/ sliced Buffer; Refine GearsObject* GLArrayDataServer copying; GearsES*: Init VBO eagerly Bug 877 Concurrency Discussion: Update doc MultiThreading.txt, volatile field usage; GLDrawableImpl: Make read-only fields final. Bug 776 GLContext Sharing: Fix copy-ctor GLArrayDataClient: Create new instance of GLArrayHandler of same type; Simplify GLArrayHandler inheritance. Bug 776 GLContext Sharing: GLSharedContextSetter API Doc: No 'Driver stability constraints' ; Fixing Test cases: Enable all, GearsObject*: Check VBO Bug 776 GLContext Sharing: GLSharedContextSetter API Doc: Add 'glFinish()' to lifecycle considerations ; GearsES2: Add glFinish() after init(). Bug 875: Safeguard setGLFunctionAvailability(.. strictMatch=false.. ) operation, throw InternalError if failing 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. Android NEWT.ScreenDriver MonitorSize: Use xdpi for for width (fix); Add DEBUG output. Add GLES1Impl 'finalizeInit()' to avoid a 'catched exception roundtrip' Fix Unit Test Regression (commit 9f2a9df0a4b7093925c8854b37fba053469a4b35): GearsObject used getGL2ES2(), which is not allowed. TestSharedContextVBOES2NEWT1: Fix copy/paste (mistakenly used sharedGears), add println; GearsES: Add init/shared state to 'toString()' Rename Binary*Test -> TestBinary*NOUI to get picked up by build-test.xml's junit.run.noui Test Rename: Add Bug 729 / Bug 849 to Bug 816 Unit Test Names - Allowing a better unit test lookup Fix Bug 878 - JAWTWindow's HierarchyListener doesn't set component visible (again) on 'addNotify(..)' - GLCanvas in JtabbedPane disappear Bug 754 - Remove Ubuntu fonts from jogl-all.jar, provide it separately to reduce footprint for the masses. AndroidGLMediaPlayerAPI14: Avoid possible NPEs TestBinary16NOUI: Remove hardship from test node - Disable 'verbose' avoids 'out of memory' and saves most of the time; Also run test exclusively. GLDrawableFactory: createDummy*(..) Pass GLCapabilitiesImmutable + GLCapabilitiesChooser instead of GLProfile, allowing using same or similar caps - important for sharing ctx EGLDrawableFactory.createDummySurfaceImpl: fix caps to pbuffer - since we do use EGLDummyUpstreamSurfaceHook .. a pbuffer offscreen Bug 882 - Crash on OSX when closing NEWT window - Check JavaVM and JNIEnv handles before usage in NewtMacWindow (Not the culprit .. but more safe) Bug 882 - Crash on OSX when closing NEWT window - Fix: Release NewtMacWindow manually in close0() Bug 881 - Add 'Application-Name' in Jar's manifest to avoid Java6 NPEs .. 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 Bug 852: Add unit test TestCPUSourcingAPINEWT validating CPU sourcing, i.e. expecting exception w/ core profile! Bug 885 - GLMediaPlayer: Allow single threaded mode - Especially where multiple media textures (Android) or shared GL context are not usable. GLRendererQuirks: Add GLSharedContextBuggy ('Mesa Intel 9.2.1' and 'Hisilicon Immersion.16')