1
0
Fork 0
Commit Graph

70277 Commits

Author SHA1 Message Date
HP van Braam cccd2432c3 Refactor CommandQueueMT to use vararg templates
In order to make CommandQueueMT more maintainable this PR changes the
previous macro hell with variadic templates instead. This makes the
class far more explicit and will allow us to more easily change the way
the class functions in the future.

Furthermore this refactoring has allowed for some optimizations. In
particular by using std::forward to delay the decision of decaying the
type to as late as possible we are able to move the data from the
callsite into our Command buffer and later move it to the call.

In practice what this means is that compared to the old version instead
of copying values 3 times, we can now get away with 1 copy, and 1 move
for lvalues, and just 2 moves for rvalues. This saves quite a few
operations in a hot codepath.

We also now test to make sure that the amount of copies and moves are
what we expect. This way we can spot performance regressions in this
code easily.

Somewhat unscientifically, running TPS-demo by pressing enter and not
touching the controls average mspf, repeatable across many runs:

before: 6.467
after : 6.202
2025-01-02 15:35:08 +01:00
Rémi Verschelde a7a2a12bfd
Merge pull request #100671 from bruvzg/get_menu
[MenuBar] Use PopupMenu title property as a menu name.
2024-12-20 23:57:47 +01:00
Rémi Verschelde 91e72100e9
Merge pull request #100670 from hpvb/fix-100666
Don't recursively call `_update_tree`
2024-12-20 23:57:43 +01:00
Rémi Verschelde 387230b90c
Merge pull request #100667 from raulsntos/dotnet/fix-version-in-errors
[.NET] Update required .NET SDK version in error messages
2024-12-20 23:57:39 +01:00
Rémi Verschelde dac0b67c4d
Merge pull request #100659 from clayjohn/color-srgb-precision
Increase precision in `linear_to_srgb()` and `srgb_to_linear()`
2024-12-20 23:57:35 +01:00
Rémi Verschelde 315f51b7ca
Merge pull request #100654 from mdelorme/mdelorme/issue_100649
Fix `@export` open scene button not working
2024-12-20 23:57:31 +01:00
Rémi Verschelde 6e23de0aa6
Merge pull request #100653 from stuartcarnie/remove_moltenvk_hack
Rendering: MoltenVK hack is no longer required, as bug was fixed.
2024-12-20 23:57:27 +01:00
Rémi Verschelde 86094a88ef
Merge pull request #100648 from aryan-11825114/fix-profiler-autostart-indicator-going-to-wrong-debugger
Fix autostart indicator going to wrong debugger
2024-12-20 23:57:24 +01:00
Rémi Verschelde 87855e04ad
Merge pull request #100643 from ze2j/follow_up_of_array_mesh_surface_remove
Follow-up of `ArrayMesh::surface_remove` addition
2024-12-20 23:57:20 +01:00
Rémi Verschelde 13274842a9
Merge pull request #100638 from Tiktalik/fixed-wayland-horizontal-scroll
Fix Wayland left/right scroll wheel issues.
2024-12-20 23:57:16 +01:00
Rémi Verschelde eaed664bce
Merge pull request #100637 from bruvzg/unset_fw
Unset last focused window when it is destroyed.
2024-12-20 23:57:13 +01:00
Rémi Verschelde fd5548a8b7
Merge pull request #100634 from YYF233333/iwyu2
Remove unused headers in servers
2024-12-20 23:57:09 +01:00
Rémi Verschelde 024b6bc1ce
Merge pull request #100632 from Namey5/decal-duplication-crash
Fix crash when duplicating `Decal` or `Light3D` nodes
2024-12-20 23:57:05 +01:00
Rémi Verschelde c9e99291c1
Merge pull request #100622 from dsnopek/gdextension-compat-hashes
Rename `GDExtensionCompatHashes` to make it clear it's only for exceptional situations
2024-12-20 23:57:02 +01:00
Rémi Verschelde 0a37e12a9b
Merge pull request #100610 from YYF233333/style
Remove unused variable in `GDScriptLanguage`
2024-12-20 23:56:58 +01:00
Rémi Verschelde b46103b286
Merge pull request #100601 from syntaxerror247/wear-OS
Add option to disable `Swipe to Dismiss` for Wear OS
2024-12-20 23:56:54 +01:00
Rémi Verschelde e91b3ecd00
Merge pull request #100562 from AThousandShips/fix_text_server_binds
[TextServer] Fix use of `find_char` in text servers
2024-12-20 23:56:51 +01:00
Rémi Verschelde 119c99a8d0
Merge pull request #100193 from raulsntos/gdextension/set_class_icon
GDExtension: Add method to set the class icon
2024-12-20 23:56:48 +01:00
Rémi Verschelde a11364d1e6
Merge pull request #99010 from Hilderin/embedding-game-process
Embed game process in editor
2024-12-20 23:56:43 +01:00
Rémi Verschelde 8a743f23e6
Merge pull request #98385 from RandomShaper/thread_yield
Rationalize busy waits
2024-12-20 23:56:39 +01:00
Rémi Verschelde 7d5b23c5b0
Merge pull request #96626 from hakro/steady_as_she_goes
Allow Timer nodes to ignore engine time scale
2024-12-20 23:56:33 +01:00
Alex Threlfo 90a0c06631
Fix crash when duplicating Decal or Light3D nodes
Co-authored-by: Jayden Sipe <jayden.sipe@gmail.com>
2024-12-20 23:51:47 +01:00
HP van Braam 62cff66383 Don't recursively call _update_tree
When a node was previously selected and the test "selected == p_node"
was true the code would use set_selected() to change the selection to
nullptr. However, if the tree is dirty, which is always true in this
codepath, this would lead to a recursive call to _update_tree()
ultimately leading to a crash due to us running out of stack.

This fixes #100666
2024-12-20 23:01:44 +01:00
Pāvels Nadtočajevs 9604e98a52 [MenuBar] Use PopupMenu title property as a menu name. 2024-12-20 23:35:07 +02:00
Raul Santos 63960e1ed6
[.NET] Update required .NET SDK version in error messages
Also, replaces the download URL with a shorter one since links are not clickable so I thought it'd be more convenient.
2024-12-20 21:57:38 +01:00
Anish Mishra 5d8e2cd63f Add option to disable Swipe-to-Dismiss for Wear OS 2024-12-20 23:21:50 +05:30
clayjohn 46ce499b6f Increase precision in linear_to_srgb and srgb_to_linear
This avoids the situation where white stops being white after conversion. While maintaining as much floating point ops as possible
2024-12-20 10:49:43 -07:00
Maxime Delorme ff107cbeeb Fix @export open scene button not working 2024-12-20 15:36:28 +01:00
Stuart Carnie 9344a29f0e Rendering: MoltenVK hack is no longer required, as bug was fixed.
Original issue: https://github.com/godotengine/godot/pull/51679#issuecomment-976900929

And related fix in SPIRV-Cross: https://github.com/KhronosGroup/SPIRV-Cross/issues/2046
2024-12-20 06:38:42 -07:00
Yufeng Ying e88e30c273 Remove unused headers in servers.
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2024-12-20 18:51:01 +08:00
ze2j 97b093617d Follow-up of ArrayMesh::surface_remove addition 2024-12-20 10:53:43 +01:00
aryan-11825114 b3e15af8ad Fix autostart indicator going to wrong debugger 2024-12-20 14:25:57 +05:30
Tiktalik fb741715c1
Fixed incorrect use of vertical scroll where it should have been horizontal. 2024-12-20 00:53:10 -07:00
Pāvels Nadtočajevs 73faa509ea Unset last focused window when it is destroyed. 2024-12-20 09:40:25 +02:00
AThousandShips 15b4331fb1
[TextServer] Fix use of `find_char` in text servers
The `find_char` method is not (currently) available to extensions and
can't be used in the text servers which can be built as extensions, so
now controlled by compile option
2024-12-19 21:44:30 -05:00
Thaddeus Crews 89001f91d2
Merge pull request #100607 from syntaxerror247/fix-filepicker
Fix Android native file picker
2024-12-19 20:00:21 -06:00
Thaddeus Crews 151e7fc687
Merge pull request #100477 from Ivorforce/cowdata-move-insert-n-remove
Optimize `CowData` and `LocalVector` functions `.insert` and `.remove_at` by using move semantics.
2024-12-19 20:00:20 -06:00
Thaddeus Crews 1b8a2d930f
Merge pull request #100474 from Ivorforce/cowdata-abstract-realloc
Abstract `CowData`'s reallocations into `_realloc` to consolidate duplicate logic.
2024-12-19 20:00:19 -06:00
Thaddeus Crews a6e89ba2ba
Merge pull request #80121 from Sauermann/fix-embedded-window-stretch
Fix display of embedded `Window`
2024-12-19 20:00:17 -06:00
Thaddeus Crews 6c04997d0d
Merge pull request #100596 from bruvzg/flt_upd
[EditorFileDialog] Do not update file selection on filter change if nothing was previously selected.
2024-12-19 20:00:16 -06:00
Thaddeus Crews ddf6e9e3eb
Merge pull request #100595 from bruvzg/win_drv_letter
[Windows, FileDialog] Prepend drive letter to the absolute paths without drive letter.
2024-12-19 20:00:15 -06:00
Thaddeus Crews e51ab56f9a
Merge pull request #100593 from Namey5/lightmapgi-null-sky-crash
LightmapGI: Fix crash during baking when sky is null
2024-12-19 20:00:14 -06:00
Thaddeus Crews effea567a5
Merge pull request #99820 from stuartcarnie/issue_99682
Metal: Add support for 2017 era iOS devices
2024-12-19 20:00:13 -06:00
Thaddeus Crews 8b0b38ffa7
Merge pull request #100588 from timothyqiu/wild-rid
Betsy: Fix stack-use-after-scope when using BC3 and BC5
2024-12-19 20:00:12 -06:00
Thaddeus Crews 5ceeff711c
Merge pull request #100587 from smix8/path_return
Fix early navigtion path return
2024-12-19 20:00:10 -06:00
Thaddeus Crews 76956286d0
Merge pull request #100586 from tetrapod00/refraction-screen-texture
Document limitations of refraction from using screen texture
2024-12-19 20:00:09 -06:00
Thaddeus Crews 075567a5b3
Merge pull request #100456 from Sauermann/proposal-hovered-connection-highlight
Highlight hovered `GraphEdit` connection by widening the line
2024-12-19 20:00:08 -06:00
Thaddeus Crews fb8d2ee044
Merge pull request #100582 from bruvzg/fix_in_ops
[GDScript] Fix `Packed*Array` `OP_IN` using low precision int and float as input.
2024-12-19 20:00:06 -06:00
Thaddeus Crews d48ada19e2
Merge pull request #81892 from aaronfranke/scene-editor-warn-root-transform
Add a warning for when the scene root node is transformed
2024-12-19 20:00:04 -06:00
Thaddeus Crews 76d66d47dd
Merge pull request #99428 from Calinou/editor-default-enable-remote-deploy-debug
Enable Deploy with Remote Debug by default in the editor
2024-12-19 20:00:02 -06:00