From b7ccc4c221c6791018efd96367092b37499440f6 Mon Sep 17 00:00:00 2001 From: Ryan Tremblay Date: Wed, 14 Jul 2021 12:13:09 -0700 Subject: [PATCH 1/6] Add NativeOptimizations lib --- Apps/Playground/ios/Podfile.lock | 2 +- Modules/@babylonjs/react-native/android/CMakeLists.txt | 1 + Modules/@babylonjs/react-native/ios/CMakeLists.txt | 1 + Modules/@babylonjs/react-native/react-native-babylon.podspec | 1 + Modules/@babylonjs/react-native/shared/BabylonNative.cpp | 2 ++ Modules/@babylonjs/react-native/submodules/BabylonNative | 2 +- Package/gulpfile.js | 1 + Package/iOS/CMakeLists.txt | 1 + 8 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Apps/Playground/ios/Podfile.lock b/Apps/Playground/ios/Podfile.lock index 8d3b32f29..94f96c7e4 100644 --- a/Apps/Playground/ios/Podfile.lock +++ b/Apps/Playground/ios/Podfile.lock @@ -492,7 +492,7 @@ SPEC CHECKSUMS: React-jsi: 5de8204706bd872b78ea646aee5d2561ca1214b6 React-jsiexecutor: 124e8f99992490d0d13e0649d950d3e1aae06fe9 React-jsinspector: 500a59626037be5b3b3d89c5151bc3baa9abf1a9 - react-native-babylon: 67b39de846123d0846b28ce0e38671c7e3c4e04f + react-native-babylon: 47ed99257b75b4b899f1aba39966b34904c5704f react-native-slider: e45c8376012e5ace012e5eef62e9c85c68e50a0f React-perflogger: aad6d4b4a267936b3667260d1f649b6f6069a675 React-RCTActionSheet: fc376be462c9c8d6ad82c0905442fd77f82a9d2a diff --git a/Modules/@babylonjs/react-native/android/CMakeLists.txt b/Modules/@babylonjs/react-native/android/CMakeLists.txt index f84974969..fd21d776d 100644 --- a/Modules/@babylonjs/react-native/android/CMakeLists.txt +++ b/Modules/@babylonjs/react-native/android/CMakeLists.txt @@ -78,6 +78,7 @@ target_link_libraries(BabylonNative NativeCapture NativeEngine NativeInput + NativeOptimizations NativeXr Window XMLHttpRequest) diff --git a/Modules/@babylonjs/react-native/ios/CMakeLists.txt b/Modules/@babylonjs/react-native/ios/CMakeLists.txt index fa41ffac9..4b675e642 100644 --- a/Modules/@babylonjs/react-native/ios/CMakeLists.txt +++ b/Modules/@babylonjs/react-native/ios/CMakeLists.txt @@ -52,6 +52,7 @@ target_link_libraries(BabylonNative NativeCapture NativeEngine NativeInput + NativeOptimizations NativeXr Window XMLHttpRequest) diff --git a/Modules/@babylonjs/react-native/react-native-babylon.podspec b/Modules/@babylonjs/react-native/react-native-babylon.podspec index 55637848c..56b33df01 100644 --- a/Modules/@babylonjs/react-native/react-native-babylon.podspec +++ b/Modules/@babylonjs/react-native/react-native-babylon.podspec @@ -33,6 +33,7 @@ Pod::Spec.new do |s| 'NativeCapture', 'NativeEngine', 'NativeInput', + 'NativeOptimizations', 'NativeXR', 'SPIRV', 'spirv-cross-core', diff --git a/Modules/@babylonjs/react-native/shared/BabylonNative.cpp b/Modules/@babylonjs/react-native/shared/BabylonNative.cpp index 6d0db35cd..8b0dc7d5a 100644 --- a/Modules/@babylonjs/react-native/shared/BabylonNative.cpp +++ b/Modules/@babylonjs/react-native/shared/BabylonNative.cpp @@ -5,6 +5,7 @@ #include #include #include +#include #include #include #include @@ -46,6 +47,7 @@ namespace Babylon m_nativeXr->SetSessionStateChangedCallback([isXRActive{ m_isXRActive }](bool isSessionActive) { *isXRActive = isSessionActive; }); Plugins::NativeCapture::Initialize(m_env); m_nativeInput = &Plugins::NativeInput::CreateForJavaScript(m_env); + Plugins::NativeOptimizations::Initialize(m_env); // Initialize Babylon Native polyfills Polyfills::Window::Initialize(m_env); diff --git a/Modules/@babylonjs/react-native/submodules/BabylonNative b/Modules/@babylonjs/react-native/submodules/BabylonNative index 0342e64f7..32bc67e8f 160000 --- a/Modules/@babylonjs/react-native/submodules/BabylonNative +++ b/Modules/@babylonjs/react-native/submodules/BabylonNative @@ -1 +1 @@ -Subproject commit 0342e64f7dc15544a69b7e62432e61499879b5e5 +Subproject commit 32bc67e8f2b642113d73e1f5c3eeba637f1ee8d4 diff --git a/Package/gulpfile.js b/Package/gulpfile.js index d6108adc1..0cec106d1 100644 --- a/Package/gulpfile.js +++ b/Package/gulpfile.js @@ -413,6 +413,7 @@ Assembled/ios/libs/libNativeXr.a Assembled/ios/libs/libNativeCapture.a Assembled/ios/libs/libspirv-cross-glsl.a Assembled/ios/libs/libNativeInput.a +Assembled/ios/libs/libNativeOptimizations.a Assembled/ios/libs/libJsRuntime.a Assembled/ios/libs/libGraphics.a Assembled/ios/libs/libOSDependent.a diff --git a/Package/iOS/CMakeLists.txt b/Package/iOS/CMakeLists.txt index 83348b948..37b77aeab 100644 --- a/Package/iOS/CMakeLists.txt +++ b/Package/iOS/CMakeLists.txt @@ -19,6 +19,7 @@ set(PACKAGED_LIBS NativeCapture NativeEngine NativeInput + NativeOptimizations NativeXr SPIRV spirv-cross-core From 2181dd0acda0fb50a2cac11d0864b275e01c0b68 Mon Sep 17 00:00:00 2001 From: Ryan Tremblay Date: Wed, 14 Jul 2021 15:33:55 -0700 Subject: [PATCH 2/6] Update BabylonNative --- Modules/@babylonjs/react-native/submodules/BabylonNative | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/@babylonjs/react-native/submodules/BabylonNative b/Modules/@babylonjs/react-native/submodules/BabylonNative index 32bc67e8f..9d865da51 160000 --- a/Modules/@babylonjs/react-native/submodules/BabylonNative +++ b/Modules/@babylonjs/react-native/submodules/BabylonNative @@ -1 +1 @@ -Subproject commit 32bc67e8f2b642113d73e1f5c3eeba637f1ee8d4 +Subproject commit 9d865da51910432e1d40566ea2c328f80a9ca97b From 1af7d39cc54d2bd0cd782ee348bad46db1ddd52d Mon Sep 17 00:00:00 2001 From: Ryan Tremblay Date: Wed, 14 Jul 2021 15:54:03 -0700 Subject: [PATCH 3/6] Add NativeOptimizations to Windows --- .../windows/BabylonReactNative/BabylonReactNative.vcxproj | 3 +++ Modules/@babylonjs/react-native-windows/windows/CMakeLists.txt | 1 + 2 files changed, 4 insertions(+) diff --git a/Modules/@babylonjs/react-native-windows/windows/BabylonReactNative/BabylonReactNative.vcxproj b/Modules/@babylonjs/react-native-windows/windows/BabylonReactNative/BabylonReactNative.vcxproj index 0f02bf069..f7eadd3ef 100644 --- a/Modules/@babylonjs/react-native-windows/windows/BabylonReactNative/BabylonReactNative.vcxproj +++ b/Modules/@babylonjs/react-native-windows/windows/BabylonReactNative/BabylonReactNative.vcxproj @@ -145,6 +145,7 @@ $(BabylonNativeBuildDir)\Plugins\NativeCapture\$(Configuration); $(BabylonNativeBuildDir)\Plugins\NativeEngine\$(Configuration); $(BabylonNativeBuildDir)\Plugins\NativeInput\$(Configuration); + $(BabylonNativeBuildDir)\Plugins\NativeOptimizations\$(Configuration); $(BabylonNativeBuildDir)\Plugins\NativeXr\$(Configuration); $(BabylonNativeBuildDir)\Polyfills\Window\$(Configuration); $(BabylonNativeBuildDir)\Polyfills\XMLHttpRequest\$(Configuration); @@ -191,6 +192,7 @@ NativeCapture.lib; NativeEngine.lib; NativeInput.lib; + NativeOptimizations.lib; NativeXr.lib; nvtt.lib; OGLCompilerd.lib; @@ -248,6 +250,7 @@ NativeCapture.lib; NativeEngine.lib; NativeInput.lib; + NativeOptimizations.lib; NativeXr.lib; nvtt.lib; OGLCompiler.lib; diff --git a/Modules/@babylonjs/react-native-windows/windows/CMakeLists.txt b/Modules/@babylonjs/react-native-windows/windows/CMakeLists.txt index d9262f08e..a6ac019b5 100644 --- a/Modules/@babylonjs/react-native-windows/windows/CMakeLists.txt +++ b/Modules/@babylonjs/react-native-windows/windows/CMakeLists.txt @@ -42,6 +42,7 @@ target_link_libraries(BabylonNative NativeCapture NativeEngine NativeInput + NativeOptimizations NativeXr Window XMLHttpRequest From 15c0c4766252c4ee9a5cb2262f9adce66b0caae9 Mon Sep 17 00:00:00 2001 From: Ryan Tremblay Date: Thu, 22 Jul 2021 16:27:03 -0700 Subject: [PATCH 4/6] Add libNativeOptimizations.a to gulpfile.js package validation list --- Package/gulpfile.js | 1 + 1 file changed, 1 insertion(+) diff --git a/Package/gulpfile.js b/Package/gulpfile.js index ab7e0b015..1df01bbf0 100644 --- a/Package/gulpfile.js +++ b/Package/gulpfile.js @@ -472,6 +472,7 @@ const validate = async () => { 'Assembled/ios/libs/libNativeCapture.a', 'Assembled/ios/libs/libNativeEngine.a', 'Assembled/ios/libs/libNativeInput.a', + 'Assembled/ios/libs/libNativeOptimizations.a', 'Assembled/ios/libs/libNativeXr.a', 'Assembled/ios/libs/libOGLCompiler.a', 'Assembled/ios/libs/libOSDependent.a', From a311761cca3e87a4a4333eded16fa41464ab8e65 Mon Sep 17 00:00:00 2001 From: Ryan Tremblay Date: Fri, 23 Jul 2021 09:54:37 -0700 Subject: [PATCH 5/6] Update Babylon.js to latest --- Apps/PackageTest/0.63.1/ios/Podfile.lock | 10 ++++----- Apps/PackageTest/0.63.1/package-lock.json | 8 +++---- Apps/PackageTest/0.63.1/package.json | 2 +- Apps/Playground/package-lock.json | 22 +++++++++---------- Apps/Playground/package.json | 4 ++-- .../react-native-windows/package.json | 2 +- .../@babylonjs/react-native/package-lock.json | 6 ++--- Modules/@babylonjs/react-native/package.json | 4 ++-- 8 files changed, 29 insertions(+), 29 deletions(-) diff --git a/Apps/PackageTest/0.63.1/ios/Podfile.lock b/Apps/PackageTest/0.63.1/ios/Podfile.lock index 38d16740f..dddba6581 100644 --- a/Apps/PackageTest/0.63.1/ios/Podfile.lock +++ b/Apps/PackageTest/0.63.1/ios/Podfile.lock @@ -68,7 +68,7 @@ PODS: - glog (0.3.5) - libevent (2.1.12) - OpenSSL-Universal (1.1.180) - - Permission-Camera (2.1.5): + - Permission-Camera (2.2.2): - RNPermissions - RCTRequired (0.63.1) - RCTTypeSafety (0.63.1): @@ -298,8 +298,8 @@ PODS: - React-Core (= 0.63.1) - React-cxxreact (= 0.63.1) - React-jsi (= 0.63.1) - - RNPermissions (2.1.5): - - React + - RNPermissions (2.2.2): + - React-Core - Yoga (1.14.0) - YogaKit (1.18.1): - Yoga (~> 1.14) @@ -449,7 +449,7 @@ SPEC CHECKSUMS: glog: 40a13f7840415b9a77023fbcae0f1e6f43192af3 libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 OpenSSL-Universal: 1aa4f6a6ee7256b83db99ec1ccdaa80d10f9af9b - Permission-Camera: 53d46bd722aea28d796e20f05fb3cbe6cde6ccb6 + Permission-Camera: 375576c57ea625c88137d2cc52ba6dfeb21db036 RCTRequired: d9b1a9e6fa097744ca3ede59f86a35096df7202b RCTTypeSafety: c227cd061983e9e964115afbc4e8730d6a6f1395 React: 86e972a20967ee4137aa19dc48319405927c2e94 @@ -471,7 +471,7 @@ SPEC CHECKSUMS: React-RCTText: 4f95d322b7e6da72817284abf8a2cdcec18b9cd8 React-RCTVibration: f3a9123c244f35c40d3c9f3ec3f0b9e5717bb292 ReactCommon: 2905859f84a94a381bb0d8dd3921ccb1a0047cb8 - RNPermissions: 1888705aebcc81714efa5dbff94351e4388ae012 + RNPermissions: 067727df624665d4a6c8e2cffcc172ba608b96ed Yoga: d5bd05a2b6b94c52323745c2c2b64557c8c66f64 YogaKit: f782866e155069a2cca2517aafea43200b01fd5a diff --git a/Apps/PackageTest/0.63.1/package-lock.json b/Apps/PackageTest/0.63.1/package-lock.json index b062e937c..07600c87e 100644 --- a/Apps/PackageTest/0.63.1/package-lock.json +++ b/Apps/PackageTest/0.63.1/package-lock.json @@ -913,16 +913,16 @@ } }, "@babylonjs/core": { - "version": "5.0.0-alpha.30", - "resolved": "https://registry.npmjs.org/@babylonjs/core/-/core-5.0.0-alpha.30.tgz", - "integrity": "sha512-qVbN5DqEbx3M+XXs8u7s8nzIkx8MyP5UtMFmzUQCDw1wFkhqVWjOAKpt5U7i6PtSZQCZIezalucrKeTP5lSTLQ==", + "version": "5.0.0-alpha.34", + "resolved": "https://registry.npmjs.org/@babylonjs/core/-/core-5.0.0-alpha.34.tgz", + "integrity": "sha512-cBxaLT+HmkVRBPG5FewMfUtGKEsXwZzB9n/JTxnzA/ohuDR5vLzwQ9tR2hOlFYococDWsJHJok0WAq1FWfEt+Q==", "requires": { "tslib": "^2.1.0" } }, "@babylonjs/react-native": { "version": "file:../../../Package/Assembled/babylonjs-react-native-0.0.1.tgz", - "integrity": "sha512-3TU50RJIYgYvee6cSkiJf5vDhUwLSRZWEyKWviSbPB+r+G8hiJPuPo3PWdM9JiMlh+XoDGiIuZu83lcGayfQ+g==", + "integrity": "sha512-UdxBV+FjmayrEPEGOTRY84eL6Ut/VqfItccKmo4dmg+494wpNTMszKVIHh4j+50JlUtMU2Y8r12vuWANwyj4OA==", "requires": { "base-64": "^0.1.0", "semver": "^7.3.2" diff --git a/Apps/PackageTest/0.63.1/package.json b/Apps/PackageTest/0.63.1/package.json index a632380ac..1beb20bed 100644 --- a/Apps/PackageTest/0.63.1/package.json +++ b/Apps/PackageTest/0.63.1/package.json @@ -10,7 +10,7 @@ "lint": "eslint . --ext .js,.jsx,.ts,.tsx" }, "dependencies": { - "@babylonjs/core": "^5.0.0-alpha.30", + "@babylonjs/core": "^5.0.0-alpha.34", "@babylonjs/react-native": "file:../../../Package/Assembled/babylonjs-react-native-0.0.1.tgz", "react": "16.13.1", "react-native": "0.63.1", diff --git a/Apps/Playground/package-lock.json b/Apps/Playground/package-lock.json index e7bcd3172..2f61b1796 100644 --- a/Apps/Playground/package-lock.json +++ b/Apps/Playground/package-lock.json @@ -886,20 +886,20 @@ } }, "@babylonjs/core": { - "version": "5.0.0-alpha.30", - "resolved": "https://registry.npmjs.org/@babylonjs/core/-/core-5.0.0-alpha.30.tgz", - "integrity": "sha512-qVbN5DqEbx3M+XXs8u7s8nzIkx8MyP5UtMFmzUQCDw1wFkhqVWjOAKpt5U7i6PtSZQCZIezalucrKeTP5lSTLQ==", + "version": "5.0.0-alpha.34", + "resolved": "https://registry.npmjs.org/@babylonjs/core/-/core-5.0.0-alpha.34.tgz", + "integrity": "sha512-cBxaLT+HmkVRBPG5FewMfUtGKEsXwZzB9n/JTxnzA/ohuDR5vLzwQ9tR2hOlFYococDWsJHJok0WAq1FWfEt+Q==", "requires": { "tslib": "^2.1.0" } }, "@babylonjs/loaders": { - "version": "5.0.0-alpha.30", - "resolved": "https://registry.npmjs.org/@babylonjs/loaders/-/loaders-5.0.0-alpha.30.tgz", - "integrity": "sha512-EgryjcNDbiL18XTXLpuKJSzBYTzBrMteLpRxzL4lGIz4E31zwEDl3+VezrjFX2bgsdfQO7ty7D3ELZMJAfF4nA==", + "version": "5.0.0-alpha.34", + "resolved": "https://registry.npmjs.org/@babylonjs/loaders/-/loaders-5.0.0-alpha.34.tgz", + "integrity": "sha512-y/OWpykDO63WTPbPXylmT0R8XIGvZAG5fgtSE72LLDzF6M2LtTCnX3HiTEMVX1GPlyQzuslEFjtUsS3qgFYRFw==", "requires": { - "@babylonjs/core": "5.0.0-alpha.30", - "babylonjs-gltf2interface": "5.0.0-alpha.30", + "@babylonjs/core": "5.0.0-alpha.34", + "babylonjs-gltf2interface": "5.0.0-alpha.34", "tslib": "^2.1.0" } }, @@ -4597,9 +4597,9 @@ } }, "babylonjs-gltf2interface": { - "version": "5.0.0-alpha.30", - "resolved": "https://registry.npmjs.org/babylonjs-gltf2interface/-/babylonjs-gltf2interface-5.0.0-alpha.30.tgz", - "integrity": "sha512-HO8ezRQ0s4//x4CEACszcVdbotKO0/DzkWJAVbZBGZ/QaMLibYfCQoKCWBP1gIBADIe+cjn3TubM0oIMovDhwQ==" + "version": "5.0.0-alpha.34", + "resolved": "https://registry.npmjs.org/babylonjs-gltf2interface/-/babylonjs-gltf2interface-5.0.0-alpha.34.tgz", + "integrity": "sha512-BqcvLlTvVsPtQsCp/PtL0uIpNrJ1oas00N7kP1Lk7eDd+PUchIF1gvC/XvPR7QH6WABIvTcbi7Fr931OyIyxsw==" }, "balanced-match": { "version": "1.0.0", diff --git a/Apps/Playground/package.json b/Apps/Playground/package.json index 0e938ca2d..9904dd5c7 100644 --- a/Apps/Playground/package.json +++ b/Apps/Playground/package.json @@ -14,8 +14,8 @@ "iosCmake": "node scripts/tools.js iosCMake" }, "dependencies": { - "@babylonjs/core": "^5.0.0-alpha.30", - "@babylonjs/loaders": "^5.0.0-alpha.30", + "@babylonjs/core": "^5.0.0-alpha.34", + "@babylonjs/loaders": "^5.0.0-alpha.34", "@babylonjs/react-native": "file:../../Modules/@babylonjs/react-native", "@babylonjs/react-native-windows": "file:../../Modules/@babylonjs/react-native-windows", "@react-native-community/slider": "4.0.0-rc.3", diff --git a/Modules/@babylonjs/react-native-windows/package.json b/Modules/@babylonjs/react-native-windows/package.json index 9355a7719..904d647fe 100644 --- a/Modules/@babylonjs/react-native-windows/package.json +++ b/Modules/@babylonjs/react-native-windows/package.json @@ -24,7 +24,7 @@ "licenseFilename": "LICENSE", "readmeFilename": "README.md", "peerDependencies": { - "@babylonjs/core": "^5.0.0-alpha.30", + "@babylonjs/core": "^5.0.0-alpha.34", "@babylonjs/react-native":"version", "react": "^17.0.1", "react-native": "^0.64.0", diff --git a/Modules/@babylonjs/react-native/package-lock.json b/Modules/@babylonjs/react-native/package-lock.json index 8778ccdd4..fe5cfc34e 100644 --- a/Modules/@babylonjs/react-native/package-lock.json +++ b/Modules/@babylonjs/react-native/package-lock.json @@ -756,9 +756,9 @@ } }, "@babylonjs/core": { - "version": "5.0.0-alpha.30", - "resolved": "https://registry.npmjs.org/@babylonjs/core/-/core-5.0.0-alpha.30.tgz", - "integrity": "sha512-qVbN5DqEbx3M+XXs8u7s8nzIkx8MyP5UtMFmzUQCDw1wFkhqVWjOAKpt5U7i6PtSZQCZIezalucrKeTP5lSTLQ==", + "version": "5.0.0-alpha.34", + "resolved": "https://registry.npmjs.org/@babylonjs/core/-/core-5.0.0-alpha.34.tgz", + "integrity": "sha512-cBxaLT+HmkVRBPG5FewMfUtGKEsXwZzB9n/JTxnzA/ohuDR5vLzwQ9tR2hOlFYococDWsJHJok0WAq1FWfEt+Q==", "dev": true, "requires": { "tslib": "^2.1.0" diff --git a/Modules/@babylonjs/react-native/package.json b/Modules/@babylonjs/react-native/package.json index 41171e379..71d6c584f 100644 --- a/Modules/@babylonjs/react-native/package.json +++ b/Modules/@babylonjs/react-native/package.json @@ -28,7 +28,7 @@ "semver": "^7.3.2" }, "peerDependencies": { - "@babylonjs/core": "^5.0.0-alpha.30", + "@babylonjs/core": "^5.0.0-alpha.34", "react": "^16.13.1", "react-native": "^0.63.1", "react-native-permissions": "^2.1.4" @@ -36,7 +36,7 @@ "devDependencies": { "@babel/core": "^7.8.4", "@babel/runtime": "^7.8.4", - "@babylonjs/core": "^5.0.0-alpha.30", + "@babylonjs/core": "^5.0.0-alpha.34", "@rnw-scripts/eslint-config": "0.1.6", "@rnw-scripts/ts-config": "0.1.0", "@types/base-64": "^0.1.3", From 4708fcf5f19a0428c9f94ef449accec08bace232 Mon Sep 17 00:00:00 2001 From: Ryan Tremblay Date: Fri, 23 Jul 2021 16:23:18 -0700 Subject: [PATCH 6/6] Update BabylonNative to master --- Modules/@babylonjs/react-native/submodules/BabylonNative | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/@babylonjs/react-native/submodules/BabylonNative b/Modules/@babylonjs/react-native/submodules/BabylonNative index 2c1f7f8d0..975bb0b61 160000 --- a/Modules/@babylonjs/react-native/submodules/BabylonNative +++ b/Modules/@babylonjs/react-native/submodules/BabylonNative @@ -1 +1 @@ -Subproject commit 2c1f7f8d0d0d56afee65a013e11b5c05c1decb09 +Subproject commit 975bb0b615ff423fd21bd2ac64efdd3a8d1bc89f