1
0
Fork 0
Commit Graph

11708 Commits

Author SHA1 Message Date
Rémi Verschelde dd7d36e803
Merge pull request #100770 from hpvb/command-queue-mt
Core: Refactor CommandQueueMT to use vararg templates for performance and maintainability
2025-01-03 00:49:02 +01:00
Rémi Verschelde 7dd14207dc
Merge pull request #100631 from Faless/fix/wslay_frame_end_not_fin
[WS] Fix wslay multi-frame message parsing
2025-01-03 00:48:47 +01:00
Aaron Franke ec7d7abde9
GLTF: Always read alphaCutoff property 2025-01-02 12:53:55 -08:00
Mikael Hermansson 7bed84c165 Revert "Stop reporting contacts for sleeping bodies when using Jolt Physics"
This reverts commit 5bbdb4a770.
2025-01-02 20:17:05 +01:00
smix8 4184884ad1 Make NavMeshQueries use NavRegionIteration polygons directly
Removes the duplicated NavMap polygon soup. All navmesh queries now use the NavRegionIteration polygons directly.
2025-01-02 15:35:29 +01:00
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
Mikael Hermansson 7beaddc9c0 Improve performance with many static/sleeping bodies when using Jolt Physics 2025-01-01 21:30:02 +01:00
BlueCube3310 6f363b989a astcenc: Misc improvements and optimizations 2024-12-31 14:25:14 +01:00
Hendrik Brucker 751d3d5852 Fix lightmapper penumbra computation 2024-12-30 16:30:59 +01:00
Thaddeus Crews 2582793d40
Merge pull request #100774 from Geometror/rm-leftover-print-lightmapper
Remove leftover debug print statement from `lightmapper_rd.cpp`
2024-12-30 08:58:58 -06:00
Thaddeus Crews d12eeefcf4
Merge pull request #100763 from dsnopek/openxr-composition-layers-hole-punch-visibility
OpenXR: Fix hiding/showing composition layers using hole punching
2024-12-30 08:58:57 -06:00
Thaddeus Crews 77eb92f8f3
Merge pull request #100826 from Lielay9/csg-spin-360
Fix gaps in CSGPolygon3D spin mode at 360 degrees
2024-12-30 08:58:35 -06:00
Thaddeus Crews a9b6b3d932
Merge pull request #100776 from AThousandShips/improve_null_checks
Improve use of `Ref.is_null/valid`
2024-12-29 09:35:04 -06:00
kobewi 4e48b19e1f Add Color.from_rgba8 and deprecate Color8 2024-12-27 11:26:59 +01:00
smix8 c69408168c Patch navigation map async synchronization
Patches navigation map async synchronization.
2024-12-26 13:04:20 +01:00
Hei d310d9f975 Fix gaps in CSGPolygon3D spin mode at 360 degrees 2024-12-26 13:59:24 +02:00
A Thousand Ships a1846b27ea
Improve use of `Ref.is_null/valid`
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 -05:00
Hendrik Brucker 3cc5f6e346 Remove leftover print in lightmapper_rd.cpp 2024-12-23 21:14:14 +01:00
Thaddeus Crews 0f95e9f8e6
Merge pull request #100575 from Wierdox/improve_syntax_highlighting_for_shorthand_of_and_plus_bitwise_and_by_altering_string_name_highlighting
Improve `&&` and `&` syntax highlighting by altering `StringName` highlighting
2024-12-23 11:15:21 -06:00
Yufeng Ying 33817b186f Remove unused header in drivers and modules.
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>
2024-12-24 00:40:47 +08:00
Yufeng Ying 73d85f46c9 Remove unused headers in scene.
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-24 00:40:09 +08:00
David Snopek d9ad5d1cd4 OpenXR: Fix hiding/showing composition layers using hole punching 2024-12-23 08:01:19 -06:00
smix8 d51615b334 Change navigation map synchronization to an async process
Changes the navigation map synchronization to an async process to avoid stalling the main thread.
2024-12-22 02:03:59 +01:00
Rémi Verschelde 0454122b3c
Merge pull request #100711 from spoxii/patch/gltfstate_link_typo
Remove trailing double quote from link in GLTFState class documentation
2024-12-22 00:10:22 +01:00
Rémi Verschelde 4b3338799a
Merge pull request #100633 from BastiaanOlij/fix_openxr_dpad_angle_degrees
OpenXR: Make sure wedge on DPad modifier is expressed in degrees.
2024-12-22 00:10:08 +01:00
Wierdox ed81a17e1e Improve '&&' and '&' syntax highlighting by altering StringName highlighting 2024-12-21 14:02:31 -08:00
SPOXY a676465b79
Remove trailing double quote from link in GLTFState class documentation
This fixes the link to https://github.com/KhronosGroup/glTF/blob/main/specification/2.0/schema/asset.schema.json
2024-12-21 20:58:47 +01:00
Rémi Verschelde 4727f0707b
Jolt: Update to commit f094082aa, adding RISC-V, PPC64 and LoongArch support
Fixes #100557.
2024-12-21 15:15:50 +01:00
Bastiaan Olij 65bb72261b OpenXR: Make sure wedge on DPad modifier is expressed in degrees. 2024-12-21 20:59:24 +11: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 fd5548a8b7
Merge pull request #100634 from YYF233333/iwyu2
Remove unused headers in servers
2024-12-20 23:57:09 +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 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 8a743f23e6
Merge pull request #98385 from RandomShaper/thread_yield
Rationalize busy waits
2024-12-20 23:56:39 +01: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
Fabio Alessandrelli d798068a08 [WS] Fix wslay multi-frame message parsing
The wslay library, somehow unintuitively, will call the frame recv end
callback for control frames.

This has the side effect that while receiving a long message (i.e. a
multi-frame message), if a control frame (e.g. a ping or pong) is
received it may seem that a FIN frame has been received, resulting in
the current code truncating the message.

To avoid this, this commit now ignores the frame recv end callback, and
instead rely on the msg recv callback where we can check the opcode, and
is guaranteed to be called only when the FIN frame is received for text
and binary frames.
2024-12-20 12:44:59 +01: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
Raul Santos 975369fceb
[.NET] Fix EmitSignal with typed array parameters
Signals with typed arrays were generating EmitSignal methods with untyped array parameters.
2024-12-20 06:51:09 +01: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 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 2fcd8223e8
Merge pull request #99538 from Geometror/lightmap-gi-transparent-surface
Add transparency support for LightmapGI
2024-12-19 19:59:52 -06:00
Thaddeus Crews 3a12fc89b6
Merge pull request #100473 from opsocket/fix-rigid-bodies-damping
Update damping values for jolt rigid bodies on mode switch at runtime
2024-12-19 19:59:39 -06:00
Thaddeus Crews a4f423cc97
Merge pull request #78489 from dalexeev/gds-add-disassembling-implicit-funcs
GDScript: Add disassembling implicit and lambda functions
2024-12-19 19:59:36 -06:00
Yufeng Ying a43f90b89d Remove unused variable in GDScriptLanguage. 2024-12-20 00:48:06 +08:00
Kiro 06efe84bca Remove duplicate `utf8()` calls 2024-12-19 10:15:46 +01:00
Haoyu Qiu b447eaa6a8 Betsy: Fix stack-use-after-scope when using BC3 and BC5 2024-12-19 08:42:21 +08:00
smix8 c8242162d1 Fix early navigtion path return
Fixes early navigtion path return.
2024-12-19 01:21:38 +01:00
opsocket 0dd072b460 🐛 enforce bodies damping recomputation on mode switch at runtime 2024-12-18 16:07:04 -05:00
demolke e649e7e3c5 GLTF: Don't duplicate textures when importing blend files
Blender imports will always start within `.godot/imported`  folder because we first convert the .blend file to .gltf, store it in `.godot/imported` and run the import from there, so on-disk resources linked from .blend files end up with duplicate textures.
2024-12-18 21:24:18 +01:00
Rémi Verschelde 024efda0b4
Merge pull request #100568 from Repiteo/dotnet/warning-as-error
C#: Add option to treat warnings as errors
2024-12-18 19:50:20 +01:00
Hendrik Brucker a3525bc015 Add transparency support for LightmapGI
Co-authored-by: Guerro323 <kaltobattle@gmail.com>
2024-12-18 19:36:16 +01:00
Rémi Verschelde 56d11c1062
Merge pull request #100552 from mdelorme/mdelorme/issue_100514
Fix initialization order in `AudioStreamInteractive` to allow `initial_clip` to be properly played
2024-12-18 17:23:42 +01:00
Thaddeus Crews 8642e970c5
C#: Add option to treat warnings as errors 2024-12-18 10:23:41 -06:00
Rémi Verschelde 48167ff06e
Merge pull request #100540 from j20001970/cameraserver-check-feed-type
Camera: Skip non platform-specifc `CameraFeed` types in Linux/macOS driver
2024-12-18 17:23:39 +01:00
Rémi Verschelde d45825347d
Merge pull request #100300 from edwin0cheng/improve_emoji
Improve emoji SVG parsing by caching
2024-12-18 17:23:28 +01:00
Maxime Delorme ea97d4457f Fix order initialization to allow initial_clip to be properly played 2024-12-18 15:24:20 +01:00
Edwin Cheng 61d387135f Improve emoji SVG parsing by caching
Basically, when we first encounter the document, we parse it as before, but we also note the offsets of other glyphs and store the remaining XML. The next time we see another glyph, we can simply parse that glyph node and insert it back into the stored XML.
2024-12-18 19:02:03 +08:00
Rémi Verschelde 6cba6299f9
Merge pull request #100195 from raulsntos/dotnet/upgrade-tfm
[.NET] Upgrade user project's TargetFramework to `net8.0`
2024-12-18 09:53:10 +01:00
Rémi Verschelde 7d30972f7c
Merge pull request #99539 from RandomShaper/fix_dotnet_rl_deadlock
Avoid deadlocks in multi-threaded management of the C# script map
2024-12-18 09:53:01 +01:00
Haoyu Qiu bf4e5cca3f Make editor's shortcut names translated on-site 2024-12-18 13:00:30 +08:00
Jason Kuo 9655d7d948 Check `CameraFeed` type 2024-12-18 10:37:06 +08:00
Raul Santos 8d41b5a582
[.NET] Upgrade user project's TargetFramework to `net8.0`
- Upgrades the TFM for new created  projects to `net8.0`.
- Implements system to upgrade TFM for existing projects to `net8.0`.
2024-12-18 02:44:32 +01:00
Rémi Verschelde 6e2cf2aa7b
Merge pull request #100533 from mihe/jolt/sleeping-contacts
Stop reporting contacts for sleeping bodies when using Jolt Physics
2024-12-18 00:39:59 +01:00
Mikael Hermansson 5bbdb4a770 Stop reporting contacts for sleeping bodies when using Jolt Physics 2024-12-17 23:20:00 +01:00
Rémi Verschelde 32c634a381
Merge pull request #100526 from fire/vsk-csg-warnings-update
Update the warnings for CSGShape3D.
2024-12-17 23:00:17 +01:00
Rémi Verschelde f1cf8ebfd6
Merge pull request #100506 from akien-mga/dotnet-8.0-fix-GodotSharp-build
.NET: Downgrade Microsoft.CodeAnalysis.CSharp to 4.8.0 for compat with SDK 8.0.1xy
2024-12-17 23:00:13 +01:00
Rémi Verschelde 3dd60ba82f
Merge pull request #100406 from smix8/gridmap_edge_debug
Fix GridMap freeing edge connection debug mesh too early
2024-12-17 23:00:07 +01:00
Rémi Verschelde cb0d731daf
Merge pull request #100351 from raulsntos/dotnet/android-gradle-fix
[.NET] Fix gradle builds for multiple ABIs
2024-12-17 22:59:58 +01:00
Hugo Locurcio 7a04d85ec3
Only allow valid types in Decal, Light3D projector, PointLight2D texture and CSGMesh3D mesh
If an invalid type is supplied (which can still be done from a script),
a warning is printed (along with a workaround for ViewportTexture).

This also adds support for "negative" resource hints such as
"Texture2D,-ViewportTexture" to exclude one or more subclasses
from a class hint.

Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2024-12-17 20:41:12 +01:00
K. S. Ernest (iFire) Lee 46b02f08c6 Update the warnings for CSGShape3D. 2024-12-17 11:02:38 -08:00
Rémi Verschelde 7bccc82721
Merge pull request #100401 from kiroxas/Simplify_NavMeshQueries3D_simplify_path_segment
Simplify `NavMeshQueries3D::simplify_path_segment`
2024-12-17 16:19:15 +01:00
Rémi Verschelde 8385a12ba8
Merge pull request #100361 from fire/vsk-csg-warning-4.4
Push some warnings for CSG non manifold and other errors.
2024-12-17 16:19:12 +01:00
Rémi Verschelde 4866c4a8c5
Merge pull request #99925 from Mickeon/documentation-no-static-typing-yet
Remove uses of static typing from the documentation
2024-12-17 16:19:08 +01:00
Rémi Verschelde 076d126bc7
Merge pull request #99639 from badsectoracula/get-selected-gridmap-cells
Expose GridMapEditorPlugin to scripts and add methods to manipulate to the selection and selected palette item
2024-12-17 16:18:54 +01:00
Rémi Verschelde 182b4741ea
Merge pull request #93479 from Repiteo/scons/better-colored-output
SCons: Improve colored output
2024-12-17 16:18:41 +01:00
Rémi Verschelde 4047e4b894
.NET: Downgrade Microsoft.CodeAnalysis.CSharp to 4.8.0 for compat with SDK 8.0.1xy
And for CI, set up .NET SDK 8.0.100 explicitly to test our min supported version.
2024-12-17 15:56:56 +01:00
K. S. Ernest (iFire) Lee 441c440bf4 Push some warnings for CSG non manifold and other errors.
In the scene tree add warnings.
2024-12-16 12:49:51 -08:00
Bad Sector baf03e4fb6 Expose GridMapEditorPlugin to scripts and add methods to manipulate the selection and selected palette item 2024-12-16 21:31:05 +02:00
Kiro 774e91470c Simplify `NavMeshQueries3D::simplify_path_segment` 2024-12-16 20:05:41 +01:00
Thaddeus Crews 4364ed6ccd
Merge pull request #100471 from dsnopek/openxr-xrsim-composition-layer-crash
OpenXR: Fix crash with composition layers in non-dev builds
2024-12-16 12:10:08 -06:00
Thaddeus Crews 7efe038eed
Merge pull request #97492 from Geometror/profiler-autostart-indicator
Add profiler autostart indicator to EditorRunBar
2024-12-16 12:09:59 -06:00
Thaddeus Crews 02e196eb41
Merge pull request #98132 from aaronfranke/editor-plugin-get-plugin-icon-name
Rename internal EditorPlugin icon/name to match exposed methods
2024-12-16 12:09:57 -06:00
Thaddeus Crews d51fae25a7
Merge pull request #98872 from BastiaanOlij/openxr_khr_metal_enable
OpenXR: Add Metal support
2024-12-16 12:09:47 -06:00
Thaddeus Crews 9c9af038d5
Merge pull request #91060 from dalexeev/code-edit-add-doc-tooltips
Code Editor: Add documentation tooltips
2024-12-16 12:09:45 -06:00
David Snopek 20d8bddd38 OpenXR: Fix crash with composition layers in non-dev builds 2024-12-16 08:44:49 -06:00
Hendrik Brucker 9f8bbe43ee Add profiler autostart indicator to EditorRunBar 2024-12-16 10:15:24 +01:00
Aaron Franke de87ca5084
GLTF: Fix bad pointer to ImporterMeshInstance3D root node at runtime 2024-12-15 18:05:57 -08:00
Aaron Franke 0ab3dc273e
Rename internal EditorPlugin icon/name to match exposed methods 2024-12-15 17:31:01 -08:00
Danil Alexeev 80d11500b5
Code Editor: Add documentation tooltips 2024-12-15 10:51:33 +03:00
Rémi Verschelde 863a24ac86
Merge pull request #100405 from BlueCube3310/bcdec-fix-v200
bcdec: Fix logic for detecting incomplete blocks
2024-12-14 18:25:49 +01:00
smix8 c09855627f Fix GridMap freeing edge connection debug mesh too early
Fixes GridMap freeing edge connection debug mesh too early.
2024-12-14 18:15:28 +01:00
BlueCube3310 8f9673eeff bcdec: Fix logic for detecting incomplete blocks 2024-12-14 17:57:44 +01:00
Thaddeus Crews b68675e518
Merge pull request #100342 from mihe/jolt/thread-safe-rids
Make `RID` allocation thread-safe when using Jolt Physics
2024-12-13 16:19:35 -06:00
Thaddeus Crews c58fbaf751
Merge pull request #100340 from smix8/csg_3d_child_notify
Fix 3D CSG not reacting to child node order changes
2024-12-13 16:19:33 -06:00
Rémi Verschelde 7f5c469292
Merge pull request #92131 from paulloz/net8
C#: Move GodotSharp to .NET8
2024-12-13 15:31:59 +01:00
Paul Joannon fb8553e4d7
Move to .NET8
- Change TFM and LangVersion
- Better exception throwing (CA1510, CA1512, CA1513)
- Better exception utility method definition (CA1859)
- Prefer comparing `.Count` over calling `.Any()` (CA1860)
- Prefer `.AsSpan()` over `.Substring()` (CA1846)
- Add a few more `scoped`
- Use `RuntimeHelpers.GetUninitializedObject()` instead of `FormatterServices.GetUninitializedObject()`
- Use delegate instead of delegate pointer in variant generic conversions
- Enable EnforceExtendedAnalyzerRules in source generator projects
- Disable CS8981 on structs named movable in Godot.NativeInterop
2024-12-13 14:00:13 +01:00
Pedro J. Estébanez 4f8dd96b3d Rationalize busy waits 2024-12-13 10:14:26 +01:00
Raul Santos d526d523b4
[.NET] Fix gradle builds for multiple ABIs
Include the needed .NET jar in the Godot templates so it's always available, then we don't need to include the jar from a .NET publish which could fail when exporting to multiple architectures because it would attempt to add the same jar for each architecture.
2024-12-13 08:01:13 +01:00
Mikael Hermansson f6126badba Make RID allocation thread-safe when using Jolt Physics 2024-12-13 00:39:42 +01:00