Commit graph

59710 commits

Author SHA1 Message Date
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
Pedro J. Estébanez
fe8c217b7c Fix warning in MSVC 2023-12-27 17:50:45 +01:00
Yuri Sizov
13a0d6e9b2 Merge pull request #86431 from timothyqiu/ungroup-action
Improve action name for ungroup button in Scene dock
2023-12-22 17:20:22 +01:00
Yuri Sizov
ebbc985cf8 Merge pull request #86409 from Calinou/displayserver-failure-message-suggest-headless
Suggest `--headless` CLI argument in DisplayServer not found error message
2023-12-22 17:20:18 +01:00
Yuri Sizov
7d03a22329 Merge pull request #86405 from warriormaster12/pipeline-message-fix
Fix wrong error message when graphics pipeline creation fails
2023-12-22 17:20:15 +01:00
Yuri Sizov
d7564dbc6d Merge pull request #86388 from timothyqiu/unique-reset
Clear sub-resources list when no sub-resource exists
2023-12-22 17:20:12 +01:00
Yuri Sizov
980d55198c Merge pull request #86387 from jsjtxietian/fix-tile-set
Fix `UndoRedo history mismatch` when creating a new tile atlas
2023-12-22 17:20:08 +01:00
Yuri Sizov
b4fe310f7d Merge pull request #86377 from timothyqiu/slider-drag
Emit slider's `drag_started` signal before the first value change
2023-12-22 17:20:05 +01:00
Yuri Sizov
84d4889fa0 Merge pull request #86345 from brno32/outline-size-docs
Add note that a large value for `Label.outline_size` is not recommended
2023-12-22 17:20:02 +01:00
Yuri Sizov
44ded3eaa4 Merge pull request #86316 from clayjohn/RD-BFN-normals
Use best fit normals for storing screen space normals
2023-12-22 17:19:58 +01:00
Yuri Sizov
13d34d6a2b Merge pull request #85923 from Calinou/editor-filesystem-dock-add-open-in-terminal
Add a editor FileSystem dock action to open a terminal in selected folder
2023-12-22 17:19:53 +01:00
Yuri Sizov
6b403712f1 Merge pull request #83655 from golfinq/small-capsule-shape-fix
Replace confusing code in GodotCapsuleShape2D::get_supports
2023-12-22 17:19:48 +01:00
Yuri Sizov
bb1cdc1b2a Merge pull request #82961 from Occalepsus/fix_body_area_gravity
Fix body leaving area gravity influence
2023-12-22 17:19:43 +01:00
Haoyu Qiu
c62c0fb2d2 Improve action name for ungroup button in Scene dock 2023-12-22 19:54:14 +08:00
Hugo Locurcio
6da4d5bd60
Suggest --headless CLI argument in DisplayServer not found error message
This is helpful for newcomers setting up Godot on CI, as this provides
automatic guidance as for why it doesn't run out of the box if
there's no X11 server available.
2023-12-21 23:42:39 +01:00
clayjohn
43cf21cb71 Use best fit normals for storing screen space normals 2023-12-21 14:41:29 -07:00
warriormaster12
e729d511df Fix wrong error message when graphics pipeline creation fails 2023-12-21 22:32:58 +02:00
Occalepsus
492f1c2406 Fix body leaving area gravity influence 2023-12-21 16:10:02 +01:00
Haoyu Qiu
6e49ff91c0 Clear sub-resources list when no sub-resource exists 2023-12-21 18:14:10 +08:00
jsjtxietian
1217d7d678 Fix UndoRedo history mismatch when creating a new tile atlas 2023-12-21 17:25:21 +08:00
Haoyu Qiu
58db3e5d7b Emit slider's drag_started signal before the first value change 2023-12-21 11:23:35 +08:00
Yuri Sizov
9d1cbab1c4
Merge pull request #86373 from raulsntos/dotnet/fix-nameof
C#: Use string literal instead of nameof
2023-12-21 03:43:10 +01:00
Raul Santos
abd7927325
C#: Use string literal instead of nameof
Using `nameof` expressions with method parameters requires C# 11 and we're currently on C# 10.
2023-12-21 03:11:47 +01:00
Yuri Sizov
3a8524dd92
Merge pull request #83452 from RandomShaper/rd_common
Split `RenderingDevice` into API-agnostic and `RenderingDeviceDriver` parts
2023-12-20 20:09:18 +01:00
Pedro J. Estébanez
12a519bae2 Split RenderingDevice into API-agnostic and RenderingDeviceDriver parts
Credit and thanks to @bruzvg for multiple build fixes, update of 3rd-party items and MinGW support.

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-12-20 19:18:08 +01:00
Alex Drozd
daa8942f41 Add note that a large value for outline_size is not recommended 2023-12-20 17:55:23 +01:00
Yuri Sizov
c28a091a09 Merge pull request #86336 from LunaticInAHat/dds_implicit_linearsize
Support unspecified linear size in DDS files
2023-12-20 15:08:17 +01:00
Yuri Sizov
ed5a54d797 Merge pull request #86326 from MichaelMacha/patch-1
Remove pointer to deprecated class page from Skeleton3D
2023-12-20 15:08:14 +01:00
Yuri Sizov
d2da961f33 Merge pull request #86324 from aaronfranke/really-packed
Add PackedRealArray as an alias for Vector<real_t>
2023-12-20 15:08:10 +01:00
Yuri Sizov
5f641541ea Merge pull request #86271 from YuriSizov/pm-optimize-multiple-ways-of-scanning
Optimize scanning routines in the project manager
2023-12-20 15:08:06 +01:00
Yuri Sizov
1183bdefe4 Merge pull request #86257 from Faless/mp/fix_complete_auth
[MP] Fix `complete_auth` notifying the wrong peer
2023-12-20 15:08:02 +01:00
Yuri Sizov
b8635157eb Merge pull request #86218 from TheSofox/arrow-key-scene-tree-nav
Fix `Node` selection when navigating `Tree` with Arrow keys
2023-12-20 15:07:59 +01:00
Yuri Sizov
f77da033f2 Merge pull request #86169 from Repiteo/gdvirtual-call-refactoring
Replace `GDVIRTUAL_CALL` with `GDVIRTUAL_REQUIRED_CALL` where applicable
2023-12-20 15:07:55 +01:00
Yuri Sizov
02bc2a37dd Merge pull request #86118 from TheSofox/complex-undo-select-fix
Fix so undoing complex operations in `TextEdit` will restore selections
2023-12-20 15:07:52 +01:00
Yuri Sizov
aae58cd688 Merge pull request #85887 from YuriSizov/editor-enforce-min-window
Correctly enforce minimum window size in editor
2023-12-20 15:07:48 +01:00
Yuri Sizov
40e7192393 Merge pull request #85191 from HolonProduction/off-by-one-code-edit
Fix updating delimiter cache of `CodeEdit` when typing on the first line
2023-12-20 15:07:44 +01:00
Yuri Sizov
718598e470 Merge pull request #84979 from Calinou/scons-web-platform-alias
Alias `platform=javascript` SCons option to `platform=web`
2023-12-20 15:07:40 +01:00
Yuri Sizov
e11e0a7f07 Merge pull request #84734 from Anutrix/node-doc-11112023
Add description to `AnimationNodeStateMachine.replace_node`
2023-12-20 15:07:36 +01:00
Yuri Sizov
3a44484ab8 Merge pull request #83623 from rarysson/label-progressbar-allow-greater
Make ProgressBar reflect the real value in the percent label when "allow greater" is checked
2023-12-20 15:07:30 +01:00
Yuri Sizov
bc6be82f5a Merge pull request #81260 from KoBeWi/min_maxing_particle_editing
Improve editing of min/max particle properties
2023-12-20 15:07:25 +01:00
Yuri Sizov
6296333bad Merge pull request #60965 from DarkMessiah/global-groups-implementation
Implement project-wide node groups
2023-12-20 15:07:20 +01:00
Yuri Sizov
416e594eb3 Correctly enforce minimum window size in editor
Also set the maximum size for the language
picked in the project manager.
2023-12-20 13:19:21 +01:00
Yuri Sizov
3d4b33df33 Optimize scanning routines in the project manager 2023-12-20 13:16:46 +01:00
Pedro J. Estébanez
0567c5df9f Make PagedAllocator more compatible (esp., with HashMap) 2023-12-20 12:05:27 +01:00
kobewi
ce9fec9b4d Improve editing of min/max particle properties 2023-12-20 06:31:08 +01:00
Sofox
4b82cacc21 Fix so undoing complex operations in TextEdit will restore selections. 2023-12-20 00:12:52 +00:00
LunaticInAHat
a344d7f906 Support unspecified linear size in DDS files
Not all exporters choose to populate that (optional) header field.
2023-12-19 16:42:10 -05:00
Yuri Sizov
3ce73e5d41 Merge pull request #86331 from Calinou/doc-richtexteffect
Improve RichTextLabel `install_effect()` documentation
2023-12-19 20:33:13 +01:00
Yuri Sizov
fc082dd735 Merge pull request #86091 from dalexeev/gds-fix-pot-gen-skips-some-nodes
GDScript: Fix POT generator skips some nodes
2023-12-19 20:33:09 +01:00
Yuri Sizov
26834d298d Merge pull request #85652 from rsubtil/bugfix-can_grab_focus
Ensure slider grabs focus only when it can
2023-12-19 20:33:05 +01:00