diff options
author | Sven Gothel <[email protected]> | 2019-06-23 08:03:04 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2019-06-23 08:03:04 +0200 |
commit | bba73bc096250a3c7fc036d84b1ea054d1b70b06 (patch) | |
tree | ed02575eac2a46bd49627444dcce972946ae8d2e /make/build-common.xml | |
parent | 154e91978498d8b6db9ce34a1f06b298bcf4c361 (diff) |
iOS: Initial working commit supporting iOS (ipad pro 11)
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.
Diffstat (limited to 'make/build-common.xml')
-rw-r--r-- | make/build-common.xml | 36 |
1 files changed, 27 insertions, 9 deletions
diff --git a/make/build-common.xml b/make/build-common.xml index 7ba8f74fc..84a2e3014 100644 --- a/make/build-common.xml +++ b/make/build-common.xml @@ -93,16 +93,22 @@ <property name="archive.name" value="jogl-${jogl.version}-${os.and.arch}" /> <property name="archive" value="${build}/${archive.name}" /> + <condition property="setup.noAWT"> + <or> + <istrue value="${isIOS}" /> + </or> + </condition> <condition property="setup.noNativeAWT"> <or> <isset property="setup.noAWT"/> - <isset property="isAndroid"/> + <istrue value="${isAndroid}" /> </or> </condition> <condition property="setup.noNativeDesktop"> <or> - <isset property="isAndroid"/> + <istrue value="${isAndroid}" /> + <istrue value="${isIOS}" /> </or> </condition> @@ -140,13 +146,12 @@ <istrue value="${isLinuxX86}" /> <!-- no more supported since SWT 4.10 --> </condition> <condition property="swt.jar" value="${project.root}/make/lib/swt/gtk-linux-x86_64/swt.jar"> - <istrue value="${isLinuxARM64}" /> <!-- FIXME JAU .. hack --> - </condition> - <condition property="swt.jar" value="${project.root}/make/lib/swt/gtk-linux-x86_64/swt.jar"> - <istrue value="${isLinuxARMv6}" /> <!-- FIXME JAU .. hack --> - </condition> - <condition property="swt.jar" value="${project.root}/make/lib/swt/gtk-linux-x86_64/swt.jar"> - <istrue value="${isAndroid}" /> <!-- FIXME JAU .. hack --> + <or> + <istrue value="${isLinuxARM64}" /> <!-- FIXME JAU .. hack --> + <istrue value="${isLinuxARMv6}" /> <!-- FIXME JAU .. hack --> + <istrue value="${isAndroid}" /> <!-- FIXME JAU .. hack --> + <istrue value="${isIOS}" /> <!-- FIXME JAU .. hack --> + </or> </condition> <property name="swt-cocoa-macosx-x86_64.jar" value="${project.root}/make/lib/swt/cocoa-macosx-x86_64/swt.jar"/> <condition property="swt.jar" value="${swt-cocoa-macosx-x86_64.jar}"> @@ -252,6 +257,7 @@ <property name="results.test" value="${build}/test/results" /> <property name="build.test" value="${build}/test/build" /> <property name="obj.test" value="${build.test}/obj"/> + <property name="build.demos" value="${build}/demos/build" /> <condition property="obj.custom" value="${custom.libdir}${path.separator}" else=""> <isset property="custom.libdir"/> @@ -282,6 +288,7 @@ <property name="nativewindow-os-x11.jar" value="${build.nativewindow}/nativewindow-os-x11.jar" /> <property name="nativewindow-os-win.jar" value="${build.nativewindow}/nativewindow-os-win.jar" /> <property name="nativewindow-os-osx.jar" value="${build.nativewindow}/nativewindow-os-osx.jar" /> + <property name="nativewindow-os-ios.jar" value="${build.nativewindow}/nativewindow-os-ios.jar" /> <path id="nativewindow_all_atoms.classpath"> <pathelement location="${nativewindow.jar}" /> @@ -289,12 +296,14 @@ <pathelement location="${nativewindow-os-x11.jar}" /> <pathelement location="${nativewindow-os-win.jar}" /> <pathelement location="${nativewindow-os-osx.jar}" /> + <pathelement location="${nativewindow-os-ios.jar}" /> </path> <path id="nativewindow_all-noawt_atoms.classpath"> <pathelement location="${nativewindow.jar}" /> <pathelement location="${nativewindow-os-x11.jar}" /> <pathelement location="${nativewindow-os-win.jar}" /> <pathelement location="${nativewindow-os-osx.jar}" /> + <pathelement location="${nativewindow-os-ios.jar}" /> </path> <path id="nativewindow_core_atoms.classpath"> <pathelement location="${nativewindow.jar}" /> @@ -314,6 +323,7 @@ <property name="jogl-os-x11.jar" value="${build.jogl}/jogl-os-x11.jar" /> <property name="jogl-os-win.jar" value="${build.jogl}/jogl-os-win.jar" /> <property name="jogl-os-osx.jar" value="${build.jogl}/jogl-os-osx.jar" /> + <property name="jogl-os-ios.jar" value="${build.jogl}/jogl-os-ios.jar" /> <property name="jogl-os-android.jar" value="${build.jogl}/jogl-os-android.jar" /> <property name="jogl-gldesktop.jar" value="${build.jogl}/jogl-gldesktop.jar" /> <property name="jogl-gldesktop-dbg.jar" value="${build.jogl}/jogl-gldesktop-dbg.jar" /> @@ -337,6 +347,7 @@ <pathelement location="${jogl-os-x11.jar}" /> <pathelement location="${jogl-os-win.jar}" /> <pathelement location="${jogl-os-osx.jar}" /> + <pathelement location="${jogl-os-ios.jar}" /> <pathelement location="${jogl-gldesktop.jar}" /> <pathelement location="${jogl-gldesktop-dbg.jar}" /> <pathelement location="${jogl-glu.jar}" /> @@ -355,6 +366,7 @@ <pathelement location="${jogl-os-x11.jar}" /> <pathelement location="${jogl-os-win.jar}" /> <pathelement location="${jogl-os-osx.jar}" /> + <pathelement location="${jogl-os-ios.jar}" /> <pathelement location="${jogl-gldesktop.jar}" /> <pathelement location="${jogl-gldesktop-dbg.jar}" /> <pathelement location="${jogl-glu.jar}" /> @@ -371,6 +383,7 @@ <pathelement location="${jogl-glu.jar}" /> <pathelement location="${jogl-util-fixedfuncemu.jar}" /> <pathelement location="${jogl-os-x11.jar}" /> + <pathelement location="${jogl-os-ios.jar}" /> <pathelement location="${jogl-omx.jar}" /> </path> <path id="jogl_all-android_atoms.classpath"> @@ -397,6 +410,7 @@ <property name="newt-driver-x11.jar" value="${build.newt}/newt-driver-x11.jar" /> <property name="newt-driver-win.jar" value="${build.newt}/newt-driver-win.jar" /> <property name="newt-driver-osx.jar" value="${build.newt}/newt-driver-osx.jar" /> + <property name="newt-driver-ios.jar" value="${build.newt}/newt-driver-ios.jar" /> <property name="newt-driver-android.jar" value="${build.newt}/newt-driver-android.jar" /> <!-- excluded from all --> <property name="newt-driver-kd.jar" value="${build.newt}/newt-driver-kd.jar" /> <!-- excluded from all --> <property name="newt-driver-intelgdl.jar" value="${build.newt}/newt-driver-intelgdl.jar" /> <!-- excluded from all --> @@ -412,6 +426,7 @@ <pathelement location="${newt-driver-x11.jar}" /> <pathelement location="${newt-driver-win.jar}" /> <pathelement location="${newt-driver-osx.jar}" /> + <pathelement location="${newt-driver-ios.jar}" /> <pathelement location="${newt-driver-bcm-vc.jar}" /> </path> <path id="newt_all-noawt_atoms.classpath"> @@ -421,6 +436,7 @@ <pathelement location="${newt-driver-x11.jar}" /> <pathelement location="${newt-driver-win.jar}" /> <pathelement location="${newt-driver-osx.jar}" /> + <pathelement location="${newt-driver-ios.jar}" /> <pathelement location="${newt-driver-bcm-vc.jar}" /> </path> <path id="newt_all-mobile_atoms.classpath"> @@ -429,6 +445,7 @@ <pathelement location="${newt-driver-linux.jar}" /> <pathelement location="${newt-driver-x11.jar}" /> <pathelement location="${newt-driver-win.jar}" /> + <pathelement location="${newt-driver-ios.jar}" /> <pathelement location="${newt-driver-bcm-vc.jar}" /> </path> <path id="newt_all-android_atoms.classpath"> @@ -449,6 +466,7 @@ <property name="jogl-test.jar" value="${jar}/jogl-test.jar"/> <property name="jogl-test-android.jar" value="${jar}/jogl-test-android.jar"/> <property name="jogl-test-android.apk" value="${jar}/jogl-test-android.apk"/> + <property name="jogl-demos-mobile.jar" value="${jar}/jogl-demos-mobile.jar"/> <!-- JavaSE combinations . AWT --> <property name="jogl-all.jar" value="${jar}/jogl-all.jar" /> |