summaryrefslogtreecommitdiffstats
path: root/make/build-nativewindow.xml
Commit message (Collapse)AuthorAgeFilesLines
* Bug 1156 - Implement DRM/GBM Support for JOGL(EGL) and NEWTSven Gothel2019-11-281-4/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding new classes DRMLib (gluegen of drm + gbm), DRMUtil and DRMMode GBMDummyUpstreamSurfaceHook to new package jogamp.nativewindow.drm, allowing full awareness of DRM + GBM within NativeWindow for JOGL + NEWT. DRMMode replaces the previous native code of collecting drmMode* attributes: active connector, used mode, encoder etc and also supports multiple active connectors. DRMUtil handles the global static drmFd (file descriptor), currently only the GNU/Linux DRM device is supported. GBMDummyUpstreamSurfaceHook provides a simple dummy GBM surface. NativeWindow provides the new nativewindow_drm.so and nativewindow-os-drm.jar, which are included in most 'all' jar packages. build property: setup.addNativeEGLGBM -> setup.addNativeDRMGBM Changes NativeWindowFactory: - TYPE_EGL_GBM -> TYPE_DRM_GBM while keeping the package ID of '.egl.gbm' for NEWT (using EGL) - Initializing DRMUtil at initialization Changes EGLDrawableFactory: - Using native GBM device for the default EGL display creation instead of EGL_DEFAULT_DISPLAY. This resolves issues as seen in Bug 1402, as well in cases w/o surfaceless support. - GL profile mapping uses surfaceless when available for GBM, otherwise uses createDummySurfaceImpl (dummy GBM surface via GBMDummyUpstreamSurfaceHook) - createDummySurfaceImpl uses a dummy GBM surface via GBMDummyUpstreamSurfaceHook - DesktopGL not available with GBM, see Bug 1401 NEWT's DRM + GBM + EGL Driver - Using DRMLib, DRMUtil and DRMMode, removed most native code but WindowDriver swapBuffer - ScreenDriver uses DRMMode, however currently only first connected CRT. - WindowDriver aligns position and size to screen, positions other than 0/0 causes DRM failure - WindowDriver reconfigure n/a NEWT TODO: - DRM Cursor support (mouse pointer) - Pointer event handling
* Fixed clean target so it doesn't fail if GlueGenTask is not presentSven Gothel2019-08-191-1/+1
| | | | | | | | | | | | | If gluegen was cleaned, the GlueGenTask would be absent, which would cause a failure in jogl clean (even though GlueGenTask isn't needed in the clean target). So, modified the jogl build so it doesn't load GlueGenTask in the clean target. Orig commit by Wade Walker. This alternative patch uses the ant target common.gluegen.init to define the 'gluegen' task post gluegen compile check and pre 'gluegen' call, avoiding the if-then-else ant-task state query: <equals arg1="${ant.project.invoked-targets}" arg2="clean" />
* Bug 1363: Java 11: bring back bootclasspath for java 8 target accuracySven Gothel2019-08-191-0/+1
| | | | | | | | | | | | | | | Was removed mostly via commit 63e31d05ad9f1df99663997c2f04ad086f29c8fc We have 2 choices building for java8 under java11: 1) use source, target and bootclasspath options 2) use release option It is said that (2) is not yet accurate enough and (1) shall be favored as it guarantees no java>8 class leak from the build JDK. This patch is isolated to allow removal of said bootclasspath if desired by anybody
* Removed remaining bootclasspath and javah; build now works on Windows 10Wade Walker2019-08-191-3/+0
| | | | | | (sgothel: This cherry picked merge will be refined) Also removed a couple of duplicate "source" tags in javac tasks.
* Bug 1363: Java 11: javah replacement: Use conditional ant targets instead of ↵Sven Gothel2019-08-191-64/+74
| | | | | | branches, also re-add bootclasspath Refines commit df7c0ad3b98d3520f023e026b6163bcba2c7ee7e
* Fixed native header generation for native windowing codeWade Walker2019-08-191-6/+62
|
* iOS: Initial working commit supporting iOS (ipad pro 11)Sven Gothel2019-06-231-10/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | using our OpenJFK 9 x86_64 and arm64 build. Test demo class is 'com.jogamp.opengl.demos.ios.Hello', residing in the new demo folder 'src/demos/com/jogamp/opengl/demos/ios/Hello.java'. This commit does not yet include a working NEWT specialization for iOS, but it shall followup soon. Instead this commit demonstrates JOGL operating on native UIWindow, UIView and CAEAGLLayer as provided by Nativewindow's IOSUtil. Test Video https://www.youtube.com/watch?v=Z4lUQNFTGMI +++ Notable bug: The FBO used and sharing the COLORBUFFER RENDERBUFFER memory resources with CAEAGLLayer to be displayed in the UIView seemingly cannot handle GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24 or GL_DEPTH_COMPONENT32 depth buffer - none at all (Device + Simulation). Therefor the default demo GLEventListener chosen here don't require a depth buffer ;-) This issue can hopefully be mitigated with other means than using a flat FBO sink similar to FBO multisampling.
* Bug 1190: Adapt cross build TARGET_PLATFORM_USRLIBS and ↵Sven Gothel2019-04-081-6/+6
| | | | TARGET_PLATFORM_SYSROOT (android)
* Bug 1316: MacOSX: Keep *.dylib (Don't move to *.jnilib)Sven Gothel2019-03-301-13/+2
| | | | | | | | Since Java8 (or even earlier), JRE on OSX uses *.dylib native library suffix instead of *.jnilib when automatically searching and loading them. This is not easily being recognized by JogAmp, since we explicitly name the native libraries with full path when testing with our TempJarCache.
* JavaFX: Adding JavaFX Support for NEWT utilizing native Window parenting via ↵Sven Gothel2019-03-191-1/+1
| | | | | | | | | | | | | | | | | | | | | NewtCanvasJFX NewtCanvasJFX, a JavaFX Canvas Node, allows attaching a native NEWT Window to the JavaFX Node's native Window (if attached). The mechanism is similar to NewtCanvasAWT. Current implementation supports placing the NEWT Window into the JavaFX scene of the native window correctly, as well as the following different lifecycles - attach NewtCanvasJFX to already visible group->scene->window - attach NewtCanvasJFX to not yet visible or attached group->scene->window - attach NEWT Window before or after NewtCanvasJFX's visibility The above is covered by unit test: TestNewtCanvasJFXGLn This is the initial commit for JavaFX support and has been tested on - OpenJDK 8 + OpenJFX 8 - GNU/Linux X11
* Bug 1232 - NEWT Translucent Decorated Windows Not Working On Windows >= 8 ↵Sven Gothel2015-10-011-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (Lack of Aero / Blur ) Adopting new undocumented user32.dll Windows >= 8 API: - SetWindowCompositionAttribute / AccentState See: - <https://github.com/riverar/sample-win10-aeroglass/blob/master/MainWindow.xaml.cs> - <http://withinrafael.com/adding-the-aero-glass-blur-to-your-windows-10-apps/> - <http://undoc.airesoft.co.uk/user32.dll/SetWindowCompositionAttribute.php> - <http://undoc.airesoft.co.uk/user32.dll/GetWindowCompositionAttribute.php> +++ Cleaning up WindowsDWM.h, use on header file (in stub_includes) for GlueGen and implementation. +++ Merge java implementation within GDIUtil.DwmSetupTranslucency(..), to be utilized by NEWT and JOGL. NEWT issues GDIUtil.DwmSetupTranslucency(..) at creation and when toggling decoration. Toggling decoration on Win >= 8 leads to lost of translucency when returning to decorated window. On Win 7, this may work .. but is also buggy. +++ Followup patch is needed for NEWT to _not_ clear the background!
* Adapt to new JNI header location within GlueGen, completes commit ↵Sven Gothel2015-03-241-8/+14
| | | | | | 9fb45e70730198fa7be940c5b48dd5c59bf04b93 JNI header moved to GlueGen via commit 532b8df474976b474f0cf4eb2d93588ded2ad3fe
* Add javadoc arg (property 'javadoc.xarg1') '-Xdoclint:none' if java >= 1.8 ↵Sven Gothel2015-02-031-0/+3
| | | | (GlueGen commit d8dff4c9f2186749b167195eeb339c33f56864e8)
* Bug 682 - Relocating javax.media.opengl.* -> com.jogamp.opengl.* (Part 1)Sven Gothel2015-02-021-3/+3
| | | | | | | | | sed -i 's/javax\.media\.opengl/com\.jogamp\.opengl/g' `grep -Rl "javax\.media\.opengl" src` sed -i 's/javax\.media\.nativewindow/com\.jogamp\.nativewindow/g' `grep -Rl "javax\.media\.nativewindow" src` sed -i 's/javax\/media\//com\/jogamp\//g' `grep -Rl "javax/media/" src` sed -i 's/javax\/media\//com\/jogamp\//g' `grep -Rl "javax/media/" doc` Manually edited all occurences within make/**
* Bug 1124 - Refine AArch64 Linux in ant build recipe, add Android AArch64 ↵Sven Gothel2015-01-301-1/+19
| | | | build/install scripts
* Bug 1024: Add fallback for native-jar-file location via classpathSven Gothel2014-07-111-5/+17
| | | | Adapt to GlueGen commit f5c48efcf546ba4e08e197ccced6df83b57e1755
* Attempt to remove aliasing from native libraries.Mark Raynsford2014-06-301-1/+1
| | | | | | | | | | | | | | | | Renamed: jogl-core.jar → jogl.jar nativewindow-core.jar → nativewindow.jar The build scripts have been edited to produce sets of natives for each "module" (as opposed to producing one set of natives and then have each module point to them via aliasing). Bug: 1023 Bug: 1024 Depends on 46faa59d439ef235d7691fc64d56eedc600ffa1a from gluegen.
* Bug 1021: Add OculusSDK binding / Basic OVR supportSven Gothel2014-06-191-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring-up test only initializes the ovrHmdHandle data structure by OVR native code. See com.jogamp.oculusvr.OVRVersion Current evaluation build compiles all OVR-SDK source files itself w/o using provided libovr.a. We also skip the GL dependent renderer of the SDK, i.e. we prefer to utilize our JOGL 'barrel distortion' renderer. This eases the 'chicken-egg' problem of OVR SDK dependencies, i.e. libGL, libGLESv2 .. etc Since the OVR source code is C++, we may still have to figure out how to / and whether we shall link libstdc++ statically to remove platform dependencies. Right now we link libstdc++ statically if using GCC, see make/build-oculusvr.xml (hackish .. TODO: better way to include all symbols). Same consideration applies to GNU/Linux and libudev.so dependency, since there are: - libudev.so.0 and (Older distri's) - libudev.so.1 (Debian8, ..) ... Produced JAR artifacts are - jar/atomic/oculusvr.jar - jar/atomic/oculusvr-natives-<os.and.arch>.jar i.e. only in 'atomic' variants to not bloat the default 'all' JAR files. .... make/build-oculusvr.xml Notes: - Currently native build only enabled on GNU/Linux (isLinux) - Force disable native build via property 'c.build.oculusvr.skip'
* build-*.xml: Unify 'javah' tasks where possible, i.e. per destination ↵Sven Gothel2013-09-081-6/+3
| | | | directory and classpath. This hopefully saves a few milliseconds in the build :)
* Bug 758: Fix scripts and ant build files to work w/ Java7 (default now) ↵Sven Gothel2013-06-211-0/+1
| | | | producing Java6 bytecode ; Apply JAR Manifest tags: Sealed, Permissions and Codebase
* Adapt to new version scheme, see GlueGen ↵Sven Gothel2013-03-281-4/+5
| | | | | | | a3f2ef50ad33c58a240a17fcf03e415d772207c3, etc; Fix NewtVersion, NativeWindowVersion and NewtVersionActivityLauncher NewtVersion, NativeWindowVersion: Also search for extension javax.media.opengl (all packaging) NewtVersionActivityLauncher: Use new launcher URI
* Fix CALayer pos/size and animation.b01Sven Gothel2013-02-221-1/+2
| | | | | | | | | | | | | | | - Fix CALayer animation: - All CALayer animations are set to nil via overriding 'actionForKey' - Fix CALayer pos/size bug: - Fix root and sub CALayer position to 0/0 and size on the main-thread w/o blocking. - If the sub CALayer implements the Objective-C NativeWindow protocol NWDedicatedSize (e.g. JOGL's MyNSOpenGLLayer), the dedicated size is passed to the layer, which propagates it appropriately. - On OSX/Java7 our root CALayer's frame position and size gets corrupted by its NSView, hence we have created the NWDedicatedSize protocol.
* OSX/Java7 Cleanup: Remove JavaNativeFoundation dependency; ↵Sven Gothel2013-02-171-19/+0
| | | | NativeWindow-JAWT: Remove c.fixup.jawt.version.macosx (redundant, libjawt.dylib is rpath'ed always)
* Fix commit fbe331f013608eb31ff0d8675f4e4c9881c9c48b (Bug 616 - Remove ↵Sven Gothel2012-10-021-0/+1
| | | | | | | | | XInitThreads()) X11Util/Native: Fix X11Util_initialize0() arguments were wrong and code still invoked XInitThreads() .. woops; Added missing included "jogamp_nativewindow_x11_X11Util.h" incl. it's generation via javah, which was the culprit of not detecting it at compile time. This is a fix for commit fbe331f013608eb31ff0d8675f4e4c9881c9c48b
* Adapt to GlueGen ARM Build Changes 422d7a5eb53fca6642ebf4e8910d8b0311bb2597Sven Gothel2012-08-161-7/+7
| | | | | Note: Patch set not clean since build*xml files contain 'NEWT Broadcom' driver changes of upcoming commit due to pervious uncommitted work. Will be fixed w/ next commit.
* Implement Bug #598 - JOGL ALL JAR File Change incl. it's Native Jar URL ↵Sven Gothel2012-06-261-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Merge branch 'pulled'Sven Gothel2012-03-071-3/+3
|\
| * Get JOGL to build with NDK r7Edwin Vane2012-02-281-3/+3
| | | | | | | | | | | | | | | | | | | | - Most of the android build work is done by gluegen ant files. Changes made to gluegen in support of NDK r7 need to be reflected here: - New/fewer environment variables. - Specifying android.abi for packaging. - Cross-compilation script cleaned up to look like gluegen's cross compile script for consistency. - Renamed install/re-install adb helper scripts to be ARM specific.
* | NativeWindow public-spec to public-impl reorg ↵Sven Gothel2012-03-061-8/+5
|/ | | | (javax.media.nativewindow.<impl> -> com.jogamp.nativewindow.<impl>) 2/3
* NativeWindow: Relax Xinerama dependency / Rename Windows impl subfolder to ↵Sven Gothel2012-02-271-17/+6
| | | | | | | common name win32 (same as stub_include) Utilizing dlopen/dlsym in an efficient way relaxes the platform requirement of having Xinerama available. This allows using Nokia N9 MeeGo out of the box.
* javac - setup encoding to UTF-8Sven Gothel2012-01-231-0/+1
|
* Fix Bug 516 (Determine Java Version) / Fix OS X 10.5 linkage (weak ↵Sven Gothel2012-01-221-2/+9
| | | | | | | | | | | | | | | framework, NEWT) - Fix Bug 516 (Determine Java Version). See gluegen: 64639b805a32338385421f168e12c1ef7f749d00 - Fix OS X 10.5 linkage (weak framework, NEWT) - Use weak framework linkage for all modules and frameworks: AppKit, QuartzCore, Cocoa, OpenGL, JavaNativeFoundation - NEWT: Handle NS exception while calling OS X >= 10.6 only methods: - 'setAllowsConcurrentViewDrawing()' - 'setCanDrawConcurrently()'
* Fix Bug 546: Provide more information about the systemSylvestre Ledru2012-01-091-0/+1
|
* Fix Bug 547: Enable others architectures under GNU/LinuxSylvestre Ledru2012-01-091-1/+37
|
* OSX: NW/NEWT use weak binding for Quartz and Cocoa (compatibility for 10.5)Sven Gothel2012-01-091-2/+2
|
* OSX 10.6 build fix: '-F <frameworkdir> -> -F<frameworkdir>Sven Gothel2012-01-091-2/+1
|
* Dispatch the '5' GDI/WGL functions and allow using their 'wgl' variants. GDI ↵Sven Gothel2012-01-091-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | is the default. The following 5 GDI functions have their 'wgl' counterparts which 'shall' being used in case the OpenGL DLL is being loaded dynamically. (So reads the documentation & FAQ). This seems to be required only in case the std. opengl32.dll is not being used. This use case is called GDI/ICD. If using a non std. OpenGL DLL, is called MCD. We dynamically load the OpenGL DLL and fetch the address pointer. Since we generally use the std. opengl32.dll, our use of the GDI callbacks seems to be legal. However, to test using the 'wgl' method WGLUtil is introduced. You can test using the 'wgl' variants by defining the property: 'jogl.windows.useWGLVersionOf5WGLGDIFuncSet'. In case you have troubles, ie crashes within pixelformat setup etc, it might be interesting if this may impact your behavior. - ChoosePixelFormat(long, PIXELFORMATDESCRIPTOR) - DescribePixelFormat(long, int, int, PIXELFORMATDESCRIPTOR) - GetPixelFormat(long) - SetPixelFormat(long, int, PIXELFORMATDESCRIPTOR) - SwapBuffers(long)
* JOGL junit.run: Add 32bit tests for OSX (fat binaries)Sven Gothel2011-12-181-2/+4
|
* Move manual GDI utils to GDIUtil ; Minor cleanup.Sven Gothel2011-12-011-0/+1
| | | | | | RegisteredClassFactory: Reference the factories itself instead of the RegisteredClass. This enables the shutdown hook to clear the factories state, which is required for proper recreation.
* NativeWindow build: Remove duplicate class ↵Sven Gothel2011-11-261-3/+3
| | | | X11AWTGraphicsConfigurationFactory in JAR files
* Fix Reloc AttachJAWTSurfaceLayer() (commit ↵Sven Gothel2011-11-181-0/+1
| | | | | | d644e9321dceeecdd94a1797e25e6e356d957c23) Missed build-nativewindow.xml commit
* OS X Layered View: Part6 (native) Using a root CALayer where we ↵Sven Gothel2011-11-101-0/+2
| | | | | | | | | | | | | | | | | attach/detach our GL one - it seems to be more stable, having one root CALayer attached to the JAWT_SurfaceView forever - tackles crach at GL layer destruction - proper release of all GL layer resources - now final [gl-layer dealloc] happens at very destruction of JAWT object, even though it was removed from root-layer earlier (and all other references) - see comment in MacOSXWindowSystemInterface-pbuffer.m :: createNSOpenGLLayer(..) - at least no more crash .. and resource release ASAP, but the GL-layer itself (see above)
* OSX: CGL type cleanup ; layeredSurface impl.Sven Gothel2011-11-051-1/+9
| | | | | | | | | - Use proper OSX types for NS/CGL prototypes (gluegen) and impl. - Impl layeredSurface (native): - OSXUtil: NSView backing creation - OSXUtil: AttachJAWTSurfaceLayer - CGL: NSOpenGLLayer type impl. and hook
* Fix Solaris gcc args ; Cleanup dependencies and linker args; Adding JVM arch ↵Sven Gothel2011-10-181-5/+34
| | | | | | | | flags (-d32/-d64) ; glxext.h uses 'gl-64bit-types.h' Cleanup dependencies and linker args - JOGL/NEWT: remove Xxf86vm dependency - NativeWindow Solaris: Use std 'Xinerama' and 'xf86vmode'
* OSX/SWT: Adding OSXUtil: RunOnMainThread(), IsMainThread() / Utilizing those ↵Sven Gothel2011-10-131-1/+1
| | | | | | | | | | | | | | for SWT access/calls Adding OSXUtil: RunOnMainThread(), IsMainThread() - Issuing a native call where the user Runnable is to be performed on the main thread - Enable query if we are on the main thread. Utilizing those for SWT access/calls - Using the above to call all SWT functions on the main thread if required (incomplete) TODO/Issues: - JOGL OSX CGL Context fails, ie expecting NS, but having CGL
* NativeWindow/OSX: Add nativewindow_macosx lib and nativewindow.os.macosx.jar ↵Sven Gothel2011-09-251-3/+28
| | | | for 'GetLocationOnScreen()'
* Complete translucency support for Win32 - tested w/ NEWTSven Gothel2011-09-041-3/+7
| | | | | | | https://jogamp.org/bugzilla/show_bug.cgi?id=517 - Adding some Windows DWM entries to GDI (manual) for translucency support - Add translucency setting in WindowsWGLGraphicsConfiguration*
* NativeWindow X11: Add DSO Xrender dependencySven Gothel2011-09-031-0/+6
|
* Proper classpath for all javah commands, using 'rootrel.build'Sven Gothel2011-08-301-2/+4
|
* Fix classpaths to work with Java 7's javahWade Walker2011-08-251-1/+1
| | | | | | Java 7's javah requires all referenced classes to be classpath, even if they're just method parameters and never instantiated. Java 6's version of javah didn't require this.