Commit graph

60252 commits

Author SHA1 Message Date
Alessandro Famà 998078f8d7 Fix Dummy audio driver initialization issue on WASAPI output device initialization failure
`AudioDriverWASAPI::init` consistently returns `Error::OK`, even when encountering a failure during the initialization of the output device. This behaviour blocks the dummy driver from initializing in `AudioDriverManager::initialize`.
2024-01-09 17:36:13 +01:00
Micky a33777d49d Add missing descriptions to PrimitiveMesh and SoftBody3D 2024-01-09 17:31:12 +01:00
Pedro J. Estébanez acac31ba5c Allow EditorImportPlugin to override can_import_threaded() 2024-01-09 17:30:24 +01:00
kobewi 0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
Patrick Dawson a0f9bcc826 Fix usage of index offsets in RenderingDevice 2024-01-09 15:47:52 +01:00
Rémi Verschelde 8297ec949b
Merge pull request #86727 from KoBeWi/shortcut_revolution
Update modified shortcuts in command palette
2024-01-09 15:31:00 +01:00
Rémi Verschelde 673102ffd8
Merge pull request #85520 from YuriSizov/rendering-gracefully-leak-canvas-items
Avoid crashes when engine leaks canvas items and friends
2024-01-09 15:30:55 +01:00
Rémi Verschelde 78fadf45ca
Merge pull request #85335 from zinefer/bugfix-blend-importer-on-windows-network-share
Replace `//` with `\\` before sending path to Blender
2024-01-09 15:30:50 +01:00
Rémi Verschelde 4baa634937
Merge pull request #84895 from rsubtil/fix_dap_race_condition
Prevent race condition on initial breakpoints from DAP
2024-01-09 15:30:44 +01:00
Rémi Verschelde ee42c9e7ef
Merge pull request #82498 from aXu-AP/docs-double-navigation
Fix opening docs writing extra navigation history
2024-01-09 15:30:38 +01:00
Rémi Verschelde bcd3bc9c76
Merge pull request #60974 from SaracenOne/editable_children_toggle_improvements
Fix behavior of 'Editable Children' toggle
2024-01-09 15:29:54 +01:00
SaracenOne cb8a743e18
Fix behavior of 'Editable Children' toggle.
Prevents losing nodes owned by the edited scene when
toggling editable_children off on an instanced scene,
and makes the toggle compatible with undo-redo.
2024-01-09 13:34:38 +01:00
Bastiaan Olij 10a8b88165 Fix SSR not working properly in stereo 2024-01-09 23:19:57 +11:00
Rémi Verschelde 2ccc5c7575
Merge pull request #86990 from akien-mga/revert-84167-cache_mode_replace_fixes
Revert "Fix behavior of ResourceFormatLoader `CACHE_MODE_REPLACE`"
2024-01-09 11:30:06 +01:00
Rémi Verschelde 6f118b8c4a
Merge pull request #86985 from timothyqiu/zip-packer-attributes
Fix ZIPPacker storing file permissions unexpectedly
2024-01-09 11:30:02 +01:00
Rémi Verschelde 27509a6027
Merge pull request #86980 from BastiaanOlij/openxr_1_0_33
Updated thirdparty OpenXR library to 1.0.33
2024-01-09 11:29:59 +01:00
Rémi Verschelde a56dd6ca52
Merge pull request #86920 from griffinkh/build_warning_fix
Fix build warning with memset value being too large
2024-01-09 11:29:55 +01:00
Rémi Verschelde 1d3f98ac6a
Merge pull request #86894 from jsjtxietian/merge-dafault-font
In `merge_with` also merge some default fields of theme
2024-01-09 11:29:52 +01:00
Rémi Verschelde a50a6b9400
Merge pull request #86798 from Mickeon/autocompletion-rendering-server
Add autocompletion for RenderingServer's global shader methods & `has_os_feature`
2024-01-09 11:27:31 +01:00
Rémi Verschelde e1f3a56bde
Merge pull request #86462 from tdaven/tdaven/fix-86427
Use ObjectID's instead of node pointers to track scene groups to prevent crash.
2024-01-09 11:27:27 +01:00
Rémi Verschelde 079f1c154d
Merge pull request #86269 from aaronfranke/detect-module
Allow detecting when building as an engine module
2024-01-09 11:27:24 +01:00
Rémi Verschelde e9695d9fa2
Merge pull request #84976 from DarioSamo/rd_common_render_graph
Acyclic Command Graph for Rendering Device
2024-01-09 11:27:19 +01:00
Rémi Verschelde 4181027596
Merge pull request #84442 from Calinou/colorpicker-allow-more-hex-codes
Allow additional hexadecimal color codes in ColorPicker
2024-01-09 11:27:14 +01:00
Rémi Verschelde 1edcf9a405
Merge pull request #81345 from anvilfolk/gdoverview
GDScript: Add module description in markdown
2024-01-09 11:27:05 +01:00
Trevor Davenport 39ae82623d
Use ObjectID to track cached scene groups.
This prevents a crash that could occur when using the Node pointer
would reference a Node which had been freed after node_removal.
2024-01-09 11:14:38 +01:00
Rémi Verschelde 9ca3d3ec83
Revert "Fix behavior of ResourceFormatLoader CACHE_MODE_REPLACE" 2024-01-09 10:49:14 +01:00
Haoyu Qiu 7a833c9b2e Fix ZIPPacker storing file permissions unexpectedly 2024-01-09 13:55:34 +08:00
Bastiaan Olij 3747cf2ffa Updated thirdparty OpenXR library to 1.0.33 2024-01-09 11:47:45 +11:00
K. S. Ernest (iFire) Lee 1430f0b67d Add obj importer changes to use ImporterMesh. 2024-01-08 13:57:20 -08:00
Zae 51c54b03d1 C#: Fix return type hint for methods. 2024-01-09 04:28:17 +08:00
Hugo Locurcio 80a770a8ed
Allow additional hexadecimal color codes in ColorPicker
The following formats are now accepted (leading `#` is optional):

- `#1` -> `#111111`
- `#12` -> `#121212`
- `#12345` -> `#11223344` (`5` at the end is discarded)
- `#1234567` -> `#123456` (`7` at the end is discarded)
2024-01-08 20:51:45 +01:00
Dario cc4d39b0c1 Acyclic Command Graph for RenderingDevice.
Adds a new system to automatically reorder commands, perform layout transitions and insert synchronization barriers based on the commands issued to RenderingDevice.
2024-01-08 14:54:56 -03:00
Griffin Kroah-Hartman b97cb5ec59 Fix build warning with memset value being too large
Should resolve issue #83342
2024-01-08 17:26:41 +01:00
Rémi Verschelde 84e205b5a1
Merge pull request #86950 from jsjtxietian/fix-compress-image-error
Fix wrong fail condition in compressed texture's `_set_data`
2024-01-08 14:53:43 +01:00
Rémi Verschelde c6671d9961
Merge pull request #86906 from Malcolmnixon/avatar-capable-openxrhand
Add ability to drive full-body avatars using OpenXRHand
2024-01-08 14:53:20 +01:00
Rémi Verschelde d8dc554241
Merge pull request #86847 from kleonc/tilemap-make-quadrant-canvas-item-position-local
Fix `TileMap` quadrant canvas item position not being local
2024-01-08 14:52:54 +01:00
Rémi Verschelde a7e347482b
Merge pull request #86687 from TokageItLab/AnimationMixer-remove-object-pointer
Fix TrackCache conflict when tracks have same name but different type
2024-01-08 14:52:30 +01:00
Rémi Verschelde 25011e9144
Merge pull request #84244 from BastiaanOlij/skip_present_if_needed
Skip swapchain logic if there is nothing to present (Android OpenXR)
2024-01-08 14:52:07 +01:00
Rémi Verschelde 129332e3b9
Merge pull request #82468 from kitbdev/tabcontainer-bottom
Option to put TabContainer tabs at bottom
2024-01-08 14:51:37 +01:00
kleonc 3c25274870 Fix TileMap quadrant canvas item position not being local 2024-01-08 14:20:16 +01:00
Silc Lizard (Tokage) Renew a51958a2a0 Remove Object pointer/solve types conflict in AnimationTrackCache
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-08 21:48:19 +09:00
Pedro J. Estébanez a731774813 WorkerThreadPool: Avoid most runtime allocations
Just a little optimization.

**NOTE:**
With `RID_Owner` we could replace each pair of `PagedAllocator` and
`HashMap`-of-ids-to-pointers. However, that would force us to expose
`RID` as the task/group id, instead of `int`, which would break the
API. Too bad. Let's wait until Godot 5.0.
2024-01-08 12:46:31 +01:00
Pedro J. Estébanez ae418f9469 WorkerThreadPool: Avoid deadlocks when CommandQueueMT is involved
This commit lets CommandQueueMT play nicely with the WorkerThreadPool to avoid
non-progressable situations caused by an interdependence between both. While a
command queue is being flushed, it allows the WTP to release its lock while tasks
are being awaited so they can make progress in case they need in turn to post
to the command queue.
2024-01-08 12:45:43 +01:00
Pedro J. Estébanez 9444d297ed WorkerThreadPool: Overhaul scheduling and synchronization
This commits rewrites the sync logic in a way that the
`use_system_threads_for_low_priority_tasks` setting, which was added due to
the lack of a cross-platform wait-for-multiple-objects functionality, can be
removed (it's as if it was effectively hardcoded to `false`).

With the new implementation, we have the best of both worlds: threads don't
have to poll, plus no bespoke threads are used.

In addition, regarding deadlock prevention, since not every possible case of
wait-deadlock could be avoided, this commits removes the current best-effort
avoidance mechanisms and keeps only a simple, pessimistic way of detection.

It turns out that the only current user of deadlock prevention, ResourceLoader,
works fine with it and so every possible situation in resource loading is now
properly handled, with no possibilities of deadlocking. There's a comment in
the code with further details.

Lastly, a potential for load tasks never being awaited/disposed is cleared.
2024-01-08 12:45:42 +01:00
Micky 472e3b3ad5 Add autocompletion for RenderingServer's global shader & has_os_feature 2024-01-08 12:20:31 +01:00
Rémi Verschelde 35da70f953
Merge pull request #86933 from alessandrofama/drop-texture-scene-history
Fix 2D viewport texture drop issue with global history registration
2024-01-08 12:01:55 +01:00
Rémi Verschelde 4ca33d318b
Merge pull request #86908 from AdSkipper1337/collision-object-2d-gdextension-virtuals
Fix virtual calls for GDExtension in `CollisionObject2D`
2024-01-08 12:01:31 +01:00
Rémi Verschelde 07f5dac81a
Merge pull request #86895 from Mickeon/documentation-textserver-missing-descriptions
Add missing descriptions to TextServer's constants
2024-01-08 12:01:07 +01:00
Rémi Verschelde edcea4a2ca
Merge pull request #86893 from Mickeon/autocomplete-editor-interface
Add autocompletion for a few EditorInterface methods
2024-01-08 12:00:43 +01:00
Rémi Verschelde c9ef2fdb0b
Merge pull request #86891 from Mickeon/autocompletion-get-node-or-null
Add autocompletion to `get_node_or_null`
2024-01-08 12:00:19 +01:00