summaryrefslogtreecommitdiff
path: root/platform/linuxbsd
AgeCommit message (Collapse)Author
2021-08-16Add partial support for Android scoped storage.ne0fhyk
This is done by providing API access to app specific directories which don't have any limitations and allows us to bump the target sdk version to 30. In addition, we're also bumping the min sdk version to 19 as version 18 is no longer supported by Google Play Services and only account of 0.3% of Android devices.
2021-08-13Add input buffering frameworkPedro J. Estébanez
Input buffering is implicitly used by event accumulation, but this commit makes it more generic so it can be enabled for other uses. For desktop OSs it's currently not feasible given main and UI threads are the same).
2021-08-13Improve input event accumulationPedro J. Estébanez
- API has been simplified: all events now go through `parse_input_event()`. Whether they are accumulated or not depends on the `use_accumulated_input` flag. - Event accumulation is now thread-safe (it was not needed so far, but it prepares the ground for the following changes). - Touch drag events now support accumulation.
2021-08-13Upgrade Vulkan memory allocatorPedro J. Estébanez
2021-08-12Use "volk" instead of statically linked Vulkan loader.bruvzg
2021-08-10Use Key enum instead of plain integersAaron Franke
2021-07-25Fix various typos with codespellluz paz
Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
2021-07-22Move `alert` function from `DisplayServer` to `OS`.bruvzg
2021-07-21Fix popup closing immediately after showing on some Linux WMsPouleyKetchoupp
When a popup is going to be closed, switch focus to the parent only if the popup is still being focused. Fixes some cases with specific WMs where due to the order of events, a new popup could be immediately unfocused because a previously opened and closed popup is switching focus to the parent.
2021-07-16Modernize Display server to use override keywordHendrik Brucker
2021-07-13Fix for ambiguous variant error during build on Debian 10(Buster) using clang v7joe
2021-07-10Merge pull request #48622 from Geometror/reimplement-disableable-vsyncHugo Locurcio
2021-07-08Fix linux use after freelikeich
Fixes #50032
2021-07-06Restructure and reimplement vsync optionsHendrik Brucker
-Add a v-sync mode setting which allows to choose between DISABLED, ON, ADAPTIVE and MAILBOX -Removed the V-Sync via Compositor option
2021-06-20Add "Keep screen on" feature to `DisplayServerX11`Niklas Higi
2021-06-20Use mouse and joypad enums instead of plain integersAaron Franke
Also MIDIMessage
2021-06-20Move many input enums to their own fileAaron Franke
2021-06-19Rename `instance()`->`instantiate()` when it's a verbLightning_A
2021-06-12Merge pull request #49123 from aaronfranke/it-is-timeRémi Verschelde
Add a Time singleton
2021-06-11Merge pull request #49511 from akien-mga/core-diraccess-fileaccess-ioRémi Verschelde
Core: Move DirAccess and FileAccess to `core/io`
2021-06-11Merge pull request #49279 from Calinou/rename-string-is-abs-path-methodRémi Verschelde
Rename `String.is_abs_path()` to `String.is_absolute_path()`
2021-06-11Add Time singletonAaron Franke
2021-06-11Core: Move DirAccess and FileAccess to `core/io`Rémi Verschelde
File handling APIs are typically considered part of I/O, and we did have most `FileAccess` implementations in `core/io` already.
2021-06-03Add MOUSE_MODE_CONFINED_HIDDENAaron Franke
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2021-06-03Rename `String.is_abs_path()` to `String.is_absolute_path()`Hugo Locurcio
This is more consistent with `NodePath.is_absolute()`.
2021-06-01LinuxBSD now compiles without vulkan/x11.Fabio Alessandrelli
2021-05-21add OpenBSD to OS_LinuxBSD::get_name()Omar Polo
2021-05-20Only allow absolute paths in XDG environment variablesHugo Locurcio
The XDG Base Directory specification does not allow using relative paths (which broke things in Godot anyway). If a relative path is detected, it should be ignored.
2021-05-17Merge pull request #48168 from LightningAA/control-to-ctrl-4.0Rémi Verschelde
2021-05-17Make all file access 64-bit (uint64_t)Pedro J. Estébanez
This changes the types of a big number of variables. General rules: - Using `uint64_t` in general. We also considered `int64_t` but eventually settled on keeping it unsigned, which is also closer to what one would expect with `size_t`/`off_t`. - We only keep `int64_t` for `seek_end` (takes a negative offset from the end) and for the `Variant` bindings, since `Variant::INT` is `int64_t`. This means we only need to guard against passing negative values in `core_bind.cpp`. - Using `uint32_t` integers for concepts not needing such a huge range, like pages, blocks, etc. In addition: - Improve usage of integer types in some related places; namely, `DirAccess`, core binds. Note: - On Windows, `_ftelli64` reports invalid values when using 32-bit MinGW with version < 8.0. This was an upstream bug fixed in 8.0. It breaks support for big files on 32-bit Windows builds made with that toolchain. We might add a workaround. Fixes #44363. Fixes godotengine/godot-proposals#400. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-05-08Remove debugging prints in the Linux DisplayServerHugo Locurcio
Some Vulkan debugging prints were also changed to be printed only in verbose mode.
2021-05-07Rename "Control" key to "Ctrl" and add "_pressed" suffix to all ↵Lightning_A
InputEventWithModifiers properties/methods
2021-05-04Merge pull request #48453 from JFonS/improve_raycast_module_scsubRémi Verschelde
Port changes to the "raycast" module build files from 3.x
2021-05-04Port changes to the "raycast" module build files from 3.xjfons
2021-05-04Rename `doubleclick` to `double_click`Aaron Franke
2021-04-26Linux: Remove use_static_cpp override on x86_32Rémi Verschelde
After further testing it seems to work fine now when building binaries with GCC 5 on Ubuntu 16.04 (previously we were using GCC 9 on Ubuntu 14.04). Follow-up to #45629.
2021-04-16Fix macOS build with all sanitizers enabled.bruvzg
2021-04-15Add more sanitizer flags to shows more bugsRafał Mikrut
2021-04-05Style: Apply clang-tidy's `readability-braces-around-statements`Rémi Verschelde
2021-04-05Style: Apply clang-tidy's `modernize-use-nullptr`Rémi Verschelde
2021-03-28Rename Texture.get_data() to get_image()Marcel Admiraal
2021-03-23Rename some more global enums (Key, Joy, MIDI)Aaron Franke
2021-03-23Rename ButtonList enum and members to MouseButtonAaron Franke
2021-03-14Allow to not optimize release buildRafał Mikrut
2021-03-08Linux: Fix PRIME detection on SteamRémi Verschelde
To avoid trying to do PRIME detection on fake `libGL.so` as used by e.g. Renderdoc or Primus, we skip detection if there's a `libGL.so` in `LD_LIBRARY_PATH`... and our luck is that Steam defines it and includes system paths too, thus the actual system `libGL`... 🤦 So if we detect Steam, we skip this check. Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2021-03-02add msan sanitizer option for linus/bsd, lsan option for osxJordan Schidlowsky
2021-02-28Fix out of bounds array access on DisplayServerX11 codePedro Rodrigues
The problem happened on methods `screen_get_position`, `screen_get_usable_rect` and `window_set_current_screen` when they were passed a negative screen value. Fixes: - #46184 - #46185 - #46186
2021-02-23Allow static linking with libatomic using clangHein-Pieter van Braam-Stewart
When using use_static_cpp we want to statically link with atomic as well to make sure we don't incur any new runtime dependencies. Scons doesn't quite support this so we do this little trick.
2021-02-20Merge pull request #46256 from hpvb/dri-prime-amd-masterHein-Pieter van Braam
Add 'AMD' GPU vendor name to PRIME detector
2021-02-20Add 'AMD' GPU vendor name to PRIME detectorHein-Pieter van Braam-Stewart
Apparently some recent Mesa version also changed AMD's vendor string. In addition I found a small uninitialized variable that's corrected now.