aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java/games/jogl/impl/x11
Commit message (Collapse)AuthorAgeFilesLines
* Merged JSR-231 branch on to the main JOGL trunk. The main trunk now Kenneth Russel2005-10-246-1534/+0
| | | | | | | | contains the evolving JSR-231 Reference Implementation and the JSR-231 branch is permanently closed. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@401 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 168: Add support for transparency in GLJPanel Kenneth Russel2005-06-304-18/+0
| | | | | | | | | | | Obey setOpaque() when selecting buffered image type. User must still request alpha bits in the GLCapabilities. Not supported on all back-end renderers; for example, Microsoft GDI renderer does not implement alpha bits when rendering to DIB sections. Added examples of use in JGears and JRefract demos. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@314 232f8b59-042b-4e1e-8c03-345bb8c30851
* Javadoc fixesKenneth Russel2005-05-276-6/+6
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@287 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed bug in floating-point pbuffer support on Linux and made HDR demoKenneth Russel2005-05-272-2/+2
| | | | | | | better-behaved on Linux git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@286 232f8b59-042b-4e1e-8c03-345bb8c30851
* Attempt to make floating-point pbuffers portableKenneth Russel2005-05-201-0/+8
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@277 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added floating-point pbuffer support on X11Kenneth Russel2005-05-191-8/+5
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@274 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added more locking of AWT around GLX commands during X11 visualKenneth Russel2005-05-112-28/+53
| | | | | | | selection to fix problems seen on Solaris/x86 git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@270 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 92: Platform Independent VSync functionality Kenneth Russel2005-04-241-0/+7
| | | | | | | | | Added GL.setSwapInterval() which delegates to appropriate platform-dependent routines. Must be called only from within GLEventListener callbacks. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@260 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
* Fixed bug in X11GLContext where additional locking was needed inKenneth Russel2005-02-041-1/+15
| | | | | | | | 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-032-12/+26
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Partial fix for Issue 88: Add Linux amd64 support to JOGLKenneth Russel2005-01-273-8/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 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
* This putback attempts to address the following issues: Kenneth Russel2004-06-194-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Added full-scene antialiasing (FSAA) supportKenneth Russel2004-04-203-43/+61
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@111 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Javadoc problemsKenneth Russel2004-04-124-143/+242
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@107 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed build problems in X11SunJDKReflection.javaKenneth Russel2004-04-091-14/+25
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@98 232f8b59-042b-4e1e-8c03-345bb8c30851
* Intermediate checkin of improved visual selection mechanism. Intended Kenneth Russel2004-04-091-0/+90
| | | | | | | | | | | to fix problems on X11 platforms including inability to choose a visual and lack of multi-head support, as well as to improve the selection algorithm on all platforms by allowing the window system to provide a recommended visual selection. Lays the groundwork for full-scene antialiasing and multihead support on multiple platforms. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@97 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 25: Expose swapBuffers(), please Kenneth Russel2004-04-084-4/+4
| | | | | | | Fixed Issue 31: Make it safe to remove listeners from a GLDrawable while handling an event git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@93 232f8b59-042b-4e1e-8c03-345bb8c30851
* implemented GLJPanel for Mac OS XGerard Ziemski2003-11-192-0/+24
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@74 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed bug in offscreen contexts' pending resize logic pointed out byKenneth Russel2003-08-131-1/+1
| | | | | | | GKW on community.java.net/games JOGL forum. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@52 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added sharing of display lists and textures among OpenGL contextsKenneth Russel2003-07-085-13/+41
| | | | | | | | | through new methods in GLDrawableFactory; GLContext has not been exposed in the public API. Tested with new simple TestContextSharing demonstration on Windows, Linux and Mac OS X. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@18 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added pbuffer support to JOGL on X11; HWShadowmapsSimple andKenneth Russel2003-07-033-61/+396
| | | | | | | | | | | | | | | | | | ProceduralTexturePhysics demos are now working on Linux with the appropriate hardware. Moved core GLX routines out of the public GLX interface; this allowed XVisualInfo (and the new GLXFBConfig) to be removed from the public API. Added support to GlueGen for returning arrays of pointers as arrays of StructAccessors in Java and for choosing the typedef name for a pointer-to-struct if the struct itself does not have a typedef name. Added support to GLEmitter to emit ProcAddressTables under arbitrary names and to support arbitrary mechanisms for fetching those tables. Made GLU (on all platforms) and GLX (on X11) be dynamically linked. Refactored ProcAddressTable filling to be mostly shared code. Tested changes on Linux, Mac OS X and Windows. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@17 232f8b59-042b-4e1e-8c03-345bb8c30851
* Initial revisiondjp2003-06-084-0/+836
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@3 232f8b59-042b-4e1e-8c03-345bb8c30851