summaryrefslogtreecommitdiffstats
path: root/src/classes/javax
Commit message (Collapse)AuthorAgeFilesLines
* 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
* 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
* Restructured how GLObjectTracker destroys tracked objects during Kenneth Russel2006-03-081-3/+0
| | | | | | | | | | | | | | | | | | 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
* 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 optimized path to GLDrawableHelper for situation where Kenneth Russel2006-02-212-6/+35
| | | | | | | | | | | | | | | | 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
* Added exception propagation from GLWorkerThreadKenneth Russel2006-02-211-1/+7
| | | | 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-211-29/+69
| | | | | | | | 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
* 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-161-30/+26
| | | | | | | | 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
* Added note on limitations of OpenGL context sharing to spec overviewKenneth Russel2006-02-154-8/+18
| | | | | | | | and pointed to it from GLDrawableFactory, GLDrawable, GLCanvas and GLJPanel git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@611 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added workaround for apparent driver problem when FBOs are enabled in Kenneth Russel2006-02-131-0/+16
| | | | | | | the Java2D/JOGL bridge apparently causing exhaustion of VRAM git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@607 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added more verbose debugging output to GLJPanelKenneth Russel2006-02-131-0/+24
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@604 232f8b59-042b-4e1e-8c03-345bb8c30851
* Completion of initial work on FBO support in Java2D/JOGL bridge. Kenneth Russel2006-02-111-32/+110
| | | | | | | | | | | | | | | | | | | | | Discovered it was necessary to re-attach the color and depth renderbuffers to the FBO in JOGL's context, even though it shared textures and display lists with Java2D's context; this may be a driver problem and merits further investigation. Found it was also necessary to create a new depth renderbuffer; apparently could not use Java2D's. This is almost certainly a driver bug. At this point, with the forthcoming planned changes to Mustang, JOGL works when -Dsun.java2d.opengl.fbobject=true is specified. Problems remain with the HWShadowmapsSimple (extremely slow performance) and InfiniteShadowVolumes (throws exception because of inability to share textures and display lists between pbuffer's context with stencil buffer and Java2D's context) demos. Worked around earlier exceptions with InfiniteShadowvolumes demo by avoiding sharing textures and display lists with dummy GLContexts. Changed build to produce DebugGL and TraceGL earlier so they can be used in e.g. GLJPanel. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@599 232f8b59-042b-4e1e-8c03-345bb8c30851
* Further work on FBO support in Java2D/JOGL bridge. Upgraded JOGL's Kenneth Russel2006-02-111-8/+25
| | | | | | | | | | | | | 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
* Issue number:gfxadmin2006-02-103-12/+16
| | | | | | | | | | | | | | | | | | | | | | | Obtained from: Submitted by: Travis Reviewed by: These are all documentation changes in preparation for the Proposed Final Draft submission. Carefully separated out references to the implementation from the specification. Did not delete any comments, just made sure that it was clear when it was the Reference Implementation being referred to. Add note to Spec Overview about version information. We now include version information in the manifest of the jar file and we require this of all implementations. This is currently done automatically as part of the build process and is easy to access at runtime with the java.lang.Package APIs. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@592 232f8b59-042b-4e1e-8c03-345bb8c30851
* Further work on FBO support in Java2D/JOGL bridge. Recast how Kenneth Russel2006-02-061-0/+57
| | | | | | | | | | | | | | | | | | GLObjectTrackers are specified between contexts and separated this from the maintenance of the GLContextShareSet, although the API (registerForObjectTracking) is in the GLContextShareSet class. If the Java2D/OpenGL pipeline and FBOs are active, causes all JOGL contexts created to share textures and display lists with a context from Java2D (currently acquired from a VolatileImage, but will probably need to change how this is done). GLObjectTrackers however are only shared between JOGL contexts where the user has explicitly requested sharing. This yields the expected semantics of server-side object deletion when the context is destroyed. Upgraded GLJPanel to handle FBO manipulation. Not working yet; more debugging necessary on Java2D side as well. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@585 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 193: antialiasing querying using GLCapabilitiesChooser no Kenneth Russel2006-01-201-0/+2
| | | | | | | | | | | | | | | longer works in JSR 231 beta 02 This was a bug inadvertently introduced during refactoring of the multisample support during the development of JSR-231 beta 2 to support multisampled pbuffers. Additionally another bug was introduced during yesterday's bug fix for exceptions thrown while producing the GLCapabilities[] array for the GLCapabilitiesChooser. Both issues have been fixed in this checkin. The printing code in GLCapabilities has also been extended to print the multisampling-related properties. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@553 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed references to JOGL from javax.media.opengl.Threading class Kenneth Russel2005-12-281-29/+31
| | | | | | | pointed out by Matzon on JOGL forum git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@503 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed bug in render-to-texture support on WindowsKenneth Russel2005-12-232-2/+2
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@501 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added thrown exception information for GLDrawableFactory'sKenneth Russel2005-12-051-3/+15
| | | | | | | | | createGLPbuffer, createExternalGLContext and createExternalGLDrawable. Fixed build breakage with last checkin. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@480 232f8b59-042b-4e1e-8c03-345bb8c30851
* Made throws clause for chooseGraphicsConfiguration follow documented Kenneth Russel2005-12-031-1/+2
| | | | | | | run-time exceptions git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@474 232f8b59-042b-4e1e-8c03-345bb8c30851
* Made GLContext.setCurrent() protected based on feedback from user zero Kenneth Russel2005-12-031-5/+4
| | | | | | | on JOGL forum; ran by JSR-231 expert group git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@473 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added GLCapabilitiesChooser argument (currently ignored) to Kenneth Russel2005-11-272-5/+9
| | | | | | | | 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
* Minor javadoc changes to GLDrawableFactory. Kenneth Russel2005-11-121-4/+11
| | | | | | | 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
* Cleaned up wording in GLCanvas and GLJPanel javadoc about Kenneth Russel2005-11-122-6/+2
| | | | | | | instantiation pointed out by Justin Couch git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@440 232f8b59-042b-4e1e-8c03-345bb8c30851
* Made public API changes discussed with expert group to make core JOGLKenneth Russel2005-11-097-90/+303
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Removed RI-specific method descriptions from addNotify(), update(), Kenneth Russel2005-10-282-23/+60
| | | | | | | | | etc. based on feedback from pepijnve on the javagaming.org forums. Added documentation on what subclasses must do if these methods are overridden as in Java3D specification. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@411 232f8b59-042b-4e1e-8c03-345bb8c30851
* Made spec changes suggested by Chris Campbell on javagaming.org forumsKenneth Russel2005-10-282-7/+7
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@408 232f8b59-042b-4e1e-8c03-345bb8c30851
* Updated spec based on comments from rexguo on javagaming.org forumsKenneth Russel2005-10-283-5/+47
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@407 232f8b59-042b-4e1e-8c03-345bb8c30851
* Merged JSR-231 branch on to the main JOGL trunk. The main trunk now Kenneth Russel2005-10-2418-0/+3476
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