1
0
Fork 0
Commit Graph

70139 Commits

Author SHA1 Message Date
Thaddeus Crews 5527bcbfbe
Merge pull request #100363 from RandomShaper/fix_mtl_mt_deadlock_4.4
Fix deadlock possibility in threaded load of materials
2024-12-13 16:19:24 -06:00
Thaddeus Crews f2c8f17906
Merge pull request #100325 from hpvb/fix-rendering-alignment
Fix several ubsan reported misaligned accesses
2024-12-13 16:19:20 -06:00
Thaddeus Crews 80ae6fc1ee
Merge pull request #100324 from YYF233333/codestyle
Remove dead code in `AnimationNodeStateMachine`
2024-12-13 16:19:18 -06:00
HP van Braam 70dbc311d1 Exclude known thirdparty/ ubsan errors
In my quest to make ubsan failures a build failure I've added all
current ubsan errors by type to a new suppression file which we will
then also use with CI.

The idea is to only add known ubsan errors to this file, so this is not
a blanket exclusion of thirdparty/ this means that if we get new or
unexpected ubsan in thirdparty/ builds would fail.
2024-12-13 23:11:35 +01:00
HP van Braam 062d74bb9c Fix ubsan reported errors in rendering
This allows the TPS demo to run without an ubsan reports from any of the
rendering code.
2024-12-13 21:27:37 +01:00
clayjohn f2a993aa1d Reduce slider range for Particles preprocess to discourage setting a preprocess time of 10 minutes 2024-12-13 11:36:36 -08:00
Lars Pettersson d0aa91bc6b
Don't rebuild tree when selecting a file in FileSystem list view 2024-12-13 19:37:33 +01:00
Hugo Locurcio 49ca40cdbf
Document `GPUParticles.emit_particle()` only working on Forward+ and Mobile 2024-12-13 16:41:41 +01:00
Lukas Tenbrink 383d933f53 Optimize `SWAP` macro by using move semantics. 2024-12-13 16:19:52 +01:00
HP van Braam e674379764 Fix several ubsan reported misaligned accesses
These misaligned accesses are shown in all of our CI hooks. It turned
out to not be difficult to fix.

It is likely that this will improve performance for aarch64.
2024-12-13 15:32:35 +01: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
Pablo Andres Fuente 7c4c1100e0 Improving detection of ccache on Mac
Before this commit, ccache where only used on Mac when
`OSXCROSS_ROOT` was defined. Now, it could be used even
when that envirnment variable is not defined.
2024-12-13 09:50:27 -03:00
Pedro J. Estébanez 4bfc6f8d70 Fix deadlock possibility in threaded load of materials 2024-12-13 12:49:10 +01:00
Florent Guiocheau 02f05cf0ac Fix wide angle spotlight clustering 2024-12-13 11:28:42 +01:00
Rémi Verschelde 691d8bee2b
Merge pull request #100344 from clayjohn/refprobe-blend
Small fixups for the new reflection probe blending
2024-12-13 09:48:50 +01:00
Florent Guiocheau 4c34813b32 Fix very large radius SphereMesh and CapsuleMesh normals 2024-12-13 09:26:59 +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
clayjohn 356fa37f89 Small fixups for the new reflection probe blending 2024-12-12 17:29:21 -08:00
Mikael Hermansson f6126badba Make RID allocation thread-safe when using Jolt Physics 2024-12-13 00:39:42 +01:00
Malcolm Anderson 46c9089ddc Remove incorrect statement that TextureButton needs a texture for normal state in docs
Update doc/classes/TextureButton.xml

Co-authored-by: Micky <66727710+Mickeon@users.noreply.github.com>

Improve explanation of texture fallback behaviors for TextureButton

Remove a bit of incorrect information from TextureButton documentation

Most other state textures are not overlaid (only `texture_focused`)

Apply suggestions from code review
2024-12-12 15:34:38 -08:00
smix8 20c519d0fa Fix 3D CSG not reacting to child node order changes
Fixes 3D CSG not reacting to child node order changes.
2024-12-13 00:28:42 +01:00
Thaddeus Crews ba2c5c1e61
Merge pull request #100318 from dsnopek/stream-peer-extension-put-partial-data-bug
Fix `StreamPeerExtension::put_partial_data()` to call `_put_partial_data()`
2024-12-12 16:13:38 -06:00
Thaddeus Crews c34a3f1ed2
Merge pull request #100059 from Calinou/editor-default-enable-emulate-numpad
Enable Emulate Numpad by default in the 3D editor settings
2024-12-12 16:13:37 -06:00
Thaddeus Crews bfc66f0608
Merge pull request #100282 from devloglogan/motion-vectors-openxr
Add renderer motion vectors API for use with OpenXR
2024-12-12 16:13:36 -06:00
Thaddeus Crews 91dc363dca
Merge pull request #100120 from allenwp/make-editor-shortcuts-global
Force fixed undo history to make editor shortcuts use global history.
2024-12-12 16:13:34 -06:00
Thaddeus Crews e0968eee8c
Merge pull request #91064 from KoBeWi/scan_everything
Make scan for projects threaded
2024-12-12 16:13:33 -06:00
Thaddeus Crews 7c015a768f
Merge pull request #99958 from lander-vr/reflection-probe-blend-property
Add Blend Distance property to ReflectionProbe
2024-12-12 16:13:32 -06:00
Thaddeus Crews ed8b4ab060
Merge pull request #100337 from akien-mga/scons-sse2-baseline
SCons: Properly set SSE2 as baseline on x86_32
2024-12-12 16:13:31 -06:00
Thaddeus Crews 9fba62a938
Merge pull request #100239 from Ivorforce/cowdata-move-constructor
Add move constructor and move assignment to `CowData`, `String`, `Char16String`, `CharString`, and `Vector`.
2024-12-12 16:13:30 -06:00
Thaddeus Crews 6acb58d95a
Merge pull request #100331 from akien-mga/jolt-fix-mingw-lto-multiple-definitions
Jolt: Fix multiple definition LTO linking issue with mingw-gcc
2024-12-12 16:13:29 -06:00
Thaddeus Crews cc078036f7
Merge pull request #100327 from BlueCube3310/lightmap-compress-default
LightmapGI: Automatically compress new lightmaps
2024-12-12 16:13:28 -06:00
Thaddeus Crews 376980ebda
Merge pull request #100315 from hpvb/renegerate-x11-0.7
Regenerate X11 wrappers with dynload-wrapper 0.7
2024-12-12 16:13:27 -06:00
Thaddeus Crews 31bc6afcad
Merge pull request #96802 from dsnopek/expose-resource-importer-get-format-version
Expose `ResourceImporter::get_format_version` via `EditorImportPlugin::_get_format_version()`
2024-12-12 16:13:26 -06:00
Thaddeus Crews b7501d219c
Merge pull request #100322 from darksylinc/matias-tf-comment-fix
Fix grammar / spelling in comments
2024-12-12 16:13:25 -06:00
Thaddeus Crews c5f0d571b5
Merge pull request #97985 from RobProductions/add-tablet-nav-preset
Add `Tablet/Trackpad` 3D navigation preset
2024-12-12 16:13:24 -06:00
Thaddeus Crews 9c290c4c56
Merge pull request #100033 from Daylily-Zeleen/daylily-zeleen/optimize_callable_to_string
Optimize callable's stringify text.
2024-12-12 16:13:23 -06:00
HP van Braam 6f7525c396 Improve Scene Tree editor performance
We now cache the Node*<>TreeItem* mapping in the SceneTreeEditor. This
allows us to make targeted updates to the Tree used to display the scene
tree in the editor.

Previously on almost all changes to the scene tree the editor would
rebuild the entire widget, causing a large number of deallocations an
allocations. We now carefully manipulate the Tree widget in-situ saving
a large number of these allocations.

In order to know what Nodes need to be updated we add a
editor_state_changed signal to Node, this is a TOOLS_ENABLED,
editor-only signal fired when changes to Node happen that are relevant
to editor state.

We also now make sure that when nodes are moved/renamed we don't check
expensive properties that cannot contain NodePaths. This saves a lot of
time when SceneTreeDock renames a node in a scene with a lot of
MeshInstances. This makes renaming nodes go from ~27 seconds to ~2
seconds on large scenes.

SceneTreeEditor instances will now also not do all of the potentially
expensive update work if they are invisible. This behavior is turned off
by default so it won't affect existing users. This change allows the
editor to only update SceneTreeEditors that actually in view. In
practice this means that for most changes instead of updating 6
SceneTreeEditors we only update 1 instantly, and the others only when
they become visible.

There is definitely more that could be done, but this is already a
massive improvement. In complex scenes we see an improvement of 10x,
things that used to take ~30 seconds now only take 2.

This fixes #83460

I want to thank KoBeWi, TokisanGames, a-johnston, aniel080400 for
their tireless testing. And AeioMuch for their testing and providing a
fix for the hover issue.
2024-12-12 22:47:05 +01:00
Rémi Verschelde f86b3696f6
SCons: Properly set SSE2 as baseline on x86_32
Setting it only for release templates on Windows and macOS was inconsistent,
and Jolt requires it as a minimum.

Drop the `-mxsave` flag from the raycast module, this doesn't seem to be
used explicitly by Embree, and unnecessarily makes our config and baseline
muddy.
2024-12-12 22:44:44 +01:00
kobewi cb4ceb823c Make scan for projects threaded 2024-12-12 22:31:32 +01:00
Rémi Verschelde 0ba875ec29
Jolt: Fix multiple definition LTO linking issue with mingw-gcc 2024-12-12 21:31:34 +01:00
Markus Sauermann cfc0a87099 Introduce a conversion for editor shortcuts
This is temporary code for reverting effects, that were caused
by the reverted 97707.
2024-12-12 20:21:30 +01:00
BlueCube3310 85e4d1b9d3 LightmapGI: Automatically compress new lightmaps 2024-12-12 17:43:47 +01:00
RedworkDE f0b6b24d9e
C#: Update to net7.0
Because of ref safety changes in the languages, all methods that return an interop struct have to have all other reference parameters marked as scoped to signal the the method does not capture that reference.

The variant change is necessary, because for some reason a type of the exact shape godot_variant is in, crashes the .NET 7 JIT, but when changing it to be sequential with the same effective layout it works.
2024-12-12 17:42:39 +01:00
havi05 b29e93bb51 ItemList - Add Toggle mode 2024-12-12 17:33:04 +01:00
Matias N. Goldberg a1b44ec7a7 Fix grammar / spelling in comments
Minor fixes for changes introduced in #99257 that could not be fixed in
time as the PR needed to be expedited.
2024-12-12 12:47:08 -03:00
Yufeng Ying 180c1b1cfa Remove dead code. 2024-12-12 23:40:25 +08:00
Robert Yevdokimov 7f09804154 Add inherit parameter to `open_scene_from_path` 2024-12-12 10:24:58 -05:00
Florent Guiocheau 5125adf40b Fix large range point lights shadows 2024-12-12 15:37:38 +01:00
David Snopek 8c01fc2274 Fix `StreamPeerExtension::put_partial_data()` to call `_put_partial_data()` 2024-12-12 08:31:12 -06:00