From b72d6c058aedecac9720b550de9b0bc0a1900189 Mon Sep 17 00:00:00 2001 From: Romain Guy Date: Mon, 26 Jun 2023 12:48:22 -0700 Subject: [PATCH 01/11] Move file to the correct location --- {tnt => third_party/getopt/tnt}/README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {tnt => third_party/getopt/tnt}/README.md (100%) diff --git a/tnt/README.md b/third_party/getopt/tnt/README.md similarity index 100% rename from tnt/README.md rename to third_party/getopt/tnt/README.md From 3beb39f30b30feac9325fe0f40efc1846a69ff0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A1=B0=EB=8B=A4=EB=8B=88=EC=97=98=28Daniel=20Cho=29?= Date: Fri, 7 Jul 2023 01:07:14 +0900 Subject: [PATCH 02/11] Fix typo in build.sh (#6935) --- build.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.sh b/build.sh index b7916a1623..a6b5985d01 100755 --- a/build.sh +++ b/build.sh @@ -90,8 +90,8 @@ function print_help { echo " Desktop matc target, release build:" echo " \$ ./$self_name release matc" echo "" - echo " Build gltf_viewer then immediately run it with no arguments:" - echo " \$ ./$self_name release run_gltf_viewer" + echo " Build gltf_viewer:" + echo " \$ ./$self_name release gltf_viewer" echo "" } From 4582ce87696bc1c565c9401af77d97cb63a406fd Mon Sep 17 00:00:00 2001 From: Romain Guy Date: Thu, 6 Jul 2023 15:53:24 -0700 Subject: [PATCH 03/11] Fix texture upload callbacks in Java/Kotlin (#6939) * Fix texture upload callbacks in Java/Kotlin * Update release notes --- NEW_RELEASE_NOTES.md | 1 + android/filament-android/src/main/cpp/Texture.cpp | 4 +--- .../java/com/google/android/filament/textured/MainActivity.kt | 4 ++-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/NEW_RELEASE_NOTES.md b/NEW_RELEASE_NOTES.md index c3161a7700..d835bea931 100644 --- a/NEW_RELEASE_NOTES.md +++ b/NEW_RELEASE_NOTES.md @@ -8,3 +8,4 @@ appropriate header in [RELEASE_NOTES.md](./RELEASE_NOTES.md). ## Release notes for next branch cut +- Java/Kotlin: user callbacks were not invoked on successful texture upload diff --git a/android/filament-android/src/main/cpp/Texture.cpp b/android/filament-android/src/main/cpp/Texture.cpp index bb5be8fd43..ef778056c0 100644 --- a/android/filament-android/src/main/cpp/Texture.cpp +++ b/android/filament-android/src/main/cpp/Texture.cpp @@ -511,9 +511,7 @@ public: private: void* mData = nullptr; - jobject mBitmap = nullptr; - jobject mHandler = nullptr; - jobject mCallback = nullptr; + jobject mBitmap{}; AndroidBitmapInfo mInfo{}; }; diff --git a/android/samples/sample-textured-object/src/main/java/com/google/android/filament/textured/MainActivity.kt b/android/samples/sample-textured-object/src/main/java/com/google/android/filament/textured/MainActivity.kt index 9e6e79dad0..4016d35f38 100644 --- a/android/samples/sample-textured-object/src/main/java/com/google/android/filament/textured/MainActivity.kt +++ b/android/samples/sample-textured-object/src/main/java/com/google/android/filament/textured/MainActivity.kt @@ -231,7 +231,7 @@ class MainActivity : Activity() { animator.repeatCount = ValueAnimator.INFINITE animator.addUpdateListener { a -> val v = (a.animatedValue as Float) - camera.lookAt(cos(v) * 4.5, 1.5, sin(v) * 4.5, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) + camera.lookAt(cos(v) * 5.5, 1.5, sin(v) * 5.5, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) } animator.start() } @@ -253,7 +253,7 @@ class MainActivity : Activity() { // Stop the animation and any pending frame choreographer.removeFrameCallback(frameScheduler) - animator.cancel(); + animator.cancel() // Always detach the surface before destroying the engine uiHelper.detach() From 420f4000c228cbb124126802c1d0c4b90b5f7a93 Mon Sep 17 00:00:00 2001 From: "junsang.lee" Date: Fri, 7 Jul 2023 16:14:54 +0900 Subject: [PATCH 04/11] fix: 64-Bits Windows, Path::exists() fails for files over 2GB. (#6938) --- libs/utils/src/Path.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libs/utils/src/Path.cpp b/libs/utils/src/Path.cpp index ae94641e1b..be70140fad 100644 --- a/libs/utils/src/Path.cpp +++ b/libs/utils/src/Path.cpp @@ -50,8 +50,13 @@ Path::Path(const std::string& path) } bool Path::exists() const { +#if defined(_WIN64) || defined(_M_X64) + struct _stat64 file; + return _stat64(c_str(), &file) == 0; +#else struct stat file; return stat(c_str(), &file) == 0; +#endif } bool Path::isFile() const { From 47e3be11f095467326446483ad82553c4f38cbe3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A1=B0=EB=8B=A4=EB=8B=88=EC=97=98=28Daniel=20Cho=29?= Date: Sat, 8 Jul 2023 00:13:37 +0900 Subject: [PATCH 05/11] Fix typo in BUILDING.md (#6942) --- BUILDING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BUILDING.md b/BUILDING.md index 1577e02768..d2191109cf 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -78,7 +78,7 @@ To turn an option on or off: ``` $ cd -$ cmake . -DOPTION=ON # Relace OPTION with the option name, set to ON / OFF +$ cmake . -DOPTION=ON # Replace OPTION with the option name, set to ON / OFF ``` Options can also be set with the CMake GUI. @@ -181,7 +181,7 @@ Install the following components: - [Python 3.7](https://www.python.org/ftp/python/3.7.0/python-3.7.0.exe) - [CMake 3.14 or later](https://github.com/Kitware/CMake/releases/download/v3.14.7/cmake-3.14.7-win64-x64.msi) -The latest Windows SDK can also by installed by opening Visual Studio and selecting _Get Tools and +The latest Windows SDK can also be installed by opening Visual Studio and selecting _Get Tools and Features..._ under the _Tools_ menu. By default, Windows treats the file system as case insensitive. Please do not enable case From 0061883dbfb47e119a9018bbeef25d2b4e124365 Mon Sep 17 00:00:00 2001 From: Romain Guy Date: Mon, 10 Jul 2023 12:48:54 -0700 Subject: [PATCH 06/11] Fix dynamic resolution with quality > low and translucency (#6940) The scene graph was using the wrong boolean to decide whether to fallback to low quality upscaling when the render target is translucent. It was instead only looking at the view's blending mode. We need to check both, as color grading does in the same function. --- NEW_RELEASE_NOTES.md | 1 + .../android/filament/transparentrendering/MainActivity.kt | 6 +++--- filament/src/details/Renderer.cpp | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/NEW_RELEASE_NOTES.md b/NEW_RELEASE_NOTES.md index d835bea931..6acd0480bb 100644 --- a/NEW_RELEASE_NOTES.md +++ b/NEW_RELEASE_NOTES.md @@ -8,4 +8,5 @@ appropriate header in [RELEASE_NOTES.md](./RELEASE_NOTES.md). ## Release notes for next branch cut +- rendering: dynamic resolution would not work with a translucent render target and quality > low - Java/Kotlin: user callbacks were not invoked on successful texture upload diff --git a/android/samples/sample-transparent-view/src/main/java/com/google/android/filament/transparentrendering/MainActivity.kt b/android/samples/sample-transparent-view/src/main/java/com/google/android/filament/transparentrendering/MainActivity.kt index 19cfecd0ad..5991d7e47c 100644 --- a/android/samples/sample-transparent-view/src/main/java/com/google/android/filament/transparentrendering/MainActivity.kt +++ b/android/samples/sample-transparent-view/src/main/java/com/google/android/filament/transparentrendering/MainActivity.kt @@ -140,9 +140,9 @@ class MainActivity : Activity() { camera = engine.createCamera(engine.entityManager.create()) // clear the swapchain with transparent pixels - val options = renderer.clearOptions - options.clear = true - renderer.clearOptions = options + renderer.clearOptions = renderer.clearOptions.apply { + clear = true + } } private fun setupView() { diff --git a/filament/src/details/Renderer.cpp b/filament/src/details/Renderer.cpp index ec09b44bc4..3b01c13420 100644 --- a/filament/src/details/Renderer.cpp +++ b/filament/src/details/Renderer.cpp @@ -1050,7 +1050,7 @@ void FRenderer::renderJob(ArenaScope& arena, FView& view) { if (scaled) { mightNeedFinalBlit = false; auto viewport = DEBUG_DYNAMIC_SCALING ? xvp : vp; - input = ppm.upscale(fg, blendModeTranslucent, dsrOptions, input, xvp, { + input = ppm.upscale(fg, needsAlphaChannel, dsrOptions, input, xvp, { .width = viewport.width, .height = viewport.height, .format = colorGradingConfig.ldrFormat }); xvp.left = xvp.bottom = 0; From 45f5a07989861b9b01782c4a8ba188a6ea107f55 Mon Sep 17 00:00:00 2001 From: Powei Feng Date: Mon, 10 Jul 2023 15:22:15 -0700 Subject: [PATCH 07/11] Update MATERIAL_VERSION to 40 (#6948) --- libs/filabridge/include/filament/MaterialEnums.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/filabridge/include/filament/MaterialEnums.h b/libs/filabridge/include/filament/MaterialEnums.h index f58ffe2e6b..9ade8a98a4 100644 --- a/libs/filabridge/include/filament/MaterialEnums.h +++ b/libs/filabridge/include/filament/MaterialEnums.h @@ -28,7 +28,7 @@ namespace filament { // update this when a new version of filament wouldn't work with older materials -static constexpr size_t MATERIAL_VERSION = 39; +static constexpr size_t MATERIAL_VERSION = 40; /** * Supported shading models From 84487f4d8de2b1dc0b8759dcc85a9611f2c0bdd1 Mon Sep 17 00:00:00 2001 From: Powei Feng Date: Tue, 11 Jul 2023 09:14:06 -0700 Subject: [PATCH 08/11] vulkan: add lock to VulkanTimerQuery fence (#6949) Call to Driver::getTimerQueryValue is synchronous so we need to make sure the fence shared_ptr is protected by a lock. --- filament/backend/src/vulkan/VulkanContext.cpp | 14 +++++------ filament/backend/src/vulkan/VulkanHandles.cpp | 15 ++++++++---- filament/backend/src/vulkan/VulkanHandles.h | 24 ++++++++++++++----- 3 files changed, 35 insertions(+), 18 deletions(-) diff --git a/filament/backend/src/vulkan/VulkanContext.cpp b/filament/backend/src/vulkan/VulkanContext.cpp index 84f456f571..b2c14cfe3c 100644 --- a/filament/backend/src/vulkan/VulkanContext.cpp +++ b/filament/backend/src/vulkan/VulkanContext.cpp @@ -85,10 +85,10 @@ VkImageSubresourceRange VulkanAttachment::getSubresourceRange(VkImageAspectFlags VulkanTimestamps::VulkanTimestamps(VkDevice device) : mDevice(device) { // Create a timestamp pool large enough to hold a pair of queries for each timer. VkQueryPoolCreateInfo tqpCreateInfo = { - .sType = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO, - .queryType = VK_QUERY_TYPE_TIMESTAMP, + .sType = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO, + .queryType = VK_QUERY_TYPE_TIMESTAMP, }; - std::unique_lock timestamps_lock(mMutex); + std::unique_lock lock(mMutex); tqpCreateInfo.queryCount = mUsed.size() * 2; VkResult result = vkCreateQueryPool(mDevice, &tqpCreateInfo, VKALLOC, &mPool); ASSERT_POSTCONDITION(result == VK_SUCCESS, "vkCreateQueryPool error."); @@ -115,23 +115,23 @@ void VulkanTimestamps::clearQuery(uint32_t queryIndex) { void VulkanTimestamps::beginQuery(VulkanCommandBuffer const* commands, VulkanTimerQuery* query) { - uint32_t const index = query->startingQueryIndex; + uint32_t const index = query->getStartingQueryIndex(); vkCmdResetQueryPool(commands->cmdbuffer, mPool, index, 2); vkCmdWriteTimestamp(commands->cmdbuffer, VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, mPool, index); // We stash this because getResult might come before the query is actually processed. - query->fence = commands->fence; + query->setFence(commands->fence); } void VulkanTimestamps::endQuery(VulkanCommandBuffer const* commands, VulkanTimerQuery const* query) { - uint32_t const index = query->stoppingQueryIndex; + uint32_t const index = query->getStoppingQueryIndex(); vkCmdWriteTimestamp(commands->cmdbuffer, VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, mPool, index); } VulkanTimestamps::QueryResult VulkanTimestamps::getResult(VulkanTimerQuery const* query) { - uint32_t const index = query->startingQueryIndex; + uint32_t const index = query->getStartingQueryIndex(); QueryResult result; size_t const dataSize = result.size() * sizeof(uint64_t); VkDeviceSize const stride = sizeof(uint64_t) * 2; diff --git a/filament/backend/src/vulkan/VulkanHandles.cpp b/filament/backend/src/vulkan/VulkanHandles.cpp index 53bd59baef..e3d4579cd3 100644 --- a/filament/backend/src/vulkan/VulkanHandles.cpp +++ b/filament/backend/src/vulkan/VulkanHandles.cpp @@ -297,20 +297,25 @@ void VulkanRenderPrimitive::setBuffers(VulkanVertexBuffer* vertexBuffer, } VulkanTimerQuery::VulkanTimerQuery(std::tuple indices) - : startingQueryIndex(std::get<0>(indices)), stoppingQueryIndex(std::get<1>(indices)) {} + : mStartingQueryIndex(std::get<0>(indices)), mStoppingQueryIndex(std::get<1>(indices)) {} -bool VulkanTimerQuery::isCompleted() const noexcept { +void VulkanTimerQuery::setFence(std::shared_ptr fence) noexcept { + std::unique_lock lock(mFenceMutex); + mFence = fence; +} + +bool VulkanTimerQuery::isCompleted() noexcept { + std::unique_lock lock(mFenceMutex); // QueryValue is a synchronous call and might occur before beginTimerQuery has written anything // into the command buffer, which is an error according to the validation layer that ships in // the Android NDK. Even when AVAILABILITY_BIT is set, validation seems to require that the // timestamp has at least been written into a processed command buffer. // This fence indicates that the corresponding buffer has been completed. - if (!fence) { + if (!mFence) { return false; } - - VkResult status = fence->status.load(std::memory_order_relaxed); + VkResult status = mFence->status.load(std::memory_order_relaxed); if (status != VK_SUCCESS) { return false; } diff --git a/filament/backend/src/vulkan/VulkanHandles.h b/filament/backend/src/vulkan/VulkanHandles.h index e7ae830c51..c234cf5394 100644 --- a/filament/backend/src/vulkan/VulkanHandles.h +++ b/filament/backend/src/vulkan/VulkanHandles.h @@ -26,6 +26,8 @@ #include "private/backend/SamplerGroup.h" +#include "utils/Mutex.h" + namespace filament::backend { class VulkanTimestamps; @@ -106,7 +108,7 @@ struct VulkanBufferObject : public HwBufferObject { VulkanStagePool& stagePool, uint32_t byteCount, BufferObjectBinding bindingType, BufferUsage usage); void terminate() { - buffer.terminate(); + buffer.terminate(); } VulkanBuffer buffer; const BufferObjectBinding bindingType; @@ -141,14 +143,24 @@ struct VulkanTimerQuery : public HwTimerQuery { explicit VulkanTimerQuery(std::tuple indices); ~VulkanTimerQuery(); - bool isCompleted() const noexcept; + void setFence(std::shared_ptr fence) noexcept; + + bool isCompleted() noexcept; + + uint32_t getStartingQueryIndex() const { + return mStartingQueryIndex; + } + + uint32_t getStoppingQueryIndex() const { + return mStoppingQueryIndex; + } private: - uint32_t startingQueryIndex; - uint32_t stoppingQueryIndex; + uint32_t mStartingQueryIndex; + uint32_t mStoppingQueryIndex; - std::shared_ptr fence; - friend class VulkanTimestamps; + std::shared_ptr mFence; + utils::Mutex mFenceMutex; }; inline constexpr VkBufferUsageFlagBits getBufferObjectUsage( From 4e6f6a4579a720330662d0c644121af0cc0622b7 Mon Sep 17 00:00:00 2001 From: Ben Doherty Date: Wed, 12 Jul 2023 07:32:58 -0700 Subject: [PATCH 09/11] Disable shader precompilation on WebGL (#6925) --- libs/gltfio/src/ArchiveCache.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libs/gltfio/src/ArchiveCache.cpp b/libs/gltfio/src/ArchiveCache.cpp index 07a08e428b..118beec0fd 100644 --- a/libs/gltfio/src/ArchiveCache.cpp +++ b/libs/gltfio/src/ArchiveCache.cpp @@ -120,6 +120,11 @@ Material* ArchiveCache::getMaterial(const ArchiveRequirements& reqs) { .build(mEngine); } + // Don't attempt to precompile shaders on WebGL. + // Chrome already suffers from slow shader compilation: + // https://github.com/google/filament/issues/6615 + // Precompiling shaders exacerbates the problem. +#if !defined(__EMSCRIPTEN__) // compile everything at low priority mMaterials[i]->compile(Material::CompilerPriorityQueue::LOW); @@ -128,6 +133,7 @@ Material* ArchiveCache::getMaterial(const ArchiveRequirements& reqs) { UserVariantFilterBit::DIRECTIONAL_LIGHTING | UserVariantFilterBit::DYNAMIC_LIGHTING | UserVariantFilterBit::SHADOW_RECEIVER); +#endif return mMaterials[i]; } From 18c3c367279838e6f760d51917b9e66477c2d077 Mon Sep 17 00:00:00 2001 From: Benjamin Doherty Date: Wed, 12 Jul 2023 13:42:14 -0700 Subject: [PATCH 10/11] Release Filament 1.40.1 --- NEW_RELEASE_NOTES.md | 3 --- README.md | 4 ++-- RELEASE_NOTES.md | 5 +++++ android/gradle.properties | 2 +- ios/CocoaPods/Filament.podspec | 4 ++-- web/filament-js/package.json | 2 +- 6 files changed, 11 insertions(+), 9 deletions(-) diff --git a/NEW_RELEASE_NOTES.md b/NEW_RELEASE_NOTES.md index 6acd0480bb..4a1a9c7fa7 100644 --- a/NEW_RELEASE_NOTES.md +++ b/NEW_RELEASE_NOTES.md @@ -7,6 +7,3 @@ for next branch cut* header. appropriate header in [RELEASE_NOTES.md](./RELEASE_NOTES.md). ## Release notes for next branch cut - -- rendering: dynamic resolution would not work with a translucent render target and quality > low -- Java/Kotlin: user callbacks were not invoked on successful texture upload diff --git a/README.md b/README.md index 6906056ee5..76d5c09fd2 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ repositories { } dependencies { - implementation 'com.google.android.filament:filament-android:1.40.0' + implementation 'com.google.android.filament:filament-android:1.40.1' } ``` @@ -50,7 +50,7 @@ Here are all the libraries available in the group `com.google.android.filament`: iOS projects can use CocoaPods to install the latest release: ``` -pod 'Filament', '~> 1.40.0' +pod 'Filament', '~> 1.40.1' ``` ### Snapshots diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index b63adf8f66..af3f8746a3 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -7,6 +7,11 @@ A new header is inserted each time a *tag* is created. Instead, if you are authoring a PR for the main branch, add your release note to [NEW_RELEASE_NOTES.md](./NEW_RELEASE_NOTES.md). +## v1.40.2 + +- rendering: dynamic resolution would not work with a translucent render target and quality > low +- Java/Kotlin: user callbacks were not invoked on successful texture upload + ## v1.40.1 ## v1.40.0 diff --git a/android/gradle.properties b/android/gradle.properties index d9d0cd89b9..3177ba84cf 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,5 +1,5 @@ GROUP=com.google.android.filament -VERSION_NAME=1.40.0 +VERSION_NAME=1.40.1 POM_DESCRIPTION=Real-time physically based rendering engine for Android. diff --git a/ios/CocoaPods/Filament.podspec b/ios/CocoaPods/Filament.podspec index 5116d40eb3..7ea3d981eb 100644 --- a/ios/CocoaPods/Filament.podspec +++ b/ios/CocoaPods/Filament.podspec @@ -1,12 +1,12 @@ Pod::Spec.new do |spec| spec.name = "Filament" - spec.version = "1.40.0" + spec.version = "1.40.1" spec.license = { :type => "Apache 2.0", :file => "LICENSE" } spec.homepage = "https://google.github.io/filament" spec.authors = "Google LLC." spec.summary = "Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WASM/WebGL." spec.platform = :ios, "11.0" - spec.source = { :http => "https://github.com/google/filament/releases/download/v1.40.0/filament-v1.40.0-ios.tgz" } + spec.source = { :http => "https://github.com/google/filament/releases/download/v1.40.1/filament-v1.40.1-ios.tgz" } # Fix linking error with Xcode 12; we do not yet support the simulator on Apple silicon. spec.pod_target_xcconfig = { diff --git a/web/filament-js/package.json b/web/filament-js/package.json index bd2cf1b73f..fe2497447a 100644 --- a/web/filament-js/package.json +++ b/web/filament-js/package.json @@ -1,6 +1,6 @@ { "name": "filament", - "version": "1.40.0", + "version": "1.40.1", "description": "Real-time physically based rendering engine", "main": "filament.js", "module": "filament.js", From e023e90e7aa1e1520f5cabbe952a868253017f89 Mon Sep 17 00:00:00 2001 From: Benjamin Doherty Date: Wed, 12 Jul 2023 13:44:52 -0700 Subject: [PATCH 11/11] Bump version to 1.40.2 --- README.md | 4 ++-- android/gradle.properties | 2 +- ios/CocoaPods/Filament.podspec | 4 ++-- web/filament-js/package.json | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 76d5c09fd2..5919616f23 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ repositories { } dependencies { - implementation 'com.google.android.filament:filament-android:1.40.1' + implementation 'com.google.android.filament:filament-android:1.40.2' } ``` @@ -50,7 +50,7 @@ Here are all the libraries available in the group `com.google.android.filament`: iOS projects can use CocoaPods to install the latest release: ``` -pod 'Filament', '~> 1.40.1' +pod 'Filament', '~> 1.40.2' ``` ### Snapshots diff --git a/android/gradle.properties b/android/gradle.properties index 3177ba84cf..b8b4349e66 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,5 +1,5 @@ GROUP=com.google.android.filament -VERSION_NAME=1.40.1 +VERSION_NAME=1.40.2 POM_DESCRIPTION=Real-time physically based rendering engine for Android. diff --git a/ios/CocoaPods/Filament.podspec b/ios/CocoaPods/Filament.podspec index 7ea3d981eb..f8bd423974 100644 --- a/ios/CocoaPods/Filament.podspec +++ b/ios/CocoaPods/Filament.podspec @@ -1,12 +1,12 @@ Pod::Spec.new do |spec| spec.name = "Filament" - spec.version = "1.40.1" + spec.version = "1.40.2" spec.license = { :type => "Apache 2.0", :file => "LICENSE" } spec.homepage = "https://google.github.io/filament" spec.authors = "Google LLC." spec.summary = "Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WASM/WebGL." spec.platform = :ios, "11.0" - spec.source = { :http => "https://github.com/google/filament/releases/download/v1.40.1/filament-v1.40.1-ios.tgz" } + spec.source = { :http => "https://github.com/google/filament/releases/download/v1.40.2/filament-v1.40.2-ios.tgz" } # Fix linking error with Xcode 12; we do not yet support the simulator on Apple silicon. spec.pod_target_xcconfig = { diff --git a/web/filament-js/package.json b/web/filament-js/package.json index fe2497447a..759485c4e7 100644 --- a/web/filament-js/package.json +++ b/web/filament-js/package.json @@ -1,6 +1,6 @@ { "name": "filament", - "version": "1.40.1", + "version": "1.40.2", "description": "Real-time physically based rendering engine", "main": "filament.js", "module": "filament.js",