Commit Graph

35317 Commits

Author SHA1 Message Date
Rémi Verschelde cb19b81374
Merge pull request #87338 from akien-mga/3.x-linux-export-arm
[3.x] Linux: Add support for arm64 and arm32 export templates
2024-01-18 16:10:35 +01:00
Rémi Verschelde 58898a5484
Linux: Add support for arm64 and arm32 export templates
This is done in a hacky way, mostly to keep it simple and avoid having
to do a refactoring of the `EditorExportPlatform` interface.

Only Windows and Linux use `EditorExportPlatformPC`, and thus to
handle the new architectures for Linux, we simply do a few checks here
and there with a couple new methods to register the export template
names for Linux arm64 and arm32.

For Godot 4.0, we did refactor everything to allow exporting binaries
for different architectures cleanly. For 3.6, which is likely the last
feature release for the 3.x branch, I tend to cut corners as these
improvements will be shorter lived and thus new tech debt isn't as big
a concern.
2024-01-18 15:38:32 +01:00
Rémi Verschelde 3e7572304d
Merge pull request #87292 from akien-mga/3.x-libvpx-crimes
[3.x] Linux: Disable webm module on arm32, we can't build libvpx properly
2024-01-17 15:21:40 +01:00
Rémi Verschelde c6e4ee72df
Linux: Disable webm module on arm32, we can't build libvpx properly
libvpx arm32 build with NEON can be supported in theory (and it works
on Android armv7), but our SCons logic for it is super convoluted and
broken. It needs significant rework to be made less error prone, and
ensure we can compile `.s` files properly with cross-compilation
toolchains.

The demand to play WebM videos on older Pi3-style SoCs is likely low,
so for now this is a simple compromise.

Could be improved with some effort if someone is motivated.
2024-01-17 15:06:52 +01:00
Rémi Verschelde b0eb2b4e59
Merge pull request #87288 from akien-mga/3.x-uwp-fix-get_unique_id-build
[3.x] UWP: Fix VS 2017 build with new `get_unique_id` method
2024-01-17 13:47:32 +01:00
Rémi Verschelde dfb03a3956
Merge pull request #87272 from halotroop2288/patch-3
[3.x] Fix `#if *_ENABLED` inconsistencies, should check if defined
2024-01-17 13:47:09 +01:00
Rémi Verschelde 1eac1a2794
Merge pull request #87265 from AThousandShips/aabb_fix_cs_3_x
[3.x] [C#] Fix `Encloses` failing on shared upper bound for `AABB` and `Rect2`
2024-01-17 13:46:47 +01:00
Rémi Verschelde 2c5a420701
Merge pull request #87261 from alessandrofama/3.x-wasapi-failed-init
[3.x] Fix Dummy audio driver initialization issue on WASAPI output device initialization failure
2024-01-17 13:46:20 +01:00
Rémi Verschelde dd03a68b89
Merge pull request #87258 from akien-mga/3.x-fix-arm32-oidn-embree-build
[3.x] Linux: Fix arm32 build for OIDN and Embree
2024-01-17 13:45:53 +01:00
Rémi Verschelde d01e8aafb4
UWP: Fix VS 2017 build with new `get_unique_id` method
Fixes this error:
```
platform\uwp\os_uwp.cpp(715): error C3149: 'Windows::Storage::Streams::IBuffer': cannot use this type here without a top-level '^'
```
2024-01-17 11:24:19 +01:00
Caroline Joy Bell 9c0bd332a5
Fix `#if *_ENABLED` inconsistencies, should check if defined
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-17 10:21:40 +01:00
A Thousand Ships ee4396809c
[C#] Fix `Encloses` failing on shared upper bound for `AABB` and `Rect2` 2024-01-16 20:19:43 +01:00
Alessandro Famà 61b1e2e83f [3.x] Fix Dummy audio driver initialization issue on WASAPI output device initialization failure 2024-01-16 18:40:56 +01:00
Rémi Verschelde ae34c85a87
Linux: Fix arm32 build for OIDN and Embree
Still paying the cost of not having refactored all architecture handling
in the 3.x branch so we have this broken hybrid of arch/bits which is
unreliable.
2024-01-16 18:17:05 +01:00
Mikael Klasson 62858097aa
Fix invalid Python escape sequences
(cherry picked from commit 4986d6d317)
2024-01-16 17:15:35 +01:00
Rémi Verschelde 304f453b01
SCons: Fix Python 3.12 SyntaxError with regex escape sequences
(cherry picked from commit b362976504)
2024-01-16 17:04:40 +01:00
Rémi Verschelde b0329fe8cb
Linux: Remove hardcoded lib path for x86 cross-compilation
This breaks the build with our updated i686 Linux SDK which doesn't contain
this path, and may not be needed at all.

(cherry picked from commit 63153c9d36)
2024-01-16 16:17:54 +01:00
Rémi Verschelde 59eb1b604e
Merge pull request #87214 from AThousandShips/aabb_fix_3_x
[3.x] [Core] Fix AABB.encloses failing on shared upper bound
2024-01-15 14:36:33 +01:00
A Thousand Ships 9aa001fe14
[Core] Fix AABB.encloses failing on shared upper bound
This differs from `Rect2` and was fixed for those classes in the past
2024-01-14 13:36:05 +01:00
Rémi Verschelde 4126326197
Merge pull request #83409 from jfriv/add-audiosession-options
[3.x] Add project settings for AVAudioSessionCategory on iOS
2024-01-10 13:37:22 +01:00
Rémi Verschelde 911f8d03c1
Merge pull request #75136 from DylanCheetah/3.x
[3.x] Implement UWP version of `OS.get_unique_id` function.
2024-01-10 13:37:09 +01:00
Rémi Verschelde 3fa0c97158
Merge pull request #62940 from gotnospirit/prevent-leading-dot
[3.x] Prevent creating folders or files starting with a dot
2024-01-10 13:36:31 +01:00
Cody Roberts 739d27ae40
Add project settings for AVAudioSessionCategory on iOS
Co-authored-by: Georg Wacker <contact@georgwacker.com>
2024-01-10 13:33:11 +01:00
DylanCheetah bc93cad7f9
Implement UWP version of `OS.get_unique_id` function. 2024-01-10 13:25:28 +01:00
James 6782738a85 Prevent using name with leading dot when create/rename/duplicate scene/folder/script/resource
Fixes #62497
2024-01-06 19:36:14 +01:00
Rémi Verschelde e22335ec72
Merge pull request #53639 from bjauny/fix_uninitMemberVar_core
[3.x] Fix unitialized variables in `core`
2024-01-05 12:28:14 +01:00
Bastien JAUNY d214867a7e
Fix unitialized variables in `core` 2024-01-05 11:47:46 +01:00
Rémi Verschelde e653473646
Merge pull request #86725 from Mickeon/3-x-remove-unused
[3.x] Remove unused struct in GradientTexture1D
2024-01-05 11:07:44 +01:00
Rémi Verschelde fd93036834
Merge pull request #86466 from andy-noisyduck/csharp-transform2d-operator-fix
[3.x] C#: Fix incorrect `Rect2` sizing when using the `Transform2D` `*` operator.
2024-01-05 11:07:19 +01:00
Rémi Verschelde 2b7e00f601
Merge pull request #86380 from m4gr3d/update_render_thread_paused_timing_3x
[3.x] Android: Update the logic used to start / stop the GL thread
2024-01-05 11:06:57 +01:00
Rémi Verschelde f37ff9e254
Merge pull request #79123 from dalexeev/3.x-gds-prevent-native-class-shadowing
[3.x] GDScript: Prevent native class shadowing
2024-01-05 11:06:31 +01:00
Andy Savage 05624ddbc8 Fix incorrect `Rect2` size when `Transform2D` `*` operator. 2023-12-23 02:39:07 +00:00
Fredia Huya-Kouadio 194452bf38 Update the logic used to start / stop the GL thread
Currently the GL thread is started / stopped when the activity is respectively resumed / paused. However, according to the `GLSurfaceView` documentation, this should be done instead when the activity is started / stopped, so this change updates the start / stop logic for the GL thread to match the documentation.
2023-12-20 20:38:34 -08:00
Rémi Verschelde 4c4cb12e38
Merge pull request #84409 from m4gr3d/add_android_gestures_project_settings
[3.x] Add Android project settings for gesture support
2023-12-13 13:24:35 +01:00
Rémi Verschelde 96bc1dc469
Merge pull request #79376 from kleonc/tiles-editor-tooltips
[3.x] Improve `TileMap` editor visible names and tooltips
2023-12-13 13:24:27 +01:00
Rémi Verschelde 2ae9c57a0e
Merge pull request #86040 from lawnjelly/new_batch_warning
[3.x] Workaround GCC warning in `rasterizer_canvas_batcher`
2023-12-11 20:02:11 +01:00
Rémi Verschelde 1fe73d4feb
Merge pull request #85917 from akien-mga/3.x-fix-Wtype-limits-gcc-arm64
[3.x] Fix various GCC 13 warnings
2023-12-11 20:02:09 +01:00
Rémi Verschelde 51732690e6
Merge pull request #85916 from akien-mga/gdnative-fix-linux-arm64-sysv_abi-attribute-warning
[3.x] GDNative: Fix Linux arm64 warning about ignored `sysv_abi` attribute
2023-12-11 20:02:06 +01:00
Rémi Verschelde 4bb21d3d83
Merge pull request #85915 from akien-mga/3.x-fix-linux-arm64-theora-libvpx
[3.x] SCons: Fix Linux arm64 build for theora and libvpx
2023-12-11 20:02:03 +01:00
lawnjelly 64ab7488db Workaround GCC warning in `rasterizer_canvas_batcher`
`-Werror=array-bounds` flags when creating a new batch, possibly due to the possibility of the malloc failing (out of memory).
This PR adds an explicit `CRASHNOW` in the hope the compiler will recognise this case is not intended to be recoverable.
2023-12-11 17:45:30 +00:00
Rémi Verschelde 6b28d93bbc
Merge pull request #85827 from timothyqiu/dnd-3
[3.x] Allow dragging editable children
2023-12-08 15:43:17 +01:00
Rémi Verschelde ee883cea40
Merge pull request #85521 from dsnopek/webxr-fix-ar-position-godot3
[3.x] Fix touch events in WebXR with an "immersive-ar" session
2023-12-08 15:42:53 +01:00
Rémi Verschelde 7d14dbf11f
Merge pull request #85230 from ztc0611/3.x-fix-ios-get-refreshrate
[3.x] [iOS] Make `OSIPhone::get_screen_refresh_rate` respect iOS Low Power Mode
2023-12-08 15:42:29 +01:00
Rémi Verschelde 73328c8fc2
Merge pull request #84978 from Calinou/scons-web-platform-alias-3.x
[3.x] Alias `platform=web` SCons option to `platform=javascript`
2023-12-08 15:42:03 +01:00
Rémi Verschelde bfc4baa289
Merge pull request #84934 from Faless/fix/file_get_buffer
[3.x] [Core] Fix `File.get_buffer` returning wrong length
2023-12-08 15:41:39 +01:00
Rémi Verschelde 619c15e88c
Merge pull request #82023 from aaronfranke/3.x-position
[3.x] Add "position" as an alias for "translation" in Spatial
2023-12-08 15:41:12 +01:00
Rémi Verschelde 02e4e208ef
Fix various GCC 13 warnings
Fixes occurrences of `-Wtype-limits`, `-Wmaybe-uninitialized`,
`-Wduplicated-branches`.
2023-12-08 15:32:59 +01:00
Rémi Verschelde 52b32ed533
GDNative: Fix Linux arm64 warning about ignored `sysv_abi` attribute
Fixes #41160.
2023-12-08 13:16:03 +01:00
Rémi Verschelde 5b8a1314bd
SCons: Fix Linux arm64 build for theora and libvpx
The architecture handling in 3.x is all over the place, and I'm not
going to start a major refactor like I did for 4.0 so late in its life
cycle.

So let's add more hacks! ⚔️

This requires manually passing `arch=arm64` when compiling, but this is
already the case for other parts of the codebase.
2023-12-08 12:56:52 +01:00
Filipe Rinaldi 45c76995dd
Fix arm64 build when using Clang
The commit b5a8055b5c should target GCC builds only as
-flax-vector-conversions has different behaviour in Clang and is
currently making the build fail.

Signed-off-by: Filipe Rinaldi <filipe.rinaldi@gmail.com>
(cherry picked from commit 2841144096)
2023-12-08 12:32:51 +01:00