summaryrefslogtreecommitdiff
path: root/platform
AgeCommit message (Collapse)Author
2021-11-02[OS] Add ThreadWorkPool default size to OS.Fabio Alessandrelli
Some platforms (*cough* web *cough*) have hard limits on the number of threads that can be spawned. Currently, ThreadPoolWork (mostly used in rendering/physics servers) will spawn as many threads as CPUs available causing exception on machines with high CPU count. This commit adds a new overridable method to OS that returns the default thread pool size (still the CPU count by default), and overrides it for the JavaScript platform so it always allocate only one thread. We can likely improve the whole ThreadPoolWork in the future to always allocate X amount of threads, and assign jobs to them on the fly, but that will require some more architectural changes.
2021-11-01Merge pull request #54490 from q66/ppcRémi Verschelde
2021-11-01Add support for PowerPC familyDaniel Kolesa
2021-11-01Fix new projects always being created with OpenGLHugo Locurcio
Only Vulkan is fully implemented for now, so OpenGL isn't available in the project manager yet. This also makes the rendering driver checks use lowercase names everywhere for consistency.
2021-11-01Merge pull request #41565 from nekomatata/x11-usable-screen-sizeRémi Verschelde
2021-11-01[macOS] Add `create_instance` function to spawn editor copies.bruvzg
[macOS] Modify `create_project` function to detect and run app bundles using NSWorkspace to ensure app window is registered and activated correctly.
2021-10-31Use OpenGL 3.3 core profile instead of compatibility profileClay John
- Rename OpenGL to GLES3 in the source code per community feedback. - The renderer is still exposed as "OpenGL 3" to the user. - Hide renderer selection dropdown until OpenGL support is more mature. - The renderer can still be changed in the Project Settings or using the `--rendering-driver opengl` command line argument. - Remove commented out exporter code. - Remove some OpenGL/DisplayServer-related debugging prints.
2021-10-30Rename GLES2 driver to OpenGL to prepare for the upgrade to GLES3Hugo Locurcio
- Use lowercase driver names for the `--rendering-driver` command line argument.
2021-10-30Add GLES2 2D renderer + Linux display managerlawnjelly
First implementation with Linux display manager. - Add single-threaded mode for EditorResourcePreview (needed for OpenGL). Co-authored-by: clayjohn <claynjohn@gmail.com> Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
2021-10-29Implemented screen_get_usable_rect for X11 Display ServerPouleyKetchoupp
Helps with fixing issues with scrolling popups not respecting screen decorations on the display server side. Reproduction steps for a simple use case: - Start the editor project list - Open the language selection popup Support for multi-screen: Handling decorations is supported in different ways depending on the information the window manager provides: - _GTK_WORKAREAS is used when available from the WM to get accurate rect for the different screens directly (available on Gnome). - Alternatively, strut information is used to calculate available space for a given desktop manually (XFCE, KDE). - As last resort _NET_WORKAREA is used. It provides one full rect for all screens, which doesn't handle decorations on the secondary screen in all cases.
2021-10-29Merge pull request #54340 from aaronfranke/time-docMax Hilbrunner
Update and fix Time documentation
2021-10-28Adds support for 'use_coverage' flag in OSX.Sean Kim
Based on #36572 which added support for Linux
2021-10-28Merge pull request #42117 from nekomatata/x11-get-window-screenRémi Verschelde
Fix window_get_current_screen for X11 display server
2021-10-28Fix window_get_current_screen for X11 display serverPouleyKetchoupp
This method used to check which screen contains the top-left corner of the window (and default to the first screen in case none is found), which is not accurate in some cases. Now the area of overlap with each screen is calculated, so we can get the best candidate based on the window's position. This makes window_get_current_screen consistent with Windows platform, and fixes an issue where popups appear on the main screen when the main window is slightly moved outside of the desktop on the top or left.
2021-10-28Update Time documentationAaron Franke
2021-10-28clang-format: Enable `BreakBeforeTernaryOperators`Rémi Verschelde
clang-format keeps breaking the way it handles break *after* ternary operators, so I give up and go with the only style they seem to actually test.
2021-10-28clang-format: Various fixes to comments alignment from `clang-format` 13Rémi Verschelde
All reviewed manually and occasionally rewritten to avoid bad auto formatting.
2021-10-28clang-format: Disable alignment of operands, too unreliableRémi Verschelde
Sets `AlignOperands` to `DontAlign`. `clang-format` developers seem to mostly care about space-based indentation and every other version of clang-format breaks the bad mismatch of tabs and spaces that it seems to use for operand alignment. So it's better without, so that it respects our two-tabs `ContinuationIndentWidth`.
2021-10-28Merge pull request #54326 from nekomatata/x11-fix-input-delayRémi Verschelde
2021-10-27Fix input events random delay on X11PouleyKetchoupp
The new system based on a thread gathering events from the X11 server was causing delays in some scenarios where some events have just been missed at the time of processing and we're waiting for a whole frame to check them again. Solved by flushing again and checking for pending events at the beginning of the process loop, in addition to events already gathered on the event thread.
2021-10-26Android: Properly validate `godot_project_name_string` for Android special charsRémi Verschelde
Fixes #52659.
2021-10-23Merge pull request #54045 from ConteZero/primary_clipboard_linux_fix_warningRémi Verschelde
2021-10-23Fix primary clipboard warningConteZero
2021-10-23Fix Gradle builds not excluding excluded tasksMarcel Admiraal
2021-10-22JS: Bump ansi-regex version for linterRémi Verschelde
Silences warning about a moderate security vulnerability (which doesn't affect us).
2021-10-22Add support for the RISC-V architectureAaron Franke
Supports RV64GC (RISC-V 64-bit with general-purpose and compressed-instruction extensions)
2021-10-21Remove unimplemented methodsMarcel Admiraal
2021-10-20Merge pull request #53702 from ConteZero/primary_clipboard_linuxRémi Verschelde
2021-10-19Merge pull request #52940 from groud/toast_notificationRémi Verschelde
2021-10-18Added primary clipboard for LinuxConteZero
2021-10-17iOS: Don't embed project static frameworks/libsIgnacio Roldán Etcheverry
Previously, files added via `add_ios_project_static_libs` where being added as embedded frameworks. This commit fixes that. Static frameworks/libs should never be embedded into IPAs.
2021-10-15Merge pull request #53833 from akien-mga/remove-webm-supportRémi Verschelde
2021-10-15Remove WebM support (and deps libvpx and opus)Rémi Verschelde
We've had many issues with WebM support and specifically the libvpx library over the years, mostly due to its poor integration in Godot's buildsystem, but without anyone really interested in improving this state. With the new GDExtensions in Godot 4.0, we intend to move video decoding to first-party extensions, and this would likely be done using something like libvlc to expose more codecs. Removing the `webm` module means we can remove libsimplewebm, libvpx and opus, which we were only used for that purpose. Both libvpx and opus were fairly complex pieces of the buildsystem, so this is a nice cleanup. This also removes the compile-time dependency on `yasm`. Fixes lots of compilation or non-working WebM issues which will be linked in the PR.
2021-10-15SCons: Set `DEBUG_ENABLED` and `DEV_ENABLED` in SConstructRémi Verschelde
They're the same for all platforms so they don't need to be repeated in all platform definitions.
2021-10-14Fix specific warnings issues by ClangK. S. Ernest (iFire) Lee
Found by `scons dev=yes` on llvm-mingw.
2021-10-14Upgrade Android Gradle to version 7.2Marcel Admiraal
2021-10-14Implement toast notifications in the editorGilles Roudière
2021-10-14SCons: Add `DEV_ENABLED` defines for `target=debug` buildsRémi Verschelde
This will allow adding developer checks which will be fully compiled out in user builds, unlike `DEBUG_ENABLED` which is included in debug tempates and the editor builds. This define is not used yet, but we'll soon add code that uses it, and change some existing `DEBUG_ENABLED` checks to be performed only in dev builds. Related to godotengine/godot-proposals#3371.
2021-10-12free dbus errors when inhibiting freedesktop screensaver (prevents small ↵Mark Riedesel
memory leak)
2021-10-12Merge pull request #53712 from CakHuri/nullptrRémi Verschelde
Replace NULL with nullptr
2021-10-12Build for 64-bit ARM by default when compiling or exporting for AndroidHugo Locurcio
All Android devices that support Vulkan support 64-bit ARM. This also removes NEON opt-out code for ARMv7 as pretty much all ARMv7 devices also support NEON.
2021-10-12Replaced NULL with nullptrM. Huri
2021-10-12Fix some LGTM errors of "Multiplication result converted to larger type"Aaron Franke
2021-10-11Pass the correct `export_format` argument to locate the assets directory ↵ne0fhyk
when exporting.
2021-10-09Merge pull request #53580 from RandomShaper/improve_cache_funcsRémi Verschelde
2021-10-09Implement get_cache_path() for iOS, and improve it for Android and WindowsPedro J. Estébanez
2021-10-09Merge pull request #51429 from omar-polo/fix-basenameRémi Verschelde
2021-10-08use .get_file() instead of basename(3)Omar Polo
On OpenBSD the compiler complains that calling basename(3) would lose const qualifier. basename(3) is defined as char *basename(char *); and can, accorgindly to the POSIX.1, modify the passed string. This uses the .get_file() method. The check is necessary because file_name could be a directory, in which case .get_file() would return an empty string. The .get_base_dir().get_file() idiom is already used. The usage of get_file() and the check were suggested by theraot, thanks!
2021-10-06Change dragging cursor on Windowskobewi
2021-10-05Merge pull request #52711 from m4gr3d/provide_getter_for_project_data_dir_masterRémi Verschelde