commit 85c39e01ccdb825d11bde8646b847960ddda9432 Author: Sven Gothel Date: Tue Apr 24 20:59:11 2012 +0200 Update JOGL www/index.html - add 'old' and 'discontinued' - add GLG2D to current. commit 781865768bb8da38cf3de254b93bae0a8d43f1a6 Author: Sven Gothel Date: Tue Apr 24 19:00:15 2012 +0200 Newt/AWT Event Factory: Add Mouse Wheel Event Conversion .. also reverse AWT rotation sign, since NEWT uses the reverse oriantation. commit 5854705968e73c222724be24eecd21c488a7e977 Author: Sven Gothel Date: Tue Apr 24 13:40:22 2012 +0200 Test (Applets): Add MovieCube to jogl-test-applets page. commit 9d522e77a9ac1f85c57236f00d5432e671f9169c Author: Sven Gothel Date: Sun Apr 22 05:12:16 2012 +0200 Completing swap-interval implementation for OSX's CALayer usage. Closing Bug 555 - Based on Andres Colubri's initiative and commit 218d67fc0222d7709b21c45792d44501351939c4. - Reading real screen refresh rate ('stolen' from NEWT) - Properly handling swap-interval and vsync-to in native code - Increasing accuracy vsync-to to microseconds Tested manually w/ TestGearsES2AWT. commit 218d67fc0222d7709b21c45792d44501351939c4 Author: Andres Colubri Date: Sun Apr 22 00:50:46 2012 +0200 Recognize swap-interval in NSOpenGLLayer mode commit cb39ab630d59fe33faa3a0dd7093c385a6a4a66d Author: Sven Gothel Date: Sat Apr 21 23:48:01 2012 +0200 FFMPEGDynamicLibraryBundleInfo: Adding notes .. commit 77a831891ec9d2251005c1c6a71c8bacc6a5dc26 Author: Sven Gothel Date: Sat Apr 21 21:18:55 2012 +0200 Test: Added commented-out hacks for gdb invocation, OSX NSZombieEnabled env, and custom lib path; MovieCube: '-wait' to wait for debugger. commit 4fe8f07c82d531fbdc88e60a7c319fc462522cd2 Author: Sven Gothel Date: Sat Apr 21 21:16:00 2012 +0200 FFMPEGMediaPlayer: Fix NPE; Add remarks about binary incompatibility in upcoming version (master branch) We need native structure access methods to deal with API changes in the libav headers, which break binary compatibility! Currently we are binary compatible w/ [0.6 ?, ] 0.7 and 0.8 but not w/ trunk. Tested: Linux, Windows and OSX (self compiled binary) commit 6bcfe5e3b60782c4bb047117c12579ff15c961a1 Author: Sven Gothel Date: Sat Apr 21 21:11:35 2012 +0200 Newt/OSX(native): close0() shall not release NewtMacWindow (NSWindow) in case it's already in destruction (destroyNotifySend via windowWillClose()) This fixes the double release crash of the NSWindow, at the end of an application. Tested on OSX 10.6.8 and 10.7.3. commit 89304ecb034b2c2778f09423cb6d66d084074e11 Author: Sven Gothel Date: Sat Apr 21 21:06:41 2012 +0200 NEWT/MainThread: Wait for new non daemon threads after 'main' class has finished, mimics proper Java behavior. commit 15d23e40badcf43a9af78de3bd699b7c74ec464a Author: Sven Gothel Date: Sat Apr 21 20:23:21 2012 +0200 Core/Animator: Force animator thread to be non-daemon. Even thought we didn't set the thread to be a daemon, if the [parent] thread instantiating the Animator the attribute would be passed along. commit 20e188b12a47a1724b1151aa3fc97d5cc52a2fcc Author: Sven Gothel Date: Sat Apr 21 05:28:50 2012 +0200 FFmpeg Dyn. Symbol Validation: Proper check for alternative symbols where one of a set must be available. commit 64d582af83bc91240eb3f92b818c7fc9c927858a Author: Sven Gothel Date: Wed Apr 18 22:29:54 2012 +0200 Linux ARMel eabi: Use armv6t, soft-float - low profile to target more devices. Our ARMhf build is high profile. commit 73fbf6b19732c76b69f00697a399a594c121c577 Author: Sven Gothel Date: Wed Apr 18 21:50:14 2012 +0200 NEWT/Android: Fix requestFocus() - run impl. on UI thread. commit 1152d3c3cb5d13b4e5543387bff7a73e78e27a71 Author: Sven Gothel Date: Wed Apr 18 10:45:41 2012 +0200 GLMediaPlayer: Add Class / Package API doc incl. detailed info in the implementations. commit 1e16a4cd123aafe41d51f01b41fad5a77c4ffbe3 Author: Sven Gothel Date: Mon Apr 16 21:30:52 2012 +0200 Adding initial Libav/FFMpeg GLMediaPlayer implementation The Java classes already slipped through in commit 10935e1ec0d8ed677bc3fddfaa8cd73898a3bcbf - oops. Since we cannot provide a Libav binary (even though Google does in Android and Chrome) due to legal uncertainities .. we dynamically link to an existing Libav / FFmpeg library in a 'relaxed' manner. Ie. we allow certain recent functions to be absent to be able to run on a wider range of Libav versions. Currently tested on Debian Linux and Windows7 64bit/32bit Binaries for Win/OSX: - Windows http://ffmpeg.zeranoe.com/builds/ - OSX http://www.ffmpegx.com/ Features: - Dynamic relaxed linking to Libav (see above) - YUV420P texture lookup function shader stub (conversion to RGB) - 1-copy only (decoder buffer to texture) - simple - uses libavformat's network streaming - fixes some odd PTS values TODO: - Audio output (Should use OpenAL, duh) - Seek works poorly - Offthread multi-texture fetching for smoother animation - Maybe more pixelformat conversions commit 35beeabffed61e1597aaffc0c5926ab5ef86d32e Author: Sven Gothel Date: Mon Apr 16 21:18:03 2012 +0200 TextureSequence Shader Support; GLMediaPlayer uses 'int' where possible; General enhancments. For details about TextureSequence/GLMediaPlayer shader collaboration w/ your own shader source, see TextureSequence and TexCubeES2 / MovieSimple demo. TextureSequence allows implementations to provide their own texture lookup function which may provide color space conversion (YUV) .. or other runtime hw-accel features. Have a look at the next commit, which provides an Libav/FFMpeg implementation w/ YUV/RGB shader conversion. MovieCube adds keyboard control (Android: firm touch on display to launch keyboard, don't break it though :) commit 2f0583aad39f93a934629c21beac66a758373249 Author: Sven Gothel Date: Mon Apr 16 21:09:16 2012 +0200 NEWT/Android: Add (soft) keyboard input. Complete the Android -> NEWT key translation. Minor fixes for mouse as well. - AndroidNewtEventFactory - Android -> NEWT KeyCodes, leave out control keys like HOME, BACK, .. TBD .. - We don't consume the key event, in case we cannot map it, so the Android OS has a chance to handle the control keys. - Key-Release generates a Key Typed event. - Key/Mouse translate Android time-base (upTime) to Unix. - AndroidWindow - set our onKeyListener, using above tranlator - setFocusable(true) and setFocusableInTouchMode(true) on our SurfaceView, otherwise no key event will be delivered. Note: 'requestFocus()' must also be called on the view for key input! - Test: NEWTGearsES2Activity, which launches the soft key via: InputMethodManager mgr = (InputMethodManager) win.getAndroidView().getContext().getSystemService(Context.INPUT_METHOD_SERVICE); mgr.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0); // shows keyboard .. and requests the focus of the view for input. commit c4597b3a80f9fcbf89640bb007bc9004c361b6c7 Author: Sven Gothel Date: Mon Apr 16 21:01:26 2012 +0200 NEWT WindowImpl: Ensure screenChange suspense animation, even w/o having the notify method being called. This happens on android, where we just react on an already happened screen rotate. W/o animation suspend GL rendering could be disturbed or the thread could starve. commit d989b90de1200642fe3508f6a4cd623aa0ba13c9 Author: Sven Gothel Date: Mon Apr 16 20:59:30 2012 +0200 ShaderCode: Adding 'replaceInShaderSource a -> b utility function commit 697f47eed72b52acd4728a95edd176b4bb6f7c31 Author: Sven Gothel Date: Mon Apr 16 20:57:56 2012 +0200 Adding libav (ffmpeg) header file, allowing upcoming dynamic linked GLMediaPlayer impl. to be compiled (LGPL terms) Libav header: libavutil 51.22.1 libavformat 53.21.0 libavcodec 53.35.0 .. just to ease our compile time setup. commit 10935e1ec0d8ed677bc3fddfaa8cd73898a3bcbf Author: Sven Gothel Date: Mon Apr 16 20:50:06 2012 +0200 Add native tests for libav/ffmpeg and gst commit 62e5686fb583ad991d5811baf242d40d21952e27 Author: Sven Gothel Date: Mon Apr 16 01:38:49 2012 +0200 API Change ShaderCode/ShaderUtil: Enable optional mutable shader source / generalize shader source storage type to CharSequence[] Benefits: - Allows code injection and general shader source editing (before compilation) - Uses mutable StringBuilder only if editing is intended, hence reduces memory footprint and String conversion at compilation in such case. - ShaderCode.create(..) factory methods add nw attribute 'mutableStringBuilder' if true method returns a mutable StringBuilder instance which can be edited later on at the costs of a String conversion when passing to 'glShaderSource(int, int, String[], IntBuffer)'. If false method returns an immutable String instance, which can be passed to {@link GL2ES2#glShaderSource(int, int, String[], IntBuffer)} at no additional costs. - New 'edit' methods in ShaderCode: ' - int insertShaderSource(int shaderIdx, String tag, int fromIndex, CharSequence data); - int insertShaderSource(int shaderIdx, int position, CharSequence data); commit 131c40a80427d5e35824ad41da375edd4792fb60 Author: Sven Gothel Date: Mon Apr 16 01:17:56 2012 +0200 TexSequence/Movie Demo's Shader: Remove profile specific 'header' files, prepare for shader code injection. commit ffb47c6610fc742926abc946fc14d12ee9c65a9a Author: Sven Gothel Date: Mon Apr 16 00:50:14 2012 +0200 StringBuffer -> StringBuilder (Local objects, no concurrency) ; Impacts: Capabilities/GLContext API 'toString(StringBuilder)' commit ace2daf725dfc1aa700338fae71fe93a9d0fd865 Author: Sven Gothel Date: Thu Apr 12 20:21:06 2012 +0200 JOGL/Native: Add JNIEnv functions commit 711b283a350e2ad27be38e4baede26ad744c1450 Author: Sven Gothel Date: Thu Apr 12 20:20:34 2012 +0200 AndroidWindow: Fix regression (commit c9066a6df7a0b8612a8a0b3e5c8977268a1257e8), no destruction on surface size change. commit 952a679cb1b35a46352bf7d21853c0297bd92b96 Author: Sven Gothel Date: Thu Apr 12 20:16:22 2012 +0200 Reloc OMXGLMediaPlayer jogamp.opengl.omx -> jogamp.opengl.util.av.impl commit ea30724ef6660bcefbae7097ba0d0a349ce63624 Author: Sven Gothel Date: Wed Apr 11 19:47:58 2012 +0200 Graph UI Demo: Add zoom w/ mouse wheel (desktop) commit 2cfc59f99b47c0a77fbc59e27d78e2580a87034f Author: Sven Gothel Date: Wed Apr 11 19:47:31 2012 +0200 Refine API doc commit bbac20d5f42b111fb39b74c6075f57aab1fe66ba Author: Sven Gothel Date: Wed Apr 11 19:47:09 2012 +0200 ShaderState: No exception in 'releaseAllAttributes()' if attribute is n/a commit f10b30c16aeec428378d1d560d030b2d39801c4e Author: Sven Gothel Date: Wed Apr 11 19:46:37 2012 +0200 Refine GLMediaPlayer/TextureSequence, add MovieCube demo, fix minor bug in Texture - Add TextureSequence, base interface of GLMediaPlayer to genralize texture streams - TextureSequence / GLMediaPlayer: Use inner classes for event and texture data - getLastTexture() shall never return 'null', initialization of TextureSequence (initGLStream(..), etc) shall provide a TextureFrame w/ the stream's dimension. - GLMediaPlayerImpl.createTexImageImpl() y-flip defaults to 'false' impl. shall define y-flip, if required. - Added MovieCube demo - Fix Texture: initialize aspectRation for 'wrapping' ctor - commit 41b75429e3801f8bf8d5eea679487ccc49ce2584 Author: Sven Gothel Date: Wed Apr 11 11:00:17 2012 +0200 GLArrayData: Fix 'growBuffer()' / clarify 'initialSize' -> 'initialElementCount' - growBuffer() was using '(osize+additional) * components' -> 'osize + (additional * components )' - added jogl.debug.GLArrayData - notifying growBuffer() commit 173b7820b3e7dfb44aab055e7427f296a864feb3 Author: Sven Gothel Date: Wed Apr 11 10:50:28 2012 +0200 Move com.jogamp.opengl.av -> com.jogamp.opengl.util.av (it's in the util atomic JAR and not core) commit de152f62aca1f1dcc98d79a35a5bab335eeed3ca Author: Sven Gothel Date: Mon Apr 9 07:48:14 2012 +0200 Move ProjectFloat back to private, exposing basic math in FloatUtil - Partially reverting commit de2b129a56335262a44a05541a3ab2e35668cc6e - ProjectFloat and FloatUtil must reside in core, not util - Moved slice2float -> GlueGen's Buffers commit 10c0349f8c7768eaab2a6e5ed27a32acedc6ab0c Author: Sven Gothel Date: Mon Apr 9 07:02:48 2012 +0200 Adding assets-test/placeholder.txt commit 72a9af2af18e14d8d8ca622b0a6fb4066c2c8ff9 Author: Sven Gothel Date: Mon Apr 9 06:17:36 2012 +0200 Add missing: MovieSimpleActivity0 commit 00390c099a9683b0dc1c822ba29853658004a671 Author: Sven Gothel Date: Mon Apr 9 06:04:25 2012 +0200 ShaderUtil: Remove 'Impl' redirection, we already have GL OO hierarchy. commit ca14c6b3d5e53f6eda31ab6112b6b1705c5b31e5 Author: Sven Gothel Date: Mon Apr 9 05:36:33 2012 +0200 ShaderUtil: isProgramValid() -> isProgramLinkStatusValid() + isProgramExecStatusValid() isProgramValid() was testing whether the linkx status is valid and whether the executable environment is valid for the shader, see glValidateProgram(). glValidateProgram() may fail on some implementations in some circumstances (APX2500 and Tegra2) and indeed require all resources are set for execution of the shader program (glDraw*). This is not a requirement for issueing useProgram(), hence removed this test and made it available explicit for debugging purposes: isProgramExecStatusValid(). commit 1ab2108279ede3b646ad2d410fd16368393c174e Author: Sven Gothel Date: Mon Apr 9 04:50:50 2012 +0200 Android: Cleanup AndroidWindow. NewtBaseActivity: Reset FPSCounter on resume, Sync LauncherUtil commit 3a26aa701b4a1a0991cd997a0d295a1b83cd12f3 Author: Sven Gothel Date: Mon Apr 9 04:49:41 2012 +0200 GLMediaPlayer*: Revised - Working on buggy MediaPlayer impl. (Android ICS Tegra) GLMediaPlayer: Merging 'initStream()' and 'initGL()' to 'initGLStream()' due to incompatible/buggy implementations (Android/Tegra) requiring the GL texture being setup before preparing the stream. This also implies that w/o an GL context we cannot fetch the stream information (size, ..) hence we need to evaluate this detail (FIXME). 'getNextTexture(GL gl, boolean blocking)' can request the impl. to block GLMediaEventListener: The TextureFrame not yet available, adding 'when' commit 1e61021a062b1403f7eed948ac9d2ea0c04ea951 Author: Sven Gothel Date: Mon Apr 9 03:55:57 2012 +0200 Fix EGL/ES types GLeglImageOES, EGLImageKHR & EGLClientBuffer - and functions: eglCreateImageKHR, eglCreatePbufferFromClientBuffer Unique typedef for: EGLConfig, EGLContext, EGLDisplay, EGLSurface, EGLNativeDisplayType, EGLNativeWindowType, EGLNativePixmapType, EGLImageKHR, GLeglImageOES and EGLSyncKHR allowing to render them individually opaque (long) and keep EGLClientBuffer as NIO buffer. commit 96ae8202621dfa1f7ae4995e7749d1b0d9918b54 Author: Sven Gothel Date: Sat Apr 7 16:02:17 2012 +0200 GLMediaPlayer: Fix destruction (NPE) / Fix MovieSimple shader, no GL_OES_EGL_image_external for plain ES2. commit d1460514789288ad550cb7c8ea627da5f49eec07 Author: Sven Gothel Date: Sat Apr 7 15:50:06 2012 +0200 TextureIO: PNGImage 1st commit 073c9744fa4a8982850a0f8d61275f8782497bbb Author: Sven Gothel Date: Sat Apr 7 15:31:06 2012 +0200 TextureIO: Add PNG TextureProvider and TextureWriter for RGB[A]/BGR[A] - incl. unit tests; Test/Demos: Use PNG snapshots. commit 40830196070013432bc5f453eb31cfe4c64e0510 Author: Sven Gothel Date: Sat Apr 7 15:28:37 2012 +0200 Merge PNGJ 0.85 into namespace PNGJ Version 0.85 (1 April 2012) Apache 2.0 License http://code.google.com/p/pngj/ Merged code: - Changed namespace ar.com.hjg.pngj -> jogamp.opengl.util.pngj to avoid collision when using a different version of PNGJ. - Removed test and lossy packages and helper classes to reduce footprint. License information is added in main LICENSE.txt file. commit 865c0588de57c9a020a435bc3f08be0f3f6ba162 Author: Sven Gothel Date: Sat Apr 7 07:45:56 2012 +0200 Remove tga texture commit 5aaf3a5cef6f543b64a6e51b3c8578a044cb58ab Author: Sven Gothel Date: Sat Apr 7 07:45:22 2012 +0200 NullGLMediaPlayer: Use low-res PNG instead of TGA texture to save footprint. Move texture to jogl jar/apk for accessibility. commit 9bb8fe7c2baff185a62cf4806cfa34dfad4f7a4c Author: Sven Gothel Date: Fri Apr 6 03:56:18 2012 +0200 GLMediaPlayer: Add (c) tag; Add NullGLMediaPlayer (dummy texture); - Factory falls back to NullGLMediaPlayer allowing to test on platforms where no player is available. - MovieSimple (c) to JogAmp since it is no more derived from the old project. commit 7c78d722afab67a90bf92cdd29244398d1f3e5cd Author: Sven Gothel Date: Fri Apr 6 03:48:59 2012 +0200 TextureIO/TGA: Only use current GLContext if available, allowing pre-GL usage; writeFile() restricted to GL2GL3, not GL2. commit c6738c828bab2ca1572635f7ba90a7a374bbdef2 Author: Sven Gothel Date: Fri Apr 6 03:47:09 2012 +0200 PMVMatrix: Add convenient ProjectFloat calls of gluLookAt, gluProject, gluUnProject and gluPickMatrix commit aeeddc61cd50742ad2bceb2ce91c707ddfb69d88 Author: Sven Gothel Date: Fri Apr 6 03:45:38 2012 +0200 Android MovieSimple Split: zoom and orig size for performance analysis commit 9d1ee2b69fc943559a17dcd5d59984f8bba15296 Author: Sven Gothel Date: Thu Apr 5 03:22:04 2012 +0200 GLMediaPlayer: Use URLConnection to clarify emphasize passing an available connected URL. API doc: Useing html table for state chart commit a4c8271adc1932903a34e34bee24ff274ed1a81e Author: Sven Gothel Date: Thu Apr 5 02:47:56 2012 +0200 JoglVersion: Dump GLSL version if GLSL is available. commit 9f8e09e57813628215c41887d3bdf6fd11472cc1 Author: Sven Gothel Date: Thu Apr 5 02:47:35 2012 +0200 Enhance MovieSimple Demo: Split shader to es2/gl2, check for GL_OES_EGL_image_external extension if requested, use proper texture unit commit a19db300a22c2c5b30330ee685e16213e6050d41 Author: Sven Gothel Date: Wed Apr 4 06:15:55 2012 +0200 NEWT/Android: Add notion of 'brokenFocusChange' for Android impl, where requestFocus and focusChanged is always forced commit 74c6486a5eb40b760b500e836f4e4ffec8cb1ce5 Author: Sven Gothel Date: Wed Apr 4 06:15:05 2012 +0200 Split Android MovieSimple Launcher to 3 00: One movie view, centered, no effects 01: Two movie views (Main + HUD) using same GLMediaPlayer [texture] and stream 02: Two movie views (Main + HUD) each using own GLMediaPlayer and stream commit 9e680fe86cd5b64aa758ce32666a6efa19118d3d Author: Sven Gothel Date: Tue Apr 3 22:39:27 2012 +0200 GLMediaPlayer/MovieSimple: Refine API (split setStream(GL, URL) -> initStream(URL) + initGL(GL)) .. IllegalStateException if wrong. Using internet streams of BigBuckBunny, if avail. - Splitting the initialization in stream and GL allows using the stream information (eg: size, ..) for setting the GLDrawable properties .. - Make the impl. more bullet proof .. commit 081404e20ac6055244408c6a4a7e7c2089183983 Author: Sven Gothel Date: Tue Apr 3 18:57:28 2012 +0200 Add Android API 14 GLMediaPlayer demo: MovieSimple Activity adds 2 NEWT GLWindow's in a ViewGroup, one main view and one small HUD view. Both GLWindow contain one GLEventListener playing the same stream using GLMediaPlayer one with no effect, one w/ a gradient color effect. The stream's URL is currently hardcoded 'file:///mnt/sdcard/Movies/BigBuckBunny_320x180.mp4'. Upper half of main window: - click start/pause video - drag rotate video Lower half of main window: - drag bwd/fwd in the stream (seek) commit c594cf1dc9f37dd1a6d861a1aa5426abbd082d60 Author: Sven Gothel Date: Tue Apr 3 18:49:24 2012 +0200 GLMediaPlayer: API and implementation update. First working version on Android API 14 - Introduce states - Customize / Access texture target,count,features. - Expose TextureFrame. - Use 'long' for all time values in msec. - Mark information optional in API doc (fps, bps, ..) commit 48581e36773e58e20a3e780caf5b1c29b4805285 Author: Sven Gothel Date: Tue Apr 3 18:37:24 2012 +0200 Ant Build: Split 2nd pass in android and non-android builds. The former uses the Android API JAR for android specifics. commit 6f62bd9d1048455599ac0eb2387e29d54d3096dd Author: Sven Gothel Date: Tue Apr 3 18:35:51 2012 +0200 GLArrayData*: toString(): Dump the vboOffset in decimal commit c9066a6df7a0b8612a8a0b3e5c8977268a1257e8 Author: Sven Gothel Date: Tue Apr 3 18:35:19 2012 +0200 AndroidWindow/NewtBaseActivity: Properly split functionality, remove android.view.Window reference and use from AndroidWindow; Force transparency flag; Multiple NEWT Windows in Activity. AndroidWindow: - Force transparency flag to EGL Capabilities chooser (see commit 0d12af05128da433aa7b6767ba5a7f6ee9bce6c4) - Keep androidFormat besides nativeFormat, used to determine transparency flag and recreation. - Move transparency style selection from AndroidWindow.instantiationFinished() -> NewtBaseActivity.setContentView(..) - Remove AndroidWindow.becomeContentViewOf(..) and add it's fullscreen layout features to NewtBaseActivity.setContentView(..) NewtBaseActivity: - General support for multiple NEWT windows. - Adding functionality removed from AndroidWindow - see above - Adding 'addContentView(..)' and 'registerNEWTWindow(..)' which, besides 'setContentView(..)' performs registration of the NEWT window for the 'onDestroy()' method. The 'add*' and 'set*' variant also handle layout etc. - Add direct methods to set fullscreen feature and transparency theme. commit 3c5a509ef1e6be2ae7542901e6fbe5a0035fb3f7 Author: Sven Gothel Date: Tue Apr 3 18:25:13 2012 +0200 GLContext: Don't enable TRACE_SWITCH if DEBUG is enabled. commit 834c8290de028cdfd16d3da11d1f6a4566ffb8c1 Author: Sven Gothel Date: Tue Apr 3 18:24:46 2012 +0200 Texture: Ignore enable/disable for GL_TEXTURE_EXTERNAL_OES; TextureCoords: Add convenience coord transfer method to buffer. commit 0d12af05128da433aa7b6767ba5a7f6ee9bce6c4 Author: Sven Gothel Date: Tue Apr 3 18:22:06 2012 +0200 EGLConfig2Capabilities: Add flag 'forceTransparentFlag' allowing to pass through transparency flag from higher API The above is necessary to reflect transparency in chosen Capabilities from a higher level API (native windowing) in case the EGL impl. does not (buggy). This is currently true for Android. commit 01766fba27a35ab22908e4580c3783ceb9e5a6d1 Author: Sven Gothel Date: Mon Apr 2 08:37:10 2012 +0200 Fix commit de2b129a56335262a44a05541a3ab2e35668cc6e - Relocation/Exposure of ProjectFloat commit 5911b729b69b7fb327e441b33f22eb1ef31a03df Author: Sven Gothel Date: Mon Apr 2 08:36:38 2012 +0200 Initial commit for AudioVideo (com.jogamp.opengl.av) rework, introducing Android API 14 MediaPlayer impl of GLMediaPlayer. Android API 14 MediaPlayer allows usage of OMX AL direct decode to texture via libstagefright (OMX AL usage included). Status: Untested, not working - Need to fix native OMX IL (stream detect and split) and/or GStreamer implementation. commit de2b129a56335262a44a05541a3ab2e35668cc6e Author: Sven Gothel Date: Mon Apr 2 08:28:56 2012 +0200 ProjectFloat: Promote to public, exposing general matrix/vector math, custom instancing using sliced nio-buffer/primitive-array commit 7642d54fb2cae56331c28a780a4f9074fa904016 Author: Sven Gothel Date: Wed Mar 28 22:12:45 2012 +0200 Remote unit tests: Include AWT unit tests commit 5f36d325ba978f6877a03b9b12636cd9542ab6da Author: Sven Gothel Date: Wed Mar 28 03:49:23 2012 +0200 Add armhf cross build/test scripts commit f6e9d26309efa7f8f79a898cd3688571e2e79dd2 Author: Sven Gothel Date: Tue Mar 27 05:23:40 2012 +0200 minor edits: test.sh and android cross build script commit 7ef27943edd08dc02752b1eef6760c35877fc098 Author: Sven Gothel Date: Mon Mar 26 21:06:29 2012 +0200 Adapt to gluegen commit e9e61421ef6009e6788998c471d1d3d30aaefea6 commit 56434e48876a85e027bca5463afdc86929d025cf Author: Sven Gothel Date: Mon Mar 26 21:05:15 2012 +0200 Adapt to gluegen commit 1c03dfd6d1939a46018583419956e350e531f4fe - Fix Bug 566 commit 375ab2da54ded1f3b3d90dc21b91fc6b87c64285 Author: Sven Gothel Date: Mon Mar 26 20:51:06 2012 +0200 NIODirectOnly: Remove invalid comment 'where a Buffer argument shall hold return values', glGetPointerv, .. The PrimitiveArrayCritical JNI code takes care of copy back the primitive array data if pinpoint is not available. commit a0abff2c5ea6adee2813bf49141b2a106f055390 Author: Sven Gothel Date: Sun Mar 25 05:47:29 2012 +0200 Fix EGLConfig re-use w/ different EGLDisplay handle (Triggered w/ Mesa EGL/ES) Reusing the native EGLConfig handle of another EGLDisplay is invalid, hence the EGLCapabilities cfg-handle value shall be 'refreshed' using the immutable cfg-id and the new EGLDisplay. Also fix EGLError value in createSurface() exception and don't override EGLCapabilities transparency value for a given EGLConfig ID. commit 2357728a8b1ed2edd961b94e75ebddfe12e4516f Author: Sven Gothel Date: Sun Mar 25 03:45:59 2012 +0200 edit tests.sh commit 2b9c6ce89136af53458c2b810ad971ab28e6874d Author: Sven Gothel Date: Sun Mar 25 03:37:28 2012 +0200 X11GLXContext: Remove DEBUG_GLX_MAKECURRENT commit 3ed491213f8f7f05d7b9866b50d764370d8ff5f6 Author: Sven Gothel Date: Sun Mar 25 03:29:53 2012 +0200 Enhance and generalize AWT Threading* implementation; Minor changes .. Threading*: - add invoke(..) generalizing the Therading decision GLCanvas: - remove 'manual' Threading decision, simply call Threading.invoke(..) - use anonymous Runnable instances - remove drawable lock, drawable is volatile instead GLJPanel: - remove 'manual' Threading decision, simply call Threading.invoke(..) - use anonymous Runnable instances - DEBUG: Use getThreadName() prefix GLContextImpl: - Remove GLWorkerThread idle command on makeCurrent(), no holding of context in worker thread while idle. - DEBUG: Use getThreadName() prefix X11GLXContext: - DEBUG: Use getThreadName() prefix TODO: Validate whether it's OK for GLCanvas and GLJPanel to set Threading.Mode.MT as the default mode! commit 45a42f7c7f7fce4e6c7eb495591c438bdf0170a2 Author: Sven Gothel Date: Thu Mar 22 17:38:28 2012 +0100 Reviewed JOGL GlueGen Tags: NIODirectOnly - Removed where not technically required. Added comment reasoning NIODirectOnly. Impacts code generation for the relaxed methods where NIODirectOnly tag is removed, i.e. it allows an array-backed Buffer object to be passed. commit 5fb327c8e6e065b6caf2db788a1762e3c696dfbc Author: Sven Gothel Date: Thu Mar 22 17:36:03 2012 +0100 Mark JOGL/GlueGen NativeSignature*Emitter 'to be reviewed' and adapt it to GlueGen commit 3d527ea538c9e9897f86a0f6bdae0cab44d239c3 commit 6b8c90ea679f93924b105932c40590c01c5dc4fd Author: Sven Gothel Date: Tue Mar 20 18:26:29 2012 +0100 Fix all HTML validation errors (http://validator.w3.org/check) ; Add TOC anchors ; Remove old content ; Use jogamp.org rel. URLs ; Note: Far from being ready .. commit bbc9c854aa96a144175cd3e502e858158fe88dd9 Author: Julien Gouesse Date: Tue Mar 20 14:54:34 2012 +0100 Lots of modifications: updates of several links, addition of some warnings about GLU and SWT, some short explanations about NEWT and GLProfile, addition of some complementary information about general aspects of JOGL, ... commit 42c461a157bbcf9e7268b171a7593c2b3ae6a173 Author: Sven Gothel Date: Tue Mar 20 12:42:44 2012 +0100 Fix bug 564 - part 2 (X11 Mesa 8.0.1 GL 3.0 w/ failing GLX_ARB_create_context) Tolerate a buggy ARB createContext impl (always failing to create a context). Now we only reset the GLContext state and set the context/device availability flag if ARB create context actually was successful. Otherwise the fallback 'old' context is being used w/o having it's context state cleared and context/device availability is set later on. This makes the general use of ARB_create_context more stable. +++ Minor changes: - Non compatibility fallback: Try forward context instead. - Limit ARB context 'seeking' to >= OpenGL 2.0 commit b7c5a58f3fd44f87ff3a79410f72260efce7a552 Author: Sven Gothel Date: Tue Mar 20 09:02:53 2012 +0100 Cleanup: Use getThreadName() and validateCurrent() to remove redundancy and to add thread-name info; GLWorkerThread: Use ArrayList and generics. commit b823e8a0e18ec0b357d62af468a14162a9fb4948 Author: Sven Gothel Date: Mon Mar 19 17:14:15 2012 +0100 Fix / Cleanup AWT related Threading code: Using enums, properly disable singlethreading if requested, fix doc: -Dopengl.1thread -> -Djogl.1thread commit 8baa72ed68481feada5f91aa868c0ae258802e29 Author: Sven Gothel Date: Mon Mar 19 16:22:22 2012 +0100 X11GLXContext: X11Util.setX11ErrorHandler( .., DEBUG ? verbose : quiet ) commit 2fe65cee9d0397eb0bfb49c63bbf677534bcc3eb Author: Sven Gothel Date: Mon Mar 19 16:21:32 2012 +0100 GLContextImpl: Detect "llvmpipe" as a software renderer (Mesa 8.0.1) commit fcd0aa56a368adefbb516fcd710bec38560a2054 Author: Sven Gothel Date: Mon Mar 19 10:46:34 2012 +0100 Adding unit test to validate proper X11 Display closing (Bug 565) Modified Daniel Balog's unit tests, covering GLWindow (NEWT), GLCanvas (AWT) and GLPBuffer to fail immediatly when more than 1 open X11 Display is open. commit 7a40768455342ab2d1d43bf435baa42a8ccaf917 Author: Sven Gothel Date: Sun Mar 18 22:33:46 2012 +0100 Fix bug 564 (X11 Mesa 8.0.1 GL 3.0 w/o GLX_ARB_create_context) X11/Mesa 8.0.1 offers a GL 3.0 context w/o having the GLX_ARB_create_context extension available (even though the func-ptr glXCreateContextAttribsARB is not null). We assumed that if no GLContext device availability is set, it can be only GL 2.0 or ES1/ES2. Fix: Relaxed these (false) constrains and map the created context reflecting using it's actual attributes. commit d570fa74d4fd22459aa1579749a7705949a2a748 Author: Sven Gothel Date: Sun Mar 18 16:33:07 2012 +0100 Reduce Thread.dumpStack() in debug mode where no negative behavior appears or a stack trace may be helpful. commit 4c5d6c1b5570fe1ba2cfbbed46259f0a21534ff5 Author: Sven Gothel Date: Sat Mar 17 21:21:26 2012 +0100 Adapt to GlueGen IO resource changes URL -> URLConnection for effeciency; API doc enhancements; Minor edits - API doc added/enhanced: - ShaderCode - ShaderUtil - NewtBaseActivity: Clarify method / var names commit b048c2458b53eb012d15e21dde9e8ec0b1406d0b Author: Sven Gothel Date: Sat Mar 17 21:18:18 2012 +0100 move src/test/native -> src/test-native - allowing better exclusion for archive scripts commit a40e22a58e0c71a95f11b7c7e83247fbd4a4d94f Author: Sven Gothel Date: Wed Mar 14 23:17:35 2012 +0100 Android Tests: Using JogAmp's ActivityLauncher (gluegen commit: 0cfc7847c58b51c9a26b50d905b592d1fc4c8578) - Remove jogl.android-launcher.apk in favor of generic jogamp.android-launcher.apk - All Android test code resides in jogl.test.apk (initial launcher and delegated 'real' one) commit f814983eea2ceaca149d3c425356512f5f095d37 Author: Sven Gothel Date: Tue Mar 13 20:19:51 2012 +0100 JOGL Applet Tests no more require junit.jar commit 7d7e7c901d8fe54af1230cbf10e568f1a8433cbe Author: Sven Gothel Date: Tue Mar 13 20:19:19 2012 +0100 Adapt to gluegen Properties/Security commits f4ac27e177f6deb444280d3b375e7d343e38bd080 and eedb4b530fb83fc59a26962bcf7847a1404092a0 commit 558a674f5ed727be1536cffd882d43458ce47a37 Author: Sven Gothel Date: Sat Mar 10 05:55:52 2012 +0100 Android: Minor cleanup ; NewtBaseActivity: clear static context at destroy commit 84805ae3d96f07e4c52320f168b45dc355cc4300 Author: Sven Gothel Date: Sat Mar 10 05:19:30 2012 +0100 AndroidWindow: Fix Native PixelFormat == VisualID { <0 case, TRANSLUCENCY, ..} ; Generate focus event/state; onTouch() consumed - fix Native PixelFormat == VisualID { <0 case, TRANSLUCENCY, ..} - surfaceChanged(..): use 'ANativeWindow_getFormat(surfaceHandle)' if given format is generic (<0) - match used caps w/ format exactly - generate focus event/state: always focus at creation and listen to onFocusChange() - onTouch() consumed only if we mapped a NEWT event, otherwise return false. - use VisualIDHolder of already chosen config to determine native VisualID - use Log.d(MD.TAG, ..) commit e9c51c6e7d51784eb9ebc5c900ec979af9b83786 Author: Sven Gothel Date: Sat Mar 10 05:08:58 2012 +0100 Enable Android remote adb unit tests (1 Test currently / WIP) - BOOTCLASSPATH - see gluegen commit 227ad20f6bf10d5d28073dfbd3fac363e3a09531 - Move jogl.test.apk creation in build-test.xml - Enable and fix 'junit.run.remote.adb' target commit f0f696c4253691503a0d66636ea779e0731bda84 Author: Sven Gothel Date: Sat Mar 10 04:51:28 2012 +0100 GL/GLContext: Properly define swapInterval incl. default value for EGL (1) and desktop (undefined). *GLContext.setSwapIntervalImpl: Simple return success, set state in GLContext. commit 42a08f9c8a6b86a104d9feba6e29397933b020c5 Author: Sven Gothel Date: Sat Mar 10 04:48:39 2012 +0100 Minor changes: DefaultGLCapabilitiesChooser + GearsES1/2 and Android demos DefaultGLCapabilitiesChooser: Move 'static' values to final static. GearsES1/2: Handle width>=height case -> flip frustum. Android: Enable fps trace dump after visibility, use default RGBA_8888, Explicitly don't use swapInterval (-1). NEWTGearsES2TransActivity: Gather Screen size and set demo view 2/3 of it. commit 3424091ecaa0d885ce7fd7c3a2279930cfd56040 Author: Sven Gothel Date: Sat Mar 10 03:54:12 2012 +0100 NEWT/setFullscreen(v): Save new state for to-be-created windows (not yet valid). commit fdaf6846c571d890360dededf284ebccb166deba Author: Sven Gothel Date: Sat Mar 10 03:53:00 2012 +0100 ShaderState: Use a HashMap instead of a HashSet for enabled attribute states, reducing fluctuating memory. commit beadbb27530b75507ffa8d56a204b1a59a7bda0d Author: Sven Gothel Date: Sat Mar 10 03:38:35 2012 +0100 Stabilize open InputStream's / Closeable's: Decorate w/ try-finally and close within the latter See gluegen commit 24f8694a188b4a5255d4ac4f8b49982bd8ad3228 commit 85e2bdbd2aa37686d2c24455c9472a9df4342c74 Author: Xerxes Rånby Date: Thu Mar 8 16:48:42 2012 +0100 Update make.jogl.all.linux-armv7.sh script: Set TARGET_PLATFORM_ROOT=/ commit d28e1b139f14b10b9e22750ac44dbc18f08a0d34 Author: Sven Gothel Date: Wed Mar 7 12:48:03 2012 +0100 AndroidWindow.surfaceChanged(.., int pFormat, ..): Use passed pixel-format if valid Turns out on Android 4.0.3 / Pandaboard ES (at least), the NDK method 'ANativeWindow_getFormat()' returns '1'. commit 7b450386d876c52805295804c9ebf9a109ed5508 Author: Sven Gothel Date: Wed Mar 7 12:44:52 2012 +0100 GLContextImpl: Expose GL_RENDERER for impl. / EGLContext workaround Android 4.0.3, Pandaboard ES, PowerVR SGX 540 Bug GLContextImpl: Expose GL_RENDERER for impl. - This allows reusing the 'early' string. EGLContext workaround Android 4.0.3, Pandaboard ES, PowerVR SGX 540 Bug - On mentioned platform, the app crashes when eglSwapInterval() has been called. commit 8385d98098f7804e5ee369d77963f5a7464a3e1f Author: Sven Gothel Date: Wed Mar 7 05:19:40 2012 +0100 Update android armv7 cross build/test script commit 9292432402df031a7d622518278c38bbc5a17756 Author: Sven Gothel Date: Tue Mar 6 10:03:15 2012 +0100 NativeWindowFactory: Get and hold singleton JAWT ToolkitLock (efficiency); Correct classname AWTGraphicsDevice (NW reorg). commit 9969889de2cde06e724b25b6da1e29354e303915 Author: Sven Gothel Date: Tue Mar 6 10:01:10 2012 +0100 NativeSurface.lockSurface(): Update API doc (+ emphasize LOCK_SURFACE_CHANGED); ProxySurface.lockSurface() +LOCK_SURFACE_CHANGED commit 3fbcf164be214f3c36bfc062e3ef63ddcc2e1687 Author: Sven Gothel Date: Tue Mar 6 09:59:34 2012 +0100 NativeWindow public* reorg 3/3 ; NativeVisualID -> VisualIDHolder incl. proper utilization. - VisualIDHolder: Update documentation (Exception case, etc) - NativeVisualID -> VisualIDHolder (public) - incl. generic Comparator - better doc and enum values - VID_UNDEFINED == 0 - methods shall not throw exception, but return UNDEFINED - CapabilitiesImmutable extends VisualIDHolder - All Capabilties impl. - use VID_UNDEFINED for undef. value - use final private (immutable) fields - AbstractGraphicsConfiguration extends VisualIDHolder - X11 CreateDummyWindow takes (int) visualID commit efa70cd39e1a2ac18c3e8660f8d57e4569b19018 Author: Sven Gothel Date: Tue Mar 6 07:44:29 2012 +0100 NativeWindow public-spec to public-impl reorg (javax.media.nativewindow. -> com.jogamp.nativewindow.) 2/3 commit 28ca3652c7c3c73cc3c41ad84b3f1efdad98add5 Author: Sven Gothel Date: Tue Mar 6 07:27:29 2012 +0100 NativeWindow public-spec to public-impl reorg (javax.media.nativewindow. -> com.jogamp.nativewindow.) 1/2 commit 9124f3fade3f923b581c6e7b871d049b431bbd78 Author: Sven Gothel Date: Mon Mar 5 23:59:05 2012 +0100 remote unit test reorg (all, awt, newt) junit.run.remote.ssh -> junit.run.remote.ssh.all added junit.run.remote.ssh.newt added junit.run.remote.ssh.awt junit.run.tests issues 'junit.run.remote.ssh.newt' only for now. manual remote ssh unit test invocation: bash scripts/make.jogl.all.linux-armv7-cross.sh -f build-test.xml junit.manual.run.remote.ssh.newt bash scripts/make.jogl.all.linux-armv7-cross.sh -f build-test.xml junit.manual.run.remote.ssh.awt bash scripts/make.jogl.all.linux-armv7-cross.sh -f build-test.xml junit.manual.run.remote.ssh.all commit cb399dc16beeeddcd8215cd276bbaff25c6fc0ca Author: Sven Gothel Date: Mon Mar 5 22:14:09 2012 +0100 X11 Fix NativeVisualID regression (commit 90c46b1ef1f199ceb63e85c85e9ebeb919d49c4a) ; Using plain X11 Capabilities In case X11GLXGraphicsConfigurationFactory and hence X11GLCapabilities (glx) is not being used, the X11GraphicsConfigurationFactory used plain Capabilities object for the chosen caps. The latter is not derived from NativeVisualID. - Added X11Capabilities supporting NativeVisualID to fit our needs. - X11Capabilities.XVisualIDComparator uses NativeVisualID.NVIDType.X11_XVisualID - *Capabilities have better unique names in toString() commit 9ea78af201414e0eb5daa62ab8b72d7204590c40 Author: Sven Gothel Date: Mon Mar 5 17:40:46 2012 +0100 linux-armv7-cross script: Introduce TARGET_PLATFORM_ROOT commit c8c49283b1c373289564a88409dbab9629fc8247 Author: Sven Gothel Date: Mon Mar 5 16:33:46 2012 +0100 Test*ES2Newt: Add shutdown w/ type to internal loop test commit b67a89a364677732d0849780226972d7e40aa078 Author: Sven Gothel Date: Mon Mar 5 06:48:38 2012 +0100 Fix GLWindow/SWT-GLCanvas: set context synchronized ; Misc Changes Fix GLWindow/SWT-GLCanvas: set context synchronized - GLWindow fix commit a0177c8a1048683e5d43f4712f8f9e37091d4e85. Removed explicit recursive surface lock requires recursive context locking, otherwise concurrent rendering fails. The implicit recursive surface lock within context makeCurrent() is applied after the context lock itself. Misc Changes - Fix TestPBufferDeadlockAWT, which was not using the unique profile string reference commit 90c46b1ef1f199ceb63e85c85e9ebeb919d49c4a Author: Sven Gothel Date: Mon Mar 5 04:34:41 2012 +0100 Complete LOCK_SURFACE_CHANGED ; Introduce NativeVisualID (Daisy chaining *GraphicsConfiguration) ; ... NativeVisualID: New interface for Capabilities implementations, allowing retrieval of the native 'visual id'. Impl. by WGL, X11 and EGL. JAWTWindow.lockSurface() - Detect surfaceHandle change an return LOCK_SURFACE_CHANGED (see: LOCK_SURFACE_CHANGED) EGLDrawable: - Impl. updateHandle() (see: LOCK_SURFACE_CHANGED) - use NativeVisualID for EGLGraphicsConfiguration selection to respect a native 'visual id' EGLContext.createContextImpl: Use NIO for attributes EGLDisplayUtil: Enhance eglGetDisplay w/ DEBUG code and NativeSurface / EGL_DEFAULT_DISPLAY variation EGL, XGL, WGL GraphicsConfiguration: - Don't set ALPHA_SIZE and STENCIL_SIZE if not requested in attribute list for context creation. - toString() shows proper identification, eg.: egl, x11, win32 .. EGLGraphicsConfigurationFactory: Daisy chain GraphicsConfigurationFactory for native device type (currently only X11). This allows choosing the EGLGraphicsConfiguration and hence native visual id based on EGL when invoked via the factory model (generic). In case EGLGraphicsConfigurationFactory is not suitable or doesn't produce a native visual id, it falls back the the original one. X11AWTGraphicsConfigurationFactory and X11Window: Use generic NativeVisualID which allows EGLGraphicsConfiguration implicit. *GraphicsConfiguration's DEBUG flag is pushed up to DefaultGraphicsConfiguration LOCK_SURFACE_CHANGED: - commit 006e9fe402a0a47b45fd2c4af51296aef895e8b5 - commit a0177c8a1048683e5d43f4712f8f9e37091d4e85 Impact: - Fixes EGL/GLES (wrapper/native) usage on X11, proper Xvisual selection w/ EGL - Fixes EGL/GLES (wrapper/native) usage on Windows, ANGLE works w/ NEWT and forced ES2 commit 875042340b68137b584907c539b7b7ecc5c5b15c Author: Sven Gothel Date: Mon Mar 5 03:50:06 2012 +0100 Fix GLArrayDataServer.destroy(GL): vboName was cleared by super class before deletion commit 006e9fe402a0a47b45fd2c4af51296aef895e8b5 Author: Sven Gothel Date: Sun Mar 4 23:09:11 2012 +0100 NEWT/Windows lockSurfaceImpl(): Detect hdc change and result w/ LOCK_SURFACE_CHANGED This allows an underlying delegation/mapping to update the handles, eg.: EGLDrawable. See commit a0177c8a1048683e5d43f4712f8f9e37091d4e85 commit b2c309aab9be8c02d454c8e36cc3976f9c4b3584 Author: Sven Gothel Date: Sun Mar 4 23:07:27 2012 +0100 NewtFactory: Since the platform string references are unique, let's just compare the references instead of a string compare commit a0177c8a1048683e5d43f4712f8f9e37091d4e85 Author: Sven Gothel Date: Sun Mar 4 23:05:28 2012 +0100 NEWT/GLWindow.display(): No explicit surface locking/unlocking for GLDrawableHelper.invokeGL(..) - it's done implicit at makeCurrent()/release() The explicit locking takes away the locking result, eg. SURFACE_CHANGED, which is required to update the delegated drawable handles (e.g.: EGL surface handle). With the followup fix of EGLDrawable.updateHandle()'s recreate EGL surface, an EGL 'wrapper' can work on Windows (eg. ANGLE). commit aeca49c50789b42d991386ace3edd0c10d23acc2 Author: Sven Gothel Date: Sun Mar 4 19:20:52 2012 +0100 Add es2readsquare, reassembling JOGL's RedSquareES2 demo commit df6b48aef57db18c671ecda4bb962de84bb8e565 Author: Sven Gothel Date: Wed Feb 29 15:43:32 2012 +0100 Add native es2gears test (mesa-demos, eglut enhanced w/ programmatic lifecycle) commit 7b5ba68a9a7fa75f91e1470343f867d28ec3589a Author: Sven Gothel Date: Wed Feb 29 15:41:22 2012 +0100 TestGearsES2NEWT: Remove redundant GLES2 test commit c739c6e02eff2e2b5f51ea9d5a385960b3bd07ca Author: Sven Gothel Date: Wed Feb 29 02:31:25 2012 +0100 CrossTest: Add AWT Unit-Test. Unit-Tests: Refine GLProfile request where we favor a more detailed request than getDefault(). commit 03697923f27df06343f8885f1c1b70bf4b3af9c2 Author: Sven Gothel Date: Wed Feb 29 01:35:37 2012 +0100 Software Rasterizer: Add 'Mesa X11' to GL_RENDERER list. EGLDrawable: Remove getWidth()/getHeight() EGL surface queries. EGLDrawable: Remove getWidth()/getHeight() EGL surface queries. This code is not only redunant, since the surface dimension is known in the NativeWindow surface returned by GLDrawableImpl., but also causes an exception since the EGL surface might not be realized at the time it's dimension is being queried. commit fc779ca57ec338c3e4a2b8d0b3a2bac4277bc380 Author: Edwin Vane Date: Tue Jan 31 09:24:51 2012 -0500 Get JOGL to build with NDK r7 - Most of the android build work is done by gluegen ant files. Changes made to gluegen in support of NDK r7 need to be reflected here: - New/fewer environment variables. - Specifying android.abi for packaging. - Cross-compilation script cleaned up to look like gluegen's cross compile script for consistency. - Renamed install/re-install adb helper scripts to be ARM specific. commit d302e063a6cd344c951c2eef56247b43c896c8cf Author: Sven Gothel Date: Tue Feb 28 03:56:46 2012 +0100 Add / Use gluegen.basename prop. for remote ssh test commit b7407c39c0d3785f2fc21782d31c439622f0d744 Author: Sven Gothel Date: Mon Feb 27 18:20:37 2012 +0100 NativeWindow: Relax Xinerama dependency / Rename Windows impl subfolder to common name win32 (same as stub_include) Utilizing dlopen/dlsym in an efficient way relaxes the platform requirement of having Xinerama available. This allows using Nokia N9 MeeGo out of the box. commit f519190f0cf97eb6b3fda61f4eb8c1f55de43b51 Author: Sven Gothel Date: Mon Feb 27 10:23:53 2012 +0100 ScreenMode/X11: Use common defaults in case of undefined values. X11: Tolerate invalid refresh rate and use default. commit fc5b20cb62db5b7675071dee57b3679ce8f7102b Author: Sven Gothel Date: Mon Feb 27 09:55:47 2012 +0100 Fix minor test issues commit 858aa2137a42fb60d0484c702f07e94e2de94026 Author: Sven Gothel Date: Sun Feb 26 03:40:19 2012 +0100 NEWT Screen.getCurrentScreenModeIntern() !ScreenMode case: Attempt to get screen size if 0. commit 0bdc5fec88abd584c834ac0b4e42ca5f784e79de Author: Sven Gothel Date: Sun Feb 26 03:31:37 2012 +0100 Fix TestGearsGLJPanelAWTBug450 (regression of commit 397665ff472d83809a028e4f4a5d332294617623) commit cfa9d3d5185c1fa96d0c259d40e46813407d7b01 Author: Sven Gothel Date: Sun Feb 26 02:54:50 2012 +0100 GLContext.isCurrentContextHardwareRasterizer(): Recognize 'softpipe' (Gallium) as software rasterizer. Check for NULL and issue warnings (TRIAGE THIS). commit 397665ff472d83809a028e4f4a5d332294617623 Author: Sven Gothel Date: Sat Feb 25 23:40:36 2012 +0100 UITestCase: Gracely ignore unsupported tests (ES2) ; Ignore all Shared-Context and more 'known' test cases for ES. commit cc16e21c5601c3c9433b1e021addbbc9534a6e5a Author: Sven Gothel Date: Sat Feb 25 20:09:25 2012 +0100 Include GraphicsConfigurationFactory in lifecycle (initSingleton/shutdown) - fixes recursion on fallback GraphicsConfigurationFactory .. also validate the X11 GraphicsConfigurationFactory in X11GLXGraphicsConfigurationFactory and fail fast commit aee3a75ad87ef3da0652c6b917ccdfda63a1230d Author: Sven Gothel Date: Sat Feb 25 19:21:43 2012 +0100 X11: Fix unavailable GLX (Server): Use fallback GraphicsConfigurationFactory (X11GLX -> X11) - GraphicsConfigurationFactory.registerFactory(..) returns previous mapped GraphicsConfigurationFactory. This allows daisy chaining of GraphicsConfigurationFactory, in case one is not suitable. - X11GLXGraphicsConfigurationFactory: - Store the previously mapped factory as fallback - choose*Impl(): If GLX is not available, use fallback commit 9db2d90e5398e7b2abe45f0799a9d00729575b49 Author: Sven Gothel Date: Sat Feb 25 19:12:30 2012 +0100 Cleanup DEBUG flags of *GraphicsConfigurationFactory (Use the common 'nativewindow.debug.GraphicsConfiguration') commit c3098619080d10e5bec8b52999117002b16f3ff5 Author: Sven Gothel Date: Sat Feb 25 18:30:25 2012 +0100 X11/GLX: Query X Server whether GLX is available (X11/SharedResourceRunner) ; Minor cleanups. Before gathering GLX details and actually instantiate a X11/GLX shared resource, we shall query whether GLX is actually available. Since GLX availability is being queried on the server side, more changes are required for the X11GLX* impl, eg. not using X11GLXGraphicsConfigurationFactory and fall back to X11GraphicsConfigurationFactory. commit 24f66881aed6bf1f6b79fe6d14ef3fdc0e254fab Author: Sven Gothel Date: Sat Feb 25 18:19:19 2012 +0100 Fix commit 9e66972c193399d6dcdf9e6662f4335bdf15736a commit b6885506215bbc02b9b805d0c9ace2a134b2c61d Author: Sven Gothel Date: Sat Feb 25 17:29:11 2012 +0100 enhancement: NWJNILibLoader.loadNativeWindow(..) returns true/false if loading was successful. Negative result causes proper exception in caller. commit 9e66972c193399d6dcdf9e6662f4335bdf15736a Author: Sven Gothel Date: Sat Feb 25 17:27:23 2012 +0100 Fix GLProfile/GLDrawableFactory bug: Recursion on default desktop device, since no profile was mapped. GLDrawableFactory*: - Initialize defaultDevice, even if impl. is not available (no GL libraries for impl.), hence - getDefaultDevice() always returns a valid device - getIsDeviceCompatible() only returns 'true' if device is supported _and_ drawable factory is functional GLProfile: - default-desktop-device becomes default-device even if the desktop-factory itself is not functional. This is due to the fact that the subsequent EGL-factory always handles desktop-devices (X11->EGL, GDI->EGL, etc). commit 90e4f6aa688c9730bcdedea727031d5dccb32b39 Author: Sven Gothel Date: Sat Feb 25 13:58:13 2012 +0100 JoglVersion: Avoid NPE if no caps are available. commit 1c8f158c57a13274e3776d3ecb24cbd1c9765741 Author: Sven Gothel Date: Sat Feb 25 13:57:48 2012 +0100 Min. Graph Parameter type change: texSize/width/.. for multipass-renderer: int -> int[] "texWidth desired texture width for multipass-rendering. The actual used texture-width is written back when mp rendering is enabled, otherwise the store is untouched." This allows the 'backend' to correct the texSize, ie in regards to GL_MAX_TEXTURE_SIZE .. etc. Without this write-back, it would re-create the FBO for every frame. commit 49114a63102c745b3db204315ad9525d61767d57 Author: Sven Gothel Date: Fri Feb 24 18:21:46 2012 +0100 If junit.is.disabled, copy a dummy TEST xml file, otherwisa Jenkins claims failure. commit 08525c91032f87eaf21a8b5a9c31bad20385a354 Author: Sven Gothel Date: Fri Feb 24 18:05:51 2012 +0100 Even if 'junit.is.disabled', we need to produce the test archive (7z), otherwise the jenkins build fails. commit bfa4628865e61636500ac5049c0a46c7338723cf Author: Sven Gothel Date: Fri Feb 24 17:46:25 2012 +0100 Introduce environment-var/property to disable unit tests (per node) -> gluegen commit 0dce3191754bd73138ff6a72e576a2af05f850ba commit cebd8306f2fa729fd599e9b237ee617575b1a941 Author: Sven Gothel Date: Fri Feb 24 07:13:30 2012 +0100 Add NODE_LABEL in unit test commit 8879dcb3d077693638967418ada59382f0071438 Author: Sven Gothel Date: Fri Feb 24 07:11:58 2012 +0100 Add jogl.basename and env.NODE_LABEL (jenkins build) commit fe2dda3de3d679573fd6176cd639304d166be4b6 Author: Sven Gothel Date: Fri Feb 24 05:04:51 2012 +0100 TestInitConcurrentNEWT: Reduce max threads (16 -> 8) on ARM, also use vsync to reduce load commit bd1eebacdb0bf426ac122867ed7e468fffbead1a Author: Sven Gothel Date: Fri Feb 24 04:49:00 2012 +0100 Fix GLUEGEN_CPPTASKS_FILE="../../gluegen/make/lib/gluegen-cpptasks-linux-armv7.xml" commit e018064a70c53cd1c7b61861c43a869661e77ed2 Author: Sven Gothel Date: Fri Feb 24 04:46:03 2012 +0100 fix targetcommand.sh name on target ; Use GLUEGEN_CPPTASKS_FILE="lib/gluegen-cpptasks-linux-armv7.xml make.jogl.all.linux-armv7-cross.sh: Use GLUEGEN_CPPTASKS_FILE="lib/gluegen-cpptasks-linux-armv7.xml commit e69bfdd3d3fb9a5b3c2f925457aabbeff5e25ecf Author: Sven Gothel Date: Fri Feb 24 02:49:21 2012 +0100 Surface2File: Use .tga to write pixels, which allows RGB and RGBA commit 5940f88b19a375bd20432be01bde02cda065fbce Author: Sven Gothel Date: Fri Feb 24 02:40:10 2012 +0100 Fix MultisampleDemo01 -> MultisampleDemoES1 (proper profile, remove immediate mode for ES1) ; Fix GLES1Impl.glOrtho() commit 29ee4fa97a7e17fe2eb07797350200300d8126d7 Author: Sven Gothel Date: Fri Feb 24 01:49:22 2012 +0100 Add GLProfile.getGL2GL3() meta profile getter completing getGL2ES[12]() commit d85abd787c73da9ef8be580504d83ddba71d8287 Author: Sven Gothel Date: Thu Feb 23 22:36:16 2012 +0100 GLProfile.GL2GL3: Use GL2GL3 profile (required for this test) and check it's availability. commit 429c20d2f4335ddc5409dcbfc183336dc8d3155f Author: Sven Gothel Date: Thu Feb 23 22:35:27 2012 +0100 MemoryObject: Use proper generics style commit 852aefc9840030ee6581c5470b9f34da47481589 Author: Sven Gothel Date: Thu Feb 23 21:18:01 2012 +0100 Enhance GLProfile's profile tests - compare the final String references, instead of String comparison. GLProfile's 'profile' string reference is final and one of the static final GL* string references, with which it is compared. Hence only the references can be used here. Impact: Performance. commit adb5122c198a1b3890607d7d1e2ec4987d173523 Author: Sven Gothel Date: Thu Feb 23 20:56:03 2012 +0100 Fix GLProfile.isGL2ES2(): "isGL2() || isGL3()" -> "isGL2GL3()" .. was excluding: GL2GL3 common profile. commit 0836e01287b8315d9800965a9e097d4869cb884e Author: Sven Gothel Date: Thu Feb 23 19:30:18 2012 +0100 Fix linux armv7 non-cross script / Disable ScreenMode on linux armv7 unit tests (build scripts) Disable ScreenMode on Linux-ARM-Omap4 for example, where XRandR calls consume up to 3s per test. commit 205cf0bb9b76790a053606b38df017759c61c6e9 Author: Sven Gothel Date: Thu Feb 23 19:28:14 2012 +0100 Passing environment-vars and ant-properties to junit tests, enabling fine grained controll of test behavior. Matching gluegen commit 5459979a097f91011d3f23ff6f25e1dc34b1d52a Environment vars, mapped to properties: JUNIT_RUN_ARG0 -> junit.run.arg0 JUNIT_RUN_ARG1 -> junit.run.arg1 This allows us to disable ScreenMode on Linux-ARM-Omap4 for example, where XRandR calls consume up to 3s per test. commit 06585fcd720b3a40e062cab96e8a49647a097600 Author: Sven Gothel Date: Thu Feb 23 16:57:31 2012 +0100 NEWT/ScreenMode DEBUG_TEST_SCREENMODE_DISABLED (-Dnewt.test.Screen.disableScreenMode) - If set also avoid 'getCurrentScreenModeImpl()' commit 5b05aa83f57b7492b2705529033a7eaa09cf4463 Author: Sven Gothel Date: Thu Feb 23 16:41:47 2012 +0100 NEWT: Add time costs in DEBUG mode. NEWT/XRandR: Reuse XRRScreenConfiguration to reduce perf hit on Linux ARM Omap4. On Linux ARM Omap4, we experience a performance hit when using XRandR: 1st call of XRRSizes: ~ 1668 ms Each call of XRRGetScreenInfo: ~ 1109 ms Even though XRRGetScreenInfo is cached in NEWT's X11Screen initialization, overall init time is ~2s, far too expensive. commit 352013de5564013fe2b6444e6469ef2886f1adb9 Author: Sven Gothel Date: Wed Feb 22 22:25:01 2012 +0100 Fine tune unit tests for ES platforms commit 52b596b1340c90a57948a81467f61ce98a2c2a66 Author: Sven Gothel Date: Wed Feb 22 17:31:29 2012 +0100 X11Screen: Only dump RandR version info in DEBUG mode. commit 7085c11e493e5a7bbe56a602a3252f4e28c2f974 Author: Sven Gothel Date: Wed Feb 22 17:30:56 2012 +0100 EGL Display Lifecycle Robustness Patch (impl. workaround) Added EGLDisplayUtil helper class managing the lifecycle of the EGL display handle recursively. This class is required, due to implementation bugs within EGL where EGL.eglTerminate(long) does not mark the resource for deletion when still in use, bug releases them immediatly. This fixes unit test com.jogamp.opengl.test.junit.jogl.acore.TestInitConcurrentNEWT on Linux ARM w/ Omap4 and Tegra2. commit a5a3d0dfa2c8c7e1e68dc4b066dda1011f471606 Author: Sven Gothel Date: Wed Feb 22 13:32:41 2012 +0100 Fix commit 33249b6eca519947b02f3bfbf05b73d73c936094 commit 33249b6eca519947b02f3bfbf05b73d73c936094 Author: Sven Gothel Date: Wed Feb 22 13:30:03 2012 +0100 DEBUG Output: More thread-names to drawable/context lifecycle; Remove massive '!!!' occurence commit b6d9ff622775fec83c3cced7cfdfcc3a5d7ffb44 Author: Sven Gothel Date: Wed Feb 22 09:27:44 2012 +0100 TestGPUMemSec01NEWT ES fix: No RGB read pixel available on ES platform commit 6504392ee23a6c19c1e2c9d5d35809af2950d4d7 Author: Sven Gothel Date: Wed Feb 22 03:56:14 2012 +0100 test scripts commit 1e27a36eb361f0acd71e78fba916372e36b0834c Author: Sven Gothel Date: Wed Feb 22 03:55:39 2012 +0100 Test: UITestCase.get*Name() takes 'String separator' as argument. commit e07ad0d729be92703df9726fac16162bfdb785d3 Author: Sven Gothel Date: Wed Feb 22 03:54:36 2012 +0100 GraphicsConfigurationFactory: Add DEBUG dump @ chooser commit 30174dec15f9777091d1c8634f2f512eca47bc75 Author: Sven Gothel Date: Wed Feb 22 03:53:50 2012 +0100 ExtensionAvailabilityCache: Remove 'XXX_NV_vertex_array_range' hack commit 4504693a4cacd273b2c5610b793aeb6af748ad09 Author: Sven Gothel Date: Wed Feb 22 03:53:13 2012 +0100 Fix VBORegion2PES2: Don't exceed MAQX_TEXTURE_SIZE commit b36ca1f8a21f3aa25a08a40097cb5f07393534c7 Author: Sven Gothel Date: Wed Feb 22 03:52:34 2012 +0100 TextureIO (TGA/NetPbm): Allow GL_BGR[A] and use GL_BGRA if available ; Fix NetPbmTextureWriter ; Added unit tests - Allow GL_BGR[A] usage (TGA / NetPbm) - Use GL_BGRA if available (TGA), utilize GLContext.isTextureFormatBGRA8888Available() - Fix NetPbmTextureWriter - Maintain 'auto' magic mode for 'spi' role in TextureIO (was overwritten) - Use FileChannel for nio buffer streaming, instead of array copy commit 7c76354038ea96c884028d34efa1b8b39363ba49 Author: Sven Gothel Date: Wed Feb 22 03:46:06 2012 +0100 Test (graph) fixes for ES - MSAATool: Catch gl-errors on glIsEnabled(..) queries - Call MSAATool.dump(..) in base class GPURendererListenerBase01 commit dd7a00f043292aa8a2fdf8941b32e95f92eea803 Author: Sven Gothel Date: Wed Feb 22 03:41:20 2012 +0100 Fix GLReadBufferUtil for ES platforms: RGB read format may not be supported. Use GL_IMPLEMENTATION_COLOR_READ_FORMAT/TYPE query commit d2ce5dd0feb2af211b6a94eaacc06110026b94b1 Author: Sven Gothel Date: Wed Feb 22 03:37:22 2012 +0100 FBObject: Meaningfull error message if TexImage2D fails. commit d2d3720d940566608ea14b14cb4aeb5890ff21e1 Author: Sven Gothel Date: Wed Feb 22 03:36:18 2012 +0100 FontSet (graph): get*(..) throws IOException - Proper passing and handling of IOException commit 4f175a49e682e0c98d137337a231617b5ae1f9dc Author: Sven Gothel Date: Wed Feb 22 03:31:06 2012 +0100 EGLDrawable: use the original requested Capabilities, ignore previously chosen ones (x11,win32,..) - they are not fit The previous chosen caps might come from GLX, WGL .. however, these caps doesn't reflect EGL's capabilities - they may reflect less features. This fixes missing MSAA on linux/armv7 w/ GLX enabled. commit a5e0661540b7dc6c10112ab8c0d3bc41a7b03080 Author: Sven Gothel Date: Wed Feb 22 03:29:09 2012 +0100 Minor GL/GLContext additions / cleanups (GL_BGRA, isNPOTTextureAvailable()) - Subsume GL_EXT_texture_format_BGRA8888 -> GL, Added GLContext.isTextureFormatBGRA8888Available() - Movied generic isNPOTTextureAvailable() from GL -> GLContext, used by GL (desktop), added simplified impl. in GLES1/GLES2 (false/true) commit 3bf2d88a4af2d207c141f93d4aaa0e88ac4057a5 Author: Sven Gothel Date: Wed Feb 22 03:20:58 2012 +0100 Remove unused class jogamp/opengl/gl2/Util commit a4c7bf0420e369e71561d2847f2fc444ce5abafa Author: Sven Gothel Date: Mon Feb 20 18:03:36 2012 +0100 API Change [GLProfile/GLContext]: Add notion of hardware acceleration in GLProfile.get() methods. We need to distinguish between software and hardware accelerated OpenGL profiles to allow choosing the proper profiles [default, GL2ES1, GL2ES2, ..] on platforms where both, software and hardware implementations exist (GL, GLES2, ..). Where no preference is being requested, hardware acceleration is favored: GLProfile.getDefault() GLProfile.getGL2ES1() GLProfile.getGL2ES2() Some method signatures needed to change GLProfile: getMaxProgrammable(AbstractGraphicsDevice device) -> getMaxProgrammable(AbstractGraphicsDevice device, boolean favorHardwareRasterizer) GLProfile adds: isHardwareRasterizer() Determination whether a hardware acceleration is being used or not is extended in GLContextImpl by querying the current context's GL_RENDERER string. If the latter contains 'software' (case insensitive) it is not hardware accelerated. At least this works w/ newer Mesa3D impl, where GLX_SLOW_CONFIG is not set! commit 505525c857bc4d62815a69463e263d0c2c847ac1 Author: Sven Gothel Date: Mon Feb 20 17:48:28 2012 +0100 Enable remote ssh unit test invocation [1] (testing w/ linux armv7) commit d97c54896d349e8a22c9cafec75c62476c16fdd1 Author: Sven Gothel Date: Mon Feb 20 14:43:13 2012 +0100 Fix commit fb7165e690546359dee92dd60b04be69f141c87e; Clarify ShaderState.attachShaderProgram(..) commit cde4111c7be2613025ad7648e20087bc8634b4cb Author: Sven Gothel Date: Sun Feb 19 03:28:50 2012 +0100 Hide dump of screen origin/size behind DEBUG flag. commit d962f232b8aabb0e1de95ee1482ee022deba7615 Author: Sven Gothel Date: Sun Feb 19 03:10:32 2012 +0100 Update linux armv7 scripts commit fb7165e690546359dee92dd60b04be69f141c87e Author: Sven Gothel Date: Sun Feb 19 03:10:09 2012 +0100 Cleanup ShaderCode/Program/State - Add multiple sources for create ShaderCode - Add Shaderstate attachShaderProgram w/ enable flag - Clarify doc commit dba6000389d9bcc8754262723d58f7c91cdd34ab Author: Xerxes Rånby Date: Sat Feb 18 23:23:59 2012 +0100 Add make/scripts/make.jogl.all.linux-armv7.sh for native ARM-linux builds. Signed-off-by: Xerxes Rånby commit 7bffdaff79e9344319abbe6003fcc26e08d2f937 Author: Sven Gothel Date: Fri Feb 17 17:18:02 2012 +0100 updated featured projects: Add: c3d, illarion; Removed: field commit d69b72d38e54682a823fadd87004319fd729f8dc Author: Sven Gothel Date: Fri Feb 17 17:15:40 2012 +0100 updated featured projects: Add: c3d, illarion; Removed: field commit 1b11ce632bf497f892b03a652e9d1b6ded3b5db9 Author: Sven Gothel Date: Wed Feb 15 17:24:54 2012 +0100 Bump links GL 4.1 -> 4.2 commit 3c98d6532a379ec43375c117dcbaf62268d40c0a Author: Sven Gothel Date: Wed Feb 15 17:16:22 2012 +0100 WWW: Add FROG and JebGL commit 7d87ace890d584675081eaade3b0685dc52bf8a5 Author: Sven Gothel Date: Wed Feb 15 13:56:43 2012 +0100 OpenGL EGL, ES1 and ES2 Header Sync incl. subsuming common extensions. - New EGL/ES headers from 2012-01-xx - Subsuming ES extensions to core, allowing aliasing of more enums/funcs to GL or GL2ES1/GL2ES2: GL_EXT_color_buffer_half_float GL_EXT_occlusion_query_boolean GL_EXT_robustness GL_ARB_robustness GL_EXT_separate_shader_objects GL_EXT_shadow_samplers GL_EXT_sRGB GL_EXT_texture_array GL_EXT_texture_rg GL_EXT_texture_type_2_10_10_10_REV GL_NV_draw_buffers GL_NV_fbo_color_attachments GL_EXT_packed_float GL_EXT_texture_storage commit fb31bd24d8f607b18ab3eef6b90a1e1e20a5ec82 Author: Sven Gothel Date: Wed Feb 15 13:51:22 2012 +0100 GLGLuegen: Enhance debug/analysis code and API comments - Use Gluegen.debug() setting - BuildStaticGLInfo.getExtension(name) returns a set of all extension where name occurs - GLConfiguration.shouldIgnoreExtension() reflects all extensions, inclusive the renames one and gives a warning in case the symbol belongs to multiple extension - in debug mode! - API comment: List all extensions, incl. the one from the renames, this allows having a proper list to which extensions the define/function belongs to. commit 354af5b403220b0d94d2d73e067c80d87ec3fc6d Author: Sven Gothel Date: Tue Feb 14 06:39:35 2012 +0100 OpenGL 4.2 functional support (GL header sync) Note: EXT_shader_image_load_store is dropped to favor ARB_shader_image_load_store Since no new (4.2) extension still does not require >= 3.1 all extensions are visible within the common profile GL2GL3. Please review! commit 413026e5f9277dc9271543d76d3094c299322c70 Author: Sven Gothel Date: Tue Feb 14 02:07:50 2012 +0100 Fix TestTransformFeedbackVaryingsBug407NEWT (2): Use getMaxProgrammable() for profile, allowing test on OSX (only has GL3 core profile at max). commit 95f8eaadfe15dfa8a6be4aa3d305f864e1018029 Author: Sven Gothel Date: Tue Feb 14 02:01:26 2012 +0100 Fix TestTransformFeedbackVaryingsBug407NEWT regression: Get default profile (not GL4) and check. Ooops. commit d78828c86dc55503fd739befb82501c78b0eb3b5 Author: Sven Gothel Date: Tue Feb 14 01:36:18 2012 +0100 Simplify TestTransformFeedbackVaryingsBug407NEWT: Use 'in thread' ctx flow and debug context. commit 0b316f93e9c633c44e9f7783d4748aa0d263f4fd Author: Sven Gothel Date: Tue Feb 14 01:25:32 2012 +0100 Fix ExtensionAvailabilityCache ; Enhance caching. ExtensionAvailabilityCache regression / enhancement: - Set context version (w/o string) before caching. This is required since we query the ctx version. Regression from 4011e70eed8c88aee0fcd051a50ab3f15bb94f68 - Remove GLContextImpl state. Only use the passed value at initialization. - Defined initialization, due to the 'new' cache/instantiation logic Remove redundant GLContext profile bits: - CTX_OPTION_ANY: implicit if !CTX_OPTION_FORWARD - CTX_IMPL_ACCEL_HARD: implicit if !CTX_IMPL_ACCEL_SOFT Cache key (ProcAddressTable, Extensions): - Mask out GLContext.CTX_OPTION_DEBUG | GLContext.CTX_IMPL_ES2_COMPAT, since they don't influence the cached values. commit 0da7eeff106c1a2bf9e730c504a09e38360f141e Author: Sven Gothel Date: Mon Feb 13 23:17:56 2012 +0100 Enhance ExtensionAvailabilityCache ; Expose extension count in GLContext (and clean up) - GLContext - Expose isFunctionAvailable(), isExtensionAvailable(), getPlatformExtensionCount(), getGLExtensionCount() - sort methods a bit ExtensionAvailabilityCache: - Favor StringBuilder instead of StringBuffer (faster) - Resuse set's - Hold dedicated counts of extensions, platform and GL commit 5aff72256a49af51c002a07526174b23cc040b6e Author: Sven Gothel Date: Mon Feb 13 23:13:19 2012 +0100 Test: Remove dedicated mobile profile test, will be included in TestGLProfile01NEWT commit be91765959db646cca0b03537f140da9fecd7450 Author: Sven Gothel Date: Mon Feb 13 14:27:53 2012 +0100 OSX CALayer fix for Java7 (force CALayer to 0/0, always remove all animations) commit f2bc8fe1f93b5a112093d9507bdb397e3b390215 Author: Sven Gothel Date: Mon Feb 13 12:51:40 2012 +0100 OSX/Java7 JAWT/JAWTUtil: Support OSX/Java7 CALayer only JAWT mode; Cleanup JAWT/JAWTUtil - Support OSX/Java7 CALayer only JAWT mode - Cleanup JAWT/JAWTUtil while moving elaborated logic and data to JAWTUtil, leave generated JAWT simple. commit c996bcdc264070ada3abce85becece2e852f93a4 Author: Sven Gothel Date: Mon Feb 13 12:41:03 2012 +0100 MacOSXCGLDrawableFactory: Fix typo 'Applet' -> 'Apple' for APPLE_float_pixels - be verbose about features in DEBUG mode (RECT, NPOT, APPLE_float_pixels) commit 5af2d74b9ae106d75895baf4757f4d41c39761d5 Author: Sven Gothel Date: Mon Feb 13 12:38:53 2012 +0100 Java2D OGLPipeline: Disabled for Max OSX commit 03b15ec0efc5af944da7d65aadab3a4bdf2e6c68 Author: Sven Gothel Date: Mon Feb 13 12:37:52 2012 +0100 Fix JOGL GLContextImpl ProcAddressTable and Extension Caching Bug caused using wrong extension cache and probably the wrong procAddress table. - do not reuse local field value if not cached - issue resetState() after each createContextARBMapVersionsAvailable(..) query - remove cache entry for extension (copy/paste bug) - resetState() shall clean platform extProcAddressTable in specializations commit e213836e39a1c0a909dbe47a25ec5bc10de06196 Author: Sven Gothel Date: Mon Feb 13 07:50:20 2012 +0100 Reduce GL* interface 'extends' to direct base interface. commit 4011e70eed8c88aee0fcd051a50ab3f15bb94f68 Author: Sven Gothel Date: Mon Feb 13 07:00:01 2012 +0100 OpenGL ES/EGL Overhaul - GLProfile properly detects native EGL/ES1/ES2 on the 'desktop' device factory. This allows usage of Mesa's EGL/ES or Imageon's PVR emulation, etc. - GLProfile drops getDefaultDesktopDevice() and getDefaultEGLDevice() since both are aligned by getDefaultDevice(). - Fix GL_ARB_ES2_compatibility detection and utilize resulting isGLES2Compatible() where possible. This allows ES2 compatible desktop profiles to use core ES2 functionality (glShaderBinary() .. etc) even with a GL2ES2 desktop implementation. - EGLDrawable: If createSurface(..) fails (BAD_NATIVE_WINDOW) w/ surfaceHandle it uses windowHandle if available and differs. This allows the ANGLE impl. to work. - Properly order of EGL/ES library lookup: ES2: libGLESv2.so.2, libGLESv2.so, GLES20, GLESv2_CM EGL: libEGL.so.1, libEGL.so, EGL - *DynamicLookupHelper reference will be null if it's library is not complete (all tool libs, all glue libs and a ProcAddressFunc lookup function - if named). - Enhance GL version string (incl. ES2 compatible, hw/sw, ..) - GLBase: Fix docs and remove redundancies - Prepared (disabled) DesktopES2DynamicLibraryBundleInfo to be used for a real EGL/ES2 implementation within the desktop GL lib (AMD). Sadly it currenly crashed within eglGetDisplay(EGL_DEFAULT_DISPLAY), hence it's disabled. commit ddd375375025fb83aba90c80b9a089876dad5434 Author: Sven Gothel Date: Wed Feb 8 17:47:17 2012 +0100 NEWT: Fix deadlock w/ AWT parent (NewtCanvasAWT) - focus window @ creation after releasing parent lock (AWT lock). commit 6bdf15f28da748c974536e799a9f6541e3615948 Author: Sven Gothel Date: Mon Jan 23 04:06:04 2012 +0100 javac - setup encoding to UTF-8 commit fc45c16c1442984a6e6e4ad308dbf15e91fd215c Author: Sven Gothel Date: Mon Jan 23 02:44:35 2012 +0100 GLDynamicLibraryBundleInfo: Remove 'nativewindow_x11' preload lib (implicitly loaded by NativeWindowFactory) commit 68cc9c136c5a37f6dacee24ecfe05fa712d8da4f Author: Sven Gothel Date: Mon Jan 23 02:18:12 2012 +0100 Minor edit: Suppress USE_WGLVersion_Of_5WGLGDIFuncSet message when default. commit 05dfc0ca320d6578cd596cc3384a3bbc6fc4e36f Author: Sven Gothel Date: Mon Jan 23 02:17:47 2012 +0100 Bug 551 validation. Turns out, that the culprit (at least on my Win7 NVidia machine) is the runtime property "-Dsun.java2d.opengl=false". When _not_ setting this prop. the test runs fine. commit aed2c7f2919d8b6d3de5b1a1dd9ab260f0c3663c Author: Sven Gothel Date: Mon Jan 23 00:55:44 2012 +0100 Use glFlush() in favor of glFinish() for bug 548 and bug 533 fix - due to performance issues. Chris reported a better performance using glFlush() instead of glFinish() while maintaining stability in respect to the NV bug on OSX 10.6.8. Even though this is at release() where we would assume a passed GL sync point (swap buffers) the driver may involve a whole I/O roundtrip .. well. commit 8867722e28fce9e8d519fbf4e2a0c1725568706a Author: Sven Gothel Date: Sun Jan 22 19:51:54 2012 +0100 Add verification script for compiled-in Java version; Add osx 32bit test script. commit d19cd1049d55f93580c37f6a9599f7583e160258 Author: Sven Gothel Date: Sun Jan 22 19:42:23 2012 +0100 Fix Bug 516 (Determine Java Version) / Fix OS X 10.5 linkage (weak framework, NEWT) - Fix Bug 516 (Determine Java Version). See gluegen: 64639b805a32338385421f168e12c1ef7f749d00 - Fix OS X 10.5 linkage (weak framework, NEWT) - Use weak framework linkage for all modules and frameworks: AppKit, QuartzCore, Cocoa, OpenGL, JavaNativeFoundation - NEWT: Handle NS exception while calling OS X >= 10.6 only methods: - 'setAllowsConcurrentViewDrawing()' - 'setCanDrawConcurrently()' commit 4635eb9f78456f14376ae524c8aee74019f770c5 Author: Sven Gothel Date: Thu Jan 19 05:53:15 2012 +0100 test scripts commit 5d437df5dc6f73f8a5aad760e9aeba5b5319b436 Author: Sven Gothel Date: Thu Jan 19 05:53:04 2012 +0100 NEWT/OSX: Window close (release) on main thread, ensuring no 'main thread' event is pending commit 8a2c18cf210ee6465e00f88cecd3ef109421ff1d Author: Sven Gothel Date: Thu Jan 19 05:52:21 2012 +0100 NativeWindow/OSX: Fix Offscreen CALayer SIGSEGV @ Shutdown (Cleanup referencing) - allocate CALayer w/ invoking init: [[CALayer alloc] init] - attach CALayer to JAWTSurfaceLayer w/o autorelease: surfaceLayers.layer = layer; // already incr. retain count - destroy CALayer @ JAWTWindow destroy commit 249351d96e22999db2ac83ad60eaa5c5c6120bd7 Author: Sven Gothel Date: Thu Jan 19 01:20:07 2012 +0100 UI Test AWTRobotUtil's toFront*(): retry requestFocus() within loop. commit 60d91b002fa941ab971ff9ed5ad6002f72c92af1 Author: Sven Gothel Date: Wed Jan 18 23:24:42 2012 +0100 UI Test / AWTRobotUtil: Relax and fix focus tests - toFront*(..) uses the AWT Window focus state, instead of our AWTWindowFocusAdapter, which removes false negatives. Often the focus is already hold on the Window where no focus change will be recognized by our AWTWindowFocusAdapter. - assertRequestFocusAndWait(..) recovers from lack of focus-lost event (if received focus-gained) and only dumps the case - returns success. - Since assertRequestFocusAndWait(..) implicitly tests the passed FocusAdapter and relaxes the constraints (see above) no more post-call assertions on the FocusAdapter is being performed (removed). - assertRequestFocusAndWait(..) is no more used on AWT Window or Frame, see 1st note above! commit ab3c5678527ba2e4f092b7426527b8053d12e790 Author: Sven Gothel Date: Wed Jan 18 23:12:36 2012 +0100 NEWT/X11: Fix Insets determination for undecorated / child window. Due to latest changes, a bug is disposed where the native 'updateInsets' attempts to determine the window insets by it's parent window (fall-back). The latter works only in case of a top-level window. Adding query to the WM whether the window is decorated (top-level) or not. Attempt to use the fall-back parent window method in case of a decorated window. This whole inset code based on the parent window is probably completly redundant, nevertheless we keep it alive until further notice. commit 319fdccb670743daa6c27e247591baf1f254e5ac Author: Sven Gothel Date: Wed Jan 18 23:08:30 2012 +0100 NEWT: Use accessors to read/write postion and size, allowing better trace and controlling autoPosition; Restrict more fields to private where possible. WindowImpl's position and size is made private and accessed by it's getter and setter (definePosition/defineSize). This allows better tracing of value changes and ensures autoPosition is set to false. commit bc933c6e18a68d9cd94b0349fb516852ac0c7457 Author: Sven Gothel Date: Wed Jan 18 03:42:52 2012 +0100 NEWT/OSX: Cleanup 'javaWindowObject' @ window-close & avoid NPE; Disable lostFocus (resignKeyWindow) when in fullscreen mode; Ignore invalid key release/type events. - Cleanup 'javaWindowObject' @ window-close & avoid NPE Ensure that the direct window.close() impl. removes the global reference and that all use cases check for NULL pointer. - Disable lostFocus (resignKeyWindow) when in fullscreen mode Similar to the X11 KDE bug, OS X delivers a lostFocus event which we prevent from being processed in fullscreen mode. - Ignore invalid key release/type events In case of offscreen/onscreen switching (fullscreen/reparenting) via destroy/create, the still pressed key would be send to the new window and repeat the action (key typed). State validation discards the double processing. commit d8bbddaea08bd6ae75bc5255ab33cbf15cf3a7be Author: Sven Gothel Date: Wed Jan 18 03:34:30 2012 +0100 Newt: Add fullscreen for offscreen windows (currently OSX only); Focus handling; Misc. - Add fullscreen for offscreen windows (currently OSX only), - Focus handling - requestFocus() @ creation - remove requestFocus() delay in setFullscreen() since focus loss in fullscreen mode is caused by a KDE 'misbehavior' in general. See X11Common.c FS_GRAB_KEYBOARD, an experimental focus loss prevention, disabled due to it's behavioral impact of removing the ability to use WM keyboard commands (task switcher). - Remove pending events waiting longer than TO (1200ms) commit d25c25339d8878980c5f45cd1ee602767ffe0f33 Author: Sven Gothel Date: Tue Jan 17 12:01:51 2012 +0100 NEWT/OSX: Cleanup NewtMacWindow header (sort, fix and add declarations); Remove warning of unused var commit 7c83b3d24dc376c9b3566f3d774c7ac4c7f1cb5a Author: Sven Gothel Date: Mon Jan 16 22:17:00 2012 +0100 NEWTWindow Focus: Skip requestFocus() if already owning focus; setFullscreen() requests focus 'later'. We shall rely on the focus state, hence we can skip 'requestFocus()' if we already own the focus. This allows a fast-path especially when called from native code (mouse click). Request focus 'later' on setFullscreen() allowing native WM to complete event handling, this is required especially on X11 to guarantee a focused fullscreen window. commit 73d6ec97e65743b49770cf13709082c80b77b935 Author: Sven Gothel Date: Mon Jan 16 21:23:42 2012 +0100 NewtCanvasAWT: Handle 'lost' child and fullscreen case. NewtCanvasAWT may loose it's parent role (reparenting). In such cases it shall no more handle focus events. Focus handling is also no more desired in case the child is in fullscreen mode. commit 10e77e2af4448c3404becdd2ce359a3f34a91f5c Author: Sven Gothel Date: Mon Jan 16 13:16:31 2012 +0100 NEWT childWindow: No autoPosition, use 0/0 as default. commit 26368a0ab1dfd612f29488cd1087c679868f7fbf Author: Sven Gothel Date: Mon Jan 16 13:15:50 2012 +0100 NEWT/OSX CALayer Animation Fix: Use '[layer removeAllAnimations]', '[layer removeAnimationForKey: kCAOnOrderIn, kCAOnOrderOut, kCATransition]' doesn't work commit f5c8cdad92687782184122fecc341258a6283d89 Author: Sven Gothel Date: Mon Jan 16 10:56:59 2012 +0100 NEWT/OSX Pointer Invisible Fix: 10.6.* responder declarations & test focus/isInside On OS X 10.6.8 the lack of responder method declarations (mouseEntered, ..) lead to ignore the impl. callbacks. 'isMouseInside' cannot rely on 'mouseExit'/'mouseEntered' when setMouseInvisible() is being called, deduce it manually. focusLost == mouseExit (OS X behavior), hence focusGained needs to set mouse invisible/visible in case it's requested. commit 3154801a0054de2dba775902f3da04c96638bb27 Author: Sven Gothel Date: Sat Jan 14 15:58:20 2012 +0100 Minor Edits: Add GL_RENDERER to JoglVersion dump; Fix typo in PMVMatrix. commit d109c311a49fc31f8656df54eb80e3599e666b33 Author: Sven Gothel Date: Sat Jan 14 15:57:37 2012 +0100 test scripts commit 48767a40c2461405dfce14e8d9eafbbab21d203e Author: Sven Gothel Date: Fri Jan 13 16:13:40 2012 +0100 NEWT/OSX Performance Fix: Cache CGDisplayScreenSize() result, since it's ridiculous slow Each call to CGDisplayScreenSize() took around 6ms (5ms .. 20ms, avrg 6ms) which added up to ~2s for ~400 Screen modes. commit d23b08203e32f8f50991a48132eb3c2236b4efc0 Author: Sven Gothel Date: Fri Jan 13 11:43:35 2012 +0100 OSX Fix: Catch releaseImpl's glFinish() exception (DebugGL); Make GLContext.release's setCurrent(null) exception prone. Catch releaseImpl's glFinish() exception (DebugGL) glGetError() after glFinish() (eg. w/ debug pipeline) produced unknown error 0x0506 on OS X (10.7.2 NV). Make GLContext.release's setCurrent(null) exception prone Call setCurrent(null) in finalizer block to ensure it's 'released' out of the TLS even when an exception is being thrown. Make MacOSX Shared Resources 'destroy' more error prone (catch exceptions) commit 835b36d626f75f9e96001a41c2a6fe9f90466ae1 Author: Sven Gothel Date: Fri Jan 13 00:11:56 2012 +0100 OSX Fixes: bug 548 (another regression: pixelfmt), ctx creation failure -> no exception, - bug 548: Another regression: pixelfmt failed for 10.6.7 and/or software OpenGL - enforcing accelerated leads to no pixelformat, - using the NSOpenGLView defaultPixelFormat causes to SIGSEGV - ctx creation failure shall just lead to return null, no immediate exception commit 6fecbcd14c069193aefa2e580aaa53de5265fce3 Author: Dan Krisher Date: Wed Jan 11 10:37:47 2012 -0500 Fix for use of SWT GLCanvas in headless mode (or with threading in worker mode). See discussion in Bugzilla #484 commit 1a79d4f87d750b3146b80bd861230022e66108d6 Author: Sven Gothel Date: Mon Jan 9 19:06:24 2012 +0100 Add 'AWT' in JOGL's SWT GLCanvas test case, since impl. still needs AWT threading (-> FIXME) commit cf9794c6f443154893354a5390246b295439635e Author: Sven Gothel Date: Mon Jan 9 19:01:26 2012 +0100 Better unit test names for SWT commit 96d07ce5f42107fe052080101e6af425c2bdec5b Author: Sven Gothel Date: Mon Jan 9 18:57:50 2012 +0100 Add JOGL SWT GLCanvas unit test commit 1e7d41372073d07a3662df4e646d63da4ebf2478 Author: Sven Gothel Date: Mon Jan 9 18:57:12 2012 +0100 minor edits / clarify SWT test descripion commit 450110cd75c6cd36f72a67cdd9f15ce5ba3bf2cf Author: Sven Gothel Date: Mon Jan 9 18:28:39 2012 +0100 SWT GLCanvas: Adapt to latest JOGL changes (init, destroy, ..), Align main() entry w/ AWT GLCanvas functionality. - commit 3d6bb4a75dfb4ad59820f332839804f993462470 Author: Sven Gothel Date: Mon Jan 9 18:27:23 2012 +0100 Complete SWT GLCanvas relocation commit 4a49a5576e77da0edaf10a30f8b9eda1a9e5cec3 Author: Sven Gothel Date: Mon Jan 9 17:53:54 2012 +0100 minor edits commit b7252ec43e5e658a561d380bed882666d8e47f55 Author: Sven Gothel Date: Mon Jan 9 17:53:36 2012 +0100 SWT GLCanvas: Java 1.5 clean (No @override for interfaces); Add license header; Remove dummy comments commit d959cf4c79ff5b44a907f6cefffab2234ff12eff Author: Sylvestre Ledru Date: Mon Jan 9 17:13:14 2012 +0100 Fix Bug 546: Provide more information about the system commit 3bde06d31680fc1e1d63fdef736208ed1dea9965 Author: Sylvestre Ledru Date: Mon Jan 9 17:06:58 2012 +0100 Fix Bug 547: Enable others architectures under GNU/Linux commit 4707049bf244c9a00be61e0610248f9aa1eb9490 Author: Sven Gothel Date: Mon Jan 9 15:57:45 2012 +0100 OSX: NW/NEWT use weak binding for Quartz and Cocoa (compatibility for 10.5) commit 537f87c4ef5edbdf86772b033aea0e3281191aa3 Author: Sven Gothel Date: Mon Jan 9 15:55:07 2012 +0100 OSX: JOGL desktop DLL now uses weak binding for Quartz, Cocoa and OpenGL (compatibility for 10.5) commit 99a3c076c3f9fce4870efdb435625f334f9d1b4e Author: Sven Gothel Date: Mon Jan 9 14:11:18 2012 +0100 OSX 10.6 build fix: '-F -> -F commit e702a9401d4564c970ddda71116d14d7661dd048 Author: Sven Gothel Date: Mon Jan 9 13:49:53 2012 +0100 Fix bug 548 and bug 533 - OSX [10.6] NVidia driver may require glFinish() before ctx release. commit 29d4e29537de0d9043fcb1363e707e4f6c16f6f3 Author: Sven Gothel Date: Mon Jan 9 03:52:53 2012 +0100 TestAWTCardLayoutAnimatorStartStopBug532: Minor edit / Uncomment Windows hdc/hwnd dump. commit acb48154608c8f4e3f49306ff6e2ab3d5df8bc72 Author: Sven Gothel Date: Mon Jan 9 03:52:08 2012 +0100 WindowsJAWTWindow: unlock() invalidates the 'hdc' (surfaceHandle) commit c49d29784986b1945343b9a90b5e0c9f3d95d937 Author: Sven Gothel Date: Mon Jan 9 03:51:35 2012 +0100 Dispatch the '5' GDI/WGL functions and allow using their 'wgl' variants. GDI is the default. The following 5 GDI functions have their 'wgl' counterparts which 'shall' being used in case the OpenGL DLL is being loaded dynamically. (So reads the documentation & FAQ). This seems to be required only in case the std. opengl32.dll is not being used. This use case is called GDI/ICD. If using a non std. OpenGL DLL, is called MCD. We dynamically load the OpenGL DLL and fetch the address pointer. Since we generally use the std. opengl32.dll, our use of the GDI callbacks seems to be legal. However, to test using the 'wgl' method WGLUtil is introduced. You can test using the 'wgl' variants by defining the property: 'jogl.windows.useWGLVersionOf5WGLGDIFuncSet'. In case you have troubles, ie crashes within pixelformat setup etc, it might be interesting if this may impact your behavior. - ChoosePixelFormat(long, PIXELFORMATDESCRIPTOR) - DescribePixelFormat(long, int, int, PIXELFORMATDESCRIPTOR) - GetPixelFormat(long) - SetPixelFormat(long, int, PIXELFORMATDESCRIPTOR) - SwapBuffers(long) commit 9e61d4529143ff3f6de15ce55f8e8747f67a86c9 Author: Sven Gothel Date: Sun Jan 8 06:52:03 2012 +0100 TestAWTCardLayoutAnimatorStartStopBug532: Refine, add 'continue' mode, .. Previous commit 098398c2a9145447da5314eed9792b3738c2d515 cleaned up and fixed context/drawable lock/unlock for makeCurrent()/release()/destroy() and consistency is looks much better now in this regard. However, on Intel HD 3000 / Windows7, our AnimatorControl start/stop still let the 2nd switch to GLCanvas within the CardPanel not showing rendering results. One interesting artefact though: 1st switch 2 GLCanvas (rendering visible): *** hdc 0x2f010ec5, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1] *** hdc 0x160110c4, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1] *** hdc 0x2f010ec5, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1] *** hdc 0x160110c4, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1] -> alternating HDC's 2nd switch 2 GLCanvas (rendering _not_ visible): *** hdc 0x160110c4, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1] *** hdc 0x160110c4, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1] *** hdc 0x160110c4, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1] *** hdc 0x160110c4, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1] -> fixed HDC Maybe this is a hint for what is going wrong in JAWTWindow locking, which aquires the frame's HDC. Verifying the recursive lock shows proper lock/unlock actions though. commit 6451e3c0c79fca92a39e32c2600c69f16dfc7f4d Author: Sven Gothel Date: Sun Jan 8 06:43:09 2012 +0100 GLContext/NativeSurface Impl's toString(): Add lock.toString() commit 098398c2a9145447da5314eed9792b3738c2d515 Author: Sven Gothel Date: Sun Jan 8 06:31:17 2012 +0100 GLContext*/GLDrawableHelper: Fix consistency of recursive makeCurrent()/release()/destroy() calls ; Enable context switch tracing ; GLCanvas: proper AbstractGraphicsDevice destruction GLContext*/GLDrawableHelper: Fix consistency of recursive makeCurrent()/release()/destroy() calls Utilizing volatile and lock.tryLock(0) for lockConsiderFailFast(), reducing redundant synchronization and using RecursiveLock implicit sync. GLContext 'early-out' is the case where the thread already holds the context, ie. context is already current and the native makeCurrent is skipped. makeCurrent()'s 'early-out' w/o incr. the recursive lock of GLContext and it's NativeSurface could lead to asymetry in lock/unlock count with release()/destroy() calls. The 1st release actually released the native ctx already. Properly utilize recursive lock/unlock in all cases and impl. 'early-out' after locking. Following the above in GLDrawableHelper.invokeGL()'s 'early-out' case as well, ie calling makeCurrent()/release() symmetrical. Introduce GLDrawableHelper.disposeGL(), which issues dispose on all GLEventListeners within a current context and issued context destruction directly. This simplifies GLAutodrawable's destroy/dispose calls and ensures that the above sequence of events happens atomically (lock is being hold until destruction). Enable context switch tracing If property 'jogl.debug.GLContext.TraceSwitch' is defined, trace context switch. GLCanvas: proper AbstractGraphicsDevice destruction commit 7ce29d85bb85c003c9dc3b94efa84b55dfbb7f86 Author: Sven Gothel Date: Sat Jan 7 06:17:31 2012 +0100 Animator*: Clarify debug output commit 2c005c6bf4abd2beafdc9b8cb4b713229bc2b359 Author: Sven Gothel Date: Fri Jan 6 10:39:28 2012 +0100 Fix TestAWTCardLayoutAnimatorStartStopBug532 pause/resume test commit 97940607411e33b28886ae4ac8a5e345fc7d015a Author: Sven Gothel Date: Fri Jan 6 00:11:30 2012 +0100 Added Unit-Test for Bug 532 to test Animator behavior w/ CardLayout and diff. Platforms commit 0b56df9939bcd2e0e1bd193f597206c60fe56c51 Author: Sven Gothel Date: Thu Jan 5 20:13:14 2012 +0100 Fix bug 549 - Incorrect calculation of count value in GLUniformData due to ignored buffer position. This was disclosed by testing agains the Intel HD 3000 GPU, resulting in an INVALID OPERATION GL error (correct). Other driver ignored this mismatch .. commit 701ee2108fe84422d4ec9ae3b22cfb7bc6f30c59 Author: Wade Walker Date: Tue Dec 27 14:49:32 2011 -0600 Fix Eclipse 3.7 Ant build Set Ant builder classpath to default to fix build problems. No Ant customization is needed in Eclipse 3.7+, since it includes Ant 1.8.2. commit e93efe83a96fcacb812a8ff8f4102578f88423f9 Author: Sven Gothel Date: Mon Dec 26 00:00:25 2011 +0100 NEWT/Android: MonitorMode: Don't validate refreshRate (0 on some devices); AndroidWindow: Trigger ScreenModeChanged only if Screen is already valid. commit 024b0f630e7392d2cdf586b4db42f2111a50a00c Author: Sven Gothel Date: Sat Dec 24 06:54:08 2011 +0100 ScreenImpl.ScreenMode: getOrAdd current ScreenMode. On Gnome it happend that the current mode was not 'scanned' by RandR, hence adding it if not existing helps stability. commit f0159e479d386e5ae7d1e5acfb44eb7a534cb24c Author: Sven Gothel Date: Sat Dec 24 04:15:52 2011 +0100 NEWT Windows/X11: Remove missed negative coordinate restrictions. commit 976e47291d052caab4b101d900270a073a3bbb55 Author: Sven Gothel Date: Sat Dec 24 03:24:29 2011 +0100 NEWT Screen: Add virtual top-left origin getX()/getY() ; WindowsWindow.c: allow negative coordinates - ScreenImpl: - Use Point & Dimension for holding virtual origin and size - updateScreenSize() -> updateVirtualScreenOriginAndSize() - DimensionImmutable getNativeScreenSizeImpl() -> void getVirtualScreenOriginAndSize(Point virtualOrigin, Dimension virtualSize) - WindowImpl setFullscreen(true): Use Screen virtual origin - WindowsWindow.c - For x/y coords use GET_X_LPARAM/GET_Y_LPARAM which casts '(int)(short)' to preserve negative coordinates. - NewtWindow_setVisiblePosSize() allow negative coordinates commit 3f5d71f14506da21db29d050e685a482df47b5cc Author: Sven Gothel Date: Fri Dec 23 05:08:46 2011 +0100 Fix regression of commit: 3f5df93484a2ea97c6e51a717f05d9ddcec64d84 (compile error, private field access) commit 04707d3c1c628d6bf493d6916621d5e34dfefc30 Author: Sven Gothel Date: Fri Dec 23 04:57:41 2011 +0100 NEWT/OSX MacWindow.close(): More conservative closing approach. Closing: - Java: Set handle to null - Native: - Don't release the NSView explicit, but rely on NSWindow's release - Don't use NSWindow close() but simply call release() instead. The latter doesn't produce a crash SIGSEGV on exit in some cases. OSX 10.7.2, NV GPU commit 3f5df93484a2ea97c6e51a717f05d9ddcec64d84 Author: Sven Gothel Date: Fri Dec 23 03:33:30 2011 +0100 Screen: width/height reflects virtual Screen size (-> big-desktop) Add updateScreenSize() utilizing new getNativeScreenSizeImpl() to set/update the virtual Screen size. This replaces setScreenSize() where the ScreenMode dimension was being used which doesn't reflect the virtual size. ScreenMode Test Impact: We cannot assertEquals(sm.getRotatedWidth(), screen.getWidth()), since ScreenMode size != virtual size. commit c6fca0edc9f092a8f08f14f6ad128b62c6227c6e Author: Sven Gothel Date: Fri Dec 23 01:45:24 2011 +0100 NEWT/X11: Fix regressions of commit f3f794fe37a7e33a771a4a702f3f46ead4dc6d03: Unresolved symbols. Disable VERBOSE. commit f3f794fe37a7e33a771a4a702f3f46ead4dc6d03 Author: Sven Gothel Date: Fri Dec 23 00:31:14 2011 +0100 NEWT Multi-Monitor 1/2: Allow negative window position; Validate Screen-Index; - Allow negative window position, using flag 'autoPosition' to mark a custom user position. This impacts Windows and X11 window creation code, which supports native auto positioning. - Screen: Validate Screen-Index. In 'big-desktop' mode the Screen index is always 0. This is true for X11 with Xinerama enabled and MS-Windows in general. Platforms w/o multiple Screen support always use index 0. - X11: Separate X11 Display/Screen/Window native code in their respective C files - Windows test scripts: use '%*' to catch all arguments - Add missing (c) commit d225d0a8a16e362ddb14cb93c124eb06cf0ff05e Author: Sven Gothel Date: Thu Dec 22 01:16:12 2011 +0100 GLJPanel: Fix dispose of backend (J2DOGL thread, no double dispose).., GLJPanel: - fix dispose of backend - proper J2DOGL thread - no double dispose - remove VERBOSE - no dispose regenerate flag - add @Overrride - more safe createContext(..) impl - setSynchronized(true); for all backends - ensure AbstractGraphicsDevice close() is being called GLDrawableHelper: - Clarify w/ isDisposeAction = null==initAction GLPbufferImpl: - ensure AbstractGraphicsDevice close() is being called Java2D: - remove VERBOSE - commit 044bf81567f0cb809a5e42094c98e1306867d625 Author: Sven Gothel Date: Wed Dec 21 23:28:57 2011 +0100 win make scripts - bump to 6u30 commit a2ad741de1d9e784e2016184d07c2b7901f04f42 Author: Sven Gothel Date: Tue Dec 20 23:07:19 2011 +0100 NEWT OSX: Add native ScreenMode impl. - TODO: Programmatically set the rotation! (How to ?) Get/Set ScreenMode impl on OSX. Set is limited to resolution and size, since I don't know how to change the rotation. commit baca92ef4cead762663efa61e81584c8a8ece7b4 Author: Sven Gothel Date: Tue Dec 20 20:43:56 2011 +0100 NEWT initScreenModeStatus(): Issue setScreenSize() to update screen size based on native RANDR (more correct) Clarify Screen's getWidth(), getHeight() values (-> rotated) Also add DEBUG output for collected native modes and nativeIdx mapping. commit 734a9dbc4b8eaedf0e0bb698b8692ebd31ff8707 Author: Sven Gothel Date: Tue Dec 20 01:40:08 2011 +0100 Fix html applet test page commit 768a55640767c7e58a54bee724d27eac484e70c6 Author: Sven Gothel Date: Mon Dec 19 17:15:48 2011 +0100 Add Everplanes; Moved images to media subfolder. Remove obsolete Sun contributor agreements and TCK license. commit 33da143372ec23bcc1a180bacf87d89e9a58846c Author: Sven Gothel Date: Mon Dec 19 15:13:22 2011 +0100 Add git repo url commit 78c45f888d831c700227c4f6f3bf6aa0b30aa247 Author: Dan Krisher Date: Mon Nov 14 12:51:23 2011 -0500 Hopefully fixed use of GLCapabilitiesChooser (I didn't realize that this was already handled via the proxy surface factory). Needs testing commit eca59450698e832b329169ba12fa5953f6052bce Author: Dan Krisher Date: Mon Nov 14 12:42:11 2011 -0500 [WIP] Added an SWT based GLCanvas implementation nearly identical to the AWT version. Modified build to produce a jogl.swt.jar, and include this in jogl.all.jar. Presently there is no unit test (just a 'main' in the jogamp.opengl.swt.GLCanvas), and this does not support correct selection of GLCapabilities (FIXME and TODO tags in the source state why).