diff options
author | Sven Gothel <[email protected]> | 2010-11-21 03:41:22 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2010-11-21 03:41:22 +0100 |
commit | 2aa296771e3e8dd6cf027f27b0455d1803244bfe (patch) | |
tree | 514c532f9ddff7f84e9e6fb75e883f04c71ec74f /make | |
parent | 6f73de7c5bb85d0175c8dda7c55317923017bbe0 (diff) |
JOGL/NEWT: Animator fixes
Consider use cases with many drawables and no drawables at start,
this had to be reflected all over this patch set, implementation,
usage and test cases.
- GLAnimatorControl
- refine API doc / states
- add 'void remove(GLAutoDrawable drawable);'
- Animator*:
- using RecursiveLock 'stateSync' for all actions out of the big synchronized (animator) block:
- get status methods (thread, isPaused, ..), hence no more synchronized
- display drawables change, utilizing synced ArrayList swap
This removes the need for volatiles usage shouldPause/shouldStop within the display method.
- added blocking wait for state change for add(GLAutoDrawable)/remove(GLAutoDrawable) method
- remove flawed double checked locking in anim thread (pause/idle condition)
- thread is now a daemon thread, hence it won't hinder the JVM from shutdown
-
- Animator use change:
- Always resume after pause, except in case of final destroy -> NEWT invalidate / GLCanvas,
this considers use cases with many drawables and no drawables at start.
- GLDrawableHelper: Don't pause at implicit dispose()
Diffstat (limited to 'make')
-rw-r--r-- | make/scripts/tests.sh | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/make/scripts/tests.sh b/make/scripts/tests.sh index 1aa725c94..8304b99b6 100644 --- a/make/scripts/tests.sh +++ b/make/scripts/tests.sh @@ -24,7 +24,7 @@ function jrun() { #D_ARGS="-Djogl.debug.GLContext -Djogl.debug.ExtensionAvailabilityCache" #D_ARGS="-Djogl.debug.GLContext -Djogl.debug.GLProfile -Djogl.debug.GLDrawable" #D_ARGS="-Djogl.debug.GLProfile" - # D_ARGS="-Djogamp.debug.TraceLock" + D_ARGS="-Dnewt.debug.Window -Djogamp.common.utils.locks.Lock.timeout=600000 -Djogl.debug.Animator" # D_ARGS="-Dnewt.debug.EDT -Dnativewindow.debug.ToolkitLock.TraceLock -Dnativewindow.debug.NativeWindow" #D_ARGS="-Dnewt.debug.Window -Dnewt.debug.Display -Dnewt.debug.EDT" # D_ARGS="-Dnewt.debug.EDT -Dnativewindow.debug.ToolkitLock.TraceLock -Dnativewindow.debug.X11Util.TraceDisplayLifecycle=true" @@ -61,7 +61,7 @@ function testawt() { #testawt com.jogamp.test.junit.jogl.demos.gl2.gears.newt.TestGearsNEWT #testawt com.jogamp.test.junit.newt.TestDisplayLifecycle01NEWT #testawt com.jogamp.test.junit.newt.TestDisplayLifecycle02NEWT -#testawt com.jogamp.test.junit.newt.parenting.TestParenting01NEWT +testawt com.jogamp.test.junit.newt.parenting.TestParenting01NEWT #testawt com.jogamp.test.junit.newt.parenting.TestParenting02NEWT #testawt com.jogamp.test.junit.newt.TestScreenMode00NEWT #testnoawt com.jogamp.test.junit.newt.TestScreenMode01NEWT @@ -98,9 +98,13 @@ function testawt() { #testawt com.jogamp.test.junit.newt.parenting.TestParenting03AWT -time 100000 #testawt com.jogamp.test.junit.newt.parenting.TestParenting03bAWT -time 100000 #testawt com.jogamp.test.junit.newt.TestCloseNewtAWT -testawt com.jogamp.test.junit.jogl.caps.TestMultisampleAWT $* +#testawt com.jogamp.test.junit.jogl.caps.TestMultisampleAWT $* #testawt com.jogamp.test.junit.jogl.caps.TestMultisampleNEWT $* +#testawt com.jogamp.test.junit.newt.TestGLWindows02NEWTAnimated $* +#testawt com.jogamp.test.junit.jogl.newt.TestSwingAWTRobotUsageBeforeJOGLInitBug411 $* +#testawt com.jogamp.test.junit.newt.parenting.TestParenting01NEWT $* + #testawt $* $spath/count-edt-start.sh java-run.log |