aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java/games
Commit message (Collapse)AuthorAgeFilesLines
* Worked around bugs in NVidia's recent drivers. Added more debugging code.Kenneth Russel2005-02-141-22/+48
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@227 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed performance issues with accelerated GLJPanel on ATI cards. Kenneth Russel2005-02-141-25/+2
| | | | | | | | | Setting of the GL_PACK_LSB_FIRST property confused the drivers even though it didn't apply to the frame buffer readback (it applies only for bitmap data, and we were reading bytes.) git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@226 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 110: NativeLibLoader should have a flag for loading the library Kenneth Russel2005-02-121-25/+36
| | | | | | | Applied suggested patch from submitter. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@225 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed unneeded rewind() calls.gkw2005-02-111-22/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@224 232f8b59-042b-4e1e-8c03-345bb8c30851
* OutOfMemoryError exceptions are now handled correctly.gkw2005-02-111-230/+161
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@223 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added extended error code information for wglShareLists failuresKenneth Russel2005-02-101-1/+2
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@222 232f8b59-042b-4e1e-8c03-345bb8c30851
* gluBuild2DMipmapLevelsCore packed-pixel routines were pointinggkw2005-02-081-12/+12
| | | | | | | to the wrong source buffer and were halving to the wrong size. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@221 232f8b59-042b-4e1e-8c03-345bb8c30851
* Hooked in GKW's Java port of the GLU library's mipmap and image Kenneth Russel2005-02-073-37/+64
| | | | | | | | | | | | | | | | | scaling operations. Added new ForceProcAddressGen directive to GlueGen to force the addresses of the C routines to be fetched even though the functions were being ignored by the core JavaEmitter. Cut down on the number of variants of gluScaleImage and associated routines. Changed the Java signatures of the affected methods to take Buffer again instead of ByteBuffer (as was done during prototyping) to attempt to maintain binary compatibility with current JOGL programs. Fixed bug / problem in gluScaleImage implementation where incorrect scaling of pixel values was being applied in Image.empty_image(); there may be additional problems here for other pixel types. Put debugging code in BuildMipmap under jogl.debug.BuildMipmap System property. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@215 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 136: Return correct pbuffer support for ATI cardsKenneth Russel2005-02-071-0/+11
| | | | | | | | Added a workaround in X11GLContext for bug in ATI's drivers where they report only GLX 1.2 support, but actually do support pbuffers. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@214 232f8b59-042b-4e1e-8c03-345bb8c30851
* Changes to GLJPanel to make it work on Mac OS XKenneth Russel2005-02-041-7/+22
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@213 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added double-buffer argument to Mac OS X OpenGL context creationKenneth Russel2005-02-041-0/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@212 232f8b59-042b-4e1e-8c03-345bb8c30851
* Issue 44: Add pbuffer-based GLJPanel implementation Kenneth Russel2005-02-041-1/+2
| | | | | | | | Enabled hardware acceleration for GLJPanel by default after testing on Windows and Linux platforms. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@211 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed bug in X11GLContext where additional locking was needed inKenneth Russel2005-02-042-1/+19
| | | | | | | | pbuffer case. Doesn't seem to (and shouldn't) affect the normal onscreen case. Added additional debugging output. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@210 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 44: Add pbuffer-based GLJPanel implementation Kenneth Russel2005-02-0313-156/+563
| | | | | | | | | | | | | | | | | | | | | | | | Fixed Issue 61: Make debug variables load from system properties Added a hardware acceleration path for GLJPanel implemented using the GLPbuffer interfaces. If instantiation of the pbuffer fails, the GLJPanel implementation attempts to catch the resulting exception and fall back on the existing software rendering path. The new code has been successfully tested on Windows. This checkin attempts to make the needed changes to the pbuffer implementation on other platforms, but the GLJPanel continues to use software rendering until all platforms can be tested. Additionally, references to static final DEBUG flags have been made settable via system properties. "jogl.verbose" enables certain printing statements. "jogl.debug" enables all debugging printing. "jogl.debug.GLContext" enables the debug printing inside the GLContext class. The system property names are chosen by convention and are not enforced. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@209 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed build problems after integration of GKW's Java port of GLU Kenneth Russel2005-02-035-18/+20
| | | | | | | mipmap code git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@208 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 37: GLJPanel + Animator.stop() halts event dispatch thread Kenneth Russel2005-02-031-2/+1
| | | | | | | Updated heuristic of when to block waiting for the animator to stop. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@205 232f8b59-042b-4e1e-8c03-345bb8c30851
* Initial Check-Ingkw2005-02-0331-0/+10142
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@204 232f8b59-042b-4e1e-8c03-345bb8c30851
* Merged in changes from Blackbird branch: refactoring and rewriting of Kenneth Russel2005-02-029-80/+172
| | | | | | | | | portions of GlueGen for more flexibility. Also fixed source-level problems associated with making GLCapabilities' clone() not throw CloneNotSupportedException. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@202 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 41: WindowsOffscreenGLContext failed to create with "Unable to ↵Kenneth Russel2005-01-312-3/+11
| | | | | | | | | | | | | | set pixel format" This is probably due to JOGL trying to request a double-buffered pixel format for the offscreen surface. To prevent applications from having to explicitly set the DoubleBuffered property of the GLCapabilities to false, the GLCanvas now clones the incoming GLCapabilities and disables double-buffering before requesting the underlying GLContext. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@200 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 118: EXCEPTION_ACCESS_VIOLATION on show of 2nd canvas ↵Kenneth Russel2005-01-313-2/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (ATI-specific) The root cause of this bug was not the new DummyGL code, but severe bugs in ATI's OpenGL drivers where it appears that if an OpenGL context is ever made current on more than one thread during the lifetime of an application, problems begin to occur such as the SetPixelFormat call failing on the just the next newly-created HDC, or all subsequent SetPixelFormat calls failing on all subsequently-created HDCs. This was occurring because the single-threaded ATI workaround's automatic detection mechanism was not being enabled until the first time a context was made current, but by then it was typically too late; the context was made current on the end user's thread during e.g. Frame.show(), and if it was ever made current on another thread (like the AWT event queue thread, which is where all OpenGL operations are performed when the single-threaded workaround is enabled) then the problems would begin. The failure has only been seen on Windows so far; ATI's drivers on X11 seem to be better behaved. The workaround is to check for the presence of ATI's drivers very early during JOGL's initialization, by looking in the system directory for atioglxx.dll, and enabling the single-threaded workaround if it was found. This workaround causes the attached test case to work properly. Also added some more debugging code to make diagnosing problems like these easier in the future. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@196 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 97: Flickering when using ATI_WORKAROUND Kenneth Russel2005-01-292-14/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | The root cause was that JOGL's single-threaded workaround had a bug where if automatic swap buffer support was disabled, the user's calls to swapBuffers() were not being retargeted to run on the AWT event queue thread, as calls to display() were. The effect of this was that the OpenGL rendering was not necessarily guaranteed to complete before swapBuffers() was called, unless a glFlush() / glFinish() pair was inserted. Interestingly, testing showed that inserting the glFlush() / glFinish() just before the call to swapBuffers(), which was executing on the user's thread rather than the AWT event dispatch thread, did not cause the rendering output to complete properly. This implies either a bug in the implementation of glFlush() / glFinish() on the testing platform or a misunderstanding on my part of how these APIs behave. Putting the flush/finish after all of the OpenGL work done by the user in their display() routine worked correctly. Regardless, the intent of the single-threaded workaround was to cause all OpenGL-related work to be done on the event dispatch thread, which it now does. This fixes the reported problem. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@195 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 126: Patch to allow building native driver on BSD Kenneth Russel2005-01-281-2/+3
| | | | | | | | Incorporated patch, slightly modified to not perturb the Linux build in any way. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@194 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 54: No GL listener callbacks when setting render thread before ↵Kenneth Russel2005-01-281-0/+19
| | | | | | | | | | | | | | | | | | | | window is visible The issue (or a related one) is still present in the current JOGL build, although the symptom was different: a deadlock upon startup of the application. When the OpenGL context is created in the WindowsOnscreenGLContext implementation, it causes Component.getGraphicsConfiguration() to be called, which causes the AWT tree lock to be grabbed. Under some circumstances, another thread can already hold the AWT tree lock and call GLContext.invokeGL(), which leads to a classic deadlock. Resolved this by eagerly grabbing the tree lock under some circumstances (not all the time) before entering the synchronized invokeGL in (only) the Windows onscreen context implementation. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@193 232f8b59-042b-4e1e-8c03-345bb8c30851
* Partial fix for Issue 88: Add Linux amd64 support to JOGLKenneth Russel2005-01-276-9/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The stub_includes headers and GlueGen config files have been changed to make X identifiers and similar values appear to Java to be 64-bit values on all platforms, rather than changing between 32-bit and 64-bit values depending on the architecture. This allows the shared Java code in the JOGL X11 implementation to work on both 32- and 64-bit architectures, which is an important step toward having complete 64-bit support in JOGL. Compared to the suggested patch, there is no longer a need to duplicate the sources in net.java.games.jogl.impl.x11 because the Java sources are now 64-bit clean. The change to use dlsym on Linux/AMD64 instead of glXGetProcAddressARB has been conditionalized under a run-time flag. Most of the build.xml and all of the GlueGen changes were incorporated unchanged. Thanks to the original authors of the patch for this work. At this point "ant linux.amd64" should build a working JOGL. However, it can not yet be incorporated into the distribution's platform- independent jogl.jar; in order to do this, the generation of the StructAccessors for the JAWT and some other X11 data structures by GlueGen will need to be conditionalized depending on the platform so that the 32-bit versions go in one directory, the 64-bit versions in another, and a run-time check is done to determine which version to instantiate. There are also a few remaining cleanups to generated glue code such as net.java.games.jogl.impl.x11.GLX.XGetVisualInfo(), which needs to be made platform-independent by calling the XVisualInfo.size() accessor rather than hardwiring in the size of the data structure (although the real solution will probably need to be more complicated since there will probably be two XVisualInfo implementations in the jar file). git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@190 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 106: JOGL fails to startup on Inter extreme graphics hardware - ↵Kenneth Russel2005-01-271-37/+48
| | | | | | Exception with wglGetPixelFormatAttribivARB git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@188 232f8b59-042b-4e1e-8c03-345bb8c30851
* Initial incomplete GLU NURBS port under net.java.games.jogl.impl.nurbs Kenneth Russel2004-12-2013-0/+3485
| | | | | | | and a small README about the procedures being used during the port git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@180 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 123: Use of "enum" as variable name should be eliminated in JOGLKenneth Russel2004-12-071-3/+3
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@179 232f8b59-042b-4e1e-8c03-345bb8c30851
* Upgraded JOGL and JOGL demo webstart jars to 1.1 b07.Kenneth Russel2004-11-201-1/+1
| | | | | | | Upgraded version number to 1.1 b08. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@176 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed bug pointed out by art in the JOGL forums where cap of sphere Kenneth Russel2004-11-191-1/+1
| | | | | | | was not being drawn if filled and untextured. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@175 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added files missed in recent GLU putbackKenneth Russel2004-11-194-0/+1891
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@174 232f8b59-042b-4e1e-8c03-345bb8c30851
* Conditioned ATI_WORKAROUND notice on jogl.verbose system propertyKenneth Russel2004-11-191-1/+3
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@173 232f8b59-042b-4e1e-8c03-345bb8c30851
* Partial fix for Issue 42: Problems invoking GLU functions Kenneth Russel2004-11-182-6/+31
| | | | | | | | | | | Incorporated the LWJGL team's port of the GLU quadric and projection routines to be able to eliminate calls to the native GLU library for these cases, which was problematic on certain Linux distributions. Still need to port at least some of the mipmap routines and the NURBS tesselator. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@172 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 22: GLException hides user exception Kenneth Russel2004-11-181-7/+33
| | | | | | | | | | | | The central try/finally cause in GLException.invokeGL() called GLContext.free() after catching and rethrowing the end user's exception from the GLEventListenerdisplay() routine, which caused the end user's exception to be overwritten with the internal GLException. Fixed this by initializing the cause of the internal exception, and also continuing to propagate out the end user's exception. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@171 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 119: Dual-head problems on Windows XP Kenneth Russel2004-11-152-4/+5
| | | | | | | | | Added needed synchronization around creation of dummy windows for wglChoosePixelFormatARB calls. Fixed race condition in StaticGLInfo initialization. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@170 232f8b59-042b-4e1e-8c03-345bb8c30851
* Incremented version number to 1.1 b07Kenneth Russel2004-11-011-1/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@166 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed redundant code.gkw2004-10-291-7/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@163 232f8b59-042b-4e1e-8c03-345bb8c30851
* recomputeSingleThreadedWorkaround() erroneously disabled contextgkw2004-10-271-1/+3
| | | | | | | optimization when ATI_WORKAROUND=false. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@161 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed hacks from cg.h and cgGL.h that are no longer necessary now Kenneth Russel2004-10-221-1/+2
| | | | | | | | that GlueGen understands typedefs more completely. Upgraded cgGL.h to Cg 1.3 beta 2 header; missed in last checkin. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@158 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 34: glutWireCube / glutSolidCube generate wrong cubesKenneth Russel2004-10-051-11/+15
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@156 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 71: glMultiDrawElements() is missing Kenneth Russel2004-10-047-125/+230
| | | | | | | | | | | | | | | Added support to GlueGen to handle pointer-to-pointer types for primitive types, like void** and int**. These are exposed as arrays of appropriately-typed direct java.nio Buffers for simplicity. Checks for whether the buffers are direct are performed and null checks for the individual Buffer objects are done as well. Fixed an existing bug in the conversion of outgoing char** arguments in C to String[] in Java where null checks were missing; this showed up as crashes in glShaderSourceARB. Exposed glMultiDrawElements and several other less-common entry points taking void** arguments. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@154 232f8b59-042b-4e1e-8c03-345bb8c30851
* addShutdownHook needed to be wrapped in a call to ↵gkw2004-08-171-2/+8
| | | | | | AccessController.doPrivileged in order to work with applets and Web Start. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@153 232f8b59-042b-4e1e-8c03-345bb8c30851
* Incremented version number to 1.1 b06Kenneth Russel2004-08-061-1/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@152 232f8b59-042b-4e1e-8c03-345bb8c30851
* Bug fix from user GKW on the JOGL forums for problems reported by Kenneth Russel2004-08-035-81/+240
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | users in JOGL 1.1 betas where the code path for wglChoosePixelFormatARB (supporting full-scene antialiasing) was failing on older cards. The old drivers expect an OpenGL context to be current while the wglChoosePixelFormatARB and associated calls are being made, even though the documentation explicitly states that this is not necessary. GKW's fix creates a native window synchronously (independent of the AWT) and associates an OpenGL context with it which is used to choose pixel formats for other windows on the same GraphicsDevice. Upon VM shutdown, a native message pump is started which causes proper disposal of the native window and its OpenGL contexts. There is currently no bug ID associated with this fix, although it may be a component of completely addressing several open bugs. Also includes a bug fix from GKW and kbr for: Issue 98: Just 1st frame rendering on ATI Radeon This was a race condition between JOGL's automatic discovery that the ATI_WORKAROUND was needed and the creation of the first GLCanvas and associated Animator. The need for disabling the setRenderingThread optimization was computed too late, incorrectly locking out other threads (in particular, the AWT event queue thread) from performing rendering of the component. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@144 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 86: code generation problemKenneth Russel2004-07-151-20/+25
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@139 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 96: Off-by-one error in pixel format selection on WindowsKenneth Russel2004-07-151-2/+4
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@138 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed build problems on Linux after bug fixes to context destructionKenneth Russel2004-07-152-12/+13
| | | | | | | and recreation git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@137 232f8b59-042b-4e1e-8c03-345bb8c30851
* Bug fix to new context destruction / recreation code associated with Kenneth Russel2004-07-091-14/+14
| | | | | | | | | | | | recent checkin for following issues: Issue 59: GLContext Leak Issue 67: Java/Jogl app hangs some systems, not others, during reshape. Issue 69: Error on window resize Issue 89: Losing Backbuffer when Resizing/Moving a window git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@136 232f8b59-042b-4e1e-8c03-345bb8c30851
* fix build breakageGerard Ziemski2004-06-212-2/+2
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@135 232f8b59-042b-4e1e-8c03-345bb8c30851
* pbuffers have been implemented in Mac OS X jogl port for some time now, ↵Gerard Ziemski2004-06-201-3/+11
| | | | | | regsiter then as avaialable to developers, not just for internal use git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@133 232f8b59-042b-4e1e-8c03-345bb8c30851
* This putback attempts to address the following issues: Kenneth Russel2004-06-1912-32/+323
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue 59: GLContext Leak Issue 67: Java/Jogl app hangs some systems, not others, during reshape. Issue 69: Error on window resize Issue 89: Losing Backbuffer when Resizing/Moving a window The primary change is to support handing off of the display() implementation to the AWT event queue thread via a new class called SingleThreadedWorkaround in the impl package. This was done to cause the AWT's reshape code to execute on the same thread as all other OpenGL rendering without changing the threading model (e.g., Animator and the ability to manually call display()) visible to the end user. This set of changes appears to work around the problems seen on ATI cards with random corruption when resizing animating windows due to multithreading bugs in the drivers. More testing by a larger community will confirm this fix. Currently the workaround is enabled by default on ATI cards. A secondary but related change is to properly destroy the OpenGL context when a heavyweight component is removed from its container. In order to implement the above workaround, it was necessary to override addNotify and removeNotify to properly track whether GLCanvases were realized; at that point it was a fairly small step to properly delete and recreate OpenGL contexts. The previous heuristics which attempted to determine when a heavyweight had been realized have been removed. A new demo, TestContextDestruction, exercises the new functionality. It does still appear to exhibit resource leaks, however; removing and re-adding the GLCanvas from its parent multiple times causes the system to eventually slow down significantly. More work is needed in this area. However, the demo does now execute as opposed to throwing an exception which was the previous behavior. The current code has been tested on Windows on NVidia hardware with all existing demos with the workaround both enabled and disabled, and on ATI hardware with the existing compatible demos with the workaround enabled. The new abstract method in GLContext, destroyImpl(), has been implemented but not yet tested on X11 and Mac OS X. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@132 232f8b59-042b-4e1e-8c03-345bb8c30851