commit 99f14475993d127f1b927056b309477753563a02 Author: Sven Gothel Date: Wed Mar 11 20:42:09 2015 +0100 Resolve RenameJavaSymbol issues (GLUgl2 and CGL) using GLEmitter (-> DelegateImplementation) due to new GlueGen Semantics GlueGen would usually use the original native C method name for proc-address or direct call. GLEmitter however uses the renamed method name, assuming it is shorter and resulted from a 'RenameExtensionIntoCore' directive. GLUgl2 native usage was broken since 2.2.4 GLUgl2 and CGL use RenameJavaSymbol w/ the intention of delegation, hence resolve the issue using the new DelegateImplementation directive which preserves the original function name for the native call. commit a622ffbced14e1e2fe797c82fc62c431ffb6949f Author: Sven Gothel Date: Wed Mar 11 17:58:52 2015 +0100 Bug 1135: GLBufferObjectTracker for GL 4.5: Separate GL 4.5 DSA and GL_EXT_direct_state_access We cannot subsume/rename even parts of GL_EXT_direct_state_access, since it is explcit stated in the spec that no assumption shall be made in regards compatibility and interaction. Hence we add both, GL 4.5 DSA and GL_EXT_direct_state_access. commit 68391b118e93170c568edc21edad7f6b0c1f97a3 Author: Sven Gothel Date: Wed Mar 11 15:33:10 2015 +0100 Bug 1135: Complete GLBufferObjectTracker for GL 4.5 using GlueGen's DelegateImplementation/ReturnsOpaque (Bug 1144) Using GlueGen's new DelegateImplementation/ReturnsOpaque feature (Bug 1144) allows us to drop manually C implementation stubs, while simply delegating into the renamed private generated variant using the manual stub. Completed glBufferStorage and glNamedBufferStorage for GL 4.4 while subsuming DSA's of GL 4.5 and GL_EXT_direct_state_access (only the single functions, otherwise extension is not compatible). commit cd92c17175db0c3a3a04b5b327cfcb887bf8a7d7 Author: Sven Gothel Date: Wed Mar 11 09:20:14 2015 +0100 Bug 1135: Bump [html] doc to include GL 4.5, ES 3.1 and EGL [ 1.0 .. 1.5 ] commit ad50cb0572d410a04c09f362befdd7b824364940 Author: Sven Gothel Date: Wed Mar 11 08:58:36 2015 +0100 Bug 1144: Adapt to GlueGen commit 405512e1c8a2e24834b0d057f0b020b4a0f4c25b commit 75614e19f48ecd7b919d5d9f447c647611246e8d Author: Sven Gothel Date: Mon Mar 9 19:04:33 2015 +0100 MonitorDevice.toString: More brief 'options' .. commit 0adbc977ac7848e8092fa1d58174d0a37aabb86b Author: Sven Gothel Date: Mon Mar 9 15:45:36 2015 +0100 Bug 1142 - NEWT: Add support to retrieve the primary MonitorDevice Support added for - Windows - X11 XRandR 1.3 - OSX Note: Our whole MonitorMode association handling is currently _not_ dynamic. - only on Windows we actually use native unique ID, which might not change (adapter and monitor idx) - On OSX and X11 we simply use indices, but if monitor setup changes - they refer to different instances. In case it is desired to cover dynamic monitor setup change, we need to address this issue in a new bug entry. commit f0f6ee411efb97d34c443c070bb640c8d8a8333f Author: Sven Gothel Date: Mon Mar 9 12:50:29 2015 +0100 TestScreenMode02aNEWT: Incr. wait period, for some reason one older test machine (Linux/Ubuntu) doesn't rotate screen reliably. commit aba21ccaebb2acf20690a77f5c0914f12d736755 Author: Sven Gothel Date: Mon Mar 9 10:24:47 2015 +0100 Fix regression of commit 559ecad2a2387ba0aa34ce9e35ca8a2c5a31e655: IDX_MONITOR_DEVICE_VIEWPORT needed to be updated! commit 99d37df6cf410117cb8d49774ef7550bcf847c7b Author: Sven Gothel Date: Mon Mar 9 08:57:24 2015 +0100 Bug 1135 - (Re-)Include GL header for in generated native code, allowing 'ProcAddrTypedef' validation Include GL header for in generated native code, since we need the public 'ProcAddrTypedef' to be validated against the GlueGen generated variant by the c-compiler. The 'ProcAddrTypedef' validation semantic has been introduced in GlueGen w/ commit 10060b091b76bee35246c5165d49ab546ebc4e37. Originally the GL header were always included, however, JOGL commit 0d59bd4c655ef9a27f127000848aae7f07f240ae removed the inclusion to simplify handling GL extension collisions mitigated via gl*-supplement.h. The latter produces 'redefine' errors via c-compiler. The 'redefine' issue above is resolved by conditional code (#ifdef __GLUEGEN__ ..) in glext-supplement.h. commit e3385993b4133f88fd1b8e335438f5f2cd305555 Author: Sven Gothel Date: Sun Mar 8 00:07:29 2015 +0100 Bug 1134 - Use ASTLocationTag in Logging Adapt to GlueGen commit da909f84dc8421052c92491baa7dd90e1c78dc8f commit 6e8683336a0885a45e57d0bcb6c05a36c5ebe81e Author: Sven Gothel Date: Fri Mar 6 10:05:39 2015 +0100 Bump to oculusvr-sdk cleanup commit 23f7addf6eefde27efe7e47c320ad31b7f81dc2c Author: Sven Gothel Date: Fri Mar 6 10:03:59 2015 +0100 Bug 1135 - Cleanup: Class ownership change of static GL enumerates GLBufferStateTracker now also supports GL4.GL_QUERY_BUFFER commit 27ebb38b9ffd3cc8f4ee3b97509b0f32ef2680aa Author: Sven Gothel Date: Fri Mar 6 10:02:03 2015 +0100 Bug 1135 - Cleanup: Fix native code Warning commit eced1d4e45772a862d649e3cd7b500c6bc1643a1 Author: Sven Gothel Date: Fri Mar 6 10:01:02 2015 +0100 Bug 1135 - GL/GLContext: Add isGLES31Compatible() commit 807c86913b465ce6071bc1af7ba6f8620cd5e772 Author: Sven Gothel Date: Fri Mar 6 09:59:44 2015 +0100 Bug 1135 - Cleanup: Remove GL_NV_vertex_array_range extension support in GLContext commit 2d11a8f4f94947b2f478aea82d33c6934b90aafc Author: Sven Gothel Date: Fri Mar 6 09:55:52 2015 +0100 Bug 1135 - Change JOGL's GlueGen Plugin to support EGL 1.5 , ES 3.1 and GL 4.5 - BuildStaticGLInfo - Needs to allow 3rd if-def block in header files - GLConfiguration Changes - 'GLHeader' -> 'GLSemHeader' + 'GLDocHeader' This allows us to provide all header files, exposing all cross-references (extensions and aliases) for our API doc. However, inclusions/exclusion semantics shall only operate on the actual header files used for code generation. - All AliasedSymbol's extensions must be covered by 'IgnoredExtension' to be excluded. - Sync w/ GlueGen commit 5f66fafec303de7d7904a499fefb8e3d023b61ae commit 79f04cfdacef8eda2efb83e6f769bc87b3dd748d Author: Sven Gothel Date: Fri Mar 6 09:46:52 2015 +0100 Bug 1135 - Add supplemental (overriding) GL header, fixing collisions of certain extensions commit 0d59bd4c655ef9a27f127000848aae7f07f240ae Author: Sven Gothel Date: Fri Mar 6 09:45:48 2015 +0100 Bug 1135 - Change all GlueGen config files, supporting EGL 1.5 , ES 3.1 and GL 4.5 commit 0674a3678d747335ad36f0f57e3bdc9c168f0dcf Author: Sven Gothel Date: Fri Mar 6 09:42:13 2015 +0100 Bug 1135 - Fix other GL header and windows-system header - GL/gl.h: remove added gl-types.h include, which causes 'redefined' warnings or errors. - GLES/glext.h: Use vanilla 'typedef void* GLeglImageOES' - opengl/gl-types.h: Complete all GL types - Fix windows.h and all its related header commit a554616fae30facd7574679b5c8b244757b7ccd9 Author: Sven Gothel Date: Fri Mar 6 09:38:16 2015 +0100 Bug 1135 - Support EGL 1.5 , ES 3.1 and GL 4.5 - Part 3: Minimal patch of vanilla GL headers (Fix last patch) Last patch of vanilla header, commit 47713518e3317b2621ee7ff1bbf8223fbce7fdc4, added gl-types.h include, which causes 'redefined' warnings or errors. Removed. - GL/glcorearb.h 2015-02-02 - #include "gl-types.h" - GL/glext.h 2015-02-02 - #include "gl-types.h" commit 47713518e3317b2621ee7ff1bbf8223fbce7fdc4 Author: Sven Gothel Date: Thu Mar 5 04:42:43 2015 +0100 Bug 1135 - Support EGL 1.5 , ES 3.1 and GL 4.5 - Part 2: Minimal patch of vanilla GL headers New vanilla GL headers were dropped w/ commit 6b05c6919f3df20ce0b55d5ac7dda7b14068568e. - egl/EGL/eglplatform.h: 2013-10-09 +generic void pointer for EGLNative*Type - khr/KHR/khrplatform.h: 2013-09-30 +using 'our' GlueGen stdint types, hence reduced - GL/glcorearb.h: 2015-02-02 +using 'our' stdint- and platform types - GL/glext.h: 2015-02-02 +using 'our' stdint- and platform types commit 6b05c6919f3df20ce0b55d5ac7dda7b14068568e Author: Sven Gothel Date: Thu Feb 26 02:58:56 2015 +0100 Bug 1135 - Support EGL 1.5 , ES 3.1 and GL 4.5 - Part 1: Update header to latest version - khr/KHR/khrplatform.h: 2013-09-30 vanilla - opengl/GLES3/khrplatform.h *removed* -> khr/KHR/khrplatform.h - egl/EGL/egl.h: 2015-01-02 vanilla - egl/EGL/eglext.h: 2015-01-02 vanilla - egl/EGL/eglplatform.h: 2013-10-09 vanilla - opengl/GLES2/gl2.h: 2015-01-22 vanilla - opengl/GLES2/gl2ext.h 2015-01-26 vanilla - opengl/GLES2/gl2platform.h 2013-10-02 vanilla - opengl/GLES3/gl3.h *removed* -> opengl/GLES3/gl31.h - opengl/GLES3/gl31.h 2015-01-22 vanilla - opengl/GLES3/gl3platform.h 2013-10-02 vanilla - opengl/GL/glcorearb.h 2015-02-02 vanilla - opengl/GL/glext.h 2015-02-02 vanilla - opengl/GL/glxext.h 2014-09-18 vanilla - opengl/GL/wglext.h 2014-08-11 vanilla commit 37ec129f36097f41ed0d45cbccd7a93e493e2bb9 Author: Sven Gothel Date: Tue Feb 17 07:30:34 2015 +0100 Bug 1130 - Add Mapping from AWT Component -> NEWT [Screen, MonitorDevice] The mapping AWT Component -> NEWT [Screen, MonitorDevice] shall allow generic AWT applications to utilize NEWT's MonitorDevice information like physical monitor-size and DPI. - AWT-Component -> NEWT-Display: - NewtFactoryAWT.createDisplay - AWT-Component -> NEWT-Screen: - NewtFactoryAWT.createScreen - AWT-Component -> NEWT-MonitorMode: - NewtFactoryAWT.getMonitorDevice - NewtFactoryAWT.getMonitorDevice - If OSX, utilizing OSX's AWT Component -> MonitorDevice-Index mapping - Otherwise using the coverage to identify MonitorDevice See TestGearsES2GLJPanelAWT 'GetPixelScale', demonstrating the mapping while pressing 'p' (cached MonitorMode) and pressing SHIFT-'p' (non-cached MonitorMode). commit a28e1610e1c29279847bce80e1aa80a947ff799e Author: Sven Gothel Date: Tue Feb 17 05:43:52 2015 +0100 NativeWindow: Refactor getLocationOnScreenSafe(..) and getLocationOnScreenNonBlocking(..) from JAWTWindow -> AWTMisc (to be reused) commit 3ec3d5cedd7902b2fe14dc56a3f845cfe0752905 Author: Sven Gothel Date: Tue Feb 17 05:41:45 2015 +0100 MonitorDevice: Add 'throws IllegalStateException' for [query|set]CurrentMode(..) if !screen.isNativeValid() commit 480f4251cf3cf530493611d8924f905cacc349d5 Author: Sven Gothel Date: Tue Feb 17 05:37:49 2015 +0100 NativeWindowFactory: Add FIXME tag regarding Bug 973 (Needs service provider interface (SPI) for TK dependent implementation) .. Also: - add 'AbstractGraphicsDevice createDevice(final String nwt, ..)' variant for explicit TK type passing. - 'AbstractGraphicsDevice createDevice(..)' uses DefaultGraphicsDevice for generic TK types, but TYPE_EGL and TYPE_AWT commit c6e79657acd2104edfe4354d7d52f228895250c9 Author: Sven Gothel Date: Tue Feb 17 01:30:03 2015 +0100 Fix commit 559ecad2a2387ba0aa34ce9e35ca8a2c5a31e655 (ArrayHashSet instance erroneously added) Revert useless ArrayHashSet instance erroneously added in commit 559ecad2a2387ba0aa34ce9e35ca8a2c5a31e655. commit 559ecad2a2387ba0aa34ce9e35ca8a2c5a31e655 Author: Sven Gothel Date: Tue Feb 17 01:14:49 2015 +0100 NEWT MonitorDevice: Identify cloned devices (fully covered) ; Windows: Iterate-over and identify all adapter:monitor. (Bug 1129) - Identify cloned devices (fully covered) - MonitorDevice gets 'isCloned()' to identify whether it is a cloned device, i.e. fully covered by another monitor. This detection may happen natively but will always performed platform agnostic. - getMainMonitor(..) now exclude 'cloned' devices - Windows: Iterate-over and identify all adapter:monitor - Since we also list cloned monitor, we need to iterate over all adapter and all it's monitor-devices. - The native monitor-id is now defined as: ( adapter-idx << 8 ) | monitor-idx. - Bug 1129 <- listed under this bug entry for convenience commit 42d88f99cfa62304943a7b37700653e627b13e61 Author: Sven Gothel Date: Mon Feb 16 06:39:52 2015 +0100 Fix typo: PixelFormat.Composition.[componenCount() -> componentCount()] .. thx to Julien Gouesse's review. commit 70faf070f50ea66fd4cc8f5f586614810f378787 Author: Sven Gothel Date: Mon Feb 16 06:23:43 2015 +0100 Bug 1129 - NEWT MonitorDevice's physical size on Windows must be read via EDID On Windows, one must read the monitor's EDID data as stored in the registry, no 'simple' API works otherwise. The proper way requires utilizing the Windows Setup-API. This code is inspired by Ofek Shilon's code and blog post: See: function 'NewtEDID_GetMonitorSizeFromEDIDByModelName' In contrast to Ofek's code, function 'NewtEDID_GetMonitorSizeFromEDIDByDevice' uses the proper link from DISPLAY_DEVICE.DeviceID -> SP_DEVICE_INTERFACE_DETAIL_DATA.DevicePath, where DISPLAY_DEVICE.DeviceID is the monitor's enumeration via: EnumDisplayDevices(adapterName, monitor_idx, &ddMon, EDD_GET_DEVICE_INTERFACE_NAME); Hence the path to the registry-entry is well determined instead of just comparing the monitor's model name. commit 1eea4278f1be5900f0d990d0a7d352923def217c Author: Sven Gothel Date: Thu Feb 5 16:27:56 2015 +0100 FFMPEGMediaPlayer: Add support for libav-11 and ffmpeg 2.[4-x] (Latest release, used in Debian 8, etc) commit 8426f47419bf116b427461a36534e70c48ed930d Author: Sven Gothel Date: Thu Feb 5 04:35:51 2015 +0100 Fix FFMPEGMediaPlayer: static init block issue, libavresample debian8 packaging - static init block issue commit 06a05d30fc026b21f59310986ea9eb7f3ff30d54 used a static final field initialized after the static {} block which was still null if called -> moved above static {} - libavresample debian8 packaging Debian8 packages a libav10 combination w/ libavresample version 2, which actually belongs to libav11 - libav10 uses libarvresample version 1. Allow libavresample and libswresample to be selectively skipped if version mismatch. commit 06a05d30fc026b21f59310986ea9eb7f3ff30d54 Author: Sven Gothel Date: Thu Feb 5 00:25:48 2015 +0100 Add missing privileged section for NativeLibrary lookup: GLContextImpl and FFMPEGDynamicLibraryBundleInfo Since GlueGen security fix commit 12feaa7d3b1544098f684d851e3caff1ec88cbc8 and its cleanup dd2440cbadc642a561d8f92c502fe822b2f11762 the GLContextImpl func lookup caused a security exception. Applied fix to FFMPEGDynamicLibraryBundleInfo as well. commit 3317e7a427fbb81dd3d7daa8116c7d33166ed003 Author: Sven Gothel Date: Tue Feb 3 21:18:02 2015 +0100 Bug 1068 - Fix issue w/ unifying Surfaceless probing (commit 2120be14c7525ef051d105f9bb02294f78d17d28) Commit 2120be14c7525ef051d105f9bb02294f78d17d28 caused GLDrawableFactoryImpl.probeSurfacelessCtx(..) to be only called if appropriate, hence GLRendererQuirks.NoSurfacelessCtx was not set otherwise. This patch adds the required 'else' branch for the case GLDrawableFactoryImpl.probeSurfacelessCtx(..) is not called and issues GLDrawableFactoryImpl.setNoSurfacelessCtxQuirk(..). +++ Add Note to EGLDrawableFactory's shutdown: "sr.device.close() Issues eglTerminate(), which may cause SIGSEGV w/ NVIDIA 343.36 w/ TestGLProfile01NEWT" However keep this code enabled, since this seems to be a driver issue. +++ commit b88ae2698abe197e64c8ec8571933eaf3b7b740a Author: Sven Gothel Date: Tue Feb 3 03:16:10 2015 +0100 Add javadoc arg (property 'javadoc.xarg1') '-Xdoclint:none' if java >= 1.8 (GlueGen commit d8dff4c9f2186749b167195eeb339c33f56864e8) commit b4083d7faa9d10d7d927e0268354a786d6013677 Author: Sven Gothel Date: Mon Feb 2 22:27:25 2015 +0100 Adapt APK install scripts for harmonized os.and.arch names, see GlueGen commit 3b43a223253176731567c6d8b7a67c9a6110782b commit a9618639f47beafb7e1a87533cee6eb5f2f3ba8a Author: Sven Gothel Date: Mon Feb 2 02:44:49 2015 +0100 Bug 682 - Relocating javax.media.opengl.* -> com.jogamp.opengl.* (Part 3) commit 78b4918b207e16b967e8335fb8ec1b31c706c507 Author: Sven Gothel Date: Mon Feb 2 02:38:55 2015 +0100 Bug 682 - Relocating javax.media.opengl.* -> com.jogamp.opengl.* (Part 2) Relocation javax.media.nativewindow.* -> com.jogamp.nativewindow.* Relocation javax.media.opengl.* -> com.jogamp.opengl.* commit 1ec82447e464d5308442581f14d32f9775928454 Author: Sven Gothel Date: Mon Feb 2 02:36:39 2015 +0100 Bug 682 - Relocating javax.media.opengl.* -> com.jogamp.opengl.* (Part 1) sed -i 's/javax\.media\.opengl/com\.jogamp\.opengl/g' `grep -Rl "javax\.media\.opengl" src` sed -i 's/javax\.media\.nativewindow/com\.jogamp\.nativewindow/g' `grep -Rl "javax\.media\.nativewindow" src` sed -i 's/javax\/media\//com\/jogamp\//g' `grep -Rl "javax/media/" src` sed -i 's/javax\/media\//com\/jogamp\//g' `grep -Rl "javax/media/" doc` Manually edited all occurences within make/** commit 2174059ed395ccb45c4a33a8bc7619abbf15f19e Author: Sven Gothel Date: Mon Feb 2 00:27:35 2015 +0100 Add FIXME notes: AWTPrintLifecycle, WindowsWGLGraphicsConfiguration commit 30eee9ae10fd27917f969374f2bb432bdd2a9671 Author: Sven Gothel Date: Mon Feb 2 00:25:05 2015 +0100 Bug 1126: Adobt GlueGen commit 7db9df61142694965b50f2e0553d4c9e5668439b commit 9137288e44671262a9fc52e0a8ee7e409208e549 Author: Sven Gothel Date: Fri Jan 30 21:30:51 2015 +0100 Bug 1124 - Refine AArch64 Linux in ant build recipe, add Android AArch64 build/install scripts commit ffbd1f706ee68de0574c33601e393a5753bfabfb Author: Sven Gothel Date: Wed Jan 28 02:09:18 2015 +0100 Bug 1124 - Android Build: Use SDK >= 24.0.2 (build-tools >= 21.1.2) and NDK >= 10d commit cd2e9f16ec2612587c08bf407d522243fb7a9d20 Author: Sven Gothel Date: Tue Jan 27 19:52:28 2015 +0100 Fix UbuntuFontLoader: Regression of commit bd24599b21f9787ac989e65b44dc1ba762162f22 Commit bd24599b21f9787ac989e65b44dc1ba762162f22 removed font loading w/o TempJarCache, e.g. as used on Android. commit dc15a430ee28f226e047ddebabf902d4c10b067a Author: Sven Gothel Date: Tue Jan 27 10:47:29 2015 +0100 Bug 1110 - Fix missing native function eglGetConfigAttributes on jogl_mobile.dll Fix regression of commit cf1163fc88976e7087d3a17524a49139e35a4708, i.e. missing function calling convention and return type qualifier for 'Java_com_jogamp_opengl_egl_EGL_dispatch_1eglGetConfigAttributes': JNIEXPORT void JNICALL This lead to its exclusion in the resulting Windows dll. commit 6516a52d3da5cced924db63b64af911d55355325 Author: Sven Gothel Date: Tue Jan 27 00:49:51 2015 +0100 Bug 1120 - Refine HiDPI Support ( Part-2 ) (API CHANGE) - Use float[2] for pixel-scale. Utilize simple integer rounding: int-pixel-units = (int) ( int-window-units * pixel-scale + 0.5f ) - Provide minimum and maximum allowed pixel-scale values to be set by platform, supporting generic pixel-scale validation. - Remove 'OSXUtil.GetPixelScale(final RectangleImmutable r, final int[] screenIndexOut)', implementation for all platforms would cause huge redundancy of Screen and MonitorDevice code (duplication of NEWT). - instead, add 'float[2] pixelScale' to NEWT's MonitorDevice - Detect change of pixel-scale and propagate accordingly. This allows GLCanvas, GLJPanel and NewtCanvasAWT instances to be dragged between monitor devices w/ different pixel-scale. - OSX: Handle native triggered reshape events off-thread to avoid EDT congestion due to locked window when consuming deferred events on EDT. commit 26f965bbe7b40968158901c3f4ef2f54e821ac70 Author: Sven Gothel Date: Fri Jan 23 23:34:39 2015 +0100 GLContextImpl.makeCurrentImpl(): Remove redundant test whether context is already current - GLContextImpl.makeCurrentImpl(): Remove redundant test whether context is already current GLContext.makeCurrent() already verifies whether native makeCurrent can be skipped by comparing against the thread-local current GLContext instance. - Add X11GLXContext.glXReleaseContext(..) to simplify release call commit b4991d6ed202963ea66456b0abbcb1698f2712da Author: Sven Gothel Date: Fri Jan 23 22:08:41 2015 +0100 Bug 1096 - Add missing EGLContext.c native code As required for commit d0676451343e826e49d9c5732320f080d4c11c8d commit 2120be14c7525ef051d105f9bb02294f78d17d28 Author: Sven Gothel Date: Fri Jan 23 22:03:45 2015 +0100 Bug 1068 - Unify Surfaceless probing; Fix Surfaceless for OSX and Windows (probing, etc) - Unify surfaceless probing GLDrawableFactoryImpl.probeSurfacelessCtx(..) implements surfaceless probing for all platforms - Fix Surfaceless for OSX (probing, etc) - Handle 'surfaceless' mode in MacOSXCGLContext impl - MacOSXCGLDrawableFactory.getOrCreateSharedResourceImpl adds surfaceless probing - Fix Surfaceless for Windows (probing, etc) - WindowsWGLContext.wglMakeContextCurrent(..) - Split release code into WindowsWGLContext.wglReleaseContext(..) allowing to handle zero HDC. - WindowsWGLGraphicsConfigurationFactory.updateGraphicsConfiguration(..) - Skip HDC -> PFD handling for - WindowsWGLDrawableFactory.createSharedResource adds surfaceless probing commit 474ada7c9fa2c9e47232abfde66353af58ea35f2 Author: Sven Gothel Date: Fri Jan 23 20:36:13 2015 +0100 Misc Fix: GLContext*; Refine DEBUG output in GLDrawableFactory's createShareResource - Fix GLContext.makeCurrent() API doc for 'throws GLException' - Fix GLContext.makeCurrentResultToString(int): CONTEXT_CURRENT_NEW -> "CONTEXT_CURRENT_NEW" - Fix GLContextImpl.setGLDrawable(..) - Catch Throwable instead of GLException to not loose other cases - Fix GLContextImpl.makeCurrent(..) - Use const l-value in branch expression - fix semantic typo: validate -> validated - Refine DEBUG output in GLDrawableFactory's createShareResource - Enable DEBUG via GLContext.DEBUG as well to ease analysis w/o drawable DEBUG output commit 38baef0371fc55405779590d503f6e0de10fa9cc Author: Sven Gothel Date: Fri Jan 23 15:13:10 2015 +0100 Bug 896: Refine criteria to allow OpenGL API usage for EGL It has been experienced w/ Mesa 10.3.2 (EGL 1.4/Gallium) that even though initial OpenGL context can be created w/o 'EGL_KHR_create_context', switching the API via 'eglBindAPI(EGL_OpenGL_API)' the latter 'eglCreateContext(..)' fails w/ EGL_BAD_ACCESS. Hence we require both: OpenGL API support _and_ 'EGL_KHR_create_context'. FIXME: Evaluate this issue in more detail! FIXME: Utilization of eglBindAPI(..) must be re-evaluated in case we mix ES w/ OpenGL, see EGL 1.4 spec. This is due to new semantics, i.e. API is bound on a per thread base, hence it must be switched before makeCurrent w/ different APIs, see: eglWaitClient(); commit ec138f2f5c38a677d840e8719292031d91befaa8 Author: Sven Gothel Date: Fri Jan 23 15:10:20 2015 +0100 Simplify GLDrawable[Impl|Factory].getGLDynamicLookupHelper(..) - Using GLDrawableFactory.getGLDynamicLookupHelper(String profileName) - Based on String GLProfile name - throws GLException if no lookup handler installed (EGL) - final implementation of GLDrawableImpl.getGLDynamicLookupHelper() using getGLProfile().getImplName() commit 3471ee732ab1b642a37066c70acbb749eb696d21 Author: Sven Gothel Date: Fri Jan 23 14:55:11 2015 +0100 Bug 1038: Refine handling of GLRendererQuirks.NoARBCreateContext - GLRendererQuirks.NoARBCreateContext is set static per device - Property GLProfile.disableOpenGLARBContext sets static GLRendererQuirks.NoARBCreateContext - Centralize handling in GLContextImpl.createContextARB(..) commit 57dab52159394c2d7d48fe69417561e2f881b7a8 Author: Sven Gothel Date: Fri Jan 23 01:34:19 2015 +0100 Bug 1100: Fix href to 'lifecycleHeavy' -> '#lifecycleHeavy' (anchor) commit 1341fe0216e4f12d7243e98290cc97824b1c0b5c Author: Sven Gothel Date: Fri Jan 23 01:20:33 2015 +0100 Bug 1120 - Add OSXUtil.GetPixelScale(final RectangleImmutable r, final int[] screenIndexOut) ( Part-1 ) commit db775658a7f5d6614ae716b7492af8210f5e5f18 Author: Sven Gothel Date: Fri Jan 23 00:53:47 2015 +0100 Bug 1119 - GL* Efficiency: Keep ProcAddressTable instance within GL* instances commit d0676451343e826e49d9c5732320f080d4c11c8d Author: Sven Gothel Date: Fri Jan 23 00:48:16 2015 +0100 Bug 1096 - Expose EGL to public: com.jogamp.opengl.egl.EGL ; EGLDrawableFactory: Validate static EGL func-ptr, probe EGL/ES2 first - Move EGL to public package jogamp.opengl.egl.EGL -> com.jogamp.opengl.egl.EGL - EGLDrawableFactory - Validate static EGL func-ptr against EGL/ES2, ignoring EGL/[ES|GL] collisions w/ diff. native EGL implementations due to static EGL usage. - Probe EGL/ES2 first commit 6253fe0f8e4191018a9d2b7bb7c1d7ab2392a6f4 Author: Sven Gothel Date: Fri Jan 23 00:07:28 2015 +0100 FBObject: indentation / DEBUG output cleanup commit fe4670c4d0efa8e9457e2d89ce77dda774a1dbbb Author: Sven Gothel Date: Fri Jan 23 00:04:29 2015 +0100 Bug 1068 - Use GenericUpstreamSurfacelessHook for all createSurfacelessImpl(..) implementations commit 87d7f5ef2e87123598886635063c1abb7a9ec8fa Author: Xavier Hallade Date: Thu Jan 8 17:30:13 2015 +0100 added support for Android x86 platforms commit cfd7752fbc3207df3383c3e153a66f2883a9b458 Author: Sven Gothel Date: Sun Dec 7 04:20:05 2014 +0100 Bug 1107: Add missing unit test commit a372a5db4e9c2d56545791a5a2233a5cdbd94523 Author: Sven Gothel Date: Sun Dec 7 04:14:36 2014 +0100 Misc Fixes: Bug 1102 GLJPanel.setSurfaceScale(..); SurfaceSize.hashCode() - Bug 1102: GLJPanel.setSurfaceScale(..) Allow setting non-initialized GLJPanel surface scale. TODO: More tests and probing before initialization. - SurfaceSize.hashCode() Resolution's hash code is already multiplied. commit 35622a7cef4a28ce7e32bf008ef331d9a0d9e3e2 Author: Sven Gothel Date: Sun Dec 7 04:03:02 2014 +0100 Bug 1068 - Allow GLContext creation and makeCurrent without default framebuffer (Part 2); Bug 896: EGL_KHR_create_context (Part 1) Bug 1068 - Allow GLContext creation and makeCurrent without default framebuffer (Part 2) Implement surfaceless context on EGL and GLX/X11 utilizing *UpstreamSurfacelessHook as introduced in commit 9ea218a5990b908e04235c407c0951c60df6ffba. Surfaceless context is probed during GL profile probing by default. If available, it will be used for offscreen FBO drawables. If probing fails, or is disabled, the new GLRendererQuirks.NoSurfacelessCtx is set. - GLProfile.disableSurfacelessContext disables surfaceless context probing, set property 'jogl.disable.surfacelesscontext' Tested: - Mesa/EGL works, - Mesa + NVidia w/ GLX fail on GNU/Linux): Fails NoSurfacelessCtx - TODO: Windows impl. and more tests +++ Bug 896: EGL_KHR_create_context (Part 1) - Detect EGL_KHR_create_context capability and utilize if available. - Implement EGLContext.createContextARBImpl(..), allowing native DEBUG context usage, where available. - EGL implements SharedResourceRunner, i.e. probing profiles on dedicated thread using common interface. - Probe desktop profile/context ability in EGLDrawableFactory SharedResourceRunner, Where EGLGLnDynamicLibraryBundleInfo covers EGL + desktop GL. - TODO: Tests w/ capable implementation commit 9ea218a5990b908e04235c407c0951c60df6ffba Author: Sven Gothel Date: Sun Dec 7 03:40:07 2014 +0100 Bug 1068, 1096: Unify EGL surface related code in EGLSurface; Add notion of 'Surfaceless Upstream Surface' Preparation for Bug 1068: GLContext creation and makeCurrent without default framebuffer - Unify EGL surface related code in EGLSurface - EGLWrappedSurface -> EGLSurface, which utilizes a more straight forward foreign upstream surface (X11, GDI, ..) to EGL mapping. This also addresses Bug 1096, i.e. EGL Cleanup. - Add notion of 'Surfaceless Upstream Surface' - Add surfaceless 'fake' upstream surface hooks: - EGLUpstreamSurfacelessHook - X11UpstreamSurfacelessHook Utilizing the ProxySurface option bit 'OPT_UPSTREAM_SURFACELESS' signaling usage of 'no surface'. - Add GLDrawableFactoryImpl.createSurfacelessImpl(..) commit a53e87a84c92444e8a3173f25ce86dcfd536d6a8 Author: Sven Gothel Date: Sat Dec 6 21:12:18 2014 +0100 Bug 1107 - Refine PixelFormat, GLPixelBuffer and DirectDataBufferInt/BufferedImageInt - PixelFormat Refine definition allowing complete format conversion by its attributes instead of static 'knowledge'. - PixelFormat has_a *new* PixelFormat.Composition - PixelFormat.Composition contains all pixel component layout information as required for inspection and conversion. Component names are enumerated via PixelFormat.CType. - PixelFormatUtil.convert(..) utilizes generic conversion based on PixelFormat.Composition rather static type mapping. However, a int32 RGBA static conversion is still supported for performance. Utilizes Bitstream for varying pixel component bit-width. - Complete w/ hashCode() and equals(..) - GLPixelBuffer - Take 'pack' mode into account when determine GLPixelAttributes, i.e. on GLES pack=true (e.g. glReadPixel) only RGBA is guaranteed to work. Hence querying GLPixelAttributes requires the GLProfile, PixelFormat and pack mode. - Complete GLPixelAttributes conversions from PixelFormat or GL format/data-type, while taking GL data-type into account, as well as pack-mode. - Complete w/ hashCode() and equals(..) - SingletonGLPixelBufferProvider queries singleton GLPixelBuffer via - PixelFormat.Composition hostPixelComp, - GLPixelAttributes pixelAttributes, - boolean pack which comprise a unique key, allowing the implementation to utilize a hash map. This is implemented in AWTSingletonGLPixelBufferProvider. This allows distinct singleton GLPixelBuffer for different host PixelFormat (conversion) and GLPixelAttributes (depending on GLProfile). - Removes field 'componentCount' which was 'hacked in' to pass information about an optional host memory layout. Implementations utilizing conversion, e.g. AWTGLPixelBuffer, can implement GLPixelBufferProvider's 'PixelFormat.Composition getHostPixelComp(final GLProfile glp, final int componentCount)' and manage such implementation details, see use-case GLJPanel. - DirectDataBufferInt/BufferedImageInt: Expose underlying NIO ByteBuffer - AWTMisc.createCursor(..) uses DirectDataBufferInt.BufferedImageInt exposed NIO ByteBuffer, allowing to use generic PixelFormatUtil.convert(..). commit 241d505749b7d2bd383673a378fdca268989d2fd Author: Sven Gothel Date: Sat Dec 6 20:26:46 2014 +0100 Bug 1106: JPEGDecoder adopt to GlueGen Bitstream change commit 9e13e8c78ed69bb7afcd49abe8bf69340dc06223 commit dd56549ebb7400f40f973473760b5f53a8609cd0 Author: Sven Gothel Date: Sat Dec 6 20:24:26 2014 +0100 Minor Cleanup (FBObject, GLBase) FBObject: Remove redudant case GLBase: Add API doc reference to GLContext implementation commit df5924c4462b83d0e316469bf369b35d803ea6ac Author: Mark Raynsford Date: Tue Oct 28 20:55:20 2014 +0000 Fix typo commit de86073aa30c1bcd899821a16fe215533d7c4eca Author: Mark Raynsford Date: Tue Oct 28 20:46:31 2014 +0000 Bug 1100 - Document lifecycle-heavy concept and mark some of the relevant methods. commit 74fe4c340162e973e86c0e405de915cea8c72ec4 Author: Sven Gothel Date: Sun Oct 26 02:22:50 2014 +0100 Use ExceptionUtils.dumpStack(..) instead of Thread.dumpStack() commit 729f4ef2d7e1bbb2748d71998046818aeabcd558 Author: Sven Gothel Date: Sat Oct 25 00:33:58 2014 +0200 GLContext.Version* VersionNumber Constants: Clarify names, avoiding mis-interpretation alike Version130 -> [ 1.3.0 | 1.30.0 ] ? commit aaaa48f4401555612ece10fce5dfe6163587f420 Author: Sven Gothel Date: Sat Oct 25 00:11:08 2014 +0200 FloatUtil.makeFrustum(..): Add throws GLException API doc / Add GLException if zNear == zFar throws GLException with GL_INVALID_VALUE if zNear is <= 0, or zFar < 0, or if left == right, or bottom == top, or zNear == zFar Add note on callers: - FloatUtil.makePerspective(..) - Matrix4.* - PMVMatrix.* - ProjectFloat.* commit 1e039b27aa1c036f663091d1018c3c15b259b80d Author: Julien Gouesse Date: Fri Oct 24 13:44:14 2014 +0200 Fixes the indentation :s commit 2ba049d30d7c9e112c3bb2feb7c98c9666aaa3bf Author: Julien Gouesse Date: Thu Oct 23 13:34:57 2014 +0200 Skips ARB_create_context with ATI Radeon 3100 (see the bug 1038) commit 05fe522ae328177d0dfe64b6ca93e1f5e8c16d9b Author: toruwest Date: Wed Oct 15 23:28:44 2014 +0900 Added. commit 2483c0c147aa338dd002bf85a78d158be7b2aff8 Author: toruwest Date: Wed Oct 15 23:27:19 2014 +0900 Create IView.java commit f39e66e9c5137dacb556ce7a1edbdd3fb460b5e2 Author: Sven Gothel Date: Sun Oct 12 14:40:33 2014 +0200 Fix GLContext.Version* regression: Use Version1_1 and Version1_2 for 1.1 and 1.2 (Version110 and Version120 are for 1.10 and 1.20 GLSL) Following commit introduced the wrong version usage, where a comparison w/ 1.1 and 1.2 was intended. Commit 6363fccee219ce238b0b2ded39c116e2bc8613d5 GLBuffers.sizeof(..): Add support for ES3, reading supported glPixelStorei states Commit 73a4d809f92126228b64a3bded75686db806be64 Don't utilize glPixelStorei's PACK/UNPACK IMAGE_HEIGHT and SKIP_IMAGES for Desktop GL < 1.2, avoiding GL-Error Commit f358c49418e95c622d50eb29f53c60dc4dbdee5b Bug 1047 - jogamp.opengl.glu.mipmap.Mipmap now uses already parsed GL version number and GL profile selection commit e2d7816823039fc75be809d64b88a3d3af9cdca8 Author: Sven Gothel Date: Fri Oct 10 03:37:21 2014 +0200 Bug 1093 - NEWT PointerIcon swizzled on X11 and OSX; WindowIcon swizzled on OSX ([R] -> [B]) Following mistakes were made in native PixelFormat for PointerIcon and WindowIcon: PointerIcon: X11: RGBA8888 -> BGRA8888 OSX: BGRA8888 -> RGBA8888 WindowIcon: OSX: BGRA8888 -> RGBA8888 Test case: TestWindowAndPointerIconNEWT (requires visual validation) +++ Summary: PointerIcon: BGRA8888: X11, Win32 RGBA8888: OSX WindowIcon: BGRA8888: X11, Win32 RGBA8888: OSX +++ Reported by 'LT' commit 1c5758f1e006e51d7a64ed3ea35f7485419e094f Author: Sven Gothel Date: Thu Oct 9 13:07:12 2014 +0200 Graph/Math: Fix minor apidoc issues commit 38f77bba3013d1cc22bdb5a3f69dc7fb86dfe342 Author: Sven Gothel Date: Thu Oct 9 12:28:32 2014 +0200 Graph: Fix minor apidoc issues commit f747a60d551716e579e8d97c5a984b5ad8a7b578 Author: Sven Gothel Date: Thu Oct 9 11:46:22 2014 +0200 javadoc: Add missing graph package to apidoc commit 49421eac80d812e52ec1eb40e88a38f10707610f Author: Sven Gothel Date: Thu Oct 9 06:29:32 2014 +0200 FontFactory: Fix SecurityException as regression of commit bd24599b21f9787ac989e65b44dc1ba762162f22 - add missing PrivilegedAction around tempFile[0].delete() commit 84c0dcd490cc0bc0037351d899be811e830ab3fe Author: Sven Gothel Date: Thu Oct 9 06:26:25 2014 +0200 Graph Font: Fix API doc (parameter) ; GPUUISceneGLListener0A forward FontFactory.get(..) exception, we cannot recover in this demo commit b11fd5ebdd4f2e7189f47ffd53bacdd5a80c85e2 Author: Sven Gothel Date: Thu Oct 9 03:33:36 2014 +0200 Newt ScreenMode Tests: Return XRandR error-code, allowing fall-back (OpenIndiana has issues); Min delay 4s before next setScreenMode(..) commit 39bed561a04dab457663aaa651e9c9f1f7c12270 Author: Sven Gothel Date: Thu Oct 9 01:59:33 2014 +0200 Newt Screen viewport in windows units: Add missing setup in overriden calcVirtualScreenOriginAndSize(..) method (duplicate pixel unit) commit 1d623bfc9db124414f6b64a0ce72308c7757b049 Author: Sven Gothel Date: Wed Oct 8 21:57:58 2014 +0200 TestLandscapeES2NewtCanvasAWT: Enforce landscape shader to be compiled/linked upfront AWT migration, since it takes a long time on Mesa/AMD commit d720b7b72a42d5a54c974ca43f9d20b5ed28b49c Author: Sven Gothel Date: Wed Oct 8 21:15:27 2014 +0200 ShaderCode: Fix link to create(..) method commit 08158d771f9e2338b25094f6afe3a6526378caac Author: Sven Gothel Date: Wed Oct 8 21:15:04 2014 +0200 Fix windows test scripts: Add gluegen-test-util.jar commit ce8e9c7fb1ce9d2747a6014a86e759809a4c5c34 Author: Sven Gothel Date: Wed Oct 8 21:14:35 2014 +0200 TestTessellationShader01GL4NEWT: Add robustness, i.e. case where tessellation failed to compile/link (on unsupported platforms) commit ac585daa624ec7e8bc747e6e4ef4e1c330f447b5 Author: Sven Gothel Date: Wed Oct 8 20:05:34 2014 +0200 Unit Tests: Increase minimum manual set timeout to 10s commit 94596376a190e88b40f517185da54cc37f03a285 Author: Sven Gothel Date: Wed Oct 8 08:57:44 2014 +0200 Bug 1079 - Remove symbolic link jogl/doc/bouml Symbolic links may cause problems on platform where such feature is not supported (Windows) commit 940b5716ff5e27bffda5e6a6ea4aaa98a7988556 Author: Sven Gothel Date: Wed Oct 8 08:40:18 2014 +0200 GLException.dumpThrowable(..) -> GlueGen's ExceptionUtils.dumpThrowable(..) commit 1fcfd014ca90125ab53ebc4e96e133535a55f095 Author: Sven Gothel Date: Wed Oct 8 08:17:23 2014 +0200 Bug 1087: Set default framebuffer for OSX DummyDrawable, hence enforce NSView realization for DummyDrawable commit 73654365e6147a5eabe8747e5f4802b1fba83829 Author: Sven Gothel Date: Wed Oct 8 08:16:10 2014 +0200 Bug 1088: Add GLRendererQuirks.NeedSharedObjectSync; Tests: Synchronize GL objects if GLRendererQuirks.NeedSharedObjectSync is set. GLSharedContextSetter#synchronization GL Object Synchronization Usually synchronization of shared GL objects should not be required, if the shared GL objects are created and immutable before concurrent usage. However, using drivers exposing GLRendererQuirks.NeedSharedObjectSync always require the user to synchronize access of shared GL objects. Synchronization can be avoided if accessing the shared GL objects exclusively via a queue or com.jogamp.common.util.Ringbuffer, see GLMediaPlayerImpl as an example. +++ GLRendererQuirks.NeedSharedObjectSync is set for all OSX versions +++ Handle GLRendererQuirks.NeedSharedObjectSync in user code! +++ All shared context tests passed on OSX 10.9.5, and GNU/Linux w/ Nvidia + Mesa/AMD driver. commit 5d3b7dc83c04e2c626a635eb3d143710f7ef4db2 Author: Sven Gothel Date: Wed Oct 8 08:12:03 2014 +0200 GLRendererQuirks: Align wording in API doc commit fe999abe4cb142b814e700d88e9f148ecb0ae4f0 Author: Sven Gothel Date: Wed Oct 8 08:08:03 2014 +0200 Bug 1088: Fix ant test target 'junit.run.sharedctx': Reuse generalized 'generic.junit.run.newt.headless', 'generic.junit.run.awt', .. Create generalized junit test launchers (targets) to be reused w/ different input patterns to reduce copy/paste. Since macrodef cannot be used, we use namespace properties for the new targets. The properties are unset at the end of the target. Now ''junit.run.sharedctx' utilizes the proper launch target, hence works properly on OSX as well. commit 245605eb760f6c1301d58a252fb6465a064ae19f Author: Sven Gothel Date: Wed Oct 8 08:00:42 2014 +0200 Bug 1088: Shared Gears* Unit Tests: Align all 3 Gears* implementation to use a shared Gears* object commit 5408c716f967cbf2010c3491ec69e408c16f23e0 Author: Sven Gothel Date: Wed Oct 8 05:34:13 2014 +0200 GLContextImpl: Unify common TRACE_SWITCH and DEBUG_TRACE_SWITCH base info-string creation; MacOSXCGLContext: Fix intendation commit 02725ae974c277eeff70dcd13533e5b08ea86865 Author: Sven Gothel Date: Tue Oct 7 19:26:38 2014 +0200 NEWT Display: Fix typo in API doc commit a8596ec8a1664a6aada7e1ba8c951e86bcae3f92 Author: Sven Gothel Date: Tue Oct 7 09:53:11 2014 +0200 NativeWindow's ToolkitLock TRACE_LOCK: Show more usable details commit 63b2b1cab98b4c66821da9d468ce4d86a52f7a67 Author: Sven Gothel Date: Tue Oct 7 09:48:36 2014 +0200 AnimatorBase thread-name: Add instance sequence number commit da6339f8f712237dbd58180afde214e3f7692ee1 Author: Sven Gothel Date: Fri Oct 3 05:51:27 2014 +0200 SingletonTestCase -> SingletonJunitCase: Adapt to GlueGen commit 773d96584b4edc13eb6ff689eaf891aab09aa5a4 commit 99db277d1acf65d2f2ceb13cffc1a16ad2bf6cd8 Author: Sven Gothel Date: Fri Oct 3 04:47:34 2014 +0200 UITestCase now extends GlueGen's test-util SingletonTestCase commit dd0ae5676f033eb456cb89f4479a0d55ad3fb59f Author: Sven Gothel Date: Fri Oct 3 00:08:06 2014 +0200 WindowsWGLGraphicsConfiguration[Factory]: Refine indentation to increase readability (140 chars width) commit 650862cc994b1a3ee6d2af970b5b1d8d73ccd2a8 Author: Sven Gothel Date: Thu Oct 2 20:42:19 2014 +0200 Bug 1085: Fix GLJPanel regression while printing w/ invisible GLJPanel: Zero size panel size This is a regression due to commit 84f367a73c5b16dcebfd877e82e1c2cb90ae74ce: GLJPanel Cleanup: Remove initial FBO reshape; ** Propagate reshape only if differs from panel-size; ** <- this one Use pre-fetched panel-size. Above commit only issued 'sendReshape' if the reshape-size differs from the actual panel-size. Note: The reshape-size is propagated to panel-size either in [1] initializeBackendImpl(..) or [2] handleReshape(..) @ paintComponent. While printing w/ an invisible GLJPanel the reshape-size has not yet propagated to the panel-size (see above) and two consecutive reshape calls will cause the last one to be dropped. With this patch we have: GLJPanel.addNotify() GLJPanel.reshape.0 null resize [paint] [ this 0x0, pixelScale 1x1, panel 560x420] -> 0x0 * 1x1 -> 0x0, reshapeSize 0x0 GLJPanel.reshape.0 null resize [paint] [ this 560x420, pixelScale 1x1, panel 560x420] -> 560x420 * 1x1 -> 560x420, reshapeSize 560x420 GLJPanel.setupPrint: scale 1.000000 / 1.000000, samples 0, tileSz -1 x -1 GLJPanel.createAndInitializeBackend.1: [printing] 560x420 @ scale 1x1 -> 560x420 @ scale 1x1 A commit 5af9b44a893db3b27ddcd2a13d0008ec21880649 Author: Sven Gothel Date: Thu Oct 2 20:34:38 2014 +0200 Bug 1085: Increase and fix DEBUG verbosity in GLJPanel to catch reshape regression during print commit 4b044d4de5272d45ec9b0b7b12ed40fa806d36e1 Author: unknown Date: Thu Oct 2 16:15:02 2014 +0200 Uses System.err instead of System.out in order to drive the debug logs more consistent, adds a method to convert an attribute list into a capabilities object with no check in order to display some information about skipped capabilities objects and fixes a NullPointerException when skipping a capabilities object commit 1b5c2dbc9204a85eb63cea952b289f5012690f35 Author: Sven Gothel Date: Thu Oct 2 00:59:51 2014 +0200 Bug 1078: Fix commit 99f91f8b28d42cdf341533736e878056bcae4708 (GLRendererQuirks.NoPBufferWithAccum): Accum buffer allowed if !usePBuffer; Avoid NPE. 99f91f8b28d42cdf341533736e878056bcae4708 commit 6187fbc0a9ca9bd5140a3082013044f3294a8c6d Author: Sven Gothel Date: Thu Oct 2 00:28:14 2014 +0200 OSX build scripts: Add java6 build script, bump default to use java8 commit 66d00dfc4cb2612fa91680b960baf5a2fb5fed53 Author: Sven Gothel Date: Wed Oct 1 23:51:33 2014 +0200 Bug 1084: Fix GLProfile Mapping regarding hardware priority, honor software/hardware attribute of all profiles GLProfile's mapping code does not consider the following combination: - GL4 software - GL3 hardware and hence maps GL4-software -> [GL2ES2, GL2GL3], where GL3-hardware -> [GL2ES2, GL2GL3] is desired. This combination has recently been observed on Mac OSX 10.9.5, which includes a software GL 4.1 implementation. However, other systems could be affected as well. +++ Fix GLProfile.computeProfileImpl(..): Only use the higher profile, if hardware-accelerated or none of the lower profiles offers hardware-acceleration! This extra condition was missing for certain profiles, e.g. GL4, GL4bc, GL3, GL3bc and GL2. Conflicts: make/scripts/tests.sh commit 99f91f8b28d42cdf341533736e878056bcae4708 Author: Julien Gouesse Date: Wed Oct 1 17:53:32 2014 +0200 Fix of the bug 1078 commit 39cd0dfa0e46a3617b51e5b15a5fccedeae77f39 Author: Sven Gothel Date: Wed Oct 1 04:54:42 2014 +0200 Bug 1078, Bug 1082: Fix regression (typo), add missing assignment of printGLAD in NewtCanvasAWT.setupPrint() commit e7156d4eedb7b62eb2765e2db4010ffd3d0ec9e5 Author: Sven Gothel Date: Wed Oct 1 00:38:37 2014 +0200 minor: changed windows build scripts commit ce969bd565b0a6e72632630c88c4135d0410bf0f Author: Sven Gothel Date: Wed Oct 1 00:36:09 2014 +0200 Bug 1081: Fix GLJPanel Regression: Honor pre-init reshape-size at initializeBackendImpl() Commit 84f367a73c5b16dcebfd877e82e1c2cb90ae74ce removed utilization of reshape-size in case panel-size is valid, even if a reshape event happened in between: - addNotify - paintComponent initializeBackendImpl() includes now uses reshape-size IFF handleReshape is set. Before it was using reshape-size only if panel-size was invalid. TestAWT03GLJPanelRecreate01 covers this issue. commit 4813455dc413fb37da28ed4845fb6f22c65629f4 Author: Sven Gothel Date: Tue Sep 30 23:18:15 2014 +0200 Bug 1078: Add Fallback in AWTPrintLifecycle.setupPrint(): Use Onscreen GLAD if Offscreen-GLAD Realization throws an Exception (Stability) - GLDrawableFactoryImpl: createOffscreenDrawable(..) and createDummyAutoDrawable(..) Temporary catch exception during setRealized(true) of newly created GLDrawable, to unrealize the instance before propagating the exception. This handling removes a memory leak in case the exception of this method is handled and application continues to operate, e.g. as in AWTPrintLifecycle.setupPrint(). The underlying drawable gets unrealized, since it's setRealized(boolean) implementation toggles its realize-state before delegating the realize-operation. Hence this is functional. - AWTPrintLifecycle.setupPrint() Stability Catch exception thrown by factory.createOffscreenAutoDrawable(..)'s setRealize(true) to continue operation w/ onscreen GLAD. commit bd24599b21f9787ac989e65b44dc1ba762162f22 Author: Sven Gothel Date: Tue Sep 30 23:07:50 2014 +0200 Refine Graph/Font InputStream Capabilities (commit 628509b39ea7c16210315d191860511d6be4aa69) FontFactory Remove: - Font get(final URLConnection conn) - Font get(final InputStream stream) FontFactory Add: - [1] Font get(final InputStream stream, final int streamLen, final boolean closeStream) - Direct usage of font InputStream w/ determined length, may instantiate BufferedInputStream in case given stream doesn't support mark/reset! - [2] Font get(final InputStream stream, final boolean closeStream) - Copy font InputStream w/o determined length, resulting in BufferedInputStream supporting mark/reset! Security Related: - Only perform priviledged code on determine InputStream, _not_ when parsing the font stream itself! - Hence PrivilegedAction only happens in FontFactory's InputStream preparation. Misc: - Use Uri class commit ca357af70d46a6c12ff8810565874ecabb564d87 Author: Sven Gothel Date: Wed Sep 24 05:54:41 2014 +0200 Fix future compatibility issues (analog to b22x commit 546f9b1a03c46b63f8bb18c1b8e2c80a8b66cf7c) - GLFBODrawable: - Remove FBOMODE_DEFAULT - GLRendererQuirks: - Remove COUNT - Add getCount() method for future compatibility. - Animator - Hide local fields (private or package private) commit 66ecb6c386d5c3d87d8be2600a0c7dd7d71a4329 Author: Sven Gothel Date: Tue Sep 23 03:56:04 2014 +0200 Fix synchronization issues in Animator* Exception case Refines commit cef7ba607ad7e8eb1ff2a438d77710a29aa0bda6 - The animator monitor-lock was still hold in the post finally block issuing flushGLRunnables(), due to intrinsic monitor release (in finally): - - - Further: AnimatorBase.flushGLRunnables() acquired the lock itself (duh!) This commit removes the requirement for finally altogether by simply return a boolean from handleUncaughtException(caughtException), where false denotes the caller to propagate the exception itself (no handler). Post synchronized block then issues flushGLRunnables() and exceptation propagation as required. AnimatorBase.flushGLRunnables() 'synchronized' modifier is removed. Further, ThreadDeath is being propagated if caught. Here the finally block is also removed - redundant. commit c0c5fac5301f7264cfdd69117c1f85adfdc7b604 Author: Sven Gothel Date: Mon Sep 22 23:22:57 2014 +0200 Fix GLContextImpl.setRendererQuirks(..) CTX_IMPL_ACCEL_SOFT profile state - GLContextImpl.setRendererQuirks(..) in called in GLContextImpl.setGLFunctionAvailability(..) - GLContextImpl.setRendererQuirks(..) was called before fixing CTX_IMPL_ACCEL_SOFT via isCurrentContextHardwareRasterizer(). The latter set CTX_IMPL_ACCEL_SOFT based on known software renderer string within GL_RENDERER. This lead to incorrect hwAccel assumption and hence wrong setting of GLRendererQuirks: - NoDoubleBufferedPBuffer (was selected even w/ later CTX_IMPL_ACCEL_SOFT) - BuggyColorRenderbuffer (was never selected) - Fix performs GLContextImpl.setRendererQuirks(..) _after_ fixing CTX_IMPL_ACCEL_SOFT via isCurrentContextHardwareRasterizer(). commit cef7ba607ad7e8eb1ff2a438d77710a29aa0bda6 Author: Sven Gothel Date: Mon Sep 22 23:17:28 2014 +0200 Fix synchronization issues in GLDrawableHelper.flushGLRunnables(), fixes rare deadlock with animator-exception and invoke(wait=true, ..) Fix synchronization issues in GLDrawableHelper.flushGLRunnables(): - Querying 'glRunnables.size()' is not synchronized, only its reference is volatile, not the instance's own states. - 'flushGLRunnable()' must operates while acquired the 'glRunnable' lock. - 'glRunnables' are no more volatile - introduced volatile 'glRunnableCount', allowing 'display(..)' method to pre-query whether blocking 'execGLRunnables(..)' must be called. This is risk (deadlock) free. Also fixes rare deadlock in animator display-exception / GLAD.invoke(wait=true, ..) case: - 'GLDrawableHelper.invoke(.., GLRunnable)' acquires the 'glRunnable' lock. - Then it queries animator state, which is blocking. - Hence animator's 'flushGLRunnable()' call must happen outside the animator lock commit f9acc8f7b9072b8c12cdc16dee657349180e6bf0 Author: Sven Gothel Date: Mon Sep 22 22:32:33 2014 +0200 Windows make scripts: Fix 64bit java version, dont use raw LIB/CLASSPATH path commit c0de59efd77843177ea0045884763d93aad5b68b Author: Sven Gothel Date: Mon Sep 22 22:31:31 2014 +0200 build-test.xml: Add junit.run.newt.headless.singletest target commit c298b4317a30cc453a2350ebeb5ab3570a4c107d Author: Sven Gothel Date: Mon Sep 22 07:07:42 2014 +0200 Stabilize, fix regression: GLDrawable.invoke(..) and Animator* display-loop 'closure' GLDrawable.invoke(..) regression of commit c77b8f586cb2553582a42f5b90aeee5ef85f1efe: 'wait' was not set to false, if 'deferredHere' was forced to 'false'. This could lead to the situation where GLRunnableTask will catch the exception and supresses it. Animator/FPSAnimator post exception propagation code animThread = null; notifyAll(); must be complete to finalize animator state in case of an exception. Decorate 'handleUncaughtException(..)' w/ try { } finally { } where the latter ensures the mentioned 'closure'. commit 4d736527930511cabf2c6604aa831544da917198 Author: Sven Gothel Date: Sun Sep 21 01:29:54 2014 +0200 Bug 1066: Reduce glGetError() in GLDrawableHelper.reshape(.., setViewport==true) Only check error if DEBUG || GLContext.DEBUG_GL in GLDrawableHelper.reshape(.., setViewport==true) commit 7749f0567fb592ee4b3f698bd2424a5687b02f47 Author: Sven Gothel Date: Sun Sep 21 01:28:04 2014 +0200 Bug 1066: Reduce glGetError() in FBObject / GLFBODrawableImpl - GLFBODrawableImpl - cache getMaxRenderbufferSamples() result from initialize call, method checks glGetError() - FBObject - init(..): Remove one redundant checkPreGLError() - Allow reset(..) / modify-attachment-operations w/o glGetError(): - Only check error if DEBUG || GLContext.DEBUG_GL: - RenderAttachment.initialize() - TexureAttachment.initialize() - syncSamplingSink(gl) commit 2194730c08c8bb55dc6985246dbedaeab5fd5828 Author: Sven Gothel Date: Sat Sep 20 23:01:13 2014 +0200 Adding missing applet launcher html page for GLJPanelsAndGLCanvasDemoGL2Applet commit cecc00efb3c47928dd8080577645b2d8633fa159 Author: Sven Gothel Date: Sat Sep 20 22:32:26 2014 +0200 TestInitConcurrent*NEWT: Decorated tests w/ GLProfile.shutdown(), ensuring implicit GLProfile.initSingleton() is being tested commit b8f9db9250ab2f5aa43eebae5f4637c01bbc2ce4 Author: Sven Gothel Date: Sat Sep 20 21:54:18 2014 +0200 TestVersionSemanticsNOUI: Compare V221 against current V23x, no special excludes commit 38f6915fedb765313c1f4646acf9e13dfbccef36 Author: Sven Gothel Date: Sat Sep 20 21:53:26 2014 +0200 Bug 1073: FBObject/GLFBODrawable: Remove deprecated methods - dual-use reset(..), use dedicated init(..) and reset(..) - GLFBODrawable.FBOMODE_USE_DEPTH: Use GLCapabilities.[get|set]DepthBits(int) Note: Applications shall use _requested_ GLCapabilities, if passing caps down to the GLFBODrawable. Otherwise (using _chosen_ caps) we may end up in requesting properties not desired, e.g. stencil bits, if driver has chosen. commit c4865ba2ef6c8ea02e1ca9eb4bfa836deb090d22 Author: Sven Gothel Date: Sat Sep 20 16:48:57 2014 +0200 TestVersionSemanticsNOUI: V221 -> V222 Add exception for GLFBODrawable.FBOMODE_DEFAULT commit 4d8d41d32b27ab8dc6a3898511011f8b3d4f07a5 Author: Sven Gothel Date: Sat Sep 20 16:48:18 2014 +0200 Add GLJPanelsAndGLCanvasDemoGL2Applet: Simple applet test for GLJPanel/GL2 testing (offscreen, ..); Clean up GL2 Gears and Teapot state enable/disable commit e99f5060d62aad25fcc37ebf50c8f2a270c9d5df Author: Sven Gothel Date: Sat Sep 20 16:06:56 2014 +0200 FBObject: Fix depth- and stencil bit count selection for attachRenderbuffer(..); - Fix depth- and stencil bit count selection for attachRenderbuffer(..) - Add generic values: DEFAULT_BITS, REQUESTED_BITS, CHOSEN_BITS, MAXIMUM_BITS - Refactor depth- and stencil bit-count -> format into own method - Allow depth- and stencil bit-count select a higher bit-count if required (fix) - GLFBODrawable.FBOMODE_USE_DEPTH is deprecated, using GLCapabilities.[get|set]DepthBits(..) - It was an oversight to introduce the bit flag in the first place, since we should have used the capabilities depth bit-count - Graph Test: GLEventListenerButton shall use requested capabilities for FBO drawable. commit a6123fe0c71ebe87b2fcef8475cc1fbdd0fe0a36 Author: Sven Gothel Date: Sat Sep 20 08:02:32 2014 +0200 TestVersionSemanticsNOUI: Add v2.2.1 jogl-all.jar commit 5c16f037084a7ab2c6985e66e4b54ffde5d7c5e4 Author: Sven Gothel Date: Sat Sep 20 07:24:06 2014 +0200 TestVersionSemanticsNOUI: Enable test V220->V221 and V221->V222 (w/ 2 extra exclusions) Enable tests: - V220->V221 - V221->V222 (w/ 2 extra exclusions) - GLRendererQuirks COUNT has been increased (-> use a method, FIXME) - Animator pauseIssued is volatile now Conflicts: src/test/com/jogamp/opengl/test/junit/jogl/acore/TestVersionSemanticsNOUI.java commit 485f89a7563643525f11a50465d04e5107f2e0f8 Author: Sven Gothel Date: Sat Sep 20 02:52:27 2014 +0200 TestGearsES2GLJPanelAWT: Update frame title (awt-size, pixel-size) for GLEventListener.reshape(..) commit 711757aa4e087d97c3103489c47fbd7d76bcac3d Author: Sven Gothel Date: Sat Sep 20 02:51:44 2014 +0200 FBObject: Simplify API (init/reset); Only issue automatic resetSamplingSink(..) if required; Fix resetSamplingSink(..), isBound(), .. - Simplify API (init/reset) - use new unique methods for init and reset: - void init(final GL gl, final int newWidth, final int newHeight, final int newSamples) - does not issue resetSamplingSink(..) - boolean reset(final GL gl, final int newWidth, final int newHeight, final int newSamples) - always issues resetSamplingSink(..) - deprecated dual-use (init/reset): - boolean reset(final GL gl, final int newWidth, final int newHeight) - boolean reset(final GL gl, int newWidth, int newHeight, int newSamples, final boolean resetSamplingSink) - reset(..) no more creates a dummy 'samplingSink' instance if sampling > 0, left up to resetSamplingSink(..) - Track 'modified' state of FBObject, if size, format or any attachment has been changed since last - use(..) - syncSamplingSink(..) - resetSamplingSink(..) - Only issue resetSamplingSink(..) from syncSamplingSink(..)/use(..) if 'modified == true' +++ - Fix setSamplingSink(..), i.e. samplingSink state handling: - Validated whether given samplingSink is initialized, throws Exception if not. - Fix resetSamplingSink(..) - resets the bound state, i.e. leaves it untouched - also unbinds the samplingSink - sampleSinkDepthStencilMismatch() also returns true if this.depth/stencil == null, but samplingSink is not. - Newly created colorbuffer/-texture matches exiting colorbuffer's internal-format, if exists. - Using simplified resetSizeImpl(..) for size mismatch - Simplified samplingColorSink init check - Fix isBound() was: 'bound = bound && fbName != gl.getBoundFramebuffer(GL.GL_FRAMEBUFFER)' fix: 'bound = bound && fbName == gl.getBoundFramebuffer(GL.GL_FRAMEBUFFER)' - Fix detachRenderbuffer(..) validates whether detachment was successful, similar to detachColorbuffer(..) commit a7ff8b898780762b763c0b4544728067375955b6 Author: Sven Gothel Date: Fri Sep 19 19:21:29 2014 +0200 StereoClientRenderer: Remove redundant FBObject.detachAllColorbuffer(gl) for init call commit fce65d0b8887387bfb71bbfeea63bc7915163399 Author: Sven Gothel Date: Fri Sep 19 19:20:48 2014 +0200 FBOobject GLEL Tests: Remove redundant detachAllColorbuffer(gl) for init call commit 6c0288655368f0decdf309ca4a90fc60cbc29378 Author: Sven Gothel Date: Fri Sep 19 01:24:32 2014 +0200 New GLRendererQuirks.BuggyColorRenderbuffer: On Mesa 7.2 software, FBO color renderbuffer may cause a crash Workaround crash caused by Mesa 7.2 software rendering using color renderbuffer target in FBO. If Mesa < 8.0 and software - or - property 'jogl.fbo.force.nocolorrenderbuffer' is set, set quirks: - GLRendererQuirks.BuggyColorRenderbuffer - GLRendererQuirks.NoFullFBOSupport (to disable MSAA) GLFBODrawable always uses FBOMODE_USE_TEXTURE if GLRendererQuirks.BuggyColorRenderbuffer is set. +++ Crash Report: GNU C Library : 2.13 stable OpenGL : software Operating System : Linux 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 Processor ID : x86 Family 6 Model 44 Stepping 2, GenuineIntel Abnormal termination: Segmentation violation Register State (from fault): RAX = 00000000ff1818f0 RBX = 00000000beaf8afc RCX = 0000000000000004 RDX = 00007f85ed9c9010 RSP = 00007f8252d24fd0 RBP = 00007f8252d25020 RSI = 0000000017b9b330 RDI = 0000000015bca400 R8 = 0000000000000000 R9 = 00007f81edcd3014 R10 = 00007f823565f6ce R11 = 00007f827bee49aa R12 = 0000000000001406 R13 = 0000000000000001 R14 = 00000000154d5458 R15 = 00000000154d4f10 RIP = 00007f823565f7bc EFL = 0000000000010206 CS = 0033 FS = 0000 GS = 0000 Stack Trace (from fault): [ 0] 0x00007f823565f7bc put_row_ubyte4 at /mesa/main/renderbuffer.c:665 (in /lib/libGL.so.1) [ 1] 0x00007f8235727239 _swrast_write_rgba_span at /mesa/swrast/s_span.c:1450 (in /lib/libGL.so.1) [ 2] 0x00007f823574b071 smooth_rgba_triangle at /mesa/swrast/s_tritemp.h:862 (in /lib/libGL.so.1) [ 3] 0x00007f82357155f0 _swrast_Triangle at /mesa/swrast/s_context.c:692 (in /lib/libGL.so.1) [ 4] 0x00007f8235771780 triangle_offset_twoside_rgba at /mesa/swrast_setup/ss_tritmp.h:188 (in /lib/libGL.so.1) [ 5] 0x00007f82356d2cea _tnl_render_poly_elts at /mesa/tnl/t_vb_rendertmp.h:313 (in /lib/libGL.so.1) [ 6] 0x00007f82356d335e _tnl_RenderClippedPolygon at /mesa/tnl/t_vb_render.c:244 (in /lib/libGL.so.1) [ 7] 0x00007f82356c9313 clip_tri_4 at /mesa/tnl/t_vb_cliptmp.h:230 (in /lib/libGL.so.1) [ 8] 0x00007f82356cd026 clip_render_triangles_verts at /mesa/tnl/t_vb_rendertmp.h:163 (in /lib/libGL.so.1) [ 9] 0x00007f82356d37d9 run_render at /mesa/tnl/t_vb_render.c:320 (in /lib/libGL.so.1) [ 10] 0x00007f82356c2436 _tnl_run_pipeline at /mesa/tnl/t_pipeline.c:158 (in /lib/libGL.so.1) [ 11] 0x00007f82356c37da _tnl_draw_prims at /mesa/tnl/t_draw.c:402 (in /lib/libGL.so.1) [ 12] 0x00007f82356b673a vbo_exec_DrawArrays at /mesa/vbo/vbo_exec_array.c:263 (in /lib/libGL.so.1) [ 13] 0x00007f823583e5b0 glDrawArrays at /mesa/glapi/glapitemp.h:1645 (in /lib/libGL.so.1) +++ commit 3ed6ec6515635b1c67b89539ad0e02625ef3813d Author: Sven Gothel Date: Fri Sep 19 01:15:07 2014 +0200 GLContextImpl.setRendererQuirks(..): Use GLRendererQuirks.addQuirk(int), dropping usage of .addQuirks(int[] quirks, offset, len) Directly adding a quirk allows dropping usage of erroneous fixed-sized int[] array for accumulated quirks. commit 3bd43982daecda2d8a7062e7340449d71c9e89f7 Author: Sven Gothel Date: Thu Sep 18 05:46:19 2014 +0200 doc/TODO.txt: Remove resolved tasks commit 91508fb026746c8b659e29bd7e62678e6aff892a Author: Sven Gothel Date: Thu Sep 18 03:59:04 2014 +0200 GLFBODrawableImpl: Utilize common self-contained setupFBO(..) method for FBO creation incl. Bug 1020 glClear(..) ; Fixes missing fbo.unbind(gl) Utilize common self-contained setupFBO(..) method for FBO creation incl. Bug 1020 glClear(..) initialize(..) and reset(..)'s fallback code contained duplicated FBO setup/creation code. The former was updated to suite the new FBO mode bits, where the latter left untouched, hence was buggy. Now setup and creation of a single FBO has been merged into setupFBO(..). Fixes missing fbo.unbind(gl): We did no issue unbind() on each fbo instance while adding the workaround for Bug 1020. Adding fbo.markUnbound() call to all fbos but the last. Note: This might not cause any issues, since fbo.bind(gl) tests the currently bound fbo. commit aee2343620d0426fb7275a75a95c24eb4a4ccd83 Author: Sven Gothel Date: Thu Sep 18 03:44:29 2014 +0200 FBObject.reset(..): Return true if modified, otherwise false commit 84f367a73c5b16dcebfd877e82e1c2cb90ae74ce Author: Sven Gothel Date: Thu Sep 18 03:43:13 2014 +0200 GLJPanel Cleanup: Remove initial FBO reshape; Propagate reshape only if differs from panel-size; Use pre-fetched panel-size. commit 500ed18de822527acdd10f9295122ad3b3e7762b Author: Sven Gothel Date: Sun Sep 14 01:18:25 2014 +0200 Tests: Util NEWTGLContext: Utilize common createWindow(..) function, switch on-/offscreen via capabilities (Fixes TestTextRendererNEWTBugXXXX) TestTextRendererNEWTBugXXXX used NEWTGLContext.createOffscreenWindow(..) which created an pbuffer based offscreen not capable of ES2 rendering etc. Offscreen tests use NEWTGLContext.createWindow(..) w/ caps.setOnscreen(false), hence favor FBO instances. commit 026dd9a12058257483bbff1259dd89bf2040ddab Author: Sven Gothel Date: Sun Sep 14 01:14:38 2014 +0200 GLJPanel: Allow reconfiguration of offscreen's GLCapabilitiesImmutable Offscreen's GLCapabilitiesImmutable reconfiguration will dispose a realized instance and issues recreation via initializeBackendImpl() immedietly. Implementation performs operation on AWT-EDT. Tests: - TestGearsES2GLJPanelAWT: - Toggle MSAA via 'm' - TestGearsGLJPanelAWT: - Toggle MSAA via 'm' - Toggle Bitmap via 'b' commit 46a2de9a202c6c5e37bbf40fe2fde9b675f5e34e Author: Sven Gothel Date: Sun Sep 14 01:09:45 2014 +0200 Gears* Demos: Spin at same speed (0.5f tan per frame) ; GearsES2: Bring back default Z values, allow Z customization (StereoDemo01) commit 6afc739fc2d5e4378508f2fcdac8f3951eee879c Author: Sven Gothel Date: Sun Sep 14 00:44:09 2014 +0200 FPSAnimator: Remove toString() override as accidently added in commit fa0115efb3989c28af21fc5f570ae49723566107 commit fa0115efb3989c28af21fc5f570ae49723566107 Author: Sven Gothel Date: Sat Sep 13 15:28:58 2014 +0200 FPSAnimator: Align code and pause/resume conditions w/ Animator, simplifying review. commit 424066616b085b36d88a39d56a618ea57cebc9e9 Author: Sven Gothel Date: Sat Sep 13 15:27:43 2014 +0200 AnimatorBase.finishLifecycleAction(): Non blocking call shall return true, success - otherwise pause()/.. return value is inconsistent. Caller of e.g. pause() running on the anim-thread or AWT-EDT (AWTAnimatorImpl) will be non-blocking. Before this change, a non-blocking simply did not wait until the 'hold' condition is reached and returned its negated value. This ofc is 'false', indicated unsuccessful operation. Caller use the return value to determine whether the call actually paused (or ..) the animator. Despite the non-blocking nature, the pause state was set, even if not reached. Hence a resume() would be required to continue operation after a temporary pause. +++ This change ignores the non-blocking nature's unmet condition. finishLifecycleAction() returns !nok || !blocking, i.e. either true for the reached condition (blocking) or true if non-blocking. Blocking calls with unmet condition still return false. +++ In case an animated GLAutoDrawableis being pulled after a non-blocking animator pause() call, the GLAutoDrawable's implementation thread-safety must ensure proper operation. +++ commit 6363fccee219ce238b0b2ded39c116e2bc8613d5 Author: Sven Gothel Date: Tue Sep 9 21:02:55 2014 +0200 GLBuffers.sizeof(..): Add support for ES3, reading supported glPixelStorei states commit acda710ea5dfffc236c5f4b47e7e8e1fe492cc8a Author: Sven Gothel Date: Tue Sep 9 20:03:16 2014 +0200 TestVersionSemanticsNOUI: v2.3.0 is not backward compatible w/ 2.2.* commit d19bb03e3cabc9a50b63c4ce8d866efab7f34860 Author: Sven Gothel Date: Tue Sep 9 20:02:45 2014 +0200 GLPixelStorageModes: Emphasize reset*() usage; setUnpackRowLength: GL2ES2 -> GL2ES3; Better adoption of GLPixelStorageModes (GLJPanel, GLReadBufferUtil, TextureIO) - Emphasize reset*() is being called when saving modes for 1st modification; - setUnpackRowLength: GL2ES2 -> GL2ES3; Actually GL2ES3 is required for UNPACK_ROW_LENGTH - Better adoption of GLPixelStorageModes (GLJPanel, GLReadBufferUtil, TextureIO) commit 73a4d809f92126228b64a3bded75686db806be64 Author: Sven Gothel Date: Tue Sep 9 19:58:47 2014 +0200 Don't utilize glPixelStorei's PACK/UNPACK IMAGE_HEIGHT and SKIP_IMAGES for Desktop GL < 1.2, avoiding GL-Error Commit fc1e98790a02b4fa7922f3cdd9d437f87d7c99e5 added handling of PACK/UNPACK IMAGE_HEIGHT and SKIP_IMAGES in GLPixelStorageModes. However, it has been overseen that the four states are not available in OpenGL 1.1. Adding exclusion of the same if desktop GL < 1.2 and hence avoiding GL errors. Same applies to GLBuffers.sizeof(..) method. commit 1bdc495c19d3c8798a56d8476247084f0c870b48 Author: Sven Gothel Date: Mon Sep 8 13:53:25 2014 +0200 Bug 1063: Uri adoption - ShaderCode: - Using Uri - Also encode the rel. 'includeFile' (was missing earlier) - GLMediaPlayer - Exposes Uri in API, removed URI commit 628509b39ea7c16210315d191860511d6be4aa69 Author: Roman Date: Thu Jul 24 22:15:40 2014 +0300 Added possibility to load font using InputStream parameter commit 13c6252ed41e96375c03c7c6894aac53a809bfe0 Author: Clément DAVID Date: Fri Sep 14 14:33:35 2012 +0200 GL build: add antlr.jar dependency