diff options
author | Sven Gothel <[email protected]> | 2014-07-30 22:05:52 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2014-07-30 22:05:52 +0200 |
commit | 289ba90b9ce118ba987b47ee70870cca77287cc0 (patch) | |
tree | 89b082b66755fe8674497f5cc009aff0dae37e1b /src/test/com/jogamp/opengl | |
parent | 6a130e4468fce954ac469e2e5fd78c8496fafe24 (diff) |
Refine test ff5dba28610b4f680c9320e9e52669ed54d4de43: Perform context switch on GL capable thread if required. Add API doc note about this requirement.
Diffstat (limited to 'src/test/com/jogamp/opengl')
-rw-r--r-- | src/test/com/jogamp/opengl/test/junit/jogl/acore/glels/GLContextDrawableSwitchBase0.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/test/com/jogamp/opengl/test/junit/jogl/acore/glels/GLContextDrawableSwitchBase0.java b/src/test/com/jogamp/opengl/test/junit/jogl/acore/glels/GLContextDrawableSwitchBase0.java index 49d16a80a..239cab26d 100644 --- a/src/test/com/jogamp/opengl/test/junit/jogl/acore/glels/GLContextDrawableSwitchBase0.java +++ b/src/test/com/jogamp/opengl/test/junit/jogl/acore/glels/GLContextDrawableSwitchBase0.java @@ -34,6 +34,7 @@ import javax.media.opengl.GLAutoDrawable; import javax.media.opengl.GLCapabilities; import javax.media.opengl.GLCapabilitiesImmutable; import javax.media.opengl.GLProfile; +import javax.media.opengl.Threading; import com.jogamp.opengl.util.Animator; import com.jogamp.opengl.util.GLDrawableUtil; @@ -226,8 +227,17 @@ public abstract class GLContextDrawableSwitchBase0 extends UITestCase { s++; System.err.println(s+" - switch - START "+ ( t1 - t0 )); + final Runnable switchAction = new Runnable() { + public void run() { + GLDrawableUtil.swapGLContextAndAllGLEventListener(gladSource, gladDest); + } }; + // switch context _and_ the demo synchronously - GLDrawableUtil.swapGLContextAndAllGLEventListener(gladSource, gladDest); + if( gladSource.isThreadGLCapable() && gladDest.isThreadGLCapable() ) { + switchAction.run(); + } else { + Threading.invokeOnOpenGLThread(true, switchAction); + } snapshotGLEventListener.setMakeSnapshot(); System.err.println(s+" - switch - END "+ ( t1 - t0 )); |