aboutsummaryrefslogtreecommitdiffstats
path: root/src/classes
Commit message (Collapse)AuthorAgeFilesLines
* Fixed another deadlock caused by introduction of FBO support in Kenneth Russel2006-05-161-0/+10
| | | | | | | Java2D/JOGL bridge git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@767 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed apparent deadlock in object tracking code provoked by GE Medical Kenneth Russel2006-05-111-45/+53
| | | | | | | Systems' demo by removing synchronization around one part of the code git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@761 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 221: Fixing stereo capability in WindowsGLDrawable Kenneth Russel2006-05-091-0/+3
| | | | | | | | Applied patch from user eteq to fix stereo support on Windows platforms. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@758 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added StreamUtil for reading all data from an InputStream. Added Kenneth Russel2006-05-053-79/+229
| | | | | | | | support to DDSImage and TextureIO classes for reading DDS files from InputStreams and URLs based on request from Tom Gaskins. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@754 232f8b59-042b-4e1e-8c03-345bb8c30851
* Improved debugging output from DefaultGLCapabilitiesChooserKenneth Russel2006-05-031-0/+2
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@750 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed apparent bug pointed out by user EdwinOlson on jogl forum where Kenneth Russel2006-04-251-0/+1
| | | | | | | it seems the pbuffer drawable wasn't being reset to 0 on X11 platforms git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@738 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added detection to JOGLAppletLauncher of whether DRIHack library isKenneth Russel2006-04-193-1/+26
| | | | | | | | | | | | present even if we didn't just download the native library jar. Worked around deadlocks during termination of JOGL applets caused by new code which causes context destruction to be performed on the AWT event queue thread (more correct, but problematic with buggy code such as sun.applet.AppletPanel which performs remove() calls on current thread). git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@729 232f8b59-042b-4e1e-8c03-345bb8c30851
* Disabled GLWorkerThread optimization on X11 platforms because of Kenneth Russel2006-04-191-6/+15
| | | | | | | | | | deadlocks and on Windows platforms because of problems terminating and restarting applets, both of which problems showed up while testing JSR-231 beta 4. Single-threading behavior has now reverted back to that of previous releases. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@728 232f8b59-042b-4e1e-8c03-345bb8c30851
* Updated JOGLAppletLauncher with new native library names. Made pack200Kenneth Russel2006-04-191-5/+7
| | | | | | | application in build.xml verbose. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@726 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 215: Enhancement for NativeLibLoader Kenneth Russel2006-04-171-60/+90
| | | | | | | | Incorporated patch largely unmodified from user s_koehler. Cleaned up Cg library loading based on this work. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@720 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 217: JOGLAppletLauncher attempts to create file with an invalid ↵Kenneth Russel2006-04-171-1/+1
| | | | | | | | | | name Replaced invalid ':' characters with legal '_' character. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@719 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed bug found by user Kickaha on javagaming.org forums where entire Kenneth Russel2006-04-131-2/+2
| | | | | | | image's texture coordinates were being computed before target was set git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@711 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added workaround for apparent problem with ATI's proprietary driversKenneth Russel2006-04-032-0/+23
| | | | | | | | | where GL calls seem to result in GLX tokens being sent even for direct contexts, necessitating disabling of optimized on-screen context handling git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@701 232f8b59-042b-4e1e-8c03-345bb8c30851
* Made internal methods which fetch the platform-dependent context outKenneth Russel2006-04-023-3/+3
| | | | | | | | of the GLContext implementations public instead of protected for easier interoperability with C libraries git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@699 232f8b59-042b-4e1e-8c03-345bb8c30851
* Replaced absolute path to libGL.so.1 with relative path to presumablyKenneth Russel2006-04-021-1/+17
| | | | | | | | fix problems with ATI's fglrx drivers, which use a libGL.so.1.2 placed in a nonstandard location git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@698 232f8b59-042b-4e1e-8c03-345bb8c30851
* Forced enabling of DRI hack on all Linux distributionsKenneth Russel2006-04-011-1/+4
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@696 232f8b59-042b-4e1e-8c03-345bb8c30851
* Deleted obsolete MacOSXDummyGLContext.javaKenneth Russel2006-03-291-87/+0
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@693 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed workaround for sharing textures and display lists betweenKenneth Russel2006-03-292-7/+5
| | | | | | | | | pbuffers and on-screen contexts that was necessary in 10.4.3 because it was causing problems with multisampling in particular on ATI hardware git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@692 232f8b59-042b-4e1e-8c03-345bb8c30851
* Worked around spurious SetPixelFormat failures seen on Intel 82855 Kenneth Russel2006-03-281-1/+11
| | | | | | | | | hardware with help from Matt Abraham by silently squelching a few back-to-back failures of this call and indicating that the surface was not ready yet. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@691 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed lurking problem associated with on-screen contexts' makeCurrent Kenneth Russel2006-03-283-5/+9
| | | | | | | | | | implementations on Windows and OS X where finally block should not cover lockSurface call; also fixed problem pointed out by Matt Abraham where if WindowsOnscreenGLDrawable.choosePixelFormat() threw an exception it would cause subsequent lockSurface() calls to fail git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@689 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed bug pointed out by Matt Abraham where a thrown exception from Kenneth Russel2006-03-261-1/+3
| | | | | | | the GLWorkerThread would be repeatedly thrown git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@687 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed potential problem in implementation of GLCanvas.removeNotify() Kenneth Russel2006-03-261-1/+1
| | | | | | | now that we may be leaving the context current on a thread git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@686 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed bugs in implementation of -Djogl.GLContext.noopt flagKenneth Russel2006-03-263-11/+23
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@685 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 211: Screenshot should read any screen rectangle Kenneth Russel2006-03-251-7/+103
| | | | | | | | Added new overloaded entry points accepting starting x and y coordinates. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@683 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed extreme slowdown with Java2D/OpenGL pipeline and FBO case on ATI Kenneth Russel2006-03-231-0/+31
| | | | | | | | hardware pointed out by Chris Campbell by unbinding the FBO from Java2D's context before making it current in ours git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@677 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 210: Crashes on Mac OS X related to GLWorkerThreadKenneth Russel2006-03-221-4/+11
| | | | | | | | | | | Worked around crashes related to introduction of GLWorkerThread by switching back to using the AWT event dispatch thread to perform all OpenGL work on Mac OS X. It is possible that there are deeper underlying bugs in the new locking protocol for on-screen GLContext implementations and that a more correct fix can be found in the future. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@675 232f8b59-042b-4e1e-8c03-345bb8c30851
* Made MacOSXOnscreenGLContext obey disabling of optimized contextKenneth Russel2006-03-191-2/+14
| | | | | | | handling git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@670 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed general bug in GLJPanel where the offscreen image was beingKenneth Russel2006-03-191-2/+7
| | | | | | | | | drawn from within the GLEventListener rather than in a guaranteed fashion from the AWT event queue thread within paintComponent(), causing problems on OS X with the new GLWorkerThread git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@669 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added fallback path in GLContext optimization code to be able toKenneth Russel2006-03-193-2/+43
| | | | | | | | | | | | 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
* Fixed resizing bug on Mac OS X which was a consequence of leaving theKenneth Russel2006-03-102-0/+13
| | | | | | | context permanently current on the GLWorkerThread git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@658 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
* Restructured how GLObjectTracker destroys tracked objects during Kenneth Russel2006-03-084-34/+175
| | | | | | | | | | | | | | | | | | 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@654 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
* Added support requested by user mantesat on JOGL forum for null Kenneth Russel2006-03-031-1/+6
| | | | | | | texture buffer git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@646 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed new bug associated with GLObjectTracker and context destructionKenneth Russel2006-03-031-0/+3
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@645 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 191: Add new opengl.1thread=new or similar Kenneth Russel2006-02-241-6/+8
| | | | | | | | | | | A new recognized option -Dopengl.1thread=worker has been added to the Threading class and is now the default. Optimization has been added to leave the last context current on that thread so in the single-context case context switching is avoided. Code has been added to make this interoperate well with the manual use of the GLContext APIs. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@637 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added mechanism for kicking the current context off the Kenneth Russel2006-02-233-13/+84
| | | | | | | | | GLWorkerThread. Tested with modified version of demos.texture.TestTexture doing the loading in another thread with manual makeCurrent()/release() calls (not recommended style). git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@634 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
* Fixed Issue 205: FPSAnimator flag for fixed-rate scheduling Kenneth Russel2006-02-211-4/+28
| | | | | | | | | Added new constructors taking fixed-rate scheduling flag. Defaults to false. Seems to help FPSAnimator reach higher framerate targets. Unclear whether the flag will cause excessive CPU consumption. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@630 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added optimized path to GLDrawableHelper for situation where Kenneth Russel2006-02-215-39/+202
| | | | | | | | | | | | | | | | GLWorkerThread is being used; last context made current on that thread is left current on that thread. In the case where only a single OpenGL context is in use this eliminates the repeated calls to makeCurrent. Ran into same NVidia driver bug causing crashes upon exit with Java2D/OpenGL pipeline. Added workaround to GLDrawableHelper which can be enabled with -Djogl.nvidia.crash.workaround, which just disables this optimization. Fixed GLCanvas and GLPbufferImpl's destruction paths to behave correctly in the face of the context being left current on the GLWorkerThread. Updated code in Threading related to GLWorkerThread to interoperate better with Java2D/OpenGL pipeline. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@629 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed bug in GLDrawableHelper.invokeGL() where the previous initAction Kenneth Russel2006-02-211-0/+1
| | | | | | | was not being set up git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@628 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added support for calling makeCurrent() over and over again with Kenneth Russel2006-02-211-0/+15
| | | | | | | different contexts without explicitly calling release() git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@627 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added exception propagation from GLWorkerThreadKenneth Russel2006-02-212-9/+23
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@626 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added GLWorkerThread for moving OpenGL-related work onto a different Kenneth Russel2006-02-212-29/+224
| | | | | | | | thread than the EDT. Added option for it in Threading; needs testing on more platforms. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@625 232f8b59-042b-4e1e-8c03-345bb8c30851
* Changed locking protocol for on-screen surfaces to only use the JAWT's Kenneth Russel2006-02-208-85/+64
| | | | | | | | | | | | | | | | | | | | | 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
* Issue number:gfxadmin2006-02-161-17/+28
| | | | | | | | | | | | | | | | | | Obtained from: Submitted by: Travis Reviewed by: Added more precision in description of Threading class in javadoc. In particular, differentiated between implementation and specification, while still pointing out important aspects of the current reference implementation that are germane to the programmer. Modified Files: src/classes/javax/media/opengl/Threading.java git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@618 232f8b59-042b-4e1e-8c03-345bb8c30851
* Reorganized and cleaned up FBO-related workarounds needed only on Kenneth Russel2006-02-161-31/+45
| | | | | | | | NVidia cards; made the code auto-detect whether the workaround is needed git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@617 232f8b59-042b-4e1e-8c03-345bb8c30851
* Renamed "offscreen" capability bits in GLCapabilities to "pbuffer" Kenneth Russel2006-02-168-55/+51
| | | | | | | | 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-164-3/+164
| | | | | | | | | | | 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