Rémi Verschelde
570e6c1730
SCons: Refactor LTO options with `lto=<none|thin|full>`
...
Adds support for LTO on macOS and Android.
Disable LTO by default on iOS even if `production=yes` is set.
Also add `linker` option to `server` platform missed in #63283 .
Refactor code handling old arguments to make it simpler (breaks compat,
but is explicit enough about it and scripts are easy to fix).
2022-09-05 14:45:12 +02:00
Rémi Verschelde
44af879438
Linux: Fix GNU ld detection for pck_embed linker script
...
(cherry picked from commit fce3602a1e
)
2022-08-29 15:55:45 +02:00
Rémi Verschelde
7dc8ec0c61
Merge pull request #63643 from aaronfranke/3.x-mouse-mode-ch
2022-08-08 14:36:45 +02:00
bruvzg
8147f04db6
[Linux] Disable speech-dispatcher, pulseaudio and udev wrapper builds, when library is not found.
2022-08-06 11:54:20 +03:00
Rémi Verschelde
0bed7ea63f
Merge pull request #61316 from bruvzg/tts_3x
...
[3.x] Backport text-to-speech support.
2022-08-05 23:45:51 +02:00
Rémi Verschelde
10e8a25ce7
SCons: Fix X11 `use_lld` fallback not being applied
2022-07-31 13:49:12 +02:00
Aaron Franke
0d6e2d1090
Add MOUSE_MODE_CONFINED_HIDDEN to MouseMode enum
2022-07-29 13:46:04 -05:00
Rémi Verschelde
818f1eed31
Code quality: Fix header guards consistency
...
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
2022-07-25 14:53:37 +02:00
Rémi Verschelde
364071c2c4
Merge pull request #63283 from akien-mga/3.x-scons-linux-refactor-linker
2022-07-22 11:40:29 +02:00
Hansem Ro
a36902f2c1
[3.x, X11] Do case-insensitive search for pen inversion detection
2022-07-21 19:25:39 -07:00
Rémi Verschelde
5bb3063eec
SCons: Refactor Linux linker options with `linker=<bfd|gold|lld|mold>`
...
The new option is `linker` and lets the user specify the argument to
the`-fuse_ld=` linker flag directly. The supported options are:
- `default`: No change, typically uses GNU ld (bfd) unless the user or
distro picked a different default `/usr/bin/ld`.
- `bfd`: GNU ld from binutils
- `gold`: GNU gold from binutils
- `lld`: lld from LLVM
- `mold`: mold, an extremely fast modern linker, not (yet) intended for
use in production but great for development speed. Provided by distro
`mold` package or needs to be compiled from source and installed to
`/usr` otherwise.
Deprecates the `use_lld=yes` option, and make lld actually usable with
GCC too.
Not all the above are compatible or recommend for LTO, we recommend
using GNU ld with GCC LTO, or lld with LLVM ThinLTO.
(cherry picked from commit 534f85add1daec0669a1f18edd2cc456f9a296ef)
2022-07-22 01:03:31 +02:00
bruvzg
108dcf3bf0
Improve OS.set_current_screen
...
Fix moving fullscreen windows on macOS and Windows
Fix window position on Linux/X11
2022-07-19 12:23:52 +03:00
Rémi Verschelde
101cbe5d5b
Merge pull request #62723 from hansemro/eraser-detect-3.x
2022-07-15 00:13:15 +02:00
Jan Haller
861e155543
Fix exit code of --help and --version, and test them in CI
...
Corrects prior regression which caused ERROR output and exit code of 1.
(cherry picked from commit d38d76d039
)
2022-07-08 14:54:16 +02:00
Hansem Ro
193d5c11f3
[3.x, macOS, Windows, X11] Add stylus inverted/eraser support to InputEventMouseMotion event
2022-07-04 16:12:11 -07:00
bruvzg
6489fe890e
Backport text-to-speech support.
2022-07-01 11:04:50 +03:00
Wilson E. Alvarez
cf38b6f187
Properly check for fullscreen toggle made through the Window Manager
2022-06-29 21:55:51 -04:00
Rémi Verschelde
2cad0055fa
Merge pull request #60806 from pfertyk/issue-60466-nan-in-windows-size
2022-06-15 14:55:01 +02:00
Paweł Fertyk
b3f822eaae
Fix `set_window_size` crash when using NaN
...
Fixes #60466 .
2022-06-15 13:43:41 +02:00
bruvzg
f5fa1ca944
Add readable export errors. Add RTL image vertical alignment support.
2022-06-08 17:56:28 +03:00
Marcel Admiraal
89c758a4de
Read and store joypad events in a separate thread on x11 platform
2022-05-05 16:15:33 +02:00
Rémi Verschelde
3b8818e5c4
Crash handler: Use `print_error` to include backtrace in logs
2022-05-05 12:13:04 +02:00
bruvzg
bea7c9be5d
[3.x] Improve embedded PCK loading and exporting.
2022-04-28 11:11:48 +03:00
Rémi Verschelde
d021cef134
Linux: Use pkg-config for alsa, libudev and GL too
...
It's not needed on most distros as those are found in standard lib
and include paths, but on NixOS they're all in non-standard prefixes,
so we need to rely on information provided by pkg-config.
Fixes #59913 .
Co-authored-by: David Lewis <davidalewis00@gmail.com>
(cherry picked from commit 07ad066420
)
2022-04-27 12:34:58 +02:00
Haoyu Qiu
95d861694a
Fix several OS_X11 memory leaks
2022-04-26 08:39:55 +08:00
Haoyu Qiu
bccd23f4bf
Fix memory leak when handling Linux primary clipboard
2022-04-01 21:55:53 +08:00
ConteZero
59fb6c9ef0
Fix X11 is_window_maximized
2022-03-31 23:10:32 +02:00
Rémi Verschelde
6c2bd12031
Revert "Fix detected leaks/heap-use-after-free by AddressSanitizer at startup"
...
This reverts commit 3f94ea6271
.
It broke `detect_prime`'s main purpose which is to detect GPUs and use
the best one available.
2022-03-15 09:34:57 +01:00
ConteZero
2ff0735329
Added primary clipboard for Linux
2022-03-14 15:28:36 +01:00
Rémi Verschelde
3f08b72361
Merge pull request #56036 from Rubonnek/fix-startup-leaks-and-use-after-free
2022-03-13 18:09:55 +01:00
Hugo Locurcio
cec7c908ca
Add `get_screen_refresh_rate()` to OS
...
This method can be used to get the refresh rate of a given screen.
It is supported on Windows, macOS, Linux, Android and iOS (but not
HTML5).
2022-03-10 22:10:48 +01:00
Rémi Verschelde
8975470bc2
Merge pull request #58336 from maiself/fix-directory-delete-linux-3.x
2022-03-10 21:29:55 +01:00
Haoyu Qiu
9d6f4a76d1
Fix X11 memory leak after drag & drop file into the editor
2022-03-04 17:50:28 +08:00
Mai Lavelle
2c00b90613
Fix deleting of directories on Linux
...
Trailing slash of directories was mishandled, and incorrect derived paths
were formed. Stripping the slash fixes this.
2022-02-20 08:43:44 -05:00
Hugo Locurcio
7f9e974a8b
Add an `OS.get_processor_name()` method
...
This method can be used to get the CPU model name.
It can be used in conjunction with
`VisualServer.get_video_adapter_name()` and
`VisualServer.get_video_adapter_vendor()` for annotating benchmarks
and automatic graphics quality configuration.
2022-02-16 18:39:02 +01:00
Rémi Verschelde
7a16bb2ee4
Fix typos with codespell
...
Using codespell 2.2-dev from current git.
Added `misc/scripts/codespell.sh` to make it easier to run it once in a
while and update the skip and ignore lists.
(cherry picked from commit 1bdb82c64e
)
2022-02-11 09:50:59 +01:00
Rémi Verschelde
f50c7f7415
Core: Move generated `VERSION_HASH` to a `.cpp` file
...
This lets us have its definition in `core/version.h` and avoid
rebuilding a handful of files every time the commit hash changes.
(cherry picked from commit 90162851a7
)
2022-02-10 13:06:56 +01:00
Haoyu Qiu
f8afd16c89
Fix memory leak when move to trash fails on Linux
...
(cherry picked from commit 8be49838b3
)
2022-01-25 18:55:52 +01:00
Rémi Verschelde
ed869729ae
Merge pull request #56755 from madmiraal/fix-45592-3.x
2022-01-24 10:06:24 +01:00
Rémi Verschelde
879244c54e
Merge pull request #56015 from bruvzg/phy_code_conv
2022-01-16 11:36:26 +01:00
Marcel Admiraal
949ea2b326
Simplify InputDefault::joy_axis code by using float instead of struct JoyAxis
2022-01-14 15:36:35 +00:00
Rémi Verschelde
a627cdafc5
Update copyright statements to 2022
...
Happy new year to the wonderful Godot community!
2022-01-13 15:54:13 +01:00
Marcel Admiraal
b7545631de
Use mouse event relative motion to calculate mouse speed
2022-01-13 10:29:57 +00:00
bruvzg
6f81a8ee2c
Fix multiple missing UTF-8 decoding.
...
(cherry picked from commit c69e0d16bc
)
2022-01-06 21:44:40 +01:00
Marcel Admiraal
913855926d
Fix tablet tilt values returning bad values
2022-01-02 12:16:04 +00:00
Wilson E. Alvarez
3f94ea6271
Fix detected leaks/heap-use-after-free by AddressSanitizer at startup
2021-12-17 15:12:55 -05:00
Wilson E. Alvarez
1b8a9d56b3
Set default priority on PRIME detection vendor struct.
2021-12-17 15:12:17 -05:00
bruvzg
b4ec1c5817
Backport: Allow for mapping scancodes to current layout
...
Co-authored-by: Frixuu <kontakt@lukasz.xyz>
2021-12-17 13:04:47 +02:00
Daniel Kolesa
5fe78a3a25
Add support for PowerPC family
...
(cherry picked from commit 3a84a64d2f
)
2021-11-15 17:22:46 +01:00
Rémi Verschelde
1f8497d281
Merge pull request #53411 from RandomShaper/ubershaders_3.x
2021-11-09 13:12:44 +01:00