diff options
author | Sven Gothel <[email protected]> | 2013-09-02 09:11:50 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2013-09-02 09:11:50 +0200 |
commit | 4beef4fe856690b070ba06a6caf4515aebd7171b (patch) | |
tree | 468d549855b1a2175d9455f3641acacec8628be5 | |
parent | 32171ee45370a9c6dacb582c39d51d0ff17911f1 (diff) |
X11GLXDrawableFactory.Shutdown: Disable shared context destruction since it may lead to a JVM freeze ..
.. on ATI fglrx driver 32bit on 64bit w/ a frozen shared GL context involved.
Hence we have to rely on the driver cleanup when JVM hits 'exit',
equal to the Windows implementation.
3 files changed, 11 insertions, 8 deletions
diff --git a/make/scripts/tests.sh b/make/scripts/tests.sh index 493fa2744..4c2da6571 100644 --- a/make/scripts/tests.sh +++ b/make/scripts/tests.sh @@ -111,7 +111,7 @@ function jrun() { #D_ARGS="-Dnativewindow.debug=all -Djogl.debug=all -Dnewt.debug=all" #D_ARGS="-Dnativewindow.debug.X11Util -Dnativewindow.debug.X11Util.TraceDisplayLifecycle -Djogl.debug.EGLDisplayUtil -Djogl.debug.GLDrawable" #D_ARGS="-Djogl.debug.GLDrawable -Dnativewindow.debug.X11Util -Dnativewindow.debug.NativeWindow -Dnewt.debug.Display -Dnewt.debug.Screen -Dnewt.debug.Window" - #D_ARGS="-Djogl.debug.Animator" + #D_ARGS="-Djogl.debug.Animator -Djogl.debug.GLDrawable -Dnativewindow.debug.NativeWindow" #D_ARGS="-Djogl.debug=all -Dnewt.debug=all" #D_ARGS="-Djogl.debug.EGLDisplayUtil -Djogl.debug.GLDrawable" #D_ARGS="-Djogl.debug.GLDrawable -Djogl.debug.GLContext -Djogl.debug.GLCanvas" @@ -132,7 +132,7 @@ function jrun() { #D_ARGS="-Djogl.debug.DebugGL -Djogl.debug.TraceGL -Djogl.debug.GLContext.TraceSwitch -Djogl.debug=all" #D_ARGS="-Djogamp.debug.IOUtil -Djogl.debug.GLSLCode -Djogl.debug.GLMediaPlayer" #D_ARGS="-Djogl.debug.GLMediaPlayer -Djogl.debug.AudioSink" - D_ARGS="-Djogl.debug.GLMediaPlayer -Djogl.debug.GLMediaPlayer.Native" + #D_ARGS="-Djogl.debug.GLMediaPlayer -Djogl.debug.GLMediaPlayer.Native" #D_ARGS="-Djogl.debug.GLMediaPlayer" #D_ARGS="-Djogl.debug.GLMediaPlayer.StreamWorker.delay=25 -Djogl.debug.GLMediaPlayer" #D_ARGS="-Djogl.debug.GLMediaPlayer.Native" @@ -320,7 +320,7 @@ function testawtswt() { # #testnoawt jogamp.opengl.openal.av.ALDummyUsage $* #testnoawt com.jogamp.opengl.test.junit.jogl.demos.es2.av.MovieCube $* -testnoawt com.jogamp.opengl.test.junit.jogl.demos.es2.av.MovieSimple $* +#testnoawt com.jogamp.opengl.test.junit.jogl.demos.es2.av.MovieSimple $* # # core/newt (testnoawt and testawt) @@ -620,6 +620,9 @@ testnoawt com.jogamp.opengl.test.junit.jogl.demos.es2.av.MovieSimple $* # Most likely this is a multi-threaded client and XInitThreads has not been called # ../../src/xcb_io.c:178: dequeue_pending_request: Assertion `!xcb_xlib_unknown_req_in_deq' failed. #testawt com.jogamp.opengl.test.junit.newt.parenting.TestParenting04AWT $* +testnoawt com.jogamp.opengl.test.junit.jogl.acore.TestSharedContextListNEWT2 $* +#testnoawt com.jogamp.opengl.test.junit.newt.parenting.TestTranslucentChildWindowBug632NEWT $* +#testnoawt com.jogamp.opengl.test.junit.newt.parenting.TestParenting02NEWT $* # NEW diff --git a/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java b/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java index 91beddb02..04e0fa60d 100644 --- a/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java +++ b/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java @@ -336,8 +336,8 @@ public class X11GLXDrawableFactory extends GLDrawableFactoryImpl { } if (null != sr.context) { - // may cause JVM SIGSEGV: - sr.context.destroy(); // will also pull the dummy MutableSurface + // may cause JVM SIGSEGV, or freeze (ATI fglrx 32on64 shared ctx): + // sr.context.destroy(); // will also pull the dummy MutableSurface sr.context = null; } diff --git a/src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextListNEWT2.java b/src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextListNEWT2.java index 0d1f58c1e..967c94ec6 100644 --- a/src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextListNEWT2.java +++ b/src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextListNEWT2.java @@ -136,9 +136,9 @@ public class TestSharedContextListNEWT2 extends UITestCase { f2.destroy(); f3.destroy(); - f1.getAnimator().stop(); - f2.getAnimator().stop(); - f3.getAnimator().stop(); + // f1.getAnimator().stop(); + // f2.getAnimator().stop(); + // f3.getAnimator().stop(); releaseShared(); } |