Commit Graph

606 Commits

Author SHA1 Message Date
Spartan322
0a87a7b475 Merge commit godotengine/godot@e1b4101e34 2025-07-01 06:43:54 -04:00
Thaddeus Crews
ab134b386a Merge pull request #106218 from Nintorch/master
Add support for SDL3 joystick input driver for Windows, Linux and macOS
2025-06-24 18:34:28 -05:00
Nintorch
0b3496fb4f Add support for SDL3 joystick input driver
Made possible by EIREXE, xsellier and the SDL team.

This commit includes statically linked SDL3 for Windows, Linux and macOS.
The vendored copy of SDL3 was setup to only build the required subsystems
for gamepad/joystick support, with some patches to be able to make it as
minimal as possible and reduce the impact on binary size and code size.

Co-authored-by: Álex Román Núñez <eirexe123@gmail.com>
Co-authored-by: Xavier Sellier <xsellier@gmail.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-06-25 01:28:50 +02:00
Travis Lange
7752cfecba pass -mpopcnt when using clang / llvm and targeting x86_64 arch to support popcnt forceinline methods 2025-06-24 10:30:51 -04:00
Spartan322
0e99b001ac Merge commit godotengine/godot@5dd76968d8 2025-06-05 23:07:30 -04:00
Hugo Locurcio
be1f9a878b Use SSE 4.2 as a baseline when compiling Godot
This lets the compiler do more optimizations, leading to increased
performance for demanding CPU tasks.
2025-05-30 23:49:47 +02:00
Spartan322
7e02ac82f0 Add APNG import
Add APNG file loading
Add APNG image load test assertions
Add APNG patch to libpng
2025-05-23 06:17:38 -04:00
Spartan322
38fb5272ad Merge commit godotengine/godot@7a0ab9d561 2025-05-22 14:03:25 -04:00
Ricardo Sanchez-Saez
457299449d Introduce 'drivers/apple_embedded' abstract platform for code reuse 2025-05-19 15:37:13 -07:00
Spartan322
a30eb5a590 Merge commit godotengine/godot@6a6a1168a5 2025-05-07 10:35:16 -04:00
Rémi Verschelde
f09ffeedd0 SCons: Don't enable -Wenum-conversion for GCC < 11
This warning was introduced in GCC 10 but only for C/Obj-C.
In GCC 11 it seems to have been made compatible with C++.

Also restrict -Wno-return-type to GCC 12, that regression
was fixed in GCC 13.
2025-05-06 10:06:01 +02:00
Daniel Kinsman
a0cc41b5ed Use libjpeg-turbo for improved jpg compatibility and speed
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-05-02 11:47:56 +02:00
Spartan322
8122592328 Merge commit godotengine/godot@80a3d205f1 2025-05-01 01:30:09 -04:00
Adam Scott
1fbc0c5631 [Buildsystem] Add EnumVariable(ignorecase=2) 2025-04-29 13:35:40 -04:00
Thaddeus Crews
2242bf9b3d Merge pull request #105697 from akien-mga/scons-x86_32-mfpmath-sse
SCons: Explicitly enable `-mfpmath=sse -mstackrealign` for x86_32
2025-04-28 10:01:31 -05:00
Thaddeus Crews
dc9c34f0c6 SCons: Add enum conversion warning 2025-04-26 12:06:20 -05:00
Spartan322
e2c671a4c3 Merge commit godotengine/godot@d00f25ecd9 2025-04-25 16:31:50 -04:00
Thaddeus Crews
007717faf9 SCons: Remove check_c_headers
• Can instead check for headers directly with `__has_include`, a C++17 feature
2025-04-25 11:30:39 -05:00
Rémi Verschelde
08fa148310 SCons: Explicitly enable -mfpmath=sse -mstackrealign for x86_32
Passing `-msse2` doesn't seem to be sufficient to opt into SSE floating point math
instead of the less stable x87.

`-mstackrealign` also seems necessary when using SSE on x86_32.
2025-04-24 12:36:29 +02:00
Spartan322
4aa954a0f5 Merge commit godotengine/godot@1696ab0cb6 2025-04-23 10:02:56 -04:00
Spartan322
2b59059dde Merge commit godotengine/godot@2d3bdcac35 2025-04-19 16:05:28 -04:00
Adam Scott
f6efd88cda Add {c,cpp}_compiler_launcher options 2025-04-17 12:27:44 -04:00
Pāvels Nadtočajevs
4310cb82b8 AccessKit integration for macOS, Linux, and Windows. 2025-04-08 20:25:47 +03:00
Thaddeus Crews
01f0bd36a4 SCons: Integrate WARNLEVEL & OPTIMIZELEVEL 2025-04-03 18:10:29 -05:00
Aaron Franke
2800948d61 Organize ifdefs for disabling navigation, physics, and XR 2025-04-02 08:24:24 -07:00
Thaddeus Crews
1f56d96cf2 Merge pull request #104893 from Repiteo/scons/external-includes-alt
SCons: Add `CPPEXTPATH` for external includes
2025-04-02 07:48:03 -05:00
Thaddeus Crews
f25fc34439 SCons: Add CPPEXTPATH for external includes 2025-04-02 07:29:08 -05:00
Michael Alexsander
556933306a Allow to compile templates without navigation features 2025-04-01 11:53:35 -03:00
Rémi Verschelde
a2f200c5d6 SCons: Only set GCC -Wvirtual-inheritance for C++ and warnings=extra 2025-03-31 23:46:42 +02:00
Michael Alexsander
5ad414d046 Allow to compile templates without physics servers 2025-03-28 11:00:44 -03:00
Rémi Verschelde
3886fd1422 Merge pull request #104617 from Repiteo/scons/color-refactor
SCons: Refactor `color.py`
2025-03-28 14:33:19 +01:00
Lukas Tenbrink
dd9dc75a83 Optimize Object::cast_to by assuming no virtual and multiple inheritance, gaining 8x throughput over dynamic_cast.
Add `-Wvirtual-inheritance` to compiler warnings as a sanity check.
2025-03-27 15:39:53 +01:00
Thaddeus Crews
2b1f463de5 SCons: Refactor color.py 2025-03-25 12:27:35 -05:00
Thaddeus Crews
b6e947ddba Merge pull request #104148 from YeldhamDev/scons_move_env_checks
Make SConstruct file check some envs before querying modules
2025-03-18 14:42:46 -05:00
Yyf2333
b28d6d1fa3 Don't inline certain functions for smaller binary size.
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>
2025-03-18 21:40:25 +08:00
Thaddeus Crews
10ed66f28c SCons: Add emitter to declutter build objects 2025-03-15 12:08:24 -05:00
Michael Alexsander
f1304a3dfb Make SConstruct file check some envs before querying modules 2025-03-14 17:38:28 -03:00
Thaddeus Crews
be429eb404 SCons: Make builders prettier, utilize constexpr 2025-03-11 18:31:20 -05:00
Thaddeus Crews
67d4a245d8 Merge pull request #103267 from YeldhamDev/reality_got_too_extended
Allow to compile the engine without XR support
2025-03-07 15:12:54 -06:00
Thaddeus Crews
2949ab0707 SCons: Implement minor fixes 2025-03-01 08:53:53 -06:00
Michael Alexsander
aea559b39a Allow to compile the engine without XR support 2025-02-25 17:07:21 -03:00
Spartan322
35e289fa5e Merge commit godotengine/godot@0b6a717ac1 2025-02-04 11:38:32 -05:00
Thaddeus Crews
382c760ea6 SCons: Apply new ruff/mypy fixes 2025-02-03 09:55:09 -06:00
Rémi Verschelde
90208f7dd4 SCons: Fix handling of platform-specific tools, notably mingw
Add optional `detect.py` `get_tools` method to let platforms register SCons
tools they need.

This helps move this logic out of SConstruct, keeping platforms more self
contained, and helping thirdparty platforms define their own custom tools.

This logic was also unreliable (the `use_mingw` one would only work if
passed manually on the command line, not in e.g. `get_flags`).

Co-authored-by: Thaddeus Crews <repiteo@outlook.com>
2025-01-25 13:59:30 +01:00
Spartan322
4805bc1eee Merge commit godotengine/godot9630d4e2fc1d0fdef6f46f24e236548549f31d49 2025-01-17 16:33:06 -05:00
Thaddeus Crews
73278bf35d SCons: Properly NoCache all text files 2025-01-16 16:59:12 -06:00
Spartan322
5e6a04e752 Merge commit godotengine/godot@5b52b4b5c4 2025-01-12 13:06:53 -05:00
Rémi Verschelde
76c8e76560 Merge pull request #101284 from akx/tyops
A handful of typo fixes
2025-01-08 15:53:33 +01:00
Spartan322
889d027c1a Merge commit godotengine/godot@d2ada64a03 2025-01-08 07:52:51 -05:00
Aarni Koskela
f134769506 Fix various typos
* Add TODO notes for typos that should be fixed for 5.0

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-08 14:47:42 +02:00