| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
handling
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@670 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
texture buffer
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@646 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@645 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@626 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@615 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
Obtained from:
Submitted by: Travis
Reviewed by:
This utility class is going away per last putback comment.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@613 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Obtained from:
Submitted by: Travis
Reviewed by:
We are modifying the versioning for non-release builds. Now the timestamp
is part of the implementation version string. For instance,
"1.0.0-pre-20060215-17:03:32" is an implementation of the 1.0.0 version
of the API built on Feb. 15, 2006, at 5:03:32 PM. This is how our daily
build version strings will look. This is how the default build works.
Our official beta builds which are known as "stable" builds will have a
version string like: "1.0.0-beta3", etc.
Our final version of 1.0.0 implementation will become the "release" build
and the version string will be: 1.0.0
There are two easy ways to obtain the version string:
1) use the jogl.verbose properties flag (-Djogl.verbose) to see it at the
command line
2) use the java.lang.Package API to query it programatically. See example
in demos called demos/misc/VersionInfo
We are removing the Version utility class because it was insufficient for
a number of reasons. It should be removed with this putback.
I am not 100% positive that this does not break the JOGLAppletLauncher class
with the change that I have putback, but I can't test it here in my
environment. And I am pretty sure it will still work, but we will test it.
Modified Files:
src/classes/com/sun/opengl/util/JOGLAppletLauncher.java
make/joglversion make/build.xml make/joglRIversion
----------------------------------------------------------------------
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@612 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@610 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@609 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@604 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Obtained from:
Submitted by: Travis
Reviewed by:
Change the implementation for querying version information when the
property jogl.verbose is used. This now uses the java.lang.Package
API to get information from the jogl.jar manifest instead of using
com.sun.opengl.util.Version.
com.sun.util.opengl.Version API will be going away soon. It is not
rich enough to differentiate the specification version, the
implementation version, the implementation vendor, etc.
% java -Djava.library.path=/home/tbryson/temp/libs -Djogl.verbose demos.gears.Gears
JOGL specification version 1.0 Public Review plus
JOGL implementation version 1.0 Beta2 plus
JOGL implementation vendor java.net JOGL community
. . .
I added "plus" in the version/spec information for the builds starting tonight
so we will be able to differentiate between the official Beta 2 build and
all subsequent builds, etc.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@598 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@596 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
images in TextureIO
Added missing set of GL_UNPACK_ALIGNMENT in mipmap case.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@593 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
keep track of server-side OpenGL objects, like textures and display
lists, created by the end user to preserve the illusion of independent
contexts even though they will all share textures and display lists
with the Java2D OpenGL context in order to access its FBO. Added
GLObjectTracker class to track creation and destruction of these
objects and to support cleanup when the last referring context has
been destroyed. Modified GLContextShareSet to create and install
GLObjectTrackers when necessary and GLContext to ref and unref tracker
appropriately. Changed GlueGen's JavaPrologue and JavaEpilogue
directives (and their documentation) to perform argument name
substitution. Wrote documentation section on argument name
substitution and specified behavior for primitive arrays (converts to
string "array_name, array_name_offset" in substitution). Rephrased
GlueGen's RangeCheck directives in terms of JavaPrologue directives
and deleted old specialized code. Fixed bug in handling of VBO support
in GLConfiguration when JavaPrologue was present for affected
functions. Added JavaPrologue and JavaEpilogue directives to all
existing OpenGL routines creating server-side objects (though it's
possible some were missed) to call GLObjectTracker when necessary.
Added RangeCheck directives for these routines as well. Worked around
bug in JOGL demos where shutdownDemo() was being called more than once.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@584 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
| |
With the permission of the author, Brian Paul, the Mesa tile rendering
library has been incorporated under BSD-compatible licensing terms
thanks to porting work by user bleb from the javagaming.org forums.
Added demos.misc.TiledRendering demo creating a high-resolution
screenshot of the Gears demo.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@580 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
code between the Screenshot class and the anticipated tile rendering
library.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@577 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
| |
javagaming.org forums
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@570 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
| |
JOGL applets running in Mozilla/Firefox are so slow -- apparently the
WINGDI call SwapBuffers() is taking a long time, but unclear why
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@569 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
| |
Incorporated excellent patch from Romain Guy for creating high-quality
thumbnails.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@565 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
| |
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
|