diff --git a/.github/actions/web-deps/action.yml b/.github/actions/web-deps/action.yml deleted file mode 100644 index 9300e4af..00000000 --- a/.github/actions/web-deps/action.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: Setup Base Dependencies -description: Setup Emscripten -runs: - using: "composite" - steps: - - name: Set up Emscripten latest - uses: mymindstorm/setup-emsdk@v14 - env: - EM_VERSION: 3.1.64 - EM_CACHE_FOLDER: emsdk-cache - with: - version: ${{ env.EM_VERSION }} - actions-cache-folder: ${{ env.EM_CACHE_FOLDER }} - cache-key: emsdk-${{ matrix.cache-name }}-${{ env.GODOT_BASE_BRANCH }}-${{ github.ref }}-${{ github.sha }} - - - name: Verify Emscripten setup - shell: bash - run: | - emcc -v diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 48ef7755..f1e1d200 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,7 +19,7 @@ jobs: strategy: fail-fast: false matrix: - identifier: [linux, windows, macos, ios, android, web] + identifier: [linux, windows, macos, ios, android-arm32, android-arm64, web] target: [debug, release] include: - identifier: linux @@ -46,17 +46,17 @@ jobs: runner: macos-latest flags: arch=universal - # - identifier: android-arm32 - # platform: android - # name: 🤖 Android Arm32 - # runner: ubuntu-22.04 - # arch: arm32 + - identifier: android-arm32 + platform: android + name: 🤖 Android Arm32 + runner: ubuntu-22.04 + flags: arch=arm32 - - identifier: android + - identifier: android-arm64 platform: android name: 🤖 Android Arm64 runner: ubuntu-22.04 - flags: [arch=arm64, arch=arm32] + flags: arch=arm64 - identifier: web platform: web @@ -85,7 +85,6 @@ jobs: env: SCONS_CACHE: "${{ github.workspace }}/.scons-cache/" TARGET: 'template_${{ matrix.target }}' - ARCH: '${{ matrix.arch }}' shell: sh run: | scons target=$TARGET platform='${{ matrix.platform }}' ${{ matrix.flags }} debug_symbols=no -j2 @@ -107,7 +106,7 @@ jobs: uses: actions/upload-artifact@v4 with: include-hidden-files: true - name: t3d-${{ matrix.platform }}-${{ matrix.arch }}-${{ matrix.target }} + name: t3d-${{ matrix.identifier }}-${{ matrix.target }} path: | ${{ github.workspace }}/project/ diff --git a/.github/workflows/web.yml b/.github/workflows/web.yml index 0a206ead..015306bf 100644 --- a/.github/workflows/web.yml +++ b/.github/workflows/web.yml @@ -10,7 +10,7 @@ jobs: matrix: platform: [web] target: [debug, release] - threads: [no] + flags: threads=no #threads: [yes, no] steps: @@ -19,10 +19,6 @@ jobs: with: submodules: recursive - - name: Setup Web Dependencies - if: ${{ matrix.platform == 'web' }} - uses: ./.github/actions/web-deps - - name: Setup Base Dependencies uses: ./.github/actions/base-deps @@ -44,7 +40,7 @@ jobs: TARGET: 'template_${{ matrix.target }}' shell: sh run: | - scons target=$TARGET platform='${{ matrix.platform }}' threads='${{ matrix.threads }}' debug_symbols=no -j2 + scons target=$TARGET platform='${{ matrix.platform }}' ${{ matrix.flags }} debug_symbols=no -j2 - name: Prepare Files shell: sh diff --git a/doc/docs/platforms.md b/doc/docs/platforms.md index 913f6333..9c3882a1 100644 --- a/doc/docs/platforms.md +++ b/doc/docs/platforms.md @@ -9,8 +9,8 @@ This page documents the status of various platforms and renderers supported by G * [Windows](#windows) * [Linux](#linux) * [macOS](#macos) -* [Android](#android) * [IOS](#ios) +* [Android](#android) * [Steam Deck](#steam-deck) * [HTML / WebGL](#webgl) @@ -50,21 +50,6 @@ from other users. If bypassing Apple security is not working, or if approaching a release date, macOS users should [build from source](building_from_source.md) so you can sign the binaries with your own developer account. -## Android - -As of Terrain3D 0.9.1 and Godot 4.2, Android is reported to work. - -* Use textures that Godot imports (converts) such as PNG or TGA, not DDS. -* Enable `Project Settings/Rendering/Textures/VRAM Compression/Import ETC2 ASTC`. - -The release builds include binaries for arm32 and arm64. - -There is a [texture artifact](https://github.com/TokisanGames/Terrain3D/issues/137) affecting some systems using the demo DDS textures. This may be alleviated by using PNGs as noted above, but isn't confirmed. - -Further reading: -* [Issue 197](https://github.com/TokisanGames/Terrain3D/issues/197) - - ## IOS As of Terrain3D 0.9.1 and Godot 4.2, iOS is reported to work with the following setup: @@ -93,6 +78,21 @@ Further reading: * [PR 295](https://github.com/TokisanGames/Terrain3D/pull/295) +## Android + +As of Terrain3D 0.9.1 and Godot 4.2, Android is reported to work. + +* Use textures that Godot imports (converts) such as PNG or TGA, not DDS. +* Enable `Project Settings/Rendering/Textures/VRAM Compression/Import ETC2 ASTC`. + +The release builds include binaries for arm32 and arm64. + +There is a [texture artifact](https://github.com/TokisanGames/Terrain3D/issues/137) affecting some systems using the demo DDS textures. This may be alleviated by using PNGs as noted above, but isn't confirmed. + +Further reading: +* [Issue 197](https://github.com/TokisanGames/Terrain3D/issues/197) + + ## Steam Deck As of Terrain3D v0.9.1 and Godot 4.2, the first generation Steam Deck is reported working, running the demo at 200+ fps. @@ -108,7 +108,7 @@ Further reading: ## WebGL -Web Exports are very experimental. We have a working test environment. It requires [Compatibility Renderer (read more)](#compatibility). See the progress and setup in [Issue 502](https://github.com/TokisanGames/Terrain3D/issues/502). +Web Exports are very experimental. We have a working test environment. It requires using the [Compatibility Renderer (read more)](#compatibility). See the progress and setup instructions in [Issue 502](https://github.com/TokisanGames/Terrain3D/issues/502). Supported Renderers @@ -126,15 +126,18 @@ The Forward+ Vulkan renderer is fully supported. ## D3D12 -The Forward+ Direct3D 12 renderer was recently merged into Godot 4.3 and is not yet supported by Terrain3D. Early testing shows artifacts. +The Forward+ Direct3D 12 renderer was recently merged into Godot 4.3. TextureArrays are not fully supported yet (no mipmaps). Follow [Issue 529](https://github.com/TokisanGames/Terrain3D/issues/529) for progress. + ## Metal -Support for Apple's Metal for iOS and macOS was recently merged into Godot 4.4-dev1. It is not yet supported by Terrain3D. No testing has been done. +Support for Apple's Metal for iOS and macOS was merged into Godot 4.4-dev1. It is not yet supported by Terrain3D. No testing has been done. + ## Mobile -The Forward Vulkan Mobile renderer is fully supported in Terrain3D. +The Forward Vulkan Mobile renderer is fully supported. + ## Compatibility @@ -154,3 +157,4 @@ Further reading: * [Issue 217](https://github.com/TokisanGames/Terrain3D/issues/217) * [PR 500](https://github.com/TokisanGames/Terrain3D/pull/500) +* [PR 564](https://github.com/TokisanGames/Terrain3D/pull/564)