aboutsummaryrefslogtreecommitdiffstats
path: root/make/stub_includes/x11
Commit message (Collapse)AuthorAgeFilesLines
* Further ATI (fglrx) X11Display bug workaround/cleanupSven Gothel2010-04-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - See https://bugzilla.mozilla.org/show_bug.cgi?id=486277 - Calling XCloseDisplay occasionally leads to a SIGSEGV, even thought the reference is valid and OK. Workaround is not to close any X11Display, but to hold them stashed and reuse them. Since we already pipeline all X11Display's via Nativewindow's X11Util, an added referenceCounter and a global active/passive list solved this problem. This workaround is only active in case 'isVendorATI()'. NEWT/NativeWindow X11: - Let XIOErrorHandler and invalid display references fail hard with FatalError, otherwise we won't see the stack trace - and those bugs are indeed fatal. NativeWindow X11: - Install XIOErrorHandler, which stays active. - X11Util.X11Display: - Add reference counter - Add global active/passive list. Passive if reference count == 0 and marked as 'un-closeable' (-> ATI). Reusing passive members when create a new display. - JOGL: - Use DeleteLocalRef() calls to free temp NIO buffer in manual *Copied implementation. - GLDrawableFactoryImpl: Be serious about the shutdown() semantics - *GraphicsConfiguration: - Fix the invalid Onscreen/PBuffer/Pixmap determination (X11/EGL/WGL) - Just return null if not valid - X11GLXGraphicsConfigurationFactory - FBConfig - Determine recommendedIndex properly .. - Don't bail out if a FBConfig is invalid .. - Use Chooser in case nothing is recommended .. - X11OffscreenGLXDrawable fixes bugs: - wrong (int) cast of parent window in XCreatePixmap call - setting display to zero too early in destruction, ie before XCloseDisplay - X11GLXDrawableFactory is using [singleton] shared dummy resources for - Screen, Drawable and Context which are utilized in case they are needed .. They are removed at shutdown call - GLXVersion gathering in GLXUtil now .. - DefaultGLCapabilitiesChooser: Respect PBuffer selection Tests: - Add DrawableFactory shutdown() - Add various Offscreen Capabilties - Add Offscreen and non-pbuffer case - JUnit Passed (Linux64bit: NVidia/ATI) - demos.jrefract.JRefract passed (Linux64bit: NVidia/ATI)
* NEWT: Add EventDispatchThread (EDT) pattern.Sven Gothel2009-10-101-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to limitations on Windows, we need to standardize the one thread for - window creation, and - event dispatching This was already mentioned in the previous implementation but while integrating into another threading model (Plugin3), it turned out that manual managing the thread is too much of a burden. NEWT now uses a EDT per Display and Thread as the default, where Display creation, Window creation and event dispatching is 'pipelined' into. This can be switched off: NewtFactory.setUseEDT(boolean onoff); and queried via: NewtFactory.useEDT(); Note this EDT impl. does not implicate a global lock or whatsoever. The experimantal semantics of a current GL context for input event dispatching is removed, i.e. the GL context is no more made current for mouse/key listener. This reduces the complexity and allows the proper impl. of the external dispatch via EDT .. for example. Removed: GLWindow: setEventHandlerMode(int) .. etc X11Display: XLockDisplay/XUnlockDisplay needed to be utilized to allow the new multithreading (EDT/Render) Display usage. X11Window: lockSurface/unlockSurface locks X11Display as well .. +++++ NEWT: 'getSurfaceHandle()' semantics changed. To allow usage of the surfaceHandle for OS where it is allocated thread local (MS-Windows), it shall be aquired/released while lockSurface/unlockSurface. This is done in the Windows Window implementation. GLWindow can no more query 'getSurfaceHandle()' to verify if 'setRealized()' was successful. NEWT: Window surface lock is recursive and blocking now, as it shall be.
* - Fix: X11 locking Sven Gothel2009-06-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current thread default display or the given display is being used, hence it is no more required to use a ToolkitLock for X11 without AWT. Removed X11 ToolkitLock in case of X11 without AWT, which is being detected with the absence of the classes java.awt.Component _AND_ javax.media.nativewindow.awt.AWTGraphicsDevice or with the system property java.awt.headless=true Only in the Java2D/Swing case, one 'leaking' Display is created within canCreateGLPbuffer(). - Workaround for Hotsport bugs #4395095, #6852404 4395095 JNI access to java.nio DirectBuffer constructor/accessor 6852404 Race condition in JNI Direct Buffer access and creation routines - Added build.xml -Dbuild.noarchives=true property to skip the time consuming creation of zip archives. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1988 232f8b59-042b-4e1e-8c03-345bb8c30851
* Copied JOGL_2_SANDBOX r1957 on to trunk; JOGL_2_SANDBOX branch is now closedKenneth Russel2009-06-159-0/+257
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1959 232f8b59-042b-4e1e-8c03-345bb8c30851
* Deleted obsolete source code in preparation for copying JOGL_2_SANDBOXKenneth Russel2009-06-158-244/+0
| | | | | | | on to trunk git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1958 232f8b59-042b-4e1e-8c03-345bb8c30851
* Preliminary fix forKenneth Russel2006-05-281-0/+3
| | | | | | | | | | | | Issue 216: Cannot create GLCanvas on non-default GraphicsDevice Made JOGL Xinerama-aware; now uses screen 0 rather than the screen reported from the AWT GraphicsDevice when Xinerama is enabled. So far only compiled and tested on non-Xinerama configuration on Linux; more testing needed on Xinerama setups and on Solaris. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@782 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 173: Adjust gamma, brightness and contrast Kenneth Russel2006-01-221-0/+23
| | | | | | | | | | | | | Added com.sun.opengl.util.Gamma supporting adjusting of gamma, brightness, and contrast. API and implementation derived from code in the LWJGL project. Added demos.gamma.TestGamma demo illustrating how to use the APIs. Tested on Linux, Mac OS X and Windows. No Solaris support at this time, although future Solaris releases, being based on the Xorg server, will probably have support for the required XF86VidMode extension. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@557 232f8b59-042b-4e1e-8c03-345bb8c30851
* Merged JSR-231 branch on to the main JOGL trunk. The main trunk now Kenneth Russel2005-10-241-0/+14
| | | | | | | | 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
* Partial fix for Issue 88: Add Linux amd64 support to JOGLKenneth Russel2005-01-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 incorrect typedef of jint to long; is now intKenneth Russel2005-01-271-1/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@189 232f8b59-042b-4e1e-8c03-345bb8c30851
* Updated jogl build documentation for Ant build. Deleted now-obsoleteKenneth Russel2003-07-145-61/+0
| | | | | | | | | Makefiles and redundant gl.c and similar files from platform-specific stub_includes directories; the latter have been moved to stub_includes/common. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@22 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added pbuffer support to JOGL on X11; HWShadowmapsSimple andKenneth Russel2003-07-033-134/+10
| | | | | | | | | | | | | | | | | | 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 Mac OS X port of Jogl by Gerard Ziemski and Kenneth Russell,Kenneth Russel2003-06-261-0/+2
| | | | | | | | | | subsuming the previous prototype implementation (no GLCanvas support) done by Marc Downie. Added user's guide (HTML format) under doc/userguide/index.html. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@13 232f8b59-042b-4e1e-8c03-345bb8c30851
* Initial revisiondjp2003-06-0812-0/+387
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@3 232f8b59-042b-4e1e-8c03-345bb8c30851