aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix Bug 597: XDisplayString(0) -> SIGSEGV; Handle n/a DISPLAYSven Gothel2012-06-301-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It works now as follows: Note: Remote connection tested using ssh to localhost or an actual remote machine. Test w/ proper X11 authentication, i.e. DISPLAY and xauth: > cd projects/JOGL/jogl-bugs/597-headless/ > echo $DISPLAY localhost:10.0 > xclock 'works' T1.1 OK> java plop jogamp.opengl.x11.glx.X11GLXDrawableFactory@f581593 T1.2 OK> java -Djava.awt.headless=true plop jogamp.opengl.x11.glx.X11GLXDrawableFactory@6f34a7d8 +++ Test _without_ proper X11 authentication, i.e. DISPLAY and xauth: > xclock No protocol specified No protocol specified Error: Can't open display: :0.0 T2.1 OK> java plop No protocol specified No protocol specified Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable. (Stack trace from: GLProfile.initProfilesForDefaultDevices(..) -> NativeWindowFactory.initSingleton(..) -> JAWTUtil.<clinit>-> sun.awt.X11.XToolkit.<clinit> -> sun.awt.X11GraphicsEnvironment.initDisplay(Native Method) T2.2 OK> java -Djava.awt.headless=true plop No protocol specified No protocol specified ... jogamp.opengl.x11.glx.X11GLXDrawableFactory@394a8cd1
* Fix Bug #589 (JAWT Offscreen-Layer resize) and Offscreen-Layer ↵Sven Gothel2012-06-307-73/+112
| | | | | | | | | | | | | | | | | | | | | | | | | setSwapInterval() deadlock; Reuse JAWT instance; Cleanup - Fixes - OSXUtil.CreateCALayer*(..): Pass layer target size (if known). This fixes Bug #589 - MacOSXWindowSystemInterface-pbuffer.m: - ALL: displayLink NULL check - setSwapInterval(..): lock only for variable setting, could deadlock when start/stop CVDisplayLink - JAWTWindow.destroy(): use 'surfaceLock' instead of 'synchronized' - Cleanup / Performance - JAWTWindow.lockSurface(): Reuse JAWT instance - MacOSXJAWTWindow: AttachJAWTSurfaceLayer0(..) -> SetJAWTRootSurfaceLayer0(..) Reflects semantic better. - DEBUG - JAWTWindow.updateBounds(..) notify of bounds change
* JAWTUtil/MacOSXWindowSystemInterface-pbuffer: Cleanup / More DEBUG infoSven Gothel2012-06-302-17/+24
| | | | | | | | | | | | | | JAWTUtil.getJAWT(..): - better local var names - one time init - add DEBUG trace JAWTUtil.<init>: - add offscreenLayer info MacOSXWindowSystemInterface-pbuffer.m: - remove warning: access of protected vars from outside class - better local var names - more DEBUG info (pbuffer texture)
* GLContextImpl/GLDrawableImpl: More fail-safe, cleanup, mark some methods finalSven Gothel2012-06-293-19/+25
| | | | | | | | | | | GLContextImpl: Cleanup - release(): simplify the conditions - destroy(): allow locked twice before (destroy case) GLDrawableImpl: - fail safe: swapBuffers - final methods: getFactoryImpl, toHexString, getGLProfile, getRequestedGLCapabilities, getFactory, isRealized, lockSurface, unlockSurface
* NativeSurface.unlockSurface(): Change fail-fast policy to fail safe tolerantSven Gothel2012-06-298-21/+26
| | | | | | | | | - This policy allows more simple destruction handling w/o validating on the top level. - Hence 'unlockSurface()' shall not throw any exception. - 'lockSurface()' keeps unchanges, clarified w/ explicit 'throws' declaration, ie will fail-fast.
* Minor cleanupSven Gothel2012-06-293-17/+16
|
* Bug #589 - Enhance snapshot/textIO test: Add offscreen mode; Add AWT ↵Sven Gothel2012-06-285-87/+301
| | | | onscreen/offscreen-layer resize test.
* AWT/SWT GLCanvas: Remove volatile of context instance, use drawable ↵Sven Gothel2012-06-282-4/+4
| | | | instance's volatile 'feature'
* NEWT GLWindow multithreading fix and annotations (see commit ↵Sven Gothel2012-06-282-72/+242
| | | | | | | | bc7503c77892a9e14b10e8b8e9ce48b148c6fa4c). NEWT GLWindow multithreading fix: - Add required locking of display(), otherwise a drawable/context destruction of another threads could lead to [still] use asynced data.
* SWT/AWT GLCanvas multithreading annotations (see commit ↵Sven Gothel2012-06-282-6/+30
| | | | 1a91ec5c8b6fd9d9db7bc115569c369fe7b38e9b) ; AWT GLCanvas remove dead code.
* SWT GLCanvas: Fix destroy(), Remove local concurrency hack & out-of-process ↵Sven Gothel2012-06-284-114/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | locking ; Revise threading code; Proper name for SWT unit tests. SWT GLCanvas: - Fix destroy() drawable.setRealized(false); is being called within dispose() method - Remove local concurrency hack [MT-0] The hack: 'final GLContext ctx = getContext(); a = null != ctx ? ctx.something() : 0;' is thread safe locally, however, w/o covering the hole use case of the caller it makes no sense to add thread safe code here - would be only an illusion. In case any of the methods are called outside of a locked state extra care should be added. Maybe we shall expose locking facilities to the user. However, since the user shall stick to the GLEventListener model while utilizing GLAutoDrawable implementations, she is safe due to the implicit locked state. - Removing out-of-process locking [MT-1] Claiming the recursive lock in the dispose/display/.. methods and _then_ issuing a complex off-thread GL task could lead to deadlock. The GL task could involve calling GLEventListener methods, which itself could try to manipulate the GLCanvas -> deadlock. Similar to [MT-0] we may need to either find a proper locking mechanism or simply ignore it and reduce functionality. TBH .. the number of scenarious of the mentioned deadlock are very limited and exotic. - Revise threading code [MT-2] Besides the other MT-* remarks, the logic whether to spawn off the GL task and determination which thread to use is too complex and redundant. (See isRenderThread(), runInGLThread() and runInDesignatedGLThread()) - Proper name for SWT unit tests. Reflect the semantics.
* GLContext* TRACE_SWITCH: Add GLContext instance hash value to allow tracking.Sven Gothel2012-06-282-12/+21
|
* GLDrawable* cleanup: Add @Override, remove trailing whitespace, ..Sven Gothel2012-06-2824-401/+716
|
* Capabilities cleanup: make most get*() final, impl. Comparable to ↵Sven Gothel2012-06-277-137/+198
| | | | | | | | | | | | | | | | CapabilitiesImmutable, Misc .. - Comparable<CapabilitiesImmutable> to CapabilitiesImmutable: "interface CapabilitiesImmutable extends VisualIDHolder, WriteCloneable" -> "interface CapabilitiesImmutable extends VisualIDHolder, WriteCloneable, Comparable<CapabilitiesImmutable>" - CapabilitiesImmutable and GLCapabilitiesImmutable get-methods final (most) - GLCapabilitiesImmutable.compareTo: add doubleBuffered (between stereo and samples) Misc: - Add @Override - remove trailing whitespace,
* Misc cleanup: Add @Override, remove trailing whitespaceSven Gothel2012-06-2718-464/+603
|
* Misc cleanup: Add @Override, remove trailing whitespaceSven Gothel2012-06-2722-238/+329
|
* Misc cleanup: add @OverrideSven Gothel2012-06-275-78/+90
|
* NativeSurface Cleanup (API Change) - Adapt to GlueGen Lock cleanup commit: ↵Sven Gothel2012-06-278-110/+134
| | | | | | | | | | | | 834b9e530e652b7ff7c5e222720bce3ad2b11c5f - adapt to GlueGen Lock cleanup - remove isSurfaceLocked(), use 'null != getSurfaceLockOwner()' instead Misc: - remove unused priv./impl. methods - add @Override
* NEWT WindowImpl.runOnEDTIfAvail(..): Run task from current thread if owning ↵Sven Gothel2012-06-271-5/+9
| | | | | | the windowLock. Avoiding deadlock when cmds issued from within locked code path. This allows e.g. GLEventListener::display(..) { .. glWindow.setSize(100, 100); .. }
* Fix commit a393e45613d87101dbb13763df263c2f9291d2d0: jogl's cg native lib is ↵Sven Gothel2012-06-261-2/+2
| | | | jogl_cg (jar packaging)
* Complete Bug #598 - Commit a393e45613d87101dbb13763df263c2f9291d2d0Sven Gothel2012-06-262-4/+4
|
* Implement Bug #598 - JOGL ALL JAR File Change incl. it's Native Jar URL ↵Sven Gothel2012-06-2643-468/+511
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Derivation - Depends on GlueGen commit 9a71703904ebfec343fb2c7266343d37a2e4c3db JAR file name changes: ALL JARs: - jogl.all.jar -> jogl-all.jar - jogl.all-noawt.jar -> jogl-all-noawt.jar - jogl.all-mobile.jar -> jogl-all-mobile.jar - jogl.all-android.jar -> jogl-all-android.jar - jogl.all-android.apk -> jogl-all-android.apk Atomic JARs: - nativewindow.core.jar -> nativewindow-core.jar - nativewindow.awt.jar -> nativewindow-awt.jar - nativewindow.os.x11.jar -> nativewindow-os-x11.jar - nativewindow.os.win.jar -> nativewindow-os-win.jar - nativewindow.os.macosx.jar -> nativewindow-os-osx.jar - jogl.core.jar -> jogl-core.jar - jogl.sdk.jar -> jogl-sdk.jar - jogl.glmobile.jar -> jogl-glmobile.jar - jogl.glmobile.dbg.jar -> jogl-glmobile-dbg.jar - jogl.util.jar -> jogl-util.jar - jogl.glutess.jar -> jogl-glutess.jar - jogl.glumipmap.jar -> jogl-glumipmap.jar - jogl.util.fixedfuncemu.jar -> jogl-util-fixedfuncemu.jar - jogl.awt.jar -> jogl-awt.jar - jogl.swt.jar -> jogl-swt.jar - jogl.util.awt.jar -> jogl-util-awt.jar - jogl.os.x11.jar -> jogl-os-x11.jar - jogl.os.win.jar -> jogl-os-win.jar - jogl.os.osx.jar -> jogl-os-osx.jar - jogl.os.android.jar -> jogl-os-android.jar - jogl.gldesktop.jar -> jogl-gldesktop.jar - jogl.gldesktop.dbg.jar -> jogl-gldesktop-dbg.jar - jogl.glugldesktop.jar -> jogl-glu-gldesktop.jar - jogl.util.gldesktop.jar -> jogl-util-gldesktop.jar - jogl.omx.jar -> jogl-omx.jar - jogl.cg.jar -> jogl-cg.jar - newt.core.jar -> newt-core.jar - newt.ogl.jar -> newt-ogl.jar - newt.awt.jar -> newt-awt.jar - newt.event.jar -> newt-event.jar - newt.driver.x11.jar -> newt-driver-x11.jar - newt.driver.win.jar -> newt-driver-win.jar - newt.driver.macosx.jar -> newt-driver-osx.jar - newt.driver.android.jar -> newt-driver-android.jar - newt.driver.kd.jar -> newt-driver-kd.jar - newt.driver.intelgdl.jar -> newt-driver-intelgdl.jar - newt.driver.broadcomegl.jar -> newt-driver-broadcomegl.jar Test JARs: - jogl.test.jar -> jogl-test.jar - jogl.test-android.jar -> jogl-test-android.jar - jogl.test-android.apk -> jogl-test-android.apk
* test scriptSven Gothel2012-06-251-1/+2
|
* Fix path derivation of J2RE_HOME and JAVA_HOMESven Gothel2012-06-251-3/+3
|
* Add screenshot AWT version: TestGLReadBufferUtilTextureIOWrite01AWTSven Gothel2012-06-251-0/+134
|
* Tests [Multisample, Offscreen, ..]: Add Snapshots and store them in current ↵Sven Gothel2012-06-2510-97/+197
| | | | | | directory instead of tempdir, so they get archived (CI/jenkins). Multisample/TestGLReadBufferUtilTextureIOWrite01NEWT: Add offscreen test
* JOGL CapabilitiesChooser-API and impl.: Cleanup using generics: 'List l' -> ↵Sven Gothel2012-06-2113-47/+60
| | | | 'List<? extends CapabilitiesImmutable> l'
* NEWT: Add virtual on-screen keyboard visibility interface methods incl. ↵Sven Gothel2012-06-217-24/+122
| | | | | | | | | | | | | Android implementation. Note: Currently only w/ Android implementation. Note: On Android there is no way to reliably be notified of the current keyboard state. It would be best, if your code does not rely on this information Window adds: - setKeyboardVisible(boolean) - isKeyboardVisible() // unreliable on Android
* Fix regression (commit a6e7b6cc08cea358c157320ff9d61d424c57e92b) of ↵v2.0-rc9Sven Gothel2012-06-191-1/+0
| | | | jogl.test-android*.apk's manifest: Remove 'Trusted-Library: true'
* Fix regression (commit a6e7b6cc08cea358c157320ff9d61d424c57e92b) of ↵Sven Gothel2012-06-191-1/+0
| | | | jogl.test.jar manifest: Remove 'Trusted-Library: true'
* Fix regression of commit 54d0ff131097a2cd9a91a0c1dd84deb8b1f7d0ac in ↵Sven Gothel2012-06-191-1/+1
| | | | build-newt.xml: Trigger build-jars-native
* TextureIO TGA/PNG: Use RGB[9] for 1-3 channel data; PNGImage(PNGJ) add 1 ↵Sven Gothel2012-06-184-35/+65
| | | | channel (Luminance) read/write
* Texture Unit Tests: AWT/NEWT GL2/ES2 PNGJ/AWT-PNG-Loading and Rendering ↵Sven Gothel2012-06-1815-190/+764
| | | | | | | | | | | | | | (TestPNGTextureFromFile[AWT/NEWT]) Properly test combinations of TextureIO usage w/ - NEWT / AWT usage - GL2 / ES2 usage - PNG implementations: PNGJ (internal) and AWT - adding screenshots of result for later analysis Misc: - IOUtil.getResource(..) usage CLASS.class.getClassLoader() -> this.getClass().getClassLoader()
* Unit Test: Cleanup TextureSequence Demo Code and Tests, adding AWT Test ↵Sven Gothel2012-06-176-75/+250
| | | | 'launcher'
* JOGL Texture Util Unit Test merge to ↵Sven Gothel2012-06-176-7/+5
| | | | 'com.jogamp.opengl.test.junit.jogl.util.texture'
* Fix Bug 590: Wrong GL2 and GLES2 aliasing of ↵Sven Gothel2012-06-166-39/+17
| | | | | | | | | | | | | | | | GL_ARB_half_float_pixel/GL_ARB_half_float_vertex and GL_OES_texture_half_float extensions We mistakenly aliase the GL2 and GLES2 extensions: - GL_ARB_half_float_pixel - GL_HALF_FLOAT_ARB 0x140B - GL_ARB_half_float_vertex - GL_HALF_FLOAT 0x140B - GL_OES_texture_half_float extensions - GL_HALF_FLOAT_OES 0x8D61 This also leads to adding GL_HALF_FLOAT_OES to com.jogamp.opengl.util.GLBuffers.sizeof(..).
* Adapt to GlueGen commit 1468286bf569a493e4fdb887d5f3732f88c8cec3 ↵Sven Gothel2012-06-161-1/+1
| | | | (IOUtil.createTempFile(..) change)
* Fix Bug 583: Remove Android compile-time dependencies and exclude Android ↵Sven Gothel2012-06-1512-113/+177
| | | | | | | | | | | | | | specific classes for non Android platforms. Adapt to GlueGen commits: b3c9951006f9bd863244f1db3d54ac7866d66f0a, 86c1df6fdca183454ff544857f4236b646c4730d Ensure same Java JAR content regardless of build target (fix). Separate Android compilation results: jogl.all-android.jar and jogl.test-android.jar avoiding generating different content w/ non android builds. Adding ${android.abi} to APK target name (jogl.all-android.apk -> jogl.all-android-armeabi-v7a.apk) if not generic.
* Graph/Font Demo: Add simple 'one-file' demo/test 'TestTextRendererNEWT10' ↵Sven Gothel2012-05-163-2/+170
| | | | w/o GLEventListener
* Unit Test Util NEWTGLContext: Pass GLCapabilities instead of GLProfile, ↵Sven Gothel2012-05-168-17/+31
| | | | allowing custom pixelformat caps.
* Java Source Files: dos -> unix formatSven Gothel2012-05-1515-3294/+3294
|
* Graph/Font Demo: Add simple 'one-file' demo/test 'TestTextRendererNEWT00'Sven Gothel2012-05-154-1/+292
| | | | .. also adding missing (c) of other graph unit test.
* Clarify API Doc: GLRunnable and it's GLAutoDrawable::invoke(..)Sven Gothel2012-05-152-16/+25
|
* GPUTextRendererListenerBase01: Remove unused var.Sven Gothel2012-05-151-2/+0
|
* graph/font: Add "public float getAdvanceWidth(int i, float pixelSize);"Sven Gothel2012-05-153-1/+7
| | | | | Font::getAdvancedWidth(..) allows applications to query a glyphs width with a given pixel size, as it is being used for rendering.
* Graph/Glyph: Clarify public Font.Glyph and private FontInt.GlyphIntSven Gothel2012-05-154-11/+13
|
* GLContext.destroy() error case: Lock hold > 1 - More explicit error message.Sven Gothel2012-05-141-2/+2
|
* Fix Bug 572: AWT-GLCanvas shall force setRealized(true) on AWT-EDT avoiding ↵Sven Gothel2012-05-141-3/+8
| | | | AWTTree deadlock
* Refine commit be7cac1713b166ca6578c685ec8a7231a8429919:Sven Gothel2012-05-134-1/+10
| | | | | | | | Throw ClassNotFoundException in Display/Screen/Window factory if neither custom nor default class is available. Suppress Warning of non existing custom class (in non DEBUG mode), rely on later ClassNotFoundException (see above).
* TestGLContextSurfaceLockNEWT: Add GLWindow destroy @ test endSven Gothel2012-05-132-1/+3
|