aboutsummaryrefslogtreecommitdiffstats
path: root/src/classes/com/sun/opengl/impl/x11
Commit message (Collapse)AuthorAgeFilesLines
* Fixed bugs in implementation of -Djogl.GLContext.noopt flagKenneth Russel2006-03-261-5/+5
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@685 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added fallback path in GLContext optimization code to be able toKenneth Russel2006-03-191-1/+22
| | | | | | | | | | | | disable behavior of leaving last context current on OpenGL worker thread. Currently can be manually disabled with -Djogl.GLContext.noopt. Added explicit test on X11 platforms of whether the onscreen context created is direct or not, and to disable context optimization if not, to automatically solve problems when running with indirect contexts typically from Mesa. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@668 232f8b59-042b-4e1e-8c03-345bb8c30851
* Dummy putback to fix previous incorrect checkin comment: Kenneth Russel2006-03-081-1/+1
| | | | | | | | Augmented DRIHack to look for /usr/X11R6/lib/modules/dri as well as /usr/lib/dri when determining whether to enable DRI hack. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@656 232f8b59-042b-4e1e-8c03-345bb8c30851
* Restructured how GLObjectTracker destroys tracked objects during Kenneth Russel2006-03-081-3/+10
| | | | | | | | | | | | | | | | | | context destruction. Now, in addition to tracking sharing between contexts requested by the user, also tracks the behind-the-scenes sharing going on with e.g. Java2D. Makes determination of whether objects can be immediately destroyed by checking current context and seeing whether it shares the same deleted object pool as the one being destroyed. If objects can not be destroyed immediately, their destruction is deferred until the next makeCurrent of a context sharing objects with the one currently being destroyed (if one exists -- the case of this being the last context actually referencing the objects is handled by the OpenGL drivers). This fixes the resizing problems seen when -Dsun.java2d.opengl.fobject=true is specified along with -Dsun.java2d.opengl=true in Mustang. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@655 232f8b59-042b-4e1e-8c03-345bb8c30851
* Use try/finally in X11GLContext.destroyImpl() to avoid any potentialKenneth Russel2006-03-061-14/+17
| | | | | | | problems in leaving AWT toolkit locked git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@650 232f8b59-042b-4e1e-8c03-345bb8c30851
* Attempted fix for Issue 206: glTexImage2D fails on external context Kenneth Russel2006-02-231-0/+1
| | | | | | | | | Apparently failed to set mostRecentDisplay for X11ExternalGLContexts. Hard to believe this could have been broken for this long, though. No test case, therefore "attempted fix". git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@633 232f8b59-042b-4e1e-8c03-345bb8c30851
* Changed locking protocol for on-screen surfaces to only use the JAWT's Kenneth Russel2006-02-204-37/+41
| | | | | | | | | | | | | | | | | | | | | DrawingSurface locking primitives during the makeCurrent operation. While in theory the JAWT should be used for locking for the entire duration of the makeCurrent/release pair, in practice because OpenGL is orthogonal to the window system this is not really necessary, at least if higher-level locking primitives are used to make sure the window is not torn down out from under the library while OpenGL rendering is being performed. The OpenGL-related work done in GLCanvas.addNotify() and removeNotify() handles this. These changes enable simultaneous multi-head rendering on X11 systems with one OpenGL context per thread. Changed GLContext.destroy() to acquire the context's lock during the destroyImpl operation for correctness in the new protocol. Changed several Mac OS X native code entry points to not take an unnecessary NSView* argument. Tested with several demos on all platforms to stress creation and destruction of multiple kinds of OpenGL contexts. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@624 232f8b59-042b-4e1e-8c03-345bb8c30851
* Renamed "offscreen" capability bits in GLCapabilities to "pbuffer" Kenneth Russel2006-02-162-6/+6
| | | | | | | | capability bits to be more explicit about how they are to be used; no objections from JSR-231 expert group git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@616 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed problems with lack of hardware acceleration on LinuxKenneth Russel2006-02-162-0/+114
| | | | | | | | | | | distributions using DRI drivers. Hacked around limitations of the current DRI implementation by manually dlopen'ing libGL.so.1; avoids changing glue code generation for core OpenGL 1.1 routines which do not otherwise need to be called through function pointers on any platform. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@614 232f8b59-042b-4e1e-8c03-345bb8c30851
* Further work on FBO support in Java2D/JOGL bridge. Upgraded JOGL's Kenneth Russel2006-02-112-0/+6
| | | | | | | | | | | | | Java2D class to latest proposed set of APIs in OGLUtilities and changed usage of these APIs to be approximately correct. Left in fallback path for working with non-FBO case in current Mustang builds. Not working yet, and don't yet understand why; checking in at this intermediate point to be able to more easily test on more machines. Added error checking to creation of external GLContexts and GLDrawables on Windows and X11 platforms. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@597 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added more debugging output on X11 side to track down Linux problemsKenneth Russel2006-02-102-2/+27
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@596 232f8b59-042b-4e1e-8c03-345bb8c30851
* Made loading of GLU library lazier, partially in the hope that thisKenneth Russel2006-02-101-0/+4
| | | | | | | | may address problems on certain Linux distributions where for some reason we're falling back to software rendering with Mesa git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@595 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed problem with pbuffers on X11 with ATI hardware; workaround wasKenneth Russel2006-02-021-3/+4
| | | | | | | | not working with latest drivers; new suggested workaround from Chris Campbell git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@578 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 195: Pbuffer support broken on X11 platformsKenneth Russel2006-01-241-1/+4
| | | | | | | | | | It turns out that pbuffer support wasn't completely broken, but the GLX_DOUBLEBUFFER bit wasn't being set properly for single-buffered windows and pbuffers, which mattered in particular for the JGears demo (and the GLJPanel) which read back the contents of the front buffer. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@564 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 173: Adjust gamma, brightness and contrast Kenneth Russel2006-01-221-2/+101
| | | | | | | | | | | | | 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
* Fixed problem with X11ExternalGLContext pointed out by m.engelhardt onKenneth Russel2006-01-101-0/+25
| | | | | | | javagaming.org forums which showed up when using JOGL with SWT git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@531 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed build breakage pointed out by Travis after recent Kenneth Russel2005-12-261-1/+2
| | | | | | | resetProcAddressTable refactoring git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@502 232f8b59-042b-4e1e-8c03-345bb8c30851
* Refactored code on Windows and X11 constructing attribute lists for Kenneth Russel2005-12-062-79/+46
| | | | | | | | | | | wglChoosePixelFormatARB / glXChooseVisual / glXChooseFBConfig to unify code paths between on-screen drawables and pbuffers. This primarily enables multisampling for pbuffers. Made small change to Mac native code to stop specifying sample buffers if multisampling is not enabled. Tested with demos on Windows and X11. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@484 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added GLCapabilitiesChooser argument (currently ignored) to Kenneth Russel2005-11-271-0/+1
| | | | | | | | GLDrawableFactory.createGLPbuffer() based on JSR-231 expert group's feedback. Updated GLJPanel and demos. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@464 232f8b59-042b-4e1e-8c03-345bb8c30851
* Deleted unnecessary references to AWT Component in base GLDrawable Kenneth Russel2005-11-145-10/+8
| | | | | | | classes on Windows and X11 platforms git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@449 232f8b59-042b-4e1e-8c03-345bb8c30851
* Minor javadoc changes to GLDrawableFactory. Kenneth Russel2005-11-121-1/+1
| | | | | | | chooseGraphicsConfiguration() suggested by Justin Couch git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@441 232f8b59-042b-4e1e-8c03-345bb8c30851
* Made public API changes discussed with expert group to make core JOGLKenneth Russel2005-11-091-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | API more toolkit-agnostic: 1. Decoupled instantiation of GLCanvas and GLJPanel objects from the GLDrawableFactory. GLCanvas and GLJPanel's constructors are now public and the associated factory methods have been removed from the GLDrawableFactory. 2. Changed the signature of GLDrawableFactory. chooseGraphicsConfiguration() to accept and return marker AbstractGraphicsDevice and AbstractGraphicsConfiguration interfaces, respectively. Defined new AWTGraphicsDevice and AWTGraphicsConfiguration wrapper classes simply wrapping the associated objects. An SWT port could define similar wrapper classes for its data types. 3. Allowed overriding of the specific GLDrawableFactory subclass instantiated through GLDrawableFactory.getFactory() by setting the system property "opengl.factory.class.name". For example, an SWT port might swap itself in by specifying the following system property on the command line: -Dopengl.factory.class.name=com.ibm.swt.opengl.SWTGLDrawableFactory Tested on Solaris/SPARC. Also fixed breakage on Solaris/SPARC due to recent split of jogl native library into jogl and jogl_awt pieces. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@431 232f8b59-042b-4e1e-8c03-345bb8c30851
* Made X11GLDrawableFactory.lockToolkit() and unlockToolkit() non-staticKenneth Russel2005-11-093-10/+14
| | | | | | | | so they can be overridden in subclasses. Fixed build breakage from last checkin. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@430 232f8b59-042b-4e1e-8c03-345bb8c30851
* Refactored JOGL's use of the JAWT to enable it to be more lazily Kenneth Russel2005-11-099-79/+57
| | | | | | | | | | | | | | | | | | loaded. Separated out AWT-specific native code into a new jogl_awt native library on all platforms. Added a static helper method to the JAWT class to fetch the JAWT which is now called by all users. Added a new NativeLibLoader entry point to load the native code for the AWT implementation. Renamed the X11 platform's "lockAWT" and "unlockAWT" methods to "lockToolkit" and "unlockToolkit", respectively. In order to change this behavior only two methods in X11GLDrawableFactory need to be overridden. (During the writing of this checkin comment it was noted that these methods are currently static, but that will be fixed in a subsequent checkin.) Added the new jogl_awt native library to the the "dist" target's error checking code. Tested on Windows; more testing, including build testing, is needed on other platforms. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@429 232f8b59-042b-4e1e-8c03-345bb8c30851
* Refactored computations of sizes of data types and offsets of fields Kenneth Russel2005-11-092-4/+4
| | | | | | | | | | | | | | | | in data structures in GlueGen to be performed lazily via SizeThunks. The concrete size of primitive data types is computed only by passing a MachineDescription into one of these thunks. Changed generated glue code for struct accessors to delegate their instantiation and field access to specialized 32- or 64-bit versions. This should allow one jar file to support both 32-bit and 64-bit CPUs; the native code is of course still specialized for the processor and data model. Changed default build to generate both 32-bit and 64-bit accessors for all generated data structures. Tested on Windows; more testing, including build testing, is needed on other platforms. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@426 232f8b59-042b-4e1e-8c03-345bb8c30851
* Merged JSR-231 branch on to the main JOGL trunk. The main trunk now Kenneth Russel2005-10-2412-0/+2226
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