Commit graph

35316 commits

Author SHA1 Message Date
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
Rémi Verschelde
dede8d384f
embree: Fix Linux ARM64 build with -flax-vector-conversions
This is a change done upstream in the `devel3` branch for 3.13.6:
82ca6b5ccb

They also seem to define it for macOS, but for us it breaks the build...
¯\_(ツ)_/¯

Also change wrong use of CPPFLAGS (pre-processor) where CXXFLAGS (C++)
makes more sense.

(cherry picked from commit b5a8055b5c)
2023-12-08 12:32:14 +01:00