Commit Graph

1418 Commits

Author SHA1 Message Date
Ricardo Buring 0333648cea Move Godot Physics 3D into a module; add dummy 3D physics server
If the module is enabled (default), 3D physics works as it did before.

If the module is disabled and no other 3D physics server is registered
(via a module or GDExtension), then we fall back to a dummy
implementation which effectively disables 3D physics functionality (and
a warning is printed).

The dummy 3D physics server can also be selected explicitly, in which
case no warning is printed.
2024-09-21 21:19:45 +02:00
SheepYhangCN 3b839347df Added fallback_to_opengl3 2024-09-20 06:10:05 +08:00
Pedro J. Estébanez 5d371e3378 WorkerThreadPool: Add safety point between languages finished and pool termination 2024-09-16 18:20:10 +02:00
Pedro J. Estébanez e2fd88ed91 Revert "WorkerThreadPool: Enhance lifetime for more flexibility"
This reverts commit 2d1dd41ef5.
2024-09-13 14:39:11 +02:00
David Snopek 30a63396e5 Fix launching XR apps from the Android editor 2024-09-11 14:31:54 -05:00
Rémi Verschelde 658b8a8704
Merge pull request #96760 from RandomShaper/wtp_langs_exit_thread
Make use of languages' thread enter/exit more correct
2024-09-11 12:35:07 +02:00
Pedro J. Estébanez 2d1dd41ef5 WorkerThreadPool: Enhance lifetime for more flexibility 2024-09-10 11:08:51 +02:00
bruvzg 3009073b39 [Resource Loader] Do not check property type for non registered properties. 2024-09-10 11:27:16 +03:00
Fredia Huya-Kouadio 9dc0543da7 Improve support for XR projects 2024-09-06 00:35:50 -07:00
Rémi Verschelde d8e2a2b860
Merge pull request #95005 from jsjtxietian/export-proj
Fix crash or unclear messages when exporting with invalid arguments
2024-09-05 17:44:07 +02:00
jsjtxietian 1d09970404 Fixes godot crash or give unclear message when exporting with invalid args 2024-09-05 17:56:54 +08:00
Rémi Verschelde 8eff04192b
Merge pull request #91780 from Riteo/falling-with-style
Improve UX when falling back between Display Servers
2024-09-04 11:16:08 +02:00
bruvzg c273786758
Update rendering driver name on fallbacks. Fix rendering driver/method in the editor system info. 2024-09-01 18:22:40 +03:00
Rémi Verschelde 8186fabc8f
Merge pull request #96197 from jsjtxietian/splash-msg
Improve error message when loading non-PNG splash image
2024-08-29 10:36:38 +02:00
jsjtxietian c7a0e39af1 Add is png check and better err msg when loading splash imgae 2024-08-29 10:49:04 +08:00
Rémi Verschelde 1e41bf6a08
Merge pull request #93746 from KoBeWi/by_extension
Allow more image types for some project settings
2024-08-28 00:11:20 +02:00
Bastiaan Olij 08ffa5d89e Add support for the debug utils extension in OpenXR 2024-08-27 12:07:01 +10:00
Rémi Verschelde b34aa7b44d
Merge pull request #76085 from spanzeri/better_remember_editor_window
Remember editor window mode, screen, size and position on restart
2024-08-26 23:27:55 +02:00
Rémi Verschelde e53dc80f2f
Merge pull request #95777 from Calinou/command-line-improve-rendering-driver-method-error-messages
Improve error messages for invalid rendering drivers/methods on the command line
2024-08-26 10:51:35 +02:00
Matias N. Goldberg 59d0422dcd Disable extra memory tracking by default
PR #90993 added several debugging utilities.

Among them, advanced memory tracking through the use of custom
allocators and VK_EXT_device_memory_report.

However as issue #95967 reveals, it is dangerous to leave it on by
default because drivers (or even the Vulkan loader) can too easily
accidentally break custom allocators by allocating memory through std
malloc but then request us to deallocate it (or viceversa).

This PR fixes the following problems:
 - Adds --extra-gpu-memory-tracking cmd line argument
 - Adds missing enum entries to
RenderingContextDriverVulkan::VkTrackedObjectType
 - Adds RenderingDevice::get_driver_and_device_memory_report
    - GDScript users can easily check via print(
RenderingServer.get_rendering_device().get_driver_and_device_memory_report()
)
- Uses get_driver_and_device_memory_report on device lost for appending
further info.

Fixes #95967
2024-08-24 20:52:39 -03:00
Riteo 56eb272e90 Warn when falling back to another DisplayServer
Before it was a bit unclear on what was happening, since a display
server has to fail to fall back and so the user would be left with an
error _and_ a (hopefully) running game.

Should make the experience more pleasant on Linux/BSD now that we have
two display servers.
2024-08-21 06:31:19 +02:00
Stuart Carnie 2d0165574d
Add Metal support for macOS (arm64) and iOS 2024-08-20 12:11:06 +02:00
Bastiaan Olij a8c5117777 Change hand tracking project settings and finetune show_when_tracked 2024-08-20 11:12:52 +10:00
Hugo Locurcio a2043f124d
Improve error messages for invalid rendering drivers/methods on the command line
- Deduplicate rendering driver names.
- Tweak grammar and punctuation to be consistent across both messages.
- Use "rendering method" terminology in the relevant error message.

Preview:

`--rendering-driver unknown`:

    Unknown rendering driver 'unknown', aborting.
    Valid options are 'vulkan', 'opengl3', 'opengl3_es' and 'dummy'.

`--rendering-method unknown`:

    Unknown rendering method 'unknown', aborting.
    Valid options are 'forward_plus', 'mobile' and 'gl_compatibility'.
2024-08-18 23:57:54 +02:00
Rémi Verschelde 1bd740d18d
Merge pull request #95656 from anvilfolk/gdscript-docs-quit
Fix Godot not quitting with `--doctool --gdscript-docs`.
2024-08-17 00:47:17 +02:00
ocean 13b20820ba Fix Godot not quitting with `--doctool --gdscript-docs`. 2024-08-16 18:18:45 -04:00
Rémi Verschelde 82adfebcf8
Merge pull request #94799 from m4gr3d/memory_allocation_cleanup_and_optimizations
Android memory cleanup and optimizations
2024-08-16 23:45:39 +02:00
Rémi Verschelde dbf4be308c
Merge pull request #93583 from smix8/obstacle_monitor
Add navigation obstacles to performance monitor stats
2024-08-16 23:45:10 +02:00
Fredia Huya-Kouadio a57a99f5bc Memory cleanup and optimizations
- Returns an empty list when there's not registered plugins, thus preventing the creation of spurious iterator objects

- Inline `Godot#getRotatedValues(...)` given it only had a single caller. This allows to remove the allocation of a float array on each call and replace it with float variables

- Disable sensor events by default. Sensor events can fired at 10-100s Hz taking cpu and memory resources. Now the use of sensor data is behind a project setting allowing projects that have use of it to enable it, while other projects don't pay the cost for a feature they don't use

- Create a pool of specialized input `Runnable` objects to prevent spurious, unbounded `Runnable` allocations

- Disable showing the boot logo for Android XR projects

- Delete locale references of jni strings
2024-08-16 09:27:41 -07:00
Rémi Verschelde f01e052162
Merge pull request #95549 from timothyqiu/split-translation-server
Split `TranslationServer` into its own file
2024-08-16 14:36:16 +02:00
Rémi Verschelde a88b828eb0
Merge pull request #95513 from bruvzg/ds_init_cleanup
Run cleanup code on DisplayServer init failure to prevent crash on exit.
2024-08-16 14:35:26 +02:00
Rémi Verschelde 1d4303c1fe
Merge pull request #95502 from bruvzg/net_ext_detect
[.NET] Move search in files extension list definition to be after Scene level module init.
2024-08-16 14:35:12 +02:00
Rémi Verschelde 28c92bd8ca
Merge pull request #95520 from bruvzg/angle_gen7and8
[Windows] Add Intel Gen7.5/Gen8/Gen9 GPUs to Angle blocklist.
2024-08-16 10:36:39 +02:00
Rémi Verschelde 46c6865979
Merge pull request #92391 from rburing/fti_3d
Physics interpolation (3D)
2024-08-16 10:33:37 +02:00
bruvzg d222921f06
[Windows] Add Intel Gen7.5/Gen8/Gen9 GPUs to Angle blocklist. 2024-08-15 23:13:49 +03:00
Haoyu Qiu 7343dc3a5d Split TranslationServer into its own file 2024-08-15 15:00:47 +08:00
bruvzg f15ad72355
Run cleanup code on DisplayServer init failure to prevent crash on exit. 2024-08-14 11:36:29 +03:00
bruvzg 69d52ed081
[.NET] Move search in files extension list definition to be after Scene level module init. 2024-08-14 00:16:09 +03:00
Rémi Verschelde 9a8f18b9bf
Merge pull request #94796 from kus04e4ek/backfall
Windows: Fall back to D3D12 if Vulkan is not supported and vice versa
2024-07-29 15:17:26 +02:00
Kusok d30c1e6a8f Fall back to D3D12 if Vulkan is not supported and vice versa 2024-07-27 16:17:20 +08:00
Riteo 755dbde873 Apply prefer_wayland only if no display driver is set
Before this patch any other display driver preference would be
overridden.
2024-07-26 07:29:34 +02:00
Samuele Panzeri d0bcac8197 Remember editor window mode, screen, size and position on restart 2024-07-23 00:32:12 +02:00
Rémi Verschelde 84af5c1c46
Merge pull request #88065 from Riteo/ds-pref-consistent
Handle display driver preferences consistently between editor and projects
2024-07-22 17:30:21 +02:00
Alvin Wong baf1cdabd1 End benchmark of Main::Setup properly before calling setup2 2024-07-21 21:46:01 +08:00
Rémi Verschelde f649112dfc
Merge pull request #94116 from bruvzg/ed_quit_unload
[Editor] Unload addons when using `--import` or `--quit`.
2024-07-19 11:10:37 +02:00
Rémi Verschelde 1e81a946cc
Merge pull request #94412 from dsnopek/xr-always-render
Always render when XR is enabled, even if no OS windows can draw
2024-07-18 15:38:14 +02:00
David Snopek 7a5a8597eb Always render when XR is enabled, even if no OS windows can draw 2024-07-17 08:19:21 -05:00
Rémi Verschelde fe427ff203
Merge pull request #94404 from clayjohn/android-clear-color
Restore default clear color after displaying boot splash
2024-07-17 11:44:23 +02:00
Rémi Verschelde 496fd12b17
Merge pull request #94052 from m4gr3d/clean_input_dispatch_settings
Cleanup Android input on render thread settings
2024-07-17 11:42:52 +02:00
clayjohn 999c7e0392 Restore default clear color after displaying boot splash
On Android the boot splash can be shown at a different time, so the clear color restore needs to happen within the `setup_boot_logo` function
2024-07-15 14:00:05 -07:00