diff options
-rwxr-xr-x | make/scripts/make.jogl.all.linux-x86_64.sh | 7 | ||||
-rw-r--r-- | make/scripts/tests.sh | 51 | ||||
-rw-r--r-- | src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java | 10 |
3 files changed, 22 insertions, 46 deletions
diff --git a/make/scripts/make.jogl.all.linux-x86_64.sh b/make/scripts/make.jogl.all.linux-x86_64.sh index 1b8af2bbc..82484ddb3 100755 --- a/make/scripts/make.jogl.all.linux-x86_64.sh +++ b/make/scripts/make.jogl.all.linux-x86_64.sh @@ -36,11 +36,16 @@ fi LOGF=make.jogl.all.linux-x86_64.log rm -f $LOGF +# export LIBGL_DEBUG=verbose +# export MESA_DEBUG=true +# export LIBGL_ALWAYS_SOFTWARE=true # export LIBGL_DRIVERS_PATH=/usr/lib/fglrx/dri:/usr/lib32/fglrx/dri -# export LIBGL_DEBUG=verbose echo LIBXCB_ALLOW_SLOPPY_LOCK: $LIBXCB_ALLOW_SLOPPY_LOCK 2>&1 | tee -a $LOGF echo LIBGL_DRIVERS_PATH: $LIBGL_DRIVERS_PATH 2>&1 | tee -a $LOGF echo LIBGL_DEBUG: $LIBGL_DEBUG 2>&1 | tee -a $LOGF +echo LIBGL_ALWAYS_INDIRECT: $LIBGL_ALWAYS_INDIRECT 2>&1 | tee -a $LOGF +echo LIBGL_ALWAYS_SOFTWARE: $LIBGL_ALWAYS_SOFTWARE 2>&1 | tee -a $LOGF +echo LIBGL_DEBUG: $LIBGL_DEBUG 2>&1 | tee -a $LOGF export SOURCE_LEVEL=1.8 export TARGET_LEVEL=1.8 diff --git a/make/scripts/tests.sh b/make/scripts/tests.sh index d921c8a6a..dd3b66211 100644 --- a/make/scripts/tests.sh +++ b/make/scripts/tests.sh @@ -144,6 +144,7 @@ function jrun() { #D_ARGS="-Dnewt.debug.Window" #D_ARGS="-Dnewt.debug.Window -Djogamp.common.utils.locks.Lock.timeout=600000 -Dnewt.debug.EDT" #D_ARGS="-Dnewt.debug.Window -Dnewt.debug.EDT -Djogamp.common.utils.locks.Lock.timeout=600000 -Dnativewindow.debug.OSXUtil.MainThreadChecker" + #D_ARGS="-Dnativewindow.debug.OSXUtil.MainThreadChecker" #D_ARGS="-Djogamp.debug.NativeLibrary=true -Djogamp.debug.JNILibLoader=true" #D_ARGS="-Djogl.debug.GLContext -Djogamp.debug.NativeLibrary -Djogamp.debug.JNILibLoader -Djogl.debug.DebugGL -Djogl.debug.GLDebugMessageHandler" @@ -818,7 +819,6 @@ function testawtswt() { #testawt com.jogamp.opengl.test.junit.newt.event.TestNewtKeyPressReleaseUnmaskRepeatAWT $* #testawt com.jogamp.opengl.test.junit.newt.event.TestNewtKeyCodesAWT $* #testawt com.jogamp.opengl.test.junit.newt.event.TestNewtKeyCodeModifiersAWT $* -#testawt com.jogamp.opengl.test.junit.newt.event.TestNewtEventModifiersNEWTWindowAWT $* #testawt com.jogamp.opengl.test.junit.newt.event.TestNewtEventModifiersAWTCanvas $* #testawt com.jogamp.opengl.test.junit.newt.event.TestNewtEventModifiersNewtCanvasAWT $* #testawtswt com.jogamp.opengl.test.junit.newt.event.TestNewtEventModifiersNewtCanvasSWTAWT $* @@ -963,49 +963,18 @@ function testawtswt() { # # 2.4.0 Regressions # -# OSX -#testawt com.jogamp.opengl.test.junit.jogl.acore.ect.TestExclusiveContext01VSyncAnimAWT $* -#testawt com.jogamp.opengl.test.junit.jogl.acore.ect.TestExclusiveContext02FPSAnimAWT $* -testnoawt com.jogamp.opengl.test.junit.jogl.acore.ect.TestExclusiveContext01VSyncAnimNEWT $* -#testnoawt com.jogamp.opengl.test.junit.jogl.acore.ect.TestExclusiveContext02FPSAnimNEWT $* -#testnoawt com.jogamp.opengl.test.junit.jogl.acore.ect.TestExclusiveContext11VSyncAnimNEWT $* -#testnoawt com.jogamp.opengl.test.junit.jogl.acore.ect.TestExclusiveContext12FPSAnimNEWT $* -#testnoawt com.jogamp.opengl.test.junit.newt.TestDisplayLifecycle02NEWT $* +# OSX OpenJDK11U #testawt com.jogamp.opengl.test.junit.newt.event.TestParentingFocus02SwingAWTRobot $* -#testnoawt com.jogamp.opengl.test.junit.newt.parenting.TestParenting01NEWT $* -#testawt com.jogamp.opengl.test.junit.jogl.awt.TestBug1245JTabbedPanelCrashAWT $* -#testawt com.jogamp.opengl.test.junit.jogl.awt.TestBug664GLCanvasSetVisibleSwingAWT $* -#testawt com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NewtCanvasAWT $* +testnoawt com.jogamp.opengl.test.junit.newt.parenting.TestParenting01NEWT $* +#testnoawt com.jogamp.opengl.test.junit.newt.parenting.TestParenting02NEWT $* +#testawt com.jogamp.opengl.test.junit.jogl.awt.text.TestAWTTextRendererUseVertexArrayBug464 #testawt com.jogamp.opengl.test.junit.jogl.newt.TestSwingAWTRobotUsageBeforeJOGLInitBug411 $* +#testawt com.jogamp.opengl.test.junit.newt.event.TestNewtEventModifiersNewtCanvasAWT $* +#testnoawt com.jogamp.opengl.test.junit.newt.parenting.TestTranslucentChildWindowBug632NEWT $* -# Linux Mesa/AMD: -#testnoawt com.jogamp.opengl.test.junit.jogl.util.texture.TestGLReadBufferUtilTextureIOWrite01NEWT $* -#testnoawt com.jogamp.opengl.test.junit.jogl.util.texture.TestBug817GLReadBufferUtilGLCTXDefFormatTypeES2NEWT $* -#testawt com.jogamp.opengl.test.junit.newt.parenting.TestParenting01aAWT $* -#testawt com.jogamp.opengl.test.junit.newt.parenting.TestParenting01dAWT $* - -# Linux Mesa/Soft -#testnoawt com.jogamp.opengl.test.junit.jogl.math.TestPMVMatrix01NEWT $* -#testnoawt com.jogamp.opengl.test.junit.jogl.acore.TestGLProfile01NEWT $* -#testnoawt com.jogamp.opengl.test.junit.jogl.acore.TestGLProfile03NEWTOffscreen $* -#testnoawt com.jogamp.opengl.test.junit.jogl.acore.TestMainVersionGLWindowNEWT $* - -# ATI/Linux: XCB Unknown request in queue while dequeuing -# 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 -#testnoawt com.jogamp.opengl.test.junit.jogl.acore.ect.TestExclusiveContext01VSyncAnimNEWT $* -# this one works - though ! -#testnoawt com.jogamp.opengl.test.junit.jogl.acore.ect.TestExclusiveContext02FPSAnimNEWT $* - -# ATI/Linux XCB Unknown request in queue while dequeuing -# 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. -#testnoawt com.jogamp.opengl.test.junit.newt.mm.TestScreenMode02aNEWT $* -#testnoawt com.jogamp.opengl.test.junit.newt.mm.TestScreenMode02bNEWT $* - -# caused a freeze/crash on OSX -#testawt com.jogamp.opengl.test.junit.jogl.awt.TestGLCanvasAWTActionDeadlock02AWT $* -#testawt com.jogamp.opengl.test.junit.jogl.perf.TestPerf001GLJPanelInit02AWT $* +# Linux DRM/GBM +# +#testnoawt com.jogamp.opengl.test.junit.jogl.acore.TestGLContextSurfaceLockNEWT $* # NEW diff --git a/src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java b/src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java index 67cd188eb..2934375a3 100644 --- a/src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java +++ b/src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java @@ -460,7 +460,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl OSXUtil.RunOnMainThread(true, false, new Runnable() { @Override public void run() { - updateSizePosInsets0(getWindowHandle(), false); + updateSizePosInsets0(getWindowHandle(), false); // calls: sizeScreenPosInsetsChanged(..) } } ); } visibleChanged(0 != ( STATE_MASK_VISIBLE & flags)); @@ -476,7 +476,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl setWindowClientTopLeftPointAndSize0(oldWindowHandle, pClientLevelOnSreen.getX(), pClientLevelOnSreen.getY(), width, height, 0 != ( STATE_MASK_VISIBLE & flags)); - updateSizePosInsets0(oldWindowHandle, false); + updateSizePosInsets0(oldWindowHandle, false); // calls: sizeScreenPosInsetsChanged(..) } } ); } else { // else offscreen size is realized via recreation // no native event (fullscreen, some reparenting) @@ -523,7 +523,8 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl } private Point getLocationOnScreenByParent(final int x, final int y, final NativeWindow parent) { - return new Point(x, y).translate( parent.getLocationOnScreen(null) ); + // return new Point(x, y).translate( parent.getLocationOnScreen(null) ); // Bug 1393: deadlock AppKit + EDT + return new Point(x, y).translate( OSXUtil.GetLocationOnScreen(parent.getWindowHandle(), 0, 0) ); // non-blocking } /** Callback for native screen position change event of the client area. */ @@ -541,7 +542,8 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl public void run() { // screen position -> rel child window position final Point absPos = new Point(newX, newY); - final Point parentOnScreen = parent.getLocationOnScreen(null); + // final Point parentOnScreen = parent.getLocationOnScreen(null); // Bug 1393: deadlock AppKit + EDT + final Point parentOnScreen = OSXUtil.GetLocationOnScreen(parent.getWindowHandle(), 0, 0); // non-blocking absPos.translate( parentOnScreen.scale(-1, -1) ); if(DEBUG_IMPLEMENTATION) { System.err.println("MacWindow.positionChanged.1 (Screen Pos - CHILD): ("+getThreadName()+"): (defer: "+defer+") "+getX()+"/"+getY()+" -> absPos "+newX+"/"+newY+", parentOnScreen "+parentOnScreen+" -> "+absPos); |