commit e07315e1eb7113e5bc02c1b092ecd94380104725 Author: Sven Gothel Date: Fri Dec 2 08:56:32 2011 +0100 Add siggraph 2011, p70-rsantina commit 30c959a4534bc0c6b4718ae65fd4f91d68d6eca6 Author: Sven Gothel Date: Fri Dec 2 07:54:41 2011 +0100 NEWT EVENT_MOUSE_WHEEL_MOVED: Fix Bug 413 - Generate proper mouse wheel events. > 0: UP < 0: DOWN See MouseEvent.getWheelRotation() for details. OSX/Windows: Default to wheel 'button' 1 OSX: Properly report '<0' X11: Synthesize wheel events by mapping buttons 4/5 and 6/7 to wheel 1 and 2. commit 4856f7800bac165c3770495b77de4a2eabcca46e Author: Sven Gothel Date: Fri Dec 2 05:05:32 2011 +0100 Remove GLProfile.initSingleton(..) out of static init block commit c9bd1073d4fee2864162ac6f82380d538d33f322 Author: Sven Gothel Date: Fri Dec 2 03:50:52 2011 +0100 Test AWT Translucency: Use ReflectionUtil to use com.sun.awt.AWTUtilities, n/a on some AWT impl. commit 65dc12ecbaa28f7643ce406860b3f47f53bc29d5 Author: Sven Gothel Date: Fri Dec 2 02:51:53 2011 +0100 More AWT-EDT invokeAndWait-wrapping for Frame show/dispose commit b6aa455d21fbcfc256ae8f8f4d66493c17e23f4c Author: Sven Gothel Date: Thu Dec 1 21:40:12 2011 +0100 New GLProfile.ShutdownType: SHARED_ONLY / COMPLETE - Enhance/Fix Lifecycle Management - Leave Platform, .. TempJarCache untouched. - GLDrawableFactoryImpl*: Leave DynamicLibraryBundle(lib-binding) untouched, for NativeLibrary, JNILibLoaderBase (JNI libs), .. consistency. - SHARED_ONLY: shutdown shared GLDrawableFactoryImpl* resources and NativeWindowFactory - COMPLETE: additionally shutdown GLContext* Clear all cached GL/GLX proc-address and device/context mappings. - Use new "GLProfile.shutdown(GLProfile.ShutdownType.SHARED_ONLY)" in Applets - X11GLXDrawableFactory Shutdown: Uncomment close/destroy of shared resources. - JAWTWindow.destroy(): Close the delegated device. In case it's X11 this closes the exclusive opened X11 Display. commit 919aabb77250cb0e272dac228388592d08bf98f5 Author: Sven Gothel Date: Thu Dec 1 18:32:22 2011 +0100 GLContext fix shutdown(): Clear proc address tables and extension cache (GLContextImpl) commit 7bbe18e689d62650fbbe94eec841369b3f58aaa6 Author: Sven Gothel Date: Thu Dec 1 18:30:36 2011 +0100 Fix 96205926731aeb61a862c87974f611d814937c54 GDIUtil native code. commit 035051a686b7652dd14c0a878ebe1fe29f5f11c3 Author: Sven Gothel Date: Thu Dec 1 17:15:13 2011 +0100 Fix Bug 522: NEWT requestFocus() causes a crash if !isNativeValid() commit 6e7bc19af948bd3a53c5da2dacfafe6f8484d268 Author: Sven Gothel Date: Thu Dec 1 17:03:38 2011 +0100 Adapt to GlueGen commit 7e6cf46ed2e0e9772f79e06437596056efa8c682: JNILibLoaderBase addNativeJarLibs(..) commit 3a37ae123a973e926b1eefcde82e6d566229df23 Author: Sven Gothel Date: Thu Dec 1 17:02:36 2011 +0100 Minor edits. commit c61ff4098477adf1661c063291ffa3cf81af1d5b Author: Sven Gothel Date: Thu Dec 1 17:01:44 2011 +0100 X11Util / GDISurface Robustness X11Util: - shutdown: keep list of displays, if not really closed. - Init default display name in initSingleton. GDISurface: Check ReleaseDC and throw exception if fails commit 96205926731aeb61a862c87974f611d814937c54 Author: Sven Gothel Date: Thu Dec 1 16:52:52 2011 +0100 Complete commit 2c0a0981f7e1376064abd981c79c65c9d1b57410 ; Missed native impl. commit 1113d44644469eaae69fd11fe7108ab432e4cf38 Author: Sven Gothel Date: Thu Dec 1 16:51:00 2011 +0100 GLProfile: use dbl checked locking w/ volatile ; Proper shutdown sequence. commit 53ba4a2b3639a3746218693ea588159e5c6d07c7 Author: Sven Gothel Date: Thu Dec 1 16:48:45 2011 +0100 GLDrawableFactory: Implementations lifecycle is handled via constructor/destroy() commit 2c0a0981f7e1376064abd981c79c65c9d1b57410 Author: Sven Gothel Date: Thu Dec 1 16:43:55 2011 +0100 Move manual GDI utils to GDIUtil ; Minor cleanup. RegisteredClassFactory: Reference the factories itself instead of the RegisteredClass. This enables the shutdown hook to clear the factories state, which is required for proper recreation. commit 77e9d16a3ad5131a2197bb3cad2309827c3a796a Author: Sven Gothel Date: Wed Nov 30 13:16:57 2011 +0100 JOGLNewtApplet1Run: Issue GLProfile.shutdown() to adapt to the 'new' plugin lifecycle. Applet 'restart' (init.start.stop.destroy .. init.start...) didn't work on Windows browsers (Firefox, Safari, Chrome, ..) w/ JVM 6u26..6u29. It seems that after destroy we loose the ClassLoader already (plugin2) hence we need to bind to the native resources again. Solution is to map the JOGL lifecycle of GLProfile [initSingleton()..shutdown()] to the Applet's [init..destroy]. commit ad0ba11b0a1d6cb4a113e467420f2f797f1d26cb Author: Sven Gothel Date: Wed Nov 30 13:13:27 2011 +0100 More Robust GLProfile Initialization ; Add NativeWindowFactory Shutdown More Robust GLProfile Initialization - Catch GLException in GLDrawableFactory getWasSharedContextCreated(device) impl., which may fail (See comment on Firefox/Chorme EGL deployed library for Windows). - If getWasSharedContextCreated(devide) fails, set respective factory availability to false, ie. hasDesktopGLFactory, hasEGLFactory, .. Add NativeWindowFactory Shutdown - Currenly a dummy entry, may evolve. X11Util shutdown is issued by respective GLDrawableFactory commit b72ac8efaca45241a44dd631acb20a8c23ea2a7b Author: Sven Gothel Date: Wed Nov 30 12:05:56 2011 +0100 Windows: Bump JVM to 6u29 commit 02e5b9b0040deb9f6c11ae305a23213d006f0d40 Author: Sven Gothel Date: Tue Nov 29 17:01:50 2011 +0100 NEWTMacWindow:View: Make lock recursive .. Attempt to fix the shared-context-multithreading bug (eg. TestSharedContextVBOES2NEWT2) via proper locking .. but seems not to be sufficient (yet). commit daf11ad8174a1b4471eaa0b59c8350b4175baae2 Author: Sven Gothel Date: Tue Nov 29 12:38:46 2011 +0100 NEWT MacWindow: the softLock (pthread mutex) is now always blocking (remove non blocking code) commit 6b3fae9aebdafd8ed605543272d7d9cbf2f8c5dd Author: Sven Gothel Date: Tue Nov 29 12:38:05 2011 +0100 GLContextImpl*: createImpl() / makeCurrentImpl() refinement / robostness createImpl(): If successful must leave context current. makeCurrentImpl(): Is only called if context is not just created, hence the boolean parameter 'boolean newCreatedContext' is removed. This clearifies and actually cleans up the native makeContextCurrent/releaseContext call pairs. MacOSXCGLContext: CGL and NS impl. of native makeContextCurrent/releaseContext uses CGL locking to provide a thread safety. This is recommended in OS X OpenGL documentation on [shared context] multithreaded use cases. Post creation code, as seen in some pbuffer cases is moved to overriden createImpl() methods. commit 7ce949289c71cc4a64e15227c7760974b40e2c33 Author: Sven Gothel Date: Tue Nov 29 12:26:20 2011 +0100 MacOSX: Expose CGL's CGLLockContext(..) and CGLUnlockContext(..) - to provide required locking in multithreading environment commit 70694b62974bab40c1411217ade8ae6fc1c554d5 Author: Sven Gothel Date: Tue Nov 29 12:25:25 2011 +0100 Test: Add TestSharedContextVBOES2NEWT2 (ES2 variant of TestSharedContextListNEWT2) commit 8af40a72515958d9bf93770ce8ba1ac1ed12a8d3 Author: Sven Gothel Date: Tue Nov 29 05:24:46 2011 +0100 Test: Forgot to uncomment package name of new test for 97218b88af9113740b3704a3666d7356cdc83cd0 commit 2f9d2373ac3cbd6e7a6c288a72ad154962f22cb3 Author: Sven Gothel Date: Mon Nov 28 03:55:15 2011 +0100 NEWT ScreenMode: Use unified ScreenMode in impl; X11Screen: Be verbose if TO reached, ie not successfully changed mode. commit 97218b88af9113740b3704a3666d7356cdc83cd0 Author: Sven Gothel Date: Mon Nov 28 03:06:13 2011 +0100 Fix Bug 527: Creating a context w/ shared context, while the latter is in use (threading) Bug 527 describes the situation where wglShareLists() fails (throws exception) while the shared context is in use by another thread (some Animator). It was reported by Jerome Jouvie. The exception happens not everytime, but at least around 20% on manual tests I have performed on the Windows platform. The context in question are all JOGL's GL2, which natively where bound to an OpenGL 3.0 profile. The WGL_ARB_create_context spec says http://www.opengl.org/registry/specs/ARB/wgl_create_context.txt: +++ Future versions of OpenGL may only support being added to a share group at context creation time. Specifying such a version of a context as either the or arguments to wglShareLists will fail. wglShareLists will return FALSE, and GetLastError will return ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB. +++ Hence the 1st patch was to remove 'wglShareLists()' usage in case we use the new WGL_ARB_create_context context creation method. Even though this is a desired change, and works in general, it didn't fix the issue. It seems that the shared context, which is passed @ new context creation, cannot be used while it is in use itself in another thread. This conclusion leads to the actual fix, ie. locking the shared context while creating the new context which shares it. Manual tests using this patch could not reproduce this issue (40 attempts). Test: TestSharedContextListNEWT2 commit ebfaa1263a6739b1e9bcdad48c2447c71f94106e Author: Sven Gothel Date: Sun Nov 27 18:44:35 2011 +0100 NEWT MacWindow: Fix positionChange() Usage ; Fix getLocationOnScreenImpl() - Native invocation of positionChange(x,y) uses screen coordinates of client area. Manual invocation shall respect the semantics - hence calling super.positionChanged w/ client coords. - getLocationOnScreenImpl() shall return the screen coordinates of the client area - Use getTopLevelLocationOnScreen(), ie substract Insets of getLocationOnScreenImpl() commit d3df9b409a0b524497eadd92ccf749ac669b0825 Author: Sven Gothel Date: Sun Nov 27 17:40:45 2011 +0100 MacWindow: Impl. DriverUpdatePosition; Alias position2TopLevel -> getLocationOnScreenImpl Since the MacWindow position needs to be changed in concert with the parent, we need to be triggered to update ours. AWTParentWindowAdapter issues 'updatePosition()' if DriverUpdatePosition is implemented. commit 3602649d8e15d2272ac58e9d2abbf60e1e17ff0d Author: Sven Gothel Date: Sun Nov 27 17:28:04 2011 +0100 JAWTWindow: Impl. insets (if AWT component is a Container) commit f842b59caa0b98c0c0e229ecb9f7c615650e50e8 Author: Sven Gothel Date: Sun Nov 27 17:24:29 2011 +0100 NEWT: Add DriverUpdatePosition interface; Clarify NativeWindow API doc (position) DriverUpdatePosition: Interface tagging driver requirement of absolute positioning, ie. depend on parent position. commit 9bdc043059abc927a0cdb72b4e775d097e3c8876 Author: Sven Gothel Date: Sun Nov 27 00:44:18 2011 +0100 NEWT OSX: Add stopNSApplication(), revert commit c26d6005e1fe74e9aee01d9d72942f566884fcd2 commit 457803bac0bf2328de160daa35542fd7c854dc4b Author: Sven Gothel Date: Sat Nov 26 23:08:10 2011 +0100 MacOSX: Disable native verbosity commit c26d6005e1fe74e9aee01d9d72942f566884fcd2 Author: Sven Gothel Date: Sat Nov 26 23:02:27 2011 +0100 NEWT OSX closeWindow: simple close, no extra view detachment etc commit 78121938f8b432617bbb9f8e3e259ff1ffa9442e Author: Sven Gothel Date: Sat Nov 26 18:33:20 2011 +0100 Revert some changes: X11Screen/RANDR, X11Util (XInitThreads/XLockDisplay), NEWT XDisplay Locking Revert X11Screen RANDR commit 8cecd0c2963d982aa119cbb07698e56b9c271188, ie. use default 'render' display connection, best results on Ubuntu, Solaris, CentOS (no failures). Revert X11Util (XInitThreads/XLockDisplay) rational logic, commit 0314be79a7a93931a74fe4322bc78e699d7741e9, X11Util.HAS_XLOCKDISPLAY_BUG:=true and X11Util.XINITTHREADS_ALWAYS_ENABLED:=true. Which enables always utilizing XInitThreads() either before or after AWT initialization, as well as disable all XLockDisplay/XUnlockDisplay locks. Rever NEWT XDisplay X11 basic Locking commit 50100b85ce5fde48788efbc2211b26fb9d7c9dfd, ie use null locking if X11Util.HAS_XLOCKDISPLAY_BUG and X11Util.XINITTHREADS_ALWAYS_ENABLED. commit e3c6a30ade94862a344c86dc0b733716c6fa27f5 Author: Sven Gothel Date: Sat Nov 26 16:47:58 2011 +0100 NativeWindow build: Remove duplicate class X11AWTGraphicsConfigurationFactory in JAR files commit 8cecd0c2963d982aa119cbb07698e56b9c271188 Author: Sven Gothel Date: Sat Nov 26 16:46:37 2011 +0100 X11Screen RANDR: Use temp display connection due to arbirary failures sometimes commit 0c7f98ddba346668d928b1b7e82a7c7899c72e19 Author: Sven Gothel Date: Sat Nov 26 16:45:45 2011 +0100 X11Util: Remove wrapped/locked X11Lib methods We shall lock a level above due to differentiation of XLockDisplay/RecursiveLock using X11/AWT ToolkitLock. commit b62d7b08212bdbae8d7755dafe4759dc61ace74a Author: Sven Gothel Date: Sat Nov 26 15:50:55 2011 +0100 MacOSXJAWTWindow: Also need to fix (onscreen:=false) of the encapsulated GraphicsConfiguration commit e02a1460018c7f32d7851dfdea41db551543122c Author: Sven Gothel Date: Sat Nov 26 15:49:59 2011 +0100 OSX GLLayer (native): Remove CALayer add/remove/swap sublayer animation; Fix DestroyNSWindow0 The CALayer animations (add/remove/swap) confused somewhat rendering (layer position) and even triggered a deallocation sometimes. commit 6fe980308f6042f7a3077b724d28f4c3719ba331 Author: Sven Gothel Date: Sat Nov 26 08:25:31 2011 +0100 TestScreenMode00bNEWT: Reduce getCurrentScreenMode loop 100 -> 50, due to slow processing on CentOS / HD3400 commit 26e6aac665d0fede32c322b66d90e82a622624ac Author: Sven Gothel Date: Sat Nov 26 08:24:56 2011 +0100 SharedResourceRunner: Use generics ; X11GLXDrawableFactory.SharedRunnable shutdown: don't attempt to close Display device. commit 6c1aa039afc4b81eeacdc97993cd7c7b2efc6ea4 Author: Sven Gothel Date: Sat Nov 26 08:23:46 2011 +0100 NEWT X11Screen: Update X11 RANDR / GL locking test code (still commented out) commit 41d34e1c4594bd1f552dace2b3e1b69889a138fd Author: Sven Gothel Date: Sat Nov 26 08:22:41 2011 +0100 X11Util.shutdown(): Remove x11IOErrorHandler commit f725e45adebfecef7c91b27b2eb3ff69d2399e2a Author: Sven Gothel Date: Sat Nov 26 08:21:51 2011 +0100 NEWT/GLContextImpl: Refine API doc, NEWT: Display name -> connection name commit c354ecce7c18b5623f1fb0162134733c1ebf4178 Author: Sven Gothel Date: Sat Nov 26 06:21:06 2011 +0100 TestParenting03AWT: manual test option -firstUIAction for GLProfile.initSingleton(firstUIAction) commit 7573b967c07b103d74afdda2aafe4444006a8533 Author: Sven Gothel Date: Sat Nov 26 06:20:16 2011 +0100 TestsGLSLShaderState*: Reduce loops / Extend timeout - Slow devices may hit TO otherwise. commit 50100b85ce5fde48788efbc2211b26fb9d7c9dfd Author: Sven Gothel Date: Sat Nov 26 06:19:33 2011 +0100 NEWT X11Display: Use default X11 locking for X11GraphicsDevice Due to Display's reusage and hence concurrent involvement in off-thread animation, the X11 default lock is required. In case you require 2 GLWindow's w/o interference to each other (ie. locking), you need to use separate Display instances. commit 8a7ebf29156ac886a267fe32d78baede009a638f Author: Sven Gothel Date: Sat Nov 26 06:14:35 2011 +0100 NewtFactory/GLWindow: Cleanup API doc (Display lifecycle, copy or reuse, etc ..) commit 3f790b11166f5c51773a9b8832478feb3dcf8a40 Author: Sven Gothel Date: Sat Nov 26 06:13:27 2011 +0100 DefaultGraphicsDevice: Initialize toolkitLock directly in cstr, where setToolkitLock(..) swaps the lock thread safe. commit 5866e08bdff712afed19a206a58f872e0f88c827 Author: Sven Gothel Date: Sat Nov 26 06:11:25 2011 +0100 X11Util: Cleanup ATI_HAS_XCLOSEDISPLAY_BUG API doc. commit 94bdf90b3a8ad76f2d94eadb2b46cd62c70033da Author: Sven Gothel Date: Sat Nov 26 03:34:28 2011 +0100 X11AWTGraphicsConfigurationFactory: Use lock: owner ? AWT-Lock : X11-AWT-Lock commit 0bcf2c35e96cbf7a1e2537448f9603d7d487cf86 Author: Sven Gothel Date: Fri Nov 25 03:17:04 2011 +0100 Add Test case for bug 519 Completes review of the underlying locking mechanism: - commit e341ad8db546530b3a49c56c32cc26980e296201 - commit c84e235b3284d0e18481748b44594116e25821a9 - commit a94c1a2945a31aa5d93e354da3bc80f59f253ec4 - commit 7ae0f2df39692e82d7955dbcd09c35c36382726c - commit 6b8f6e8d7c548cb6bfed14d8a04c9cf252ca7c4d - commit 9ef0a0c185ace5217efc014809e97c5eead842cc - commit 0314be79a7a93931a74fe4322bc78e699d7741e9 commit 89646c4232e846d99bb47b8164722d650c93d99a Author: Sven Gothel Date: Fri Nov 25 03:10:00 2011 +0100 Minor test changes commit c59ac4647b6084181ce17cc594e9343ebe8f6d56 Author: Sven Gothel Date: Fri Nov 25 03:09:47 2011 +0100 Complete commit bafd9b99816f55c105230a59211caf13f0315910 (NEWT): - WindowImpl exposes private non-delegated GraphicsConfiguration, - which is being used by GLWindow's wrapped NativeWindow instantiation (eg: AWT driver) - Fix NewtFactoryAWT.getNativeWindow() use AWTGraphicsConfiguration.create(..) commit 0314be79a7a93931a74fe4322bc78e699d7741e9 Author: Sven Gothel Date: Fri Nov 25 03:06:56 2011 +0100 NativeWindow X11 Locking: Fix XInitThreads/XLockDisplay/XUnlockDisplay Usage ; XLockDisplay/XUnlockDisplay shall only be used if XInitThreads() was successful, otherwise it has no effect (X11 spec). - Only issue XInitThreads() if firstX11ActionOnProcess==true, store result to determing whether we can utilize XLockDisplay/XUnlockDisplay. - If we cannot utilize XLockDisplay/XUnlockDisplay, use RecursiveLock - NativeWindowFactory: Only return AWTToolkitLock or X11JAWTToolkitLock if explicitly requested commit 9ef0a0c185ace5217efc014809e97c5eead842cc Author: Sven Gothel Date: Fri Nov 25 03:02:08 2011 +0100 JAWTWindow: remove validateNative() .. - remove validateNative() - don't dispose AWT component, since we are an immutable uplink (was disposed if Window) commit 6b8f6e8d7c548cb6bfed14d8a04c9cf252ca7c4d Author: Sven Gothel Date: Fri Nov 25 02:59:37 2011 +0100 GLX Information usage cleanup - GLXUtil: Distinguish between client and server GLX information, cache client information. - GLXDrawableFactory: Utilize GLXUtil client data, as well as cache (SharedResource) GLX server data, avoiding 'uncontrolled' GLX queries, ie. w/o locking. - isMultisampleAvailable = isClientMultisampleAvailable && isServerMultisampleAvailable commit 603f6eab78a0e8f7a22f0e51af1afa426d9d80a2 Author: Sven Gothel Date: Fri Nov 25 02:50:27 2011 +0100 scripts: profile.jogl / setenv-jogl.sh / test.sh: Expose and use AWT / NOAWT CLASSPATH specific vars Enable tests w/ and w/o AWT JARs .. commit 05cd5e48fc5294709eaa6429913814f05ba14ab2 Author: Sven Gothel Date: Fri Nov 25 02:49:23 2011 +0100 Fix native manual test 'displayMultiple02' for multiple X11 Display connection open/close in various order XLockDisplay/XUnlockDisplay shall only be used if XInitThreads() was successful, otherwise it has no effect (X11 spec). commit f8c906894a205a35feff018660278bd338f6d5fc Author: Sven Gothel Date: Fri Nov 25 02:47:55 2011 +0100 Forgot to add JogAmp (c) commit 7ae0f2df39692e82d7955dbcd09c35c36382726c Author: Sven Gothel Date: Fri Nov 25 00:26:23 2011 +0100 NativeWindow X11GraphicsDevice: Pass 'owner' for close-display operation @ constructor commit a94c1a2945a31aa5d93e354da3bc80f59f253ec4 Author: Sven Gothel Date: Fri Nov 25 00:20:06 2011 +0100 Nativewindow AWT Device/Screen: Cleanup construction [default, specific]; AWTDevice: Remove subtype commit c84e235b3284d0e18481748b44594116e25821a9 Author: Sven Gothel Date: Fri Nov 25 00:12:17 2011 +0100 JOGL/NativeWindow: Push down JOGL's X11AWTGLXGraphicsConfigurationFactory to NativeWindow X11AWTGraphicsConfigurationFactory X11AWTGraphicsConfigurationFactory properly construct a AWTGraphicsConfiguration encapsulated a native X11GraphicsConfiguration, now available for non JOGL modules, ie NEWT. AWTGraphicsConfiguration's create() utilizes the X11AWTGraphicsConfigurationFactory via the generic factory mechanism and hence allows encapsulating a native [X11]GraphicsConfiguration. NewtCanvasAWT creates/destroys the JAWT NativeWindow on addNotify/removeNotify (reparentWindow) again. Hence the JAWTWindow is instantiated completly only, instead of utilizing updateConfiguration(..), which simplifies the mechanism. commit 3bc1ef8344ad44969ef436a0b98b0cde490a78fa Author: Sven Gothel Date: Wed Nov 23 08:35:24 2011 +0100 GraphicsConfigurationFactory: Kick off 'registerFactory' via static method instead of constructor for clarity. - prepare for 'jogamp.nativewindow.x11.awt.X11AWTGraphicsConfigurationFactory' commit bafd9b99816f55c105230a59211caf13f0315910 Author: Sven Gothel Date: Wed Nov 23 07:44:42 2011 +0100 NativeSurface's getGraphicsConfiguration() returns the native (delegated) AbstractGraphicsConfiguration, if delegation is used. This change restricts the usage of AbstractGraphicsConfiguration's getNativeGraphicsConfiguration() to NativeSurface implementations and hence reduces complexity. NativeSurface implementations are adapted and access to it's AbstractGraphicsConfiguration is controlled via get/set method avoiding flawed usage (read/write), since read access shall return the delegated AbstractGraphicsConfiguration, if used. commit 645a863ee5a8efa915dd43abd608248e8cbc13cd Author: Sven Gothel Date: Wed Nov 23 06:28:56 2011 +0100 test script commit a58e1022869aa1767fe021408588789e96a8a207 Author: Sven Gothel Date: Wed Nov 23 06:26:47 2011 +0100 AWTGraphicsConfiguration: Private special cstr. FIXME: Use 'encapsulated' ie. delegated in all cases. commit ab5a9ca4aec5c78f055c47859342d38ecb0f9601 Author: Sven Gothel Date: Wed Nov 23 06:19:15 2011 +0100 Fix X11Util.dumpOpenDisplayConnection() ; Bug 515: Update fglrx driver remark and native test. commit 9ea515d295c0afb4e549549a1b2da60daff07f5d Author: Sven Gothel Date: Wed Nov 23 06:17:34 2011 +0100 Test NEWT Remote Connection (X11): Use localhost:0.0 as default commit e341ad8db546530b3a49c56c32cc26980e296201 Author: Sven Gothel Date: Wed Nov 23 06:10:56 2011 +0100 X11GLXDrawableFactory.createOffscreenSurfaceImpl(): Create own screen/device instance pair Don't use the shared device due to locking issues on X11. Other platform impl. usually don't have native semantics on device/screen and may use it. commit c623e1657500a645243ccf0e045292da42fde718 Author: Sven Gothel Date: Mon Nov 21 15:51:46 2011 +0100 NativeWindow GraphicsDevice javadoc cleanup / Factory method access cleanup (minor edits) commit 9e99815645fe255ff3af83ba5b4108907b306a2f Author: Sven Gothel Date: Mon Nov 21 14:08:10 2011 +0100 Add Unit Test TestGearsAWTAnalyzeBug455 to analyze bug455 - inconclusive commit 72ad7010704c2dbb96a0a850c2bee76a5c64989c Author: Sven Gothel Date: Mon Nov 21 14:07:06 2011 +0100 Initialize JAWTUtil/JAWTJNILibLoader in static initialzier block, not leaving privileged block commit 12342c9e6122051fbdc91493c4d63515ad4613d1 Author: Sven Gothel Date: Mon Nov 21 08:30:02 2011 +0100 Fix GLDrawableFactory: Move 'GLContext getOrCreateSharedContext(..)' to non public class GLDrawableFactoryImpl. Michael Weber's test case (commit e7388512b69979d00e5a213a1b166a1b1726ae0c) pointed me to the flaw in GLDrawableFactory which exposed a non-public method, ie. 'getOrCreateSharedContext()'. This lead to the assumption, that the 'shared' drawable/context of the factory is multi purpose and may be used for application context sharing - which is not the case. Changed Michael's test case to use a local shared pbuffer based drawable/context and made the method non-public, where it belongs. commit bf6504797d4823bc49d0340238dd32cab9f1612e Author: Jacob Senglea Date: Sat Jun 4 00:57:57 2011 +0000 Enable FreeBSD x86_64 builds (and add swt.jar) commit d19383f49de8cdf964e3a15cd5a0d73c5eadc6fe Author: Sven Gothel Date: Sun Nov 20 02:13:26 2011 +0100 Tests: Use WindowFocusListener for AWTRobot toFront(.. window), more reliable commit 04fece27389ad1b35de0f344819801f36730b8fd Author: Sven Gothel Date: Sun Nov 20 00:27:30 2011 +0100 minor edits: test, scripts commit 21439c3423e8a2539cd2bfd4a0c210ae28fac323 Author: Sven Gothel Date: Sun Nov 20 00:27:10 2011 +0100 NEWT MacWindow: Revised offscreen FIXME tags commit cf31fc3d119cc8ce531b2b7d898e6d80af79d051 Author: Sven Gothel Date: Sat Nov 19 19:32:50 2011 +0100 NEWT build: Add jogamp/newt/driver/* to core commit cc63a4689c3a6456fb616341c19eb4f0d0ab722a Author: Sven Gothel Date: Sat Nov 19 19:32:27 2011 +0100 Demo: GearsES1/ES2 visualize focus commit 8a985f8652151684063853f61e479d75d8203f07 Author: Sven Gothel Date: Sat Nov 19 19:32:00 2011 +0100 NEWT/AWT Focus traversal enhancement/fix (incl. OS X fixes) - MacWindow/OffscreeSurface - Exclude native NEWT window calls in case it's an offscreen surface - MacWindow/DriverClearFocus - Introduce driver detail DriverClearFocus interface - OS X needs to clear the focus, before another TK (eg. AWT) can claim it's (native parent window focus) - MacWindow/KeyCode: - Move OS X keyCode utils to MacKeyUtil - MacKeyUtil now uses OS X virtual key codes first, before matching keyChar -> keyCode - NewtCanvasAWT - Issue all AWT 'requestFocus()' on current thread, Newt-EDT -> AWT-EDT may freeze Window's native peer requestFocus() impl. - FocusAction directly issue action on Newt-EDT, also request AWT focus if not having it (proper AWT traversal) - Add an FocusPropertyChangeListener, detecting focus lost to issue DriverClearFocus's clearFocus() if available. - merge configureNewtChildInputEventHandler() code into configureNewtChild() to simplify call tree. - WindowImplAccess: Use getDelegatedWindow() commit 2641d1cffebff214c4b37d7291627f76cc3bbe3f Author: Sven Gothel Date: Sat Nov 19 19:21:50 2011 +0100 NEWT: Move 'focusAction()' invokation from native code to Java, avoiding deadlocks and simplify call-tree commit d7ee8ff7c919b71107539e9c012a9170e60ceaa9 Author: Sven Gothel Date: Sat Nov 19 19:20:46 2011 +0100 NewtMacWindow: Add CR/LF to DBG_PRINT commit 76562bc5073909410ccf8a72a01d6998356a9d70 Author: Sven Gothel Date: Sat Nov 19 19:19:49 2011 +0100 NEWT Window: Promote/Expose 'Window getDelegatedWindow()' for accessing the delegate (ie GLWindow) commit 94498289e57deb18d51f267c6c029d6d4f847dfe Author: Sven Gothel Date: Sat Nov 19 19:17:27 2011 +0100 Relocate NewtFactoryAWT: jogamp.newt.awt.event -> jogamp.newt.awt commit d043973f421a149ee216472fde68106be9cf1c06 Author: Sven Gothel Date: Fri Nov 18 19:22:57 2011 +0100 Focus Test: Don't assume NewtCanvasAWT even received the focus commit cd609dc73fc7d7ecfc67670c57cfc7d90dff4eb8 Author: Sven Gothel Date: Fri Nov 18 19:22:11 2011 +0100 WindowsWGLDrawableFactory createOffscreenDrawable() - Don't spin off creation on AWT thread (may deadlock) commit 2b4318da81b2ce97b7f7291f423053d9d4a46eca Author: Sven Gothel Date: Fri Nov 18 09:53:20 2011 +0100 Fix Reloc AttachJAWTSurfaceLayer() (commit d644e9321dceeecdd94a1797e25e6e356d957c23) Missed build-nativewindow.xml commit commit 82773da0e9d6253af935ca809f72aa21a125c65a Author: Sven Gothel Date: Fri Nov 18 09:49:00 2011 +0100 Fix NewtCanvasAWT Focus Traversal (focusable) - need to set setFocusable(true) manually due to z-order (newt child upfront) commit 3db4e89cb2c36f63c6d0a8f3450705d1ef3694b0 Author: Sven Gothel Date: Fri Nov 18 09:14:08 2011 +0100 NEWT/AWT Focus Traversal / Deadlock Fix (Windows) ; Harmonized NEWT KeyListener handling (Bug 526) NativeWindow: - expose 'hasFocus()' Window: - 'protected enqueueRequestFocus(..)' -> 'public requestFocus(boolean wait)' - New: 'setKeyboardFocusHandler(KeyListener)' allowing focus traversal co-op w/ covered TK (AWT) WindowImpl: - Impl Window changes (see above) - Impl 'consumedTag' see commit 3b38957f36d4f89b85730755a41c00892ac70591 NewtCanvasAWT: - FocusAction only removes the global AWT focus owner. This fixes a deadlock on the Windows platform of AWT's native peer requestFocus impl, since it's no more called at this point. - NEW FocusTraversalKeyListener is set as the newtChild's KeyboardFocusHandler, allowing traversal to the next/previous AWT component. AWTParentWindowAdapter: - focusGained(..) clears AWT focus and propagates focus to Newt child, non blocking w/ 'requestFocus(false)' (see above) KeyEvent: - Document limitations of getKeyChar() (Bug 526) MacWindow: - only deliver keyChar on key Typed events, harmonizing platform behavior (Bug 526) WindowsWindow: - regenerate the keyCode for EVENT_KEY_TYPED (Bug 526) X11Windows: - complete keyCode mapping X11 -> Newt - X11KeySym2NewtVKey() - only deliver keyChar on key Typed events, harmonizing platform behavior (Bug 526) Tests: - GearsES2: Make focus visible - TestParentingFocusTraversal01AWT: unit test for keyboard focus traversal w/ NewtCanvasAWT commit 3b38957f36d4f89b85730755a41c00892ac70591 Author: Sven Gothel Date: Fri Nov 18 07:23:39 2011 +0100 NEWT InputEvent consumed: Expose special attachement Object 'consumedTag', which ends event propagation if attach to an InputEvent. commit d644e9321dceeecdd94a1797e25e6e356d957c23 Author: Sven Gothel Date: Fri Nov 18 07:14:41 2011 +0100 Fix OS X JAWT SIGSEGV @ NEWT Window creation ; Reloc AttachJAWTSurfaceLayer() OSXUtil -> MacOSXJAWTWindow Threading/sync issue when creating a NEWT window, which issues a Java callback from native code (positionChanged()). The latter requires a location validation w/ getLocationOnScreen() involved. Hence getLocationOnScreen() shall not lock the JAWT native resources, since it may not be ready yet (-> threading/sync issue). commit e5e3a035237294e69e86d8dcb4cce55049eedac7 Author: Sven Gothel Date: Sat Nov 12 16:41:18 2011 +0100 test script commit daccd28a562c2211f0ab6f30a5eac02ffef2945a Author: Sven Gothel Date: Sat Nov 12 16:40:44 2011 +0100 OSXUtil: Remove (ClassLoader) dependency on JAWT_DrawingSurfaceInfo (dirty hack) .. need to move the attach/detach surface layer NIO methods to a AWT OSX class. commit 8a16d590fe2c739badbabe4906cbe9d60b20e2b9 Author: Sven Gothel Date: Sat Nov 12 16:15:54 2011 +0100 OS X Layered View Part8: Generalize OffscreenLayerSurface ; Use local JAWT instance ; Applet's on OS X are working Generalize OffscreenLayerSurface - Using new OffscreenLayerSurface allows using this functionality in a clean manner, ie. no 'dirty' usage of MacOSXJAWTWindow in a JOGL GL class. - 'Promoting' OffscreenLayerSurface functionality to JAWTWindow and it's handling to GLDrawableFactoryImpl::createGLDrawable(). - Move MacOSXCGLDrawableFactory's "MacOSXJAWTWindow getLayeredSurfaceHost(NativeSurface surface)" to NativeWindowFactory "OffscreenLayerSurface getOffscreenLayerSurface(NativeSurface surface, boolean ifEnabled)" Use local JAWT instance - Only w/ a local JAWT instance per JAWTWindow it is possible to switch between offscreen-layer and onscreen. We also have to determing offscreen-layer lazy at surface lock, since only at that time we have knowledge whether it's an Applet or not. +++ ContextUpdater: Use local pthread mutex, add DEBUG output JAWTWindow/NewtCanvasAWT: Adding methods to request offscreen-layer-surface (if supported), besides 'if applet' this may trigger the new functionality. +++ Applet's on OS X are working: - OS X 10.6.4 - Safari: - Hangs for a while at start .. whole screen freezes .. approx. 10s - Sometimes crashes when Applet stops - after all our resources are released! - Keyboard input isn't assigned sometimes. - Otherwise .. works well, incl. offscreen/onscreen parenting - Firefox 8.0: - Hangs for a while at start .. whole screen freezes .. approx. 10s - Sometimes crashes when Applet stops - after all our resources are released! - Keyboard input is never assigned. - Otherwise .. works well, incl. offscreen/onscreen parenting - OS X 10.7 - Safari: - Sometimes crashes when Applet stops - after all our resources are released! - Keyboard input isn't assigned sometimes. - Otherwise .. works well, incl. offscreen/onscreen parenting - Firefox 8.0: - Sometimes crashes when Applet stops - after all our resources are released! - Keyboard input is never assigned. - Otherwise .. works well, incl. offscreen/onscreen parenting commit 33aaa037e31ec7d411f4acaeea63a383037f027d Author: Sven Gothel Date: Sat Nov 12 13:42:40 2011 +0100 OSX: Fix context update call It turns our that the native ContextUpdater does not work reliable in all cases, hence we need to verify if the drawable size has changed as well. commit 88c80de9a227b15cc1e287bba8e62e3c55b4a2b1 Author: Sven Gothel Date: Sat Nov 12 12:21:15 2011 +0100 Nativewindow: Introduce API private MutableGraphicsConfiguration MutableGraphicsConfiguration allows derivations to set the chosen capabilities, hence it is a non public API from which eg. JOGL GraphicsConfiguration derive. commit 7e81956daf1d5c81f6344e7f5509ae08947f8434 Author: Sven Gothel Date: Fri Nov 11 07:35:43 2011 +0100 OS X Layered View: Part7 Allow NEWT onscreen MacWindow to be used incl reparenting Test: enable NEWT 'onscreen' case commit f0962124acf99a608f5e5e2f5f59fcb10f604403 Author: Sven Gothel Date: Fri Nov 11 06:35:34 2011 +0100 Animator timeout/refinement - AnimatorImpl: evaluate double negation if(!skipWaitForCompletion(Thread)) -> if(blockUntilDone(Thread)) - Simplify finishLifecycleAction() and reduce timeout commit f3e05fe62b91134ac601520c6f9c44d6d31fcd86 Author: Sven Gothel Date: Fri Nov 11 06:02:30 2011 +0100 Revert introduction of NativeSurfaceHolder and NativeWindowHolder interfaces I was too fast introducing these accessors, since they are currently not needed and hence redundant. Complete - 7bc4c218b47033cb66f4eb5e707a86a0a4e60cff Partial in regards to the holder interfaces only: - d8fa00d35a49f4faf5f04aeb7e2bba4e972965f5 - f51e3dad6c4bd1f6d0001cecf6a0f692400ed602 - 46542168d64b37f544f61802693f15b59b224e4e commit 3a6f6fd237505e8ced20b64579cca42e61751c51 Author: Sven Gothel Date: Fri Nov 11 04:57:45 2011 +0100 Minor edits: Remove dead code / fix dbg printf commit 0120a81c36ffc7455d196960048fe935f82fc9a6 Author: Sven Gothel Date: Thu Nov 10 17:14:51 2011 +0100 OS X Layered View: Part6 (native) Using a root CALayer where we attach/detach our GL one - it seems to be more stable, having one root CALayer attached to the JAWT_SurfaceView forever - tackles crach at GL layer destruction - proper release of all GL layer resources - now final [gl-layer dealloc] happens at very destruction of JAWT object, even though it was removed from root-layer earlier (and all other references) - see comment in MacOSXWindowSystemInterface-pbuffer.m :: createNSOpenGLLayer(..) - at least no more crash .. and resource release ASAP, but the GL-layer itself (see above) commit af083029321b3ff57c37f9426ecf5eb526b5e7ae Author: Sven Gothel Date: Thu Nov 10 05:18:57 2011 +0100 NEWT/WindowImpl: Fix minor regression offscreen recreate @ setSize() (commit 51ad6992e068f25d86d2c9e085bd7ec6f49d2432) Even though this is not a bug, but it changes the expected EDT lifecycle and hence would require to change our test cases. Only flip screen's reference count (which may lead to create/destroy of the EDT) in the recreate case, where it's needed. commit 3e7818ad09a3339d8cf056729533e611a63b1965 Author: Sven Gothel Date: Thu Nov 10 05:15:44 2011 +0100 NEWT/Screen: minor editing/cleanup commit d237bde81beb9fc7bcd04b500a59360b63477285 Author: Sven Gothel Date: Thu Nov 10 05:15:12 2011 +0100 Animator: Limit wait for condition in finishLifecycleAction() via timeout While impl. recreation for offscreen surfaces @ WindowImpl.setSize(), commit 51ad6992e068f25d86d2c9e085bd7ec6f49d2432, it appears Animator deadlocks in some cases. finishLifecycleAction() [blocks until pause() .. is accomplished] queries whether we are even able to wait using skipWaitForCompletion(). The latter method can only query if we are on the animation thread or AWT-EDT, etc, but not if we have traversed through a 3rd party thread, eg NEWT EDT. This patches limits the wait with a timeout of 20frames @ 60Hz (20*16ms). commit 51ad6992e068f25d86d2c9e085bd7ec6f49d2432 Author: Sven Gothel Date: Thu Nov 10 04:45:25 2011 +0100 NEWT/WindowImpl: Generalize recreation @ setSize() for offscreen surface In case of offscreen surfaces (pbuffer, ..) we have to go through a whole destroy/setSize/create cycle. commit 09dd954dbbc025c5ecd798250989553aa0ab3b81 Author: Sven Gothel Date: Thu Nov 10 04:42:15 2011 +0100 MacOSXPbufferCGLDrawable: verbose debug messages commit 1eafd5b458db26ae47a836969968aded584abc70 Author: Sven Gothel Date: Thu Nov 10 04:41:31 2011 +0100 Fix MacOSXJAWTWindow: Impl. SurfaceChangeable ; Proper invalidateNative() Impl. SurfaceChangeable (regression 8f5465396fe429ce6b7ecae808416691271c7867) - offscreenSurfaceLayer code requires instanceof SurfaceChangeable - overwrite JAWTWindow size getter: use surfaceSizeChanged() values if used. Proper invalidateNative() - detach JAWTSurfaceLayer if set - destroy dummy NSWindow (was typo) commit d1ac91ae3e8fab5176cb677a20fd764f04a00cc8 Author: Sven Gothel Date: Thu Nov 10 01:21:50 2011 +0100 Fix regression JAWTWindow/AWTGraphicsConfiguration updateGraphicsConfiguration() of commit 46542168d64b37f544f61802693f15b59b224e4e While introducing NewtCanvasAWT's lifetime reference of (JAWTWindow) nativeWindow using updateGraphicsConfiguration() to determine the actual config values at addNotify(), it was overseen that the AWTGraphicsDevice needs to be re-validated. JAWTWindow's validateNative() ensures that the AWTGraphicsDevice reflects the platform native handle where required (X11). commit 44b86776d35668c12ccc698b92ae955bde8f250a Author: Sven Gothel Date: Thu Nov 10 01:13:16 2011 +0100 NativeWindow minor edits: Remove warnings (generics, imports, ..) commit 0bdf9a9bb63a6e151acb5c58a0ab06a2644d4700 Author: Sven Gothel Date: Wed Nov 9 22:35:07 2011 +0100 NewtCanvasAWT: nativeWindow field lifecycle is same as holder (Composition). (regression from commit 46542168d64b37f544f61802693f15b59b224e4e) commit a968068d835a28610bd63e6eec5043cb4592cf08 Author: Sven Gothel Date: Wed Nov 9 21:51:54 2011 +0100 NewtCanvasAWT: Fix NPE (regression from commit 46542168d64b37f544f61802693f15b59b224e4e) commit 8f5465396fe429ce6b7ecae808416691271c7867 Author: Sven Gothel Date: Wed Nov 9 20:07:58 2011 +0100 NativeWindow: SurfaceChangeable::setSize() -> surfaceSizeChanged() to avoid conflicts with setSize() This fixes the NEWT OffscreenWindow conflict w/ setSize() which represents the action of changing the window's size. SurfaceChangeable's surfaceSizeChanged() merily notifies the actual size. JAWTWindow: Remove setSize() since it propagates the surface size upstream only. MacOSXJAWTWindow is not SurfaceChangeable complete (no surfaceSizeChanged). commit 30445211aab2edbb709dbda9d5b619a0f1a15a51 Author: Sven Gothel Date: Wed Nov 9 17:19:55 2011 +0100 test: minor edit commit ed33158d3330dfe2287af5bfaf5aea99f199887c Author: Sven Gothel Date: Wed Nov 9 17:19:36 2011 +0100 Cleanup offscreen/pbuffer drawables - minor edits commit f48713f52733b476d8d59e4a9a9e3f64afeba6a5 Author: Sven Gothel Date: Wed Nov 9 08:57:46 2011 +0100 Fix TestParenting03AWT: NewtCanvasAWT has always a NativeWindow - Also make layout nice .. commit 5c4d7dc34591230938ccb369b0857d648b42b8ed Author: Sven Gothel Date: Wed Nov 9 08:56:25 2011 +0100 minor edit commit e392af4430af6b7b6d7f30fcca2bf00081641fe1 Author: Sven Gothel Date: Wed Nov 9 08:19:27 2011 +0100 Fix regression: setScreen(..) invalid ref count & flag Undo parts of commits in this regard: - 46542168d64b37f544f61802693f15b59b224e4e: move method back to ReparentAction - f51e3dad6c4bd1f6d0001cecf6a0f692400ed602: remove added ref counter / flag commit 46542168d64b37f544f61802693f15b59b224e4e Author: Sven Gothel Date: Wed Nov 9 07:42:20 2011 +0100 OS X Layered View: Part5 NEWT/AWT Interaction ; Fix NSOpenGLLayer pos ; Cleanup Better JAWT* name for offscreen layer surface: - MacOSXCGLDrawableFactory, JAWTUtil, JAWTWindow, MacOSXJAWTWindow - FIXME: Need to get rid of the cached JAWT instance, in case we like to have dual usage of offscreenLayerSurface and onscreen. This would be done implicit by using NEWT .. hence low prio. AWTGraphicsConfiguration: - Fix create(): Use capsRequested for AWT aligned caps if capsChosen is null. (was capsChosen .. which is null) - Add updateGraphicsConfiguration() which allows to update the AWTGraphicsConfiguration. NewtFactoryAWT: - Add updateGraphicsConfiguration() .. entrypoint for AWTGraphicsConfiguration.updateGraphicsConfiguration() NSOpenGLLayer Impl: - For 'some reason' the layer's position is initially negative, fix it @ 1st 'draw' - Re-add CVDisplayLink OpenGL setting .. for what it's worth .. I don't know JAWTWindow: - Remove test setting: Only enable offscreenLayerSurface for applets if avail. (New unit test enables it seperatly) NewtCanvasAWT: - If NEWT child is offscreen, attach AWTMouseAdapter and AWTKeyAdapter to route these AWT input events to NEWT. - Don't loose-focus if NEWT child is offscreen. - Impl. NativeSurfaceHolder, NativeWindowHolder - NativeWindow is created at construction and it's GraphicsConfiguration updated at addNotify(..). - At addNotify/reparent: try harder to determine proper NEWT child size: - use preferred size if set - use minimum size if set - subtract insets from container size OffscreenWindow/WindowImpl: - Allow setSize() .. currently NOP for offscreen. - WindowImpl: Commented out recreate case for offscreen-setSize .. TEST: com.jogamp.opengl.test.junit.newt.parenting.TestParentingOffscreenLayer01AWT Passed tests: - GLCanvas - NewtCanvasAWT/OffscreenWindow commit f51e3dad6c4bd1f6d0001cecf6a0f692400ed602 Author: Sven Gothel Date: Wed Nov 9 01:17:23 2011 +0100 OS X Layered View: Part4 NEWT OffscreenWindow/WindowImpl fix WindowImpl: - Impl. NativeSurfaceHolder/NativeWindowHolder 'hooks' - setScreen() utilize proper screen reference count/destruction: - set 'screenReferenceAdded=true' and incr. ref-count, hence next destroy() properly decr. ref-count (may destuct screen). OffscreenWindow: - Allow parent window handle (simply ignore it) Otherwise we could not use OffscreenWindow for parenting tests. - Fix setSize() propaget if !isNativeValid() instead of !isVisible(), otherwise lazy initialization doesn't work. - Allow reconfigureWindowImpl() to pass flags other than visible, simply ignore them. commit d8fa00d35a49f4faf5f04aeb7e2bba4e972965f5 Author: Sven Gothel Date: Wed Nov 9 01:11:40 2011 +0100 OS X Layered View: Part3 JAWTWindow/MacOSXJAWTWindow (Java/Native) JAWTWindow: - Add comment about caller of cstr, since it uses reflection - Field 'config' is of type AWTGraphicsConfiguration, validate and type it - Impl. NativeSurfaceHolder/NativeWindowHolder 'hooks' MacOSXJAWTWindow: - Use agnostic JAWTUtil.isJAWTVersionUsingOffscreenLayer() to determine 'isOffscreenLayeredSurface'. We may promote this notion to JAWTWindow, which already holds 'isApplet' - lockSurface() case 'isOffscreenLayeredSurface': - Create dummy NSWindow (OSXUtil) for getWindowHandle() - Fix chosen caps: offscreen commit 0d7bcd240542df38dd5ff7855f31660f5f0a7be9 Author: Sven Gothel Date: Wed Nov 9 00:32:37 2011 +0100 Minor edits: remove redundancies commit 7bc4c218b47033cb66f4eb5e707a86a0a4e60cff Author: Sven Gothel Date: Wed Nov 9 00:31:34 2011 +0100 NativeWindow: Add accessor interfaces NativeSurfaceHolder and NativeWindowHolder - NativeSurfaceHolder interface allows access to it's implementation's NativeSurface reference. - NativeWindowHolder interface allows access to it's implementation's NativeWindow reference. Implement or extend interface w/ these accessors whereever it seems fit: - NEWT Window - GLDrawable These accessors allow lower layers to retrieve the NativeSurface/Window instance w/o knowledge of the 'upper' frameworks, ie. NativeWindow/JOGL or JOGL/NEWT. Commited in followups (due to mixed semantical changes in those files): - JAWTWindow - NewtCanvasAWT - Some NEWT impl. commit 1055ce051fd7bd3c88724888cf8f46c75535a249 Author: Sven Gothel Date: Wed Nov 9 00:14:01 2011 +0100 OS X Layered View: Part2 Java/Native MacOSXCGLContext / MacOSXPbufferCGLContext Undo 368cbf4462d7f3635c1ef4497424c360b5ccc203: - "use SurfaceUpdateListener() to notify layer", simply use MacOSXCGLContext's swap impl. MacOSXCGLContext: - NSOpenGLImpl.create(): - issues createNSOpenGLLayer() using tex-size (maybe POT) as args - attaches the NSOpenGLLayer to the JAWT layered surface host - NSOpenGLImpl.setSwapInterval() propagates interval to our NSOpenGLLayer impl. - NSOpenGLImpl.swapBuffer() (layer case): - waits for v-sync if enabled (v-sync), or until native 'draw' is finished (tearing) using our pthread/ NSOpenGLLayer synchronization. The latter uses CADisplayLink or CVDisplayLinkRef for v-sync synchronization. - flushes our local ctx - triggers our NSOpenGLLayer to 'draw' - MacOSXPbufferCGLContext create() sets the texture size independently of pbuffer size (POT/NPOT) commit 835b88a4ec0a01edf23d2af2cc1d22a7550bdf9b Author: Sven Gothel Date: Tue Nov 8 23:56:12 2011 +0100 Minor edits: Remove unused code and warnings commit 2fc4dd34d650348fe916352b101c9a715342a02e Author: Sven Gothel Date: Tue Nov 8 23:54:22 2011 +0100 FPSCounter: Use Java 1.5 TimeUnit commit b11c07b280ce35dc2fdeaf9f44f2ee9ced672a47 Author: Sven Gothel Date: Tue Nov 8 23:53:29 2011 +0100 GLContext: Intendation + Use generics (remove warnings) commit 769b17ac6ebc5ae49fe37eba13d43fea77fdfd40 Author: Sven Gothel Date: Tue Nov 8 23:52:28 2011 +0100 OSX: SharedResource add knowledge of NPOT-, RECT- and Float-Texture features, used by pbuffer drawable before a current context. - Also extract getNextPowerOf2() -> GLBuffers (remove redundancy) commit 297c97d28bb3490177b5ff9441f3d6494d09b819 Author: Sven Gothel Date: Tue Nov 8 23:47:31 2011 +0100 JOGL: GLBase Add 'isNPOTTextureAvailable()' for convenience commit 48c2ba5ee339487ef56ba58d861cb923e3d0c432 Author: Sven Gothel Date: Tue Nov 8 23:42:26 2011 +0100 JOGL: Add 'struct timespec' (POSIX) utils for native time handling commit 368cbf4462d7f3635c1ef4497424c360b5ccc203 Author: Sven Gothel Date: Sun Nov 6 08:08:28 2011 +0100 OS X Layered View: Use pbuffer method (pbuffer w/ dbl buffer) - attributes +NSOpenGLPFANoRecovery +NSOpenGLPFAAccelerated - use SurfaceUpdateListener() to notify layer - swapBufferImpl() adapt to 0038e2d41825c22bdd18a7b86a8229a3fab674a3 - pbuffer: don't enforce POT tex-size to surface size, but pbuffer only - FIXME: Check POT pbuffer/tex-size for X11/Win32/.. ! - commit 0038e2d41825c22bdd18a7b86a8229a3fab674a3 Author: Sven Gothel Date: Sun Nov 6 07:36:35 2011 +0100 JOGL *Drawable swapBufferImpl() cleanup: Don't force swap-buffer off for offscreen/pbuffer, but respect GLDrawableImpl's decision (double-buffer) commit 7dff8e2e043bb5e7606b041f8d4b4ae7c1579085 Author: Sven Gothel Date: Sun Nov 6 04:47:08 2011 +0100 JOGL/Offscreen-Drawable: Use setRealized(boolean) protocol for offscreen/pbuffer This allows allowing updateHandle()/destroyHandle() to be called. commit ccb7213cdcef177eabf7538b7c0d1c3e34915640 Author: Sven Gothel Date: Sun Nov 6 02:41:25 2011 +0100 NativeWindow/JOGL: NativeSurface adds add/remove SurfaceUpdateListener - SurfaceUpdateHelper contains impl. used by NativeSurface implementations. commit 5d6cbbcc2e0e819c3663e3ec451eefaf133f6435 Author: Sven Gothel Date: Sat Nov 5 05:58:57 2011 +0100 Impl layeredSurface (java/native): - OSXUtil: NSView backing creation - OSXUtil: AttachJAWTSurfaceLayer - MacOSXCGLContext.create(): Attach NSOpenGLLayer if layered - MacOSXCGLDrawable.updateHandle(): if direct: add NSView backing layer - MacOSXCGLDrawable: Add getNSViewHandle() to distinguish between NSView and none (CGL/pbuffer) commit 6d57bd7717834afcd5f1dc3b60d696eda1997fe8 Author: Sven Gothel Date: Sat Nov 5 05:51:40 2011 +0100 Cleanup ; JAWT* version flag setting based whether Cleanup - use Platform OS_TYPE - .. JAWT* version flag - if JAWTWindow is Applet, attempt offscreenLayer if avail - .. commit fe4f9f3f83cda05052549cc34fb3f7acb4eabb9c Author: Sven Gothel Date: Sat Nov 5 05:45:19 2011 +0100 OSX: CGL type cleanup ; layeredSurface impl. - Use proper OSX types for NS/CGL prototypes (gluegen) and impl. - Impl layeredSurface (native): - OSXUtil: NSView backing creation - OSXUtil: AttachJAWTSurfaceLayer - CGL: NSOpenGLLayer type impl. and hook commit e7388512b69979d00e5a213a1b166a1b1726ae0c Author: Michael Weber Date: Fri Nov 4 17:30:26 2011 -0700 New test case that demonstates bug 523, hang on application exit if GLContext objects are shared across GLWindow instances. This bug does not manifest in the latest source. commit 48bc1b090b57eb8ec3cb2f9ff33b69c9d99704d7 Author: Sven Gothel Date: Sat Oct 29 15:13:59 2011 +0200 test script commit e57fc1738c4d2a099b6d573ca7b52d095ecce468 Author: Sven Gothel Date: Sat Oct 29 15:13:42 2011 +0200 Test: More 'layouting' in NewtCanvasAWT test case commit 866cc2a35d922b0bcab8fd54c10ad6801d00080f Author: Sven Gothel Date: Sat Oct 29 15:13:16 2011 +0200 Nativewindow/OSX: GetLocationOnScreen() must use [win frame] for window height. commit cf7851ba926c099f4a63dc621f66b2c839df73ea Author: Sven Gothel Date: Sat Oct 29 15:12:28 2011 +0200 NEWT/Applet: Add 'newt.debug.Applet' ; Be more verbose in DEBUG Mode; commit 64b8a2ac494ec1a63500bd4dbab2738fd00bd48c Author: Sven Gothel Date: Sat Oct 29 15:11:43 2011 +0200 Win32: Reuse Platform's OS VersionNumber commit 6a770d1ec80a656db62feb8100e3fe58800e79af Author: Sven Gothel Date: Sat Oct 29 15:10:48 2011 +0200 MacOsX/JAWT_SurfaceLayers/CALayers: Kick off / JAWT_getAWT() CALAYER version support. commit bc826eb2e216ce82a5e6bc61403e4eff2f338380 Author: Sven Gothel Date: Thu Oct 27 02:57:11 2011 +0200 NEWT/OSX: Using NewtView softLock ; Adding debug info to solve assertion: 'NSThemeFrame lockFocus' NSView.m:6053 - surfaceLock/Unlock: Use NewtView softLock - createWindow: - enable lock/unlockFocus to force realization of view - add retainCount in dbg-msg - clarify changeContentView commit 33335e6149f2d6f6ebdad64588d9fba2f0ebb49b Author: Sven Gothel Date: Thu Oct 27 02:49:28 2011 +0200 NEWT/OSX NewtView: Add 'soft' pthread locking impacts: needsDisplay/displayIfNeeded, .. - Add 'soft' pthread locking (blockin) - impacts: needsDisplay/displayIfNeeded, .. - needsDisplay/displayIfNeeded also respects destroyNotifySend (ignore action if set) commit 6b857b7826cf29fe0a588d06aade217f47edfae0 Author: Sven Gothel Date: Wed Oct 26 21:11:14 2011 +0200 NEWT/OSX: Refine comment for native requestFocus(); Remove warning commit 323f49744d473ba33726d5e372ac68fa611cbd1a Author: Sven Gothel Date: Wed Oct 26 21:02:52 2011 +0200 NEWT/OSX: Can't use sending key/mouse directly to WindowImpl, deadlock .. see comment commit e8f45dad086d78c9961f72d9e9530b57a0afb3e8 Author: Sven Gothel Date: Wed Oct 26 21:00:23 2011 +0200 NEWT/OSX: Add missing sendKeyEvent(..) specialization to produce the keyCode (like enqueueKeyEvent()) commit 309f03ed08c1661db792f21aab5b48559dc4f215 Author: Sven Gothel Date: Wed Oct 26 16:45:29 2011 +0200 GLProfile: Add GLProfile getImpl(); Use getImpl() for getGL2ES[12](..), dropping GL2ES[12] lists commit f326119fd60eb3a851317bbed5bd57a535816014 Author: Sven Gothel Date: Wed Oct 26 12:50:44 2011 +0200 OSX: Enable OpenGL profile support, ie OpenGL 3.2 -> GL3 for OSX >= 10.7 commit 82c7c16b6298a5a781c9721edb8b81d7ec2aaf81 Author: Sven Gothel Date: Wed Oct 26 12:48:21 2011 +0200 Minor edits / cleanup of GLContext* commit 4433f2a68fa3ca500e258a6862b0e95461fc5083 Author: Sven Gothel Date: Tue Oct 25 06:11:14 2011 +0200 MacOSX: Pull down (and fix releaseContext) NSOPENGL/CGL mode/impl, fixes SWT usage and FBOMRT commit 3b6ef84e25a3fcaa2de381be3758c144ae239b6a Author: Sven Gothel Date: Mon Oct 24 11:20:17 2011 +0200 Add debug version of etc/test.* commit 40a0d1c18d40b99086e53addd95c0e84d0175a0b Author: Sven Gothel Date: Mon Oct 24 11:14:16 2011 +0200 Add debug-all commented out line commit 6edde99f98ee91db06731be9395377ed91aba215 Author: Sven Gothel Date: Sun Oct 23 22:40:00 2011 +0200 Tests: AWT EDT: invokeLater(..) -> invokeAndWait(..) for a more predictable workflow commit b586ed1f8d4d38809693f94c7754d1de1aefff7d Author: Sven Gothel Date: Sun Oct 23 22:39:12 2011 +0200 Test: AWTRobotUtil TO 1s -> 2s commit b772c8416eada24696eaad638568ac8c24df60bc Author: Sven Gothel Date: Sun Oct 23 21:31:09 2011 +0200 Partially revert cba9a070f9649bec42627631d393963d548e320c: Skip focusAction() and native focus request on X11/Windows. On both platforms it's not required (proper focus traversion) and AWT would deadlock on Windows commit 2a00f1008e2be44e02e7b96f3b1cb6af210597f2 Author: Sven Gothel Date: Sun Oct 23 18:15:00 2011 +0200 NEWT/ScreenMode: Make getCurrenctScreenMode..() more fail proof in case the (native) impl. doesn't work. commit 610473bd1ad7598db42d40d0d861467bdb1304b6 Author: Sven Gothel Date: Sat Oct 22 16:52:51 2011 +0200 Proper self containing NV Cg location commit 285c5ed3b72b2e0877a0be7a7701649dc5344168 Author: Sven Gothel Date: Sat Oct 22 16:30:22 2011 +0200 test script commit d89340101dce9e40e541af2813c65e6402d98ec6 Author: Sven Gothel Date: Sat Oct 22 15:59:13 2011 +0200 Newt/OSX: Disable VERBOSE commit 017d4c1dc77c4e7d4b5b4e2f9ca4ad60217a0591 Author: Sven Gothel Date: Sat Oct 22 15:58:11 2011 +0200 Test/Focus: Add sleep for manual focus tests commit 1e68529642e3e8ac6c88c023a63ac9f4dac184b1 Author: Sven Gothel Date: Sat Oct 22 15:57:07 2011 +0200 Test/AWTRobotUtil: Proper titlebar location (using insets) ; Real UI/Robot requestFocus impl. commit cba9a070f9649bec42627631d393963d548e320c Author: Sven Gothel Date: Sat Oct 22 15:54:58 2011 +0200 NEWT/Native RequestFocus: Even if owning focus, run the focusAction() call incl. native focus request (X11, Windows, OSX) commit a9494e62a039d2b4bb0c8f7492e273aad44531c5 Author: Sven Gothel Date: Sat Oct 22 15:53:11 2011 +0200 NewtCanvasAWT: Cleanup / Remove FIXME tag (impl. is ok) commit d5b309df5f38174ae14fe8bb8fb7f4b9eb8b96d6 Author: Sven Gothel Date: Sat Oct 22 12:07:15 2011 +0200 NEWT/Test FocusEventCountAdapter: Detailed test whether focus gained/lost commit 0f0d561a8e40ec98052a095f5f67948d1926f3d8 Author: Sven Gothel Date: Sat Oct 22 12:05:52 2011 +0200 NEWT/MacOSX: Fix resignKeyWindow super call. Summarize sendFocusLost/sendFocusGained -> focusChanged commit 39fc0cdbcc456fe33e0ff167b8a0ce1499b8e46e Author: Sven Gothel Date: Sat Oct 22 12:02:43 2011 +0200 Test/Ruler/ScreenMode: Validate whether current ScreenMode exists commit d6ecf1d8dd105f2d84e86e94159dc55700d2e0e6 Author: Sven Gothel Date: Sat Oct 22 12:01:01 2011 +0200 NEWT/ScreenMode: If unimplemented have at least current mode in list. Current mode uses ScreenSize w/ dummy values if unimplemented. commit 929093c88a8741ee4819291c4494f350695a394c Author: Sven Gothel Date: Fri Oct 21 17:05:31 2011 +0200 Cleanup JARs: Add jogl_cg native jar (atomic only); Move newt.event.jar to atomic. commit 742f11b06bece2679cb3bd8ec3ded885dfb0363b Author: Sven Gothel Date: Fri Oct 21 13:11:18 2011 +0200 Test NEWT Remote GLWindow: Show VBO usage commit cddc4a0f34a80c7719968e342612b0216fc6cb82 Author: Sven Gothel Date: Fri Oct 21 12:34:40 2011 +0200 Test: NEWT Remote GLWindow w/ GL2ES1 (GLSL n/a on remote GLX, eg. NV) - X11GLXContext: Better error message (requested / has) - Test: - Need to fetch remote GLProfile for GLCapabilities, since local machine differs - Can't use GLSL (GL2ES2) on remote .. n/a w/ NV commit 60aed644ff620b3d6a93f7b86d71e2c02109b9ab Author: Sven Gothel Date: Thu Oct 20 21:32:15 2011 +0200 Remove warnings commit 2e66f5345d22d8cbd5cc8be9a1db1073cb5ffd3c Author: Sven Gothel Date: Thu Oct 20 21:07:16 2011 +0200 Using math functions in initializers fails on MacOSX - fixed commit 627083adaf1b38c17f42c72650c47103f17313ce Author: Sven Gothel Date: Thu Oct 20 20:52:46 2011 +0200 NEWT/OSX: Attempt to stabilize native parenting (ie w/ AWT) ; Add windowRepaint() callback - act on positionChanged(..) only for realized windows, otherwise we could end in an AWT deadlock (AWT parent window). - add view parenting calls (addSubView/removeFromSuperview) - attachToParent after view configuration - allow concurrently view draw - add windowRepaint() callback (native -> java) - add more debug tracing commit e9890fee4c2aa296aff2af5ff555908c6362fc5f Author: Sven Gothel Date: Wed Oct 19 19:12:08 2011 +0200 Only revert ScreenMode (destroy/shutdown) if owner (Screen) changed it commit 5e81cb163c00da18f0990411c22257b5533d7950 Author: Sven Gothel Date: Wed Oct 19 13:36:54 2011 +0200 Fixed my sloppy English "it's" usage - thx Julien commit d3c3d69ded58e325287746635d614fc5db43594a Author: Sven Gothel Date: Tue Oct 18 20:08:04 2011 +0200 Exclude SWT tests on platforms w/o SWT runtime commit fe9d0bee5185a4f523f2fc7fdd6efb718e20378d Author: Sven Gothel Date: Tue Oct 18 19:39:04 2011 +0200 bump swt to version 3.7.1 commit b4a9bdbec5db6608021013932cdae82536a8d3af Author: Sven Gothel Date: Tue Oct 18 17:07:07 2011 +0200 use jvmDataModel.arg set by gluegen commit 958b64beb44a470301a4354ae7d5133236e2f40f Author: Sven Gothel Date: Tue Oct 18 12:57:08 2011 +0200 Fix Solaris gcc args ; Cleanup dependencies and linker args; Adding JVM arch flags (-d32/-d64) ; glxext.h uses 'gl-64bit-types.h' Cleanup dependencies and linker args - JOGL/NEWT: remove Xxf86vm dependency - NativeWindow Solaris: Use std 'Xinerama' and 'xf86vmode' commit 7eaeacc4148f0ec6146e5cc8db010a7414a7b419 Author: Sven Gothel Date: Sun Oct 16 20:40:02 2011 +0200 NEWT/OSX: Adding 'fake' lockSurface based on [view canDraw]. Can't use lockFocus(), deadlocks since we render separate to focus mgmt. commit 32b643624ad6d7533bb45143b717c68d6ea878e7 Author: Sven Gothel Date: Sun Oct 16 20:38:54 2011 +0200 OSX: Fix CGL deleteContext()'s release call on MainThread (typo, shall have no ':' for void func call) commit 3cffd63dd7bf73344aacdae35f4c7d3639393294 Author: Sven Gothel Date: Sun Oct 16 07:47:58 2011 +0200 NEWT/OSX: Send events direct w/o EDT queue (like X11 and Win32) commit b0f4bdda9958a5e7359e088748a3a31a52b3d233 Author: Sven Gothel Date: Sun Oct 16 07:30:32 2011 +0200 test script commit cac4e2e3f2d6c69a207077fd5e0ebec803afb6b0 Author: Sven Gothel Date: Sun Oct 16 07:30:09 2011 +0200 NEWT/OSX: Proper impl. of NEWT's focus management (fixes NEWT/AWT focus behavior/tests) - Old code was just requesting the focus and made the window upfront and notifying a gained focus to WindowImpl. (hack) - Using proper requestFocus impl. issuing focusAction() and utilizing native focus gained/lost messages. This distinguish between 'makeKey' and 'orderFront'. Also requesting and accepting (view) first responder role, which is a precursor to proper gained/lost focus handling on OSX. - NEWTCanvasAWT: Adding 'steal AWT focus': +++ void requestFocus() { super.requestFocus(); // AWT < steal AWT focus > NEWTChild.requestFocus() } +++ Helps make the focus traversal between NEWT/AWT more reliable. Happend on OSX that AWT (NewtCanvasAWT instance) didn't release the focus after NEWT child gained the same. We are not able to use the 'focusAction()' here (disabled in this code path) due to AWT-EDT blocking and recursive focus changes. The latter is also intendend to request the AWT focus first .. - AWT/NEWT focus test 01 passes on OSX commit af332515f76a4017e7a52ebec920e794a5398db4 Author: Sven Gothel Date: Sun Oct 16 04:30:36 2011 +0200 NEWT/OSX: exec. makeKeyAndOrderFront/makeKeyWindow on MainThread commit 5b30ac3297601dec581d58835ef6bddaef079c77 Author: Sven Gothel Date: Sun Oct 16 03:48:21 2011 +0200 Test GearsES2: Split confine mode to centered 'J' and non centered 'j', to test actual confinement commit aeffc47f9fea7ae94c7531e6ee4cb53bc88e64f1 Author: Sven Gothel Date: Sun Oct 16 03:47:31 2011 +0200 NEWT/OSX: Add mouse enter/exit and pointer features (visible, confined, warp) - cleanup pos/coord translations commit ec2fc482bf97459c57417a8f856345a5836680f3 Author: Sven Gothel Date: Sat Oct 15 10:51:54 2011 +0200 NEWT/Mouse: Skip 'move' event w/ same position. Add Enter/Exit events Skip 'mouse move' event w/ same position - On Windows, the OS sends us multiple event w/o change in position, suppress them Add Enter/Exit events incl. synthesize 'enter' event for windows/osx - X11: using native Enter/Leave events - Windows: using native Leave event (tracking) and synthesized enter event - OSX: TODO (required for the confined feature, etc) commit 50dca7ef60f28711397d40d8daeb8a24dff41dc2 Author: Sven Gothel Date: Sat Oct 15 07:34:06 2011 +0200 NEWT/Pointer Confined: Dispatch mouse move events before enabled; Only request-focus/warp-ptr if enabled Dispatch mouse move events before enabled - Allows user app listener to track to the new centered mouse position before using the confined position. This is important for position change usage. See simplified demo GearsES2 Only request-focus/warp-ptr if enabled - No need to request focus and center mouse if leaving confinement Demo GearsES2: - No need to assume some position changes are erroneous (jumps) due to confinement. - Track unconfined mouse position, allowing confined navigation to have the proper position change value commit d7e47e58b5b33f3ead939d3c630ea13568dfe74c Author: Sven Gothel Date: Sat Oct 15 07:24:48 2011 +0200 Fix NEWT/Pointer Invisible: INVISIBLE_MASK was equal w/ CONFINED_MASK (duh) commit 76145eca17724f86e6a16e20b4b6e7ca5d39da34 Author: Sven Gothel Date: Sat Oct 15 07:24:02 2011 +0200 NEWT/EDTUtil: Allow get/set poll period, defaults to defaultEDTPollPeriod commit ea3486fd2a98ca00c62b9f0b7e3ef8251387f971 Author: Sven Gothel Date: Thu Oct 13 17:37:50 2011 +0200 Tests/OSX: NEWT is supported. Disable swt.awt for OSX, test currently freezes. commit 2dd78164a756691d23c14faf6eb466d182f23a3c Author: Sven Gothel Date: Thu Oct 13 17:37:05 2011 +0200 OSX: Avoid invoking JNI or performSelectorOnMainThread in JNI if already mainThread commit d186f6e945fd157b219231fb3861b3b0ce10ee75 Author: Sven Gothel Date: Thu Oct 13 17:04:17 2011 +0200 OSX/SWT: Adding OSXUtil: RunOnMainThread(), IsMainThread() / Utilizing those for SWT access/calls Adding OSXUtil: RunOnMainThread(), IsMainThread() - Issuing a native call where the user Runnable is to be performed on the main thread - Enable query if we are on the main thread. Utilizing those for SWT access/calls - Using the above to call all SWT functions on the main thread if required (incomplete) TODO/Issues: - JOGL OSX CGL Context fails, ie expecting NS, but having CGL commit 3fd89ccc138eddb915372cff4843f69f764048a7 Author: Sven Gothel Date: Thu Oct 13 13:47:30 2011 +0200 MacOSX: Always release ctx on main thread (offscreen was frozen as well); Cleanup Warnings and OSX ContextUpdater - commit 5d33b0a3ef993ff2d257c90abc3d84bc93269cd0 Author: Sven Gothel Date: Thu Oct 13 13:02:32 2011 +0200 MacOSX: Fix shared ctx release [onMainThread]; Make GLContextShareSet lifecycle deterministic; Remove warnings Fix shared ctx release [onMainThread] - Releasing the shared contexts caused a freeze of about 10s from one of the shared release operations. [NSOpenGLContext release] - Thorough triage concluded the workaround to release the shared ctx on the main thread. - Using enhanced GLContextShareSet, see below Make GLContextShareSet lifecycle deterministic - Programmatically control the lifecycle of tracked shared ctx allows us using 'hard' references. - Features queries for isShared() and ofc unregister a share set if all are destroyed. Remove warnings - MacOSXWindowSystemInterface.m used 'long', where 'GLint' was requested. commit a8c14db739c8d7765d1a204f73b5708faac07fdd Author: Sven Gothel Date: Thu Oct 13 03:52:24 2011 +0200 TestParenting03AWT: Add manual code to disable 2nd GLWindow for internal testing (def.: enabled) commit 96c50e94f4dbc0e18762a97c026b7e6986cea8e7 Author: Sven Gothel Date: Thu Oct 13 03:49:14 2011 +0200 NEWT/OSX: Fix resize behavior / Cleanup coordinate transormation (client-space/top-level, child/parent) At resizing a perent window w/ a NEWT OSX child, the window position needs to be updated since it's absolute. Re-adding sending *Changed notifications via the appropriate WindowImpl methods. Turns out they are missing in some parent/child situations (fullscreen for example). Native getLocationOnScreen0(..) queries totalHeight by it's own to have correct values. commit e7329d99aa6b44b976d0a5d2dd6f0d19c25d661c Author: Sven Gothel Date: Thu Oct 13 03:38:39 2011 +0200 NEWT: Filter Window focusChanged() and visibleChanged() [test if value changed] commit 01ba2ee689a87996301afe2b37ad919cb052882b Author: Sven Gothel Date: Thu Oct 13 03:37:00 2011 +0200 GLCanvas / GLWindow: Change 'manual' resize/repaint animation filter We not only shall skip windowing system triggered repaint if another animation thread is running, but also if the current thread is the animator thread. This keeps the animator intervals stable while resizing. commit 946c98fd196802755e9e13a9c5db75650a564466 Author: Sven Gothel Date: Thu Oct 13 03:33:28 2011 +0200 JOGL/OSX: Properly utilize NSOpenGLContext update() via ContextUpdater, which only holds the 'update' state now. Avoid calling updater() for every makeCurrent(), but if view's frame has changed only. This solves the pixel flickering experienced on OSX. - GLContextImpl:update() -> drawableUpdatedNotify() w/ comments - ContextUpdater holds context, view, old view frame and the update state. It doesn't issue NSOpenGLContext update() by itself, but allows querying and clearing the update flag. - MacOSXOnscreenCGLContext impl drawableUpdatedNotify() - register via ContextUpdater, and use it if available. commit 22f8e786219166019688ff2eea6ff9570c117544 Author: Sven Gothel Date: Wed Oct 12 11:12:59 2011 +0200 NativeWindow/OSX: Use screen of window commit 1d417866d42286bdcd367bb7c0e8798e86e46060 Author: Sven Gothel Date: Wed Oct 12 11:09:35 2011 +0200 NEWT/OSX MacWindow: Use screen of window commit 3fb816be31a3a3ed2d05a4352bc46f5fdf7951fb Author: Sven Gothel Date: Wed Oct 12 11:05:55 2011 +0200 Test Shared - Window Positioning: don't assume req pos. is realized, use rel positions to 1st window commit 7b8e2ef59e08f288adc68f12a3e066476c86de52 Author: Sven Gothel Date: Wed Oct 12 11:04:33 2011 +0200 Newt/OSX: Fix top/child positioning, positionChanged(), rely on native pos/size notifications Newt/MacWindow - remove redundant manual window-move/set-size code - Use local getLocationOnScreen(..), fixes positionChanged(..) - setFrameTopLeftPoint(..) use totalHeight (w/ insets) - create: don't 'retain' the window reference (ref counter) - close: release view, - cache insets - to be used @ create commit 4d0c6cfe9abd8036c00e09e280605d7c5acbbf93 Author: Sven Gothel Date: Wed Oct 12 10:55:54 2011 +0200 OSX Minor Cleanups: ctx delete note (freeze when shared ctx), Better MainThread Thread name[s] commit afec120a6fbb277025372a052955f97c225f0a9d Author: Sven Gothel Date: Wed Oct 12 03:02:24 2011 +0200 NEWT OSX: Disable native VERBOSITY commit 265ad6e17e46062635c14540ce21cec9b75419a8 Author: Sven Gothel Date: Wed Oct 12 03:01:27 2011 +0200 Test: Add AWT/GLCanvas transparency test commit bf7d0eccf06285885db128e779b7e962b9e59333 Author: Sven Gothel Date: Wed Oct 12 03:00:49 2011 +0200 Test Util NEWGLContext: Add assertions commit 0baf1e9fb5b1fa9a1e5c15398486502112a82b7d Author: Sven Gothel Date: Wed Oct 12 03:00:19 2011 +0200 NEWTCanvasAWT: Add AWT GraphicsConfiguration in constructor, allowing transparency commit 49ffa8ef74aedde9b890d78af2bf526c1bca6f2c Author: Sven Gothel Date: Wed Oct 12 02:59:49 2011 +0200 FBO MRT Test: Disable OSX, since it causes an SIGSEGV (Bus Error/Illegal Memory Access) @ glDrawArrays() commit dde34c4961822fb5551730331dbcbe713ef73044 Author: Sven Gothel Date: Wed Oct 12 02:58:57 2011 +0200 Fix Nativewindow GetLocationOnScreen OSX impl. - Transform OSX origin bottom-left to our top-left origin. commit f74e98c9471cd08573ac656a39eeaf09bdf4b24e Author: Sven Gothel Date: Wed Oct 12 02:57:26 2011 +0200 NEWT Parenting Tests: Run all AWT modification call's on AWT EDT as the spec demands; Add missing frame.validate() after change. This is esential for OSX, but may also cause an undefined state on other platforms. commit 5e6acd58bb499bfc7199683d6faae810b96847f7 Author: Sven Gothel Date: Tue Oct 11 23:53:01 2011 +0200 NEWT/OSX: Fix erroneous child Window position and top-parent visibility - Regardless whether the window is a top-level or child window, we set it's position w/ absolut left-bottom coordinated. To do so even for an AWT parent component, we retrieve the screen position by traversing through the AWT tree and adding up each parent's rel. position, since the native view only reflects the AWT frame. Note: OSX does not use native views for each AWT component. - In case we reparent child -> top, we cannot orderOut() the ex parent, but need to just call orderBack(..), otherwise the whole ex-parent frame gets hidden. - In case we close a child window (and reparent child -> top), we need to remove the parent/child relation and orderOut(..) before close(..), otherwise the window artifact is left behind. commit bdf1876f0fd654be02a9441e3dca7cfd7df26d58 Author: Sven Gothel Date: Tue Oct 11 02:11:02 2011 +0200 NEWT Pointer Mods: Propagate 'confined' and 'invisible' to modifier mask of InputEvent (Mouse) ; Test confined navigation w/ GearsES2 InputEvent adds new MASK values: CONFINED_MASK and INVISIBLE_MASK, set at event creation allowing convenient testing of these mods. GearsES2 demonstrates the confined navigation testing the CONFINED_MASK and if having his mode acting on mouseMoved(..) and reset the mouse position. commit 565d148d70bac0059b4bd057330b675248f43fe5 Author: Sven Gothel Date: Mon Oct 10 09:23:37 2011 +0200 Fix HowToBuild commit 600ebcac40ee2d13947701fffc51ea93887db89c Author: Sven Gothel Date: Mon Oct 10 08:05:26 2011 +0200 NEWT Pointer Feature: Add Windows impl. ; Fix test (warp action) ; Minor cleanup in X11 commit 24e0591b6be036d5389cc1eb986ed5e86043ba65 Author: Sven Gothel Date: Mon Oct 10 05:10:26 2011 +0200 NEWT: Add pointer features: visibility, confined and warp (move) visibility: - set pointer visible or invisible confined: - confine pointer to window, or not warp: - set mouse position within the window Implemented for X11, tested manually with TestGearsES2NEWT (see code for action keys). TODO: Windows, MaxOSX and Android (limited) commit 51a9f23d629cd4e6b22d7afaf009bb96b2ed270f Author: Sven Gothel Date: Sun Oct 9 21:35:50 2011 +0200 DefaultGLCapabilitiesChooser: Punish sample extension mismatch also if req == default && req != given commit 0c138d5410ed32bdeef22052b57f1bcecf6b5d4f Author: Sven Gothel Date: Sat Oct 8 03:19:41 2011 +0200 Generalize sample extension in GLCapabilities*, currently NV_coverage_sample is respected in EGL commit 727c697f6808caec2fcbcc35d155552590d4f869 Author: Sven Gothel Date: Sat Oct 8 02:17:56 2011 +0200 EGL: Fall back to NV_coverage_sample if EGL MSAA/FSAA is n/a commit da279187e375fdc87ed3a73480c5548602d3454e Author: Sven Gothel Date: Sat Oct 8 01:24:11 2011 +0200 minor editing commit 1ac5f46bb15c08b7126e22d10a80e6d607207780 Author: Sven Gothel Date: Sat Oct 8 01:13:42 2011 +0200 GLWindow/GLDrawableHelper: Adding experimental notion of skipping GL context release for a specific thread - marked deprecated - used to perf measure situation on omap3, ie figuring out where the low perf. in GearsES2 comes from, our core JOGL code or the GL usage. Turns out it's the GL usage itself, ie the shader - good. - calls are commented out in the demos commit e3441bccf296927549d41e6472cca8c03259f8f3 Author: Sven Gothel Date: Fri Oct 7 20:01:37 2011 +0200 Android Demos GearsES2 + RedSquareES2: Add tracing .. and no vsync (doesn't work) commit 5a8d002b3d955f7ad7d0854d4cb416388340d9fc Author: Sven Gothel Date: Fri Oct 7 20:00:10 2011 +0200 Android Elektron/RedSquare use bpp 5/6/5 commit 274df7766467ca79dbd593d59aa1e4908d40cfa5 Author: Sven Gothel Date: Fri Oct 7 19:59:29 2011 +0200 GLArrayData: Add GLArrayHandlerFlat ; Update VBO name to interleaved subarrays - Add GLArrayHandlerFlat gives better distinction of semantics - update sub-array VBO name, if parent's interleaved array initializes it. commit c8eab433735f5da0779843b227e2f0f5057df776 Author: Sven Gothel Date: Fri Oct 7 19:47:07 2011 +0200 Clarify/Fix GLArrayDataEditable:padding() - no use case yet .. well commit c009b299a7dd885643da8e088a989d2bdf702c3b Author: Sven Gothel Date: Fri Oct 7 02:42:18 2011 +0200 Android test launcher manifest: add external storrage permission for trace commit 7527e6dc0b0dbdc4cf1917feee4d572ce2260848 Author: Sven Gothel Date: Fri Oct 7 02:41:49 2011 +0200 NEWT/Android: Fix setting 'format' commit f5a2da16645ebc60d4e3da72f702cf682a5c0488 Author: Sven Gothel Date: Fri Oct 7 02:40:52 2011 +0200 PMVMatrix: Defaults from direct NIO -> array-backed non-direct NIO: Reduced cycles 45% -> 5% (from GearsES2 100%) - NIO direct access from Java is expensive - default is now array-backed non-direct NIO, which guarantees array useage for Java computation (especially the inverse calculation) - only update Mvi and Mvit if requested in the first place - moved all local matrices to float[] commit 25204678f889de889a6b23c170e17bd7f13d2c01 Author: Rami Santina Date: Thu Oct 6 20:20:32 2011 +0300 GraphUI: flip y coords commit fa7627f623141c6fa15856c74d26c8ffe82550d0 Author: Sven Gothel Date: Thu Oct 6 05:51:48 2011 +0200 NEWT/Android: respect isUndecorated() and custom window size. TODO: custom position and change position ?! commit 51f84125beb4ac50fedab9fe691225b234b12bc6 Author: Sven Gothel Date: Thu Oct 6 05:50:55 2011 +0200 NEWT/Window/setVisible: Remove setVisible(..) fast path - Always set visible=true, even if size==0 We need to earmark visible=true in case the native window could not be created, even if the size is currently 0. commit 6d28a9ed9ff039237775ea133377f8b59ca857c1 Author: Sven Gothel Date: Thu Oct 6 04:47:07 2011 +0200 NEWT/Android: Add TRANSLUCENT feature / Demo: 'GearsES2T' commit 3f8eeefaf930bcff52e085c623de1cc927cc36c6 Author: Sven Gothel Date: Thu Oct 6 04:05:01 2011 +0200 test script commit 78bbe7c3217046372c88d82d75d1d1c5c04a4a6e Author: Sven Gothel Date: Thu Oct 6 04:04:53 2011 +0200 ES2 Test Update: Add RedSquareES2 mouse events, toggle: fullscreen / SwapInterval - turns out that on android, we cannot run w/o v-sync .. (?) commit 4337e40ae41b21ad758c72cba0b3d05d4d6a07d8 Author: Sven Gothel Date: Thu Oct 6 04:02:14 2011 +0200 ShaderUtils: Use glShaderSource variant w/ NIO only args commit ea3d830c4f6c71ea18ebca07418567a6adf2a872 Author: Sven Gothel Date: Thu Oct 6 04:01:41 2011 +0200 NEWT/Android: Add BUTTON1 for one-pointer events commit a5b73c63005a4b8697c93d22ad82720981dd1146 Author: Sven Gothel Date: Thu Oct 6 04:01:16 2011 +0200 EGL: In case a nativeVisualID is given to match, but none visual IDs are available, ignore the given ID Fixes Omap3 EGLConfig's which does not have a native visual ID commit 48113ca0298ca79473dca73b85ebd4ef1a9cd078 Author: Sven Gothel Date: Thu Oct 6 03:59:43 2011 +0200 NEWT/Android: Move fullscreen setting to AndroidWindow ; Cleanup AndroidWindow commit fc67b7c48a7d0280c44012d5daec04f227bcf0fa Author: Sven Gothel Date: Thu Oct 6 03:56:49 2011 +0200 Android: launcher manifest: adding INTERNET permission for NV's perfhud commit 3f30f2c4bd5ee30aba5553ac249c8eb94595792a Author: Rami Santina Date: Thu Oct 6 01:12:06 2011 +0300 GraphUI demo: add x and y translation for 1 pointer commit 54fe0a4a5ccc74030e6c00fd13b29fc443620c8f Author: Sven Gothel Date: Wed Oct 5 06:03:06 2011 +0200 Workaround Android 3.0 Dalvik Issue 16434 commit d9c11aa31f5aae6e93715c0e732d76fd10375f18 Author: Sven Gothel Date: Tue Oct 4 02:49:07 2011 +0200 adb scripts: pass through '$*' for device naming, ie '-s device00:5555' or '-s 390adf8383' commit a095b7da968533120306ff9ef019685b6698272c Author: Sven Gothel Date: Tue Oct 4 02:48:22 2011 +0200 Graph Shader Simplification, 'a'/'b' redefined; GraphUI 2-pass demo; Graph Shader Simplification - remove enable factor and 2nd 'discard' branch - use build-in 'max'/'clamp' functions, supposed to be faster Graph Shader 'a'/'b' redefined - 'a' is 1-pass shader only - 'b' is 2-pass incl. (1st pass + 2nd pass) - Works well on ARM Mali-400 MP (Galaxy S2). - Doesn't work on NV tegra2 (P1202: Texture's gl states do not match with shader's), however 2-pass on mobile seems to be overkill for now. We may create a workaround (switch shader ..). GraphUI 2-pass demo; - Propagate renderModes and texSize to UIShape's render(..) - TODO: Remove GL dependency in UIShape, maybe use a callback or visitor model - Adding GarpUI 2-pass launcher (Android and Standalone) commit c76e858c7f4481cab2dae6e079e0db35e3b591e6 Author: Sven Gothel Date: Sun Oct 2 08:23:08 2011 +0200 tegra: refine disabled discard, ie keep logic/math intact. Rami ? commit 0fff6032340aec5510aba121a0a7415dbf223222 Author: Sven Gothel Date: Sun Oct 2 08:03:37 2011 +0200 Graph: Reflect shader name change in impl. TODO: Use/switch to 2nd pass shader commit ea8129ebe2a2ec1157bb752e435d16aab2ee932a Author: Rami Santina Date: Sun Oct 2 02:46:04 2011 +0200 Fixed shader entry files a/b commit d96ffce2ee44bcf96332ead0f2120ea6793b64b6 Author: Rami Santina Date: Sun Oct 2 02:37:05 2011 +0200 Fix intendation commit 2689d5d6c892d197ba10240ee4c2e281032e6ade Author: Rami Santina Date: Sun Oct 2 02:35:46 2011 +0200 tegra2: split fragment shaders into two (a - 1st pass, b - 2nd pass) ; disabled discard - 1st pass (a) and 2nd pass (b), split at branch. - all include are on one level. - disabled discard, as it seems to be problematic Todo: - verify discard / pass-split on tegra2 - refect second pass usage (b) in implementation commit 5e06a8d665c65554904f9358e5dc0fb01c120639 Author: Rami Santina Date: Sun Oct 2 01:09:08 2011 +0300 Added allin one shader stripped for graph. tegra2 hunting, single pass, no discard, lowp, and removed uneeded variables commit a76dad8da0d85b45771e4b550ff0b1c4b60306fe Author: Sven Gothel Date: Sat Oct 1 06:04:06 2011 +0200 Android Launcher: disable trace commit 532abb435b1197515eab0616eb8bba5f1146cbac Author: Sven Gothel Date: Sat Oct 1 05:29:14 2011 +0200 Android/EGL: dump all caps, write-back format commit 5c2732160e9e7c34a881c83883759a9acacdfe36 Author: Sven Gothel Date: Sat Oct 1 03:05:14 2011 +0200 Android Launcher: Show caps chooser dbg commit 8612203a071f32b81f692374f17f495336cad64f Author: Sven Gothel Date: Sat Oct 1 03:04:52 2011 +0200 DefaultGLCapabilitiesChooser: Add multisampling criteria commit bdfdd4db38e3908e67909624cbb15da3728dabcb Author: Sven Gothel Date: Sat Oct 1 01:34:27 2011 +0200 scripts .. commit 1807d508a6fc9a492692fc3621a254fdbaee47fd Author: Sven Gothel Date: Sat Oct 1 01:34:15 2011 +0200 NEWT/Android: 565, 5551 or RGBA_8888 (no RGBX/888) ; surfaceRealized() ASAP commit 564574004cd2eb279a77b9c4040b02bd2bbdd44a Author: Rami Santina Date: Sat Oct 1 00:59:59 2011 +0300 RedSquare ES2 demo: precission change commit 694371c27bc407119abfd59016d465cabe496289 Author: Rami Santina Date: Sat Oct 1 00:59:12 2011 +0300 remove trace gl commit 2e03974d2bd72165f3f006e9fb7f662f5aab984e Author: Rami Santina Date: Sat Oct 1 00:58:38 2011 +0300 test scripts: gluegen apk un+install commit e29d192999c676a5e3472df6daadd14fc8b69227 Author: Sven Gothel Date: Fri Sep 30 23:35:20 2011 +0200 AndroidWindow: get required PixelFormat ID by req. Caps commit cbb1df9d3f8ed6b55bdb1e748c3b2d81c814de89 Author: Sven Gothel Date: Fri Sep 30 23:34:52 2011 +0200 Android Launcher: Change properties .. debug, etc - disable trace commit e71c9485cd851b2b10bca1a801603f83b4ede946 Author: Sven Gothel Date: Fri Sep 30 23:34:18 2011 +0200 RedSquareES1: remove GLU dependency commit 5e87bfe9d9ad456a1fdba792dc71d45b1aabf9ef Author: Rami Santina Date: Fri Sep 30 23:14:38 2011 +0300 gears es2 use default presesion vertex shader commit efbb2e232a4d0f6a1782aa993ecca4621d7b5c51 Author: Sven Gothel Date: Fri Sep 30 21:45:46 2011 +0200 Android launcher manifest: Commented out feature glEsVersion per application commit efb2e94cfafc3eab39f729f2445006fc4e86b986 Author: Sven Gothel Date: Fri Sep 30 21:34:56 2011 +0200 Android/Tests: Adding missing activities commit d2eaffd1163fcc4d25765bd9cb2ea12eeae6dd87 Author: Sven Gothel Date: Fri Sep 30 21:33:32 2011 +0200 test scripts commit eb393ab1547101e0fd3938c2b7ac4975c5c5814d Author: Sven Gothel Date: Fri Sep 30 21:33:24 2011 +0200 Android Launcher: Sort properties / enable DebugGL/TraceGL commit 900ac9dd13a732474642fa135b13350f8ddd01b0 Author: Sven Gothel Date: Fri Sep 30 21:32:46 2011 +0200 GLContext/GLDebugMessageHandler: Fix/clarify init and usage of dbg handler commit 18817fe6d3b85fcb672a2dd244f3fad3fdab2aa3 Author: Rami Santina Date: Fri Sep 30 22:32:36 2011 +0300 Android manifest add uses es2 commit 541e96ace7ed3f4b863a7374a5ea72895d9362be Author: Sven Gothel Date: Fri Sep 30 21:31:11 2011 +0200 GLPipelineFactory: Generics && Using enhanced GlueGen's ReflectionUtil.getConstructor(..) commit 448ad05ea1192a1c3ca8812bf8d3142b2df6c30b Author: Sven Gothel Date: Fri Sep 30 17:08:34 2011 +0200 Android/JogAmp ClassLoader: Split CL JogAmp + User-APK, reuse JogAmp CL if in same ClassLoader commit 71fb7c1271cc1dbbcacdaf6da093055ec61835d3 Author: Sven Gothel Date: Fri Sep 30 17:07:33 2011 +0200 Android: Use standard launch mode; Add default actions to NewtBaseActivity; Add RedSquare ES1 + ES2 commit 14ec84659f2ef5ba6c74601360adfff0558fc6f0 Author: Rami Santina Date: Fri Sep 30 17:53:52 2011 +0300 Allow Android activity launch from another app. android:exported tag allows activity to be launched from another applications and other user id. launch mode standard allows multiple instances. commit feac236a9ec62a5a51053e06ad08ba9847c1b540 Author: Sven Gothel Date: Fri Sep 30 16:45:04 2011 +0200 scripts commit 685d46d409ad9e0c4905a5b22bfba525456eedea Author: Sven Gothel Date: Fri Sep 30 15:59:06 2011 +0200 test script commit db693cac03de91a20f1964cd8aa3965252027b50 Author: Sven Gothel Date: Fri Sep 30 15:58:43 2011 +0200 NEWT/Android: More ANativeWindow coop; Note: surface's format _is_ the nativeVisualID of EGL. More ANativeWindow (ANW) coop: - add acquire/release for ANW - validate ANW format - Add fixCaps: 'format -> GLCaps' validation Test: - Constructor: Start w/ surface format RGB_565 (default) - createNative: Filter EGLConfig w/ surface format - Move surfaceHandle fetching from surfaceCreated -> surfaceChanged, where the format is available. - surfaceChanged: use fixedCaps validation commit 68236f5193d5da825f1ca3163350a14bf5d7c051 Author: Sven Gothel Date: Fri Sep 30 15:49:14 2011 +0200 EGL: eglSwapBuffers() show failure in DEBUG mode commit d055b6cc48974a53a416533f85c191e20c0a885e Author: Sven Gothel Date: Fri Sep 30 15:48:43 2011 +0200 ES Library lookup order - Favor spec lib name commit c516858d79ed6d9c68271c1502b3ad19417b19a7 Author: Sven Gothel Date: Fri Sep 30 15:48:00 2011 +0200 EGL: chooseGraphicsConfigurationStatic() public and w/ optional visualID commit dc0cf65dd75079d8f57eb2431c0fe1235fff27ad Author: Sven Gothel Date: Fri Sep 30 15:02:48 2011 +0200 Graph GLSL: Use global precicision settings enhancing readability commit cdc99f97fde9211b7f73d8592d3d64c6ec78898a Author: Sven Gothel Date: Fri Sep 30 15:01:38 2011 +0200 Android Launcher Demos: Adept to df6021f9ef50623e6ac8f0822e827fd31a0a0cf2 commit df6021f9ef50623e6ac8f0822e827fd31a0a0cf2 Author: Sven Gothel Date: Fri Sep 30 15:00:33 2011 +0200 Android Launcher: Generalize ClassLoaderUtil. Use local TempFileCache commit 038002b80f6541e91a7d4559f4b04858698793e0 Author: Sven Gothel Date: Wed Sep 28 20:09:11 2011 +0200 demo: es2 shaders: use default precision commit 22e869ae8b6a44e2f06f73b557a0b8d3bb0da49f Author: Sven Gothel Date: Wed Sep 28 19:04:53 2011 +0200 Android/Demos: Add ElektronenMultiplizierer (fix shader and keylistener add/remove) commit cc9ab3d4e1ed2c7b9d38a9599a37abd05be36cc0 Author: Sven Gothel Date: Wed Sep 28 17:41:47 2011 +0200 Android: Add jogl-test manifest. APK scripts commit 34cc391379bf5799466774d9c2209d8f69cd10e8 Author: Sven Gothel Date: Wed Sep 28 17:34:45 2011 +0200 GearsES1/ES2 demos: remove junit assertions commit 14da95092f22298f66ad8e8cbd03eb0aae4b1695 Author: Sven Gothel Date: Wed Sep 28 17:22:39 2011 +0200 NEWT DisplayImpl: Check for null event in task commit e52a1337913683fc814209c983e6c8eaef812e5c Author: Sven Gothel Date: Wed Sep 28 17:22:05 2011 +0200 NewtBaseActivity: Enable 'slave' mode, ie as a downstream for external launched Activity, see NewtLauncherActivity commit 6f30ddc41a71343220c7b1d14c31cdad6fbea907 Author: Sven Gothel Date: Wed Sep 28 17:20:06 2011 +0200 NEWT/Android: Send MouseClicked event, MouseEvent enhancement, Demo: real 2 finger zoom MouseEvent: Check array sizes at cstr. Enhance 'toString()', pointer arrays added. GPUUISceneGLListener0A now uses 2 finger distance for zoom commit 7fe2ec7b57d76f5b0e45a2382cb374073758cecc Author: Sven Gothel Date: Wed Sep 28 17:15:06 2011 +0200 TypecastFontConstructor: Use IOUtil's createTempFile() to comfort Android commit f4730179a4436dff7282bc42bc6aa58fb5fb63b5 Author: Sven Gothel Date: Wed Sep 28 17:14:31 2011 +0200 Fix ES2 shaders Add missing floating point precision qualifiers. '#extension OES_standard_derivatives : require' somehow doesn't pass the GLSL compiler, however '#extension GL_OES_standard_derivatives : enable' does. Currently works on ARM's Mali-400 MP, NV Tegra still don't show a picture. TODO: More in depth evaluation. commit 09fd89250066642d05d84699beaacb0c73bcc408 Author: Sven Gothel Date: Wed Sep 28 17:11:32 2011 +0200 Fix GLProfile ES2: Component numbers can't be validated (??) commit 659476e002a9bfe6b35b00ea1c46fc67c62ba703 Author: Sven Gothel Date: Wed Sep 28 17:10:40 2011 +0200 Android Activity Launching (jogl.test) Launching activity is in: jogl.android-launcher.apk and directly derives from NewtLauncherActivity. It daisy chains apk's via ClassLoaderUtil: - gluegen-rt.apk - jogl.all-android.apk - jogl.test.apk (*) (*) This has to made configurable so the generic NewtLauncherActivity can be reused by any user application. After preparing the ClassLoader (see above), NewtLauncherActivity instanciates the configurable user Activity and passes all it's activity calls down to it. commit c9575115e214c94501b923599cc5d64778099829 Author: Sven Gothel Date: Tue Sep 27 14:57:36 2011 +0200 NEWT/OSX: Enable OSX commit ac49f30cde53f75d74a9e605dbc255df5852bdc2 Author: Sven Gothel Date: Tue Sep 27 14:57:20 2011 +0200 NEWT/OSX: 'Better' child window positioning, still, after reparenting into parent, a white window rectangle remains. .. we also need to understand the absolute screen position better, ie. when required and when not (at window creation currently). commit 563ae7d45cf47e1f8f2dc2d85bb139b3214eee90 Author: Sven Gothel Date: Tue Sep 27 12:54:15 2011 +0200 test script .. commit 63deed8f664aef0f707f3cc8266d973b51446d95 Author: Sven Gothel Date: Tue Sep 27 12:53:52 2011 +0200 GLContextImpl: Fix bug: Surface was not unlocked in case new context creation failed. commit adb20844585376be2ac4291a1294fd8ec8dfb520 Author: Sven Gothel Date: Tue Sep 27 12:52:36 2011 +0200 tests: added some commented out 'wait for press enter' startups, reduce getCurrentScreenMode() loop to 100 commit fa35bd758189051dc25b8a0d32dc52360cfbc390 Author: Sven Gothel Date: Tue Sep 27 12:51:47 2011 +0200 NEWT/Threading: MainThread / DefaultEDTUtil - MainThread: This class no more implements EDTUtil! This class just provides a main-thread utility, forking of a main java class on another thread while being able to continue doing platform specific things on the main-thread. The latter is essential for eg. MacOSX, where we continue to run NSApp.run(). - DefaultEDTUtil: - if Lock.DEBUG validate that no recursive locks are being hold, where it shall not (EDT: startup and return from task execution) - If task execution's result wasn't waited for (checked), at least dump exeception's stack trace if i happened. - MacDisplay: Just use DefaultEDTUtil - MacWindow: - No more need of special locking -> removed nsViewLock, since: - using proper EDT - capability to run from multiple threads (native Java thread attachment) commit 472a9c60b5599bb01883c628339ab29628511ed5 Author: Sven Gothel Date: Tue Sep 27 12:20:38 2011 +0200 NEWT: Adapt to GlueGen's Lock ChangeSet, all java callbacks for native have 'defer' 1st argument - Adapt to GlueGen's Lock ChangeSet: e4baba27507ce78e64a150ec6f69fb96f5721a34 - All java callbacks for native have 'defer' 1st argument. This allows enqueuing resulting events to the EDT if required, ie. the native thread may not be 'compatible' (MacOSX). - MacOSX-Native: enqueue key/mouse events and defer:=true for all java callbacks Since we are comming from a 3rd-party thread (AWT/NSApp-MainThread) we shall not abuse it. commit df85f0dfafc09e147f9d422adf5ee8eabf67977b Author: Sven Gothel Date: Tue Sep 27 11:59:06 2011 +0200 Adapt to GlueGen's Lock ChangeSet: e4baba27507ce78e64a150ec6f69fb96f5721a34 ; Use generics commit e5ab975727134d8249277f4df707b2b14a7788f3 Author: Sven Gothel Date: Sun Sep 25 04:38:59 2011 +0200 NEWT/JOGL: MacOSX Update Feature related: - Added always-on-top - Added translucency - Child Window Position - AWT parent: manual traverse up the tree and calc position on screen (Problem: the parent view rect is not at the proper position, but covers the whole frame) EDTUtil related: - Works now w/ AWT ot headless (again) - OSX native JNI callbacks gathering JNIEnv properly and attaches/detaches thread. - AWT case: using AWT-Event which properly dispatches our cocoa events - MainThread (headless) case: Fork off thread w/ main class and kick off NSApp run(). This leads to same behavior as w/ AWT case. - Using DefaultEDTUtil - Cleanup MainThread (implements EDTUtil) - Currently not used as EDTUtil (osx), just as launcher - Removed EDTUtil impl code, reuse DefaultEDTUtil - Cleanup AWTEDTUtil (implements EDTUtil) - Currently not used as EDTUtil (osx) commit b72bedc93e4dca6d3c55cae0cc811cb4baac13e0 Author: Sven Gothel Date: Sun Sep 25 04:28:47 2011 +0200 NativeWindow/OSX: Add nativewindow_macosx lib and nativewindow.os.macosx.jar for 'GetLocationOnScreen()' commit b7ca9b5dffa8c6d197258e1bcd7b065c36136d17 Author: Sven Gothel Date: Sat Sep 24 04:27:27 2011 +0200 test scripts commit 71d13d8a581ffa68a9a8c3c690c1fa9ea76663ba Author: Sven Gothel Date: Sat Sep 24 04:27:16 2011 +0200 CreateWindow set visible; lockSurface: lock AWT if available commit 187e0b768e28c7cb712a00bcd6f103d3a7bd64c5 Author: Sven Gothel Date: Sat Sep 24 03:27:47 2011 +0200 OSX: Sync MainThread w/ DefaultEDTUtil and proper deledation AWT EDT, MacWindow: create/visible at native creation commit d24147ddf6b43246d4156203fe43c6ae45df55a0 Author: Sven Gothel Date: Sat Sep 24 03:26:51 2011 +0200 Cleanup DefaultEDTUtil: Generics and DEBUG commit a1b4e9acb011f41698775f1fee0041e88d09613f Author: Sven Gothel Date: Sat Sep 24 03:25:53 2011 +0200 Use new JNILIbLoaderBase addNativeJarLibs(all, atomic) for JOGL, NativeWindow and NEWT; no more LD_LIB_.. in setenv.sh for test scripts commit 424a5ecbd7575eb39343638696c19cd617577912 Author: Sven Gothel Date: Fri Sep 23 17:56:54 2011 +0200 Add NApplet launch variant to all applets commit ce6bf06f73d8e677cb261ae4c799c4fa3116afce Author: Sven Gothel Date: Fri Sep 23 17:37:25 2011 +0200 Adding html launch type and page for new 'NApplet', using new TempJarCache for native libs. commit 4c11e17e5365f2e34ca844b206387ce03ec2f5f0 Author: Sven Gothel Date: Fri Sep 23 16:34:28 2011 +0200 test scripts: use build/lib for JOGL native lib access (will be removed though) commit ac358bd66878e63a370377d4c7f625ec5b1b9e31 Author: Sven Gothel Date: Fri Sep 23 15:38:28 2011 +0200 Use Platform's initSingleton() instead of JVMUtil's (private package) ; Use TempJarCache if used. commit 5186899e05dd945eccbcd6fbb95781776d941bc5 Author: Sven Gothel Date: Wed Sep 21 20:53:37 2011 +0200 Remove native lib cg from jogl native lib jar commit 8bdf543c561c8ddeb58cfd62c02debff333b8455 Author: Sven Gothel Date: Wed Sep 21 20:53:08 2011 +0200 Proper usage of loadLibrary commit f5807168950d74c96a3040fd1581ae93e71c4978 Author: Sven Gothel Date: Wed Sep 21 17:53:21 2011 +0200 remove jogl.cg.jar from jogl.all*.jar commit 309c014d5081d86c5bf67164fc60ee742a4fc21f Author: Sven Gothel Date: Wed Sep 21 14:36:05 2011 +0200 Add jogamp-next test applets to www index commit 913c6e25a6c6bea256f6c23943956563427cc1b4 Author: Sven Gothel Date: Wed Sep 21 11:23:07 2011 +0200 Added NVidia License for CG header; Fixed intendation commit 85d8e8da18085ec51bd51021c5fe1eb781e0e1bd Author: Sven Gothel Date: Wed Sep 21 11:08:55 2011 +0200 Remove obsolete WinCE .lib files commit 8fdce3781f574c990f24725f5325d9cbe076e448 Author: Sven Gothel Date: Wed Sep 21 11:01:45 2011 +0200 LICENSE.txt: Removed 'may be used'. Added Emphasized multiple licenses commit c08480b50cbd227285fb06aed5a3c59208e3b24c Author: Sven Gothel Date: Tue Sep 20 12:52:39 2011 +0200 refined JOGL-DEPLOYMENT doc commit 4deb536987ce58735cca86849e693b60b414fbfa Author: Sven Gothel Date: Tue Sep 20 07:49:43 2011 +0200 Add Apache 1.1 and 2.0, SGIFreeB 2.0 and ubuntu-font licenses to doc/licenses; Proper license text referencing from root LICENSE.txt commit e7766fbea465ba2adaef083b2a92f362b372fdef Author: Sven Gothel Date: Sun Sep 18 00:56:58 2011 +0200 fix url and html tags commit 2421ce2d3bfe169336c4009639e24e197908477f Author: Sven Gothel Date: Sun Sep 18 00:12:33 2011 +0200 html fixes commit a03eb2a9d9c480ac6eff3a53ba1d34f13e01f720 Author: Sven Gothel Date: Sat Sep 17 23:47:47 2011 +0200 Fix html errors commit 49a18be5e73ac7a8886a96d1bca54f465a2c3b5c Author: Sven Gothel Date: Sat Sep 17 22:55:16 2011 +0200 minor edit commit 4b02b15739dfed3cf5f7791f77b2a99b71bf0a1b Author: Sven Gothel Date: Sat Sep 17 22:31:49 2011 +0200 Applet Tag -> Mixed Object/Embed commit c71168ded1b213248e4cfb7143f704e950695bf4 Author: Sven Gothel Date: Sat Sep 17 20:24:11 2011 +0200 Minor editing commit cf45aa6a892c56af74220cb56a6b572154cb0ed9 Author: Sven Gothel Date: Sat Sep 17 20:16:34 2011 +0200 Make jogl-applet-runner-newt.jnlp relative commit 30909cf147ddb3ef461454cee176de66c6cd786b Author: Sven Gothel Date: Sat Sep 17 20:07:14 2011 +0200 JOGL index page: reorg menu links commit e6af38a1b52307b91803945a84b14825f6d68b12 Author: Sven Gothel Date: Sat Sep 17 20:05:24 2011 +0200 Add AppletLauncher to launcher applets ; Make JOGL Test page look nice commit ad27f9e288de02941a856d4c27bf1de0a536a50c Author: Sven Gothel Date: Sat Sep 17 15:00:46 2011 +0200 Make jogl-test-applets look nice; Add NEWT Overview; Link both to JOGL's index page