Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Batch of fixes for WorkerThreadPool and ResourceLoader #94169

Merged
merged 5 commits into from
Aug 26, 2024

Conversation

RandomShaper
Copy link
Member

@RandomShaper RandomShaper commented Jul 10, 2024

While doing some heavy testing with projects that really stress resource loading, I've found a number of edge cases and regressions that required attention. I've squashed them in as few commits as it made sense and I'm submitting them all in a single PR.

I'll keep testing this with more projects before taking it out ot draft. 2024-07-18: After some tweaks and additional testing, verifying a 100% deadlock-free loading experience on my end with complex projects and no apparent regressions, I'm taking this out of draft.

2024-07-19: Now this is based on the extracted safe subset in #94526, I'm removing the descriptions of the commits moved there. Keeping the commits themselves to avoid solving conflicts that won't arise once the other PR has been merged.


ResourceLoader: Properly push & pop TLS state on recursive load tasks


ResourceLoader: Enhance deadlock prevention

Benefits:

  • Simpler code. The main load function is renamed so it's apparent that it's not just a thread entry point anymore.
  • Cache and thread modes of the original task are honored. A beautiful consequence of this is that, unlike formerly, re-issued loads can use the resource cache, which makes this mechanism much more performant.
  • The newly added getter for caller task id in WorkerThreadPool allows to remove the custom tracking of that in ResourceLoader.
  • The check to replace a cached resource and the replacement itself happen atomically. That fixes deadlock prevention leading to multiple resource instances of the same one on disk. As
    a side effect, it also makes the regular check for replace load mode more robust.

ResourceLoader: Optimize remap check by deferring until a non-mutex zone


ResourceLoader: Fix edge cases in the management of user tokens

  1. Make handling of user tokens atomic:
    Loads started with the external-facing API used to perform a two-step setup of the user token. Between both, the mutex was unlocked without its reference count having been increased. A non-user-initiated load could therefore destroy the load task when it unreferenced the token.
    Those stages now happen atomically so in the one hand, the described race condition can't happen so the load task life insurance doesn't have a gap anymore and, on the other hand, the ugliness that the call to load could return ERR_BUSY if happening while other thread was between both steps is gone.
    The code has been refactored so the user token concerns are still outside the inner load start function, which is agnostic to that for a cleaner implementation.
  2. Clear ambiguity between load operations running on WorkerThreadPool:
    The two cases are: single-loaded thread directly started by a user pool task and a load started by the system as part of a multi-threaded load.
    Since ensuring all the code dealing with this distinction would make it very complex, and error-prone, a different measure is applied instead: just take one of the cases out of the dichotomy. We now ensure every load happening on a pool thread has been initiated by the system.
    The way of achieving that is that a single-threaded user-started load initiated from a pool thread, is run as another task.

WorkerThreadPool (plus friends): Overhaul unlock allowance zones

This fixes a rare but possible deadlock, maybe due to undefined behavior. The new implementation is safer, at the cost of some added boilerplate.


Fixes #95616.

@clayjohn
Copy link
Member

Given the complexity of this PR, I think we should probably aim to merge it for 4.4 and then cherry pick to 4.3.1

@RandomShaper RandomShaper marked this pull request as ready for review July 18, 2024 06:43
@RandomShaper RandomShaper requested review from a team as code owners July 18, 2024 06:43
@RandomShaper RandomShaper force-pushed the wtp_rl_prize branch 2 times, most recently from e76a5fb to 1881518 Compare July 18, 2024 07:58
@akien-mga
Copy link
Member

Would be good to fix the CI errors, it seems to have warnings on all compilers.

@RandomShaper
Copy link
Member Author

Would be good to fix the CI errors, it seems to have warnings on all compilers.

I'm trying. I love the boilerplate and weird syntax involved in C++ templates. 😅

@RandomShaper RandomShaper force-pushed the wtp_rl_prize branch 2 times, most recently from 2a2adaa to 1373159 Compare July 18, 2024 10:08
@RandomShaper RandomShaper requested a review from a team as a code owner July 18, 2024 10:08
@RandomShaper
Copy link
Member Author

RandomShaper commented Jul 18, 2024

I've given up on the warning about certain template thing. It's a Clang-only thing and, in any case, if a template instantiation is really missing, linking will fail later anyway. So, I've added -Wno-undefined-var-template for warnings=extra on Clang.

@RandomShaper RandomShaper force-pushed the wtp_rl_prize branch 6 times, most recently from ffcab7c to e35b6ca Compare July 18, 2024 12:57
@akien-mga
Copy link
Member

So this is a lot of changes to core days before RC 1, which I'm worried about. These areas are prone to regressions and we don't have time for a lot of back and forth with multiple RCs to fix them (and stress to solve regressions in between each RC build).

How confident are you in those changes?

Is there a subset of those we can merge for 4.3, especially to fix the regression(s) from previous PRs, and some that can be kept for 4.4 / 4.3.1 after the 4.3-stable release?

Benefits:
- Simpler code. The main load function is renamed so it's apparent that it's not just a thread entry point anymore.
- Cache and thread modes of the original task are honored. A beautiful consequence of this is that, unlike formerly, re-issued loads can use the resource cache, which makes this mechanism much more performant.
- The newly added getter for caller task id in WorkerThreadPool allows to remove the custom tracking of that in ResourceLoader.
- The check to replace a cached resource and the replacement itself happen atomically. That fixes deadlock prevention leading to multiple resource instances of the same one on disk. As a side effect, it also makes the regular check for replace load mode more robust.
1. Make handling of user tokens atomic:
   Loads started with the external-facing API used to perform a two-step setup of the user token. Between both, the mutex was unlocked without its reference count having been increased. A non-user-initiated load could therefore destroy the load task when it unreferenced the token.
   Those stages now happen atomically so in the one hand, the described race condition can't happen so the load task life insurance doesn't have a gap anymore and, on the other hand, the ugliness that the call to load could return `ERR_BUSY` if happening while other thread was between both steps is gone.
   The code has been refactored so the user token concerns are still outside the inner load start function, which is agnostic to that for a cleaner implementation.
2. Clear ambiguity between load operations running on `WorkerThreadPool`:
   The two cases are: single-loaded thread directly started by a user pool task and a load started by the system as part of a multi-threaded load.
   Since ensuring all the code dealing with this distinction would make it very complex, and error-prone, a different measure is applied instead: just take one of the cases out of the dicotomy. We now ensure every load happening on a pool thread has been initiated by the system.
   The way of achieving that is that a single-threaded user-started load initiated from a pool thread, is run as another task.
This fixes a rare but possible deadlock, maybe due to undefined behavior. The new implementation is safer, at the cost of some added boilerplate.
@RandomShaper
Copy link
Member Author

Conflicts solved.

@akien-mga akien-mga merged commit 0ba0be2 into godotengine:master Aug 26, 2024
18 checks passed
@akien-mga
Copy link
Member

Thanks!

@RandomShaper RandomShaper deleted the wtp_rl_prize branch August 26, 2024 09:17
@aaronfranke
Copy link
Member

aaronfranke commented Aug 26, 2024

Godot doesn't compile on my system as of this PR (macOS 14.6.1, Clang 15). The merge commit before 04f6321 compiles, but the merge commit of this PR 0ba0be2 fails to compile with this error:

[ 18%] Compiling modules/gdscript/gdscript.cpp ...
In file included from modules/gdscript/gdscript.cpp:31:
In file included from modules/gdscript/gdscript.h:39:
In file included from ./core/io/resource_loader.h:36:
In file included from ./core/object/worker_thread_pool.h:34:
In file included from ./core/os/condition_variable.h:35:
./core/os/safe_binary_mutex.h:67:9: error: instantiation of variable 'SafeBinaryMutex<2>::tls_data' required here, but no definition is available [-Werror,-Wundefined-var-template]
                if (++tls_data.count == 1) {
                      ^
./core/os/safe_binary_mutex.h:100:9: note: in instantiation of member function 'SafeBinaryMutex<2>::lock' requested here
                mutex.lock();
                      ^
modules/gdscript/gdscript.cpp:772:15: note: in instantiation of member function 'MutexLock<SafeBinaryMutex<2>>::MutexLock' requested here
                                MutexLock lock(GDScriptCache::singleton->mutex);
                                          ^
./core/os/safe_binary_mutex.h:63:30: note: forward declaration of template entity is here
        static thread_local TLSData tls_data;
                                    ^
./core/os/safe_binary_mutex.h:67:9: note: add an explicit instantiation declaration to suppress this warning if 'SafeBinaryMutex<2>::tls_data' is explicitly instantiated in another translation unit
                if (++tls_data.count == 1) {
                      ^
1 error generated.
scons: *** [modules/gdscript/gdscript.macos.editor.arm64.o] Error 1
scons: building terminated because of errors.

fredyydev added a commit to fredyydev/godot that referenced this pull request Aug 27, 2024
commit e5ab7722dfe19db56ef2be2484b94509aa5c7950
Author: ywmaa <[email protected]>
Date:   Tue Aug 27 04:48:02 2024 +0300

    Disable forward light clustering with Vertex Lighting

commit bc2d778d5dae38534a0bd89e2838c15b1fa34cf4
Author: ywmaa <[email protected]>
Date:   Fri Aug 23 03:06:43 2024 +0300

    scene.glsl: remove duplicate shadow sampler code

commit 39599bf6afd61ae7a110a88a7a00be05f4bb51d6
Author: ywmaa <[email protected]>
Date:   Fri Aug 23 01:39:40 2024 +0300

    rename preprocessors

commit 11ae13347376bc024f94cef85c8d15be4d909bd3
Author: ywmaa <[email protected]>
Date:   Sun May 26 23:06:17 2024 +0300

    fix directional light issue in GLES3

commit 9429fce076d49db9452cb39181c943be69e18edb
Author: ywmaa <[email protected]>
Date:   Sun May 26 16:14:21 2024 +0300

    Reogranization of vertex lighting for GLES3

commit 99553252d2570d61ad1af38d7f830d0fed33573e
Author: ywmaa <[email protected]>
Date:   Sun May 26 13:23:40 2024 +0300

    Fragment shadows on vertex lighting in Forward Renderers + Reorganization of vertex lighting in Forward Renderers

commit 0dc7387fdf1bc8f089fcc033181efa5d5a448bb8
Author: ywmaa <[email protected]>
Date:   Sat May 25 00:13:32 2024 +0300

    vertex shading use a simpler light model similar to 3.x

commit e146685fb83646a232e2dcd473c079367e081363
Author: ywmaa <[email protected]>
Date:   Wed Jan 10 04:19:49 2024 +0200

    Require Restart when setting force_vertex_shading

commit 2a809d92341566b1fafd9fb2653a6380e3bf0390
Author: ywmaa <[email protected]>
Date:   Wed Jan 10 04:07:36 2024 +0200

    fixup: replace albedo with vec3 and use alpha variable

commit 39bb1d05985081670ffa4c81e903d6904eb92d9f
Author: ywmaa <[email protected]>
Date:   Wed Jan 3 18:20:25 2024 +0200

    Remove mobile override for force_vertex_shading

commit 640e8b3499c414b45901234259d440fd3e90340a
Author: ywmaa <[email protected]>
Date:   Wed Jan 3 17:57:39 2024 +0200

    Add check for force_vertex_shading in the material

commit 02e61ec957f10b9df7fa5e98d338781a68cf1188
Author: ywmaa <[email protected]>
Date:   Wed Jan 3 17:45:36 2024 +0200

    Cleanup not needed code

commit 09fe2d7ea5ff7e2bb0ba27d43c4cb74d82e17d26
Author: ywmaa <[email protected]>
Date:   Tue Oct 24 02:51:53 2023 +0300

    Fix shadow to opacity not working in vertex lighting

commit fe0cf25dd12a68bc41363f127d39c45a612e29fa
Author: ywmaa <[email protected]>
Date:   Tue Oct 24 02:18:07 2023 +0300

    Metallic not working in vertex lighting in Vulkan

commit 3b63e969211bf11097846f69f61e3a93d56f9931
Author: ywmaa <[email protected]>
Date:   Tue Oct 24 02:04:25 2023 +0300

    Use draw_call.instance_index instead of instance_index in Vulkan Mobile

commit a476b169da0245a85ea104804a1646af8acec5e7
Author: ywmaa <[email protected]>
Date:   Fri Oct 20 05:53:42 2023 +0300

    Fix vertex lighting in Forward+ doesn't render when far from camera.

commit 0becb0a3f084792ef9c08ceea4ac188ee0860c9b
Author: ywmaa <[email protected]>
Date:   Fri Oct 20 05:37:33 2023 +0300

    skip statically baked directional light in vertex lighting

commit 8d84d5c2d6d4827f6339f200b3090380f5f643df
Author: ywmaa <[email protected]>
Date:   Thu Oct 19 19:10:10 2023 +0300

    Implement vertex shading for Vulkan

commit 28bbb3bd4594f7de093df4fa5d21bf76aca1efc0
Author: ywmaa <[email protected]>
Date:   Thu Oct 19 07:15:42 2023 +0300

    Remove shadows from vertex lighting in GLES3 and support multipass lighting in vertex lighting.

commit a389a2fc4de194b425a0cb5ba31e3d84829b9980
Author: ywmaa <[email protected]>
Date:   Sun Oct 15 19:43:46 2023 +0300

    implement shadows in vertex_lighting

commit de7ce795986561b98cfba247572d70762a2ed51e
Author: ywmaa <[email protected]>
Date:   Sun Oct 15 17:20:31 2023 +0300

    Reorganize GLES3 scene lights

commit 9da848904428fa89917249364284478cc8e7c0a9
Author: ywmaa <[email protected]>
Date:   Sun Oct 15 05:17:20 2023 +0300

    Enable use of global value force_vertex_lighting

commit 8db5b9d30d60cd12cdb6d1fab55ae54c397a24cc
Author: ywmaa <[email protected]>
Date:   Sun Oct 15 03:48:52 2023 +0300

    Implement vertex shading for OpenGL

commit db76de5de8a415b29be4c7dd84b99bd0fe260822
Merge: 34779211e0 3e86f7b50e
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 23:29:14 2024 +0200

    Merge pull request #95927 from vinni-richburgh/master

    Document that `Node.duplicate` also duplicates its children.

commit 34779211e0ad50dadce4950d8fbc4545ec89a32c
Merge: 8c0209fe33 d917d88b5b
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 23:29:10 2024 +0200

    Merge pull request #95891 from KoBeWi/kilometer_long_tree_branch

    Disable text trimming in SceneTreeEditor

commit 8c0209fe33a63f786143b3b69fc607ab3d99264e
Merge: 4a798ad85d a014705d64
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 23:29:06 2024 +0200

    Merge pull request #95860 from Goutte/doc-upnp-update-to-latest-gdscript

    Docs: Update UPnP GDScript snippet to using `Signal.emit` syntax

commit 4a798ad85ddc359590a5c1b356c28a451f634c55
Merge: 7ce65f54be 4ce5856384
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 23:29:00 2024 +0200

    Merge pull request #95749 from Mickeon/documentation-example-pruning

    Remove empty `[b]Example:[/b]` lines from the class reference

commit 7ce65f54bef63e5084476e210f72f32acb80952a
Merge: c5eacb8698 a387c26770
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 23:28:55 2024 +0200

    Merge pull request #95504 from mihe/ninja-options

    Expose more Ninja-related build options

commit c5eacb8698471473f2b1ebcb9fe031a6b2ce9c33
Merge: 0125b0eb03 25ae74b625
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 23:28:50 2024 +0200

    Merge pull request #95381 from tetrapod00/time-rollover-description

    Document shader time rollover project setting

commit 0125b0eb03f4db2527282664ab7a15de12248886
Merge: a041772ecf f202a3d24e
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 23:28:46 2024 +0200

    Merge pull request #94215 from Chaosus/vs_preview_and_param_list

    Add a material preview to visual shader editor

commit a041772ecf1406586c62fc5b4608fb556acbbb84
Merge: 2e825c7d9c edb3d99942
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 23:28:42 2024 +0200

    Merge pull request #93940 from Mickeon/deprecate_RichTextLabel_is_ready

    Add RichTextLabel `is_finished()`, deprecate `is_ready()`

commit 2e825c7d9c6ebcccdad2508b3e4526f7726e2bee
Merge: 80935234f4 02fc4bbc2a
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 23:28:36 2024 +0200

    Merge pull request #93141 from RadiantUwU/add_static_classdb_calls

    Implement `ClassDB::class_call_static_method`

commit 80935234f424fe426e1b056be60b9062ff37fc61
Merge: c7702b350a 61998b1a05
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 23:28:29 2024 +0200

    Merge pull request #93134 from AThousandShips/default_bind_check

    [Tests] Ensure all default method arguments can be encoded

commit c7702b350aaf4c9b9106b02cf1caa0a40847b051
Merge: 056bc6f279 ee19a092d9
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 23:28:24 2024 +0200

    Merge pull request #92548 from AThousandShips/string_cleaning

    [Core] Optimize some `String` methods

commit 056bc6f27997826ec481dea21aeb8d73cfed29de
Merge: ac5a528620 e0f30d30e2
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 23:28:19 2024 +0200

    Merge pull request #92540 from BlueCube3310/layered-texture-info

    Improve layered texture preview

commit ac5a5286201d05814774b55cb5a34e7116521b76
Merge: 588cf16630 0d1c388991
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 23:28:14 2024 +0200

    Merge pull request #84944 from KoBeWi/legacy_of_ancient_godots

    Fix some legacy code

commit 588cf166301f60bc60d45d548a9464781d146c86
Merge: 347700cd95 5be4eb9fc6
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 23:28:08 2024 +0200

    Merge pull request #84840 from kleonc/control-get-transform-simplification

    Simplify `Control` internal transform calculation

commit 347700cd955910e4b3eb8d3c00a1627be461bd11
Merge: b34aa7b44d eef236db63
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 23:28:04 2024 +0200

    Merge pull request #83443 from Chaosus/vs_fix_input_sorting

    Fix visual shader inputs to follow the alphabet order

commit b34aa7b44dfe01432b8c3db970eb5c45fd6578af
Merge: 7e8fffa008 d0bcac8197
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 23:27:55 2024 +0200

    Merge pull request #76085 from spanzeri/better_remember_editor_window

    Remember editor window mode, screen, size and position on restart

commit 7e8fffa008de371d844dc9f23b9f3e32944fd51d
Merge: b5603ed8e2 064f471103
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 22:46:14 2024 +0200

    Merge pull request #96122 from SaracenOne/fix_post_import_regression

    Prevent empty post-import script paths throwing errors.

commit b5603ed8e25d109a007e015111ffb0102926762a
Merge: 86139f682e 39ca8b4e23
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 22:46:10 2024 +0200

    Merge pull request #96118 from aaronp64/sort_custom_example

    Fix `Array.sort_custom` example code

commit 86139f682e3711194fc8827a3deb6e0a5f355ff7
Merge: b99222e57d 7050e581ff
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 22:46:05 2024 +0200

    Merge pull request #96117 from SaracenOne/silence_fbx_warning

    Fix owner warning when importing FBX.

commit b99222e57d703f6e7f32fb9a4d50bb7d484ea443
Merge: c589801c23 2453911013
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 22:46:01 2024 +0200

    Merge pull request #96095 from SaracenOne/revert_advanced_importer_scale_fix

    Revert scaled armature advanced importer preview fix.

commit c589801c23228ffe81dd967b6216bef99cc449c7
Merge: 850067d686 039722a341
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 22:45:58 2024 +0200

    Merge pull request #96093 from m4gr3d/fix_skeleton_invalid_bone_pose_update

    Fix invalid `Skeleton3D` bone pose updates

commit 850067d686c26edd1cf69ced2d785b2b4925ad52
Merge: a8516b8c3b 6de70e6b8a
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 22:45:54 2024 +0200

    Merge pull request #96089 from stuartcarnie/sgc/metal_tidy_up

    Metal: Minor improvements to shader cache

commit a8516b8c3bac4cf6b9d78000cd3cd5de87637921
Merge: 4a947f0811 5b91040ba6
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 22:45:50 2024 +0200

    Merge pull request #96066 from AThousandShips/is_null_doc

    [Doc] Clarify `is_null` methods of `Callable` and `Signal`

commit 4a947f0811e4e7fd7bf306aca6d102cee6e38b08
Merge: 002847f29c 97cf2c147e
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 22:45:45 2024 +0200

    Merge pull request #96021 from jwodicka/jwodicka-docfix

    Fix C# code example for `Object._get_property_list`

commit 002847f29cbb0f0c0edc95b69bd187bdffe5dd7d
Merge: 350bde0db6 fba7ad8c7b
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 22:45:42 2024 +0200

    Merge pull request #95958 from bruvzg/no_spec_ttr

    Remove spaces and punctuation from the beginning of translatable strings.

commit 350bde0db6a9095ea60c3bd1f55d15bc3bb1db57
Merge: dd4ba9cce5 ba23b22153
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 22:45:37 2024 +0200

    Merge pull request #95954 from rakkarage/shader-material-reset

    Enable revert button for `ShaderMaterial::next_pass` and `ShaderMaterial::render_priority`.

commit dd4ba9cce56556facd6013ee88dc232d407edcc9
Merge: 40c17d6380 08dcbce6b5
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 22:45:33 2024 +0200

    Merge pull request #95886 from jadoc/mouse-motion-caveat

    Add movement caveats to InputEventMouseMotion docs

commit 40c17d63801e8012dcb418b91b8ee73097e63044
Merge: 4d353063f5 125ff3213a
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 22:45:28 2024 +0200

    Merge pull request #95846 from jadoc/fix-tooltips

    Only reset the tooltip timer when the mouse has actually moved

commit 4d353063f5b60a08235aa498531db4ee30f769ea
Merge: 8019cdb444 eccd1452fa
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 22:45:23 2024 +0200

    Merge pull request #95475 from TheSofox/sprite-sheet-guess-feature

    Enable `SpriteFramesEditor` to "guess" the amount of rows and columns of a sprite sheet when loading it for the first time

commit 8019cdb444a4210a9f40c0c027b213fac42049ee
Merge: ce44c91223 604df4fc83
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 22:45:17 2024 +0200

    Merge pull request #94137 from Craig-Stoneham/master

    Improve template class conditionals with constexpr (code style)

commit ce44c9122312a4bdcb8d7cebac5f112e4ba5fd8d
Merge: 0f16336be0 723f5500f4
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 22:45:13 2024 +0200

    Merge pull request #93739 from AThousandShips/lock_unlock

    [Core] Allow locking/unlocking of `MutexLock`

commit 0f16336be0e5c6a702c0d93d514f95611e4eb4e8
Merge: b78da13e2a 6a9c060883
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 22:45:09 2024 +0200

    Merge pull request #93526 from m4gr3d/add_apksigner_util

    [Android Editor] Add support for exporting platform binaries

commit b78da13e2a7aa21cb0d3c1996954776287ffc7b1
Merge: 8dad1ba482 1b0c5cbc01
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 22:45:04 2024 +0200

    Merge pull request #93064 from Hilderin/fix-fileSystem-dock-wont-show-any-file-folders

    Fix FileSystem dock won't show any file folders (v2)

commit 8dad1ba482cf214b850e9d59942fb85bc2490e51
Merge: a5e157dd37 12571a1e95
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 22:44:59 2024 +0200

    Merge pull request #92933 from TokageItLab/match-concatenating

    Match the coding style for concatenating String

commit a5e157dd3719b55dc0776b992a67a1ea8083febd
Merge: 2c14f3ef95 0f7c4d8375
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 22:44:52 2024 +0200

    Merge pull request #91854 from ImpishOaths/PullReady

    Don't lose in/out handles when bezier keyframe inserted on top of existing keyframe

commit 2c14f3ef95322589650ea94bd25cf931331f1a3f
Merge: e63c40e59c ccbdb34a2a
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 22:44:40 2024 +0200

    Merge pull request #79378 from HolonProduction/autocompletion-index

    Improve autocompletion for indices

commit 2453911013d9226365f44e81c91db36bebedf1f0
Author: Saracen <[email protected]>
Date:   Mon Aug 26 01:27:20 2024 +0100

    Revert "Fix importer preview for models with scaled armatures"

    This reverts commit 06709e68657ad6595c8ae8603d17b62ec984539d.

commit eccd1452faa0c9389b52ea4435a908d6d542e515
Author: Sofox <[email protected]>
Date:   Sun Aug 11 16:38:41 2024 +0100

    Enable SpriteFramesEditor to guess the amount of rows and columns of a sprite sheet when loading it for the first time

commit 6de70e6b8a30c3f8622b3faba4012c1aa5563457
Author: Stuart Carnie <[email protected]>
Date:   Mon Aug 26 08:29:19 2024 +1000

    Metal: Minor improvements to #96052; update logger subsystem name

commit 97cf2c147e42ac44092d22538fb6f2748a8b4584
Author: Jason Wodicka <[email protected]>
Date:   Fri Aug 23 17:52:00 2024 -0700

    Fix C# code example for Object._get_property_list

    There were two small errors in this code example that kept it from working when copied to a new node locally. These are the fixes I used locally to test the example.

commit 6a9c060883ab28d66658db22863defb46d8cd1d2
Author: Fredia Huya-Kouadio <[email protected]>
Date:   Mon Aug 26 11:12:50 2024 -0700

    Add support to the Android editor for signing and verifying Android apks

    - Apk signing and verification is enabled using the apksig library from https://android.googlesource.com/platform/tools/apksig/+/ac5cbb07d87cc342fcf07715857a812305d69888

commit a5897d579bb0af496a18f7430345a67fe27ff0df
Author: Fredia Huya-Kouadio <[email protected]>
Date:   Sun Jun 16 12:14:34 2024 -0700

    Update the `GodotHost` interface to support signing and verifying Android apks

    Update the export logic to enable apk generation and signing for Android editor builds

    Note: Only legacy builds are supported. Gradle builds are not supported at this point in time.

commit 794ea99240607a7afbc1512582083db82d81ff83
Author: Fredia Huya-Kouadio <[email protected]>
Date:   Thu Mar 7 19:16:25 2024 -0800

    Update the storage access handler logic to support accessing / retrieving contents with the `assets:/` prefix

commit 064f471103c70b3495a592e40cf6df306fdc8b58
Author: Saracen <[email protected]>
Date:   Mon Aug 26 16:42:39 2024 +0100

    Prevent empty post-import script paths throwing errors.

commit 39ca8b4e23c1d27273cfe31e2fa95da137f36739
Author: aaronp64 <[email protected]>
Date:   Mon Aug 26 10:38:23 2024 -0400

    Fix Array.sort_custom example code

    Array.sort_custom descending sort example was comparing index 0, but had expected result based on comparing index 1.  Updated to use index 1 consistently.

commit 7050e581ffde05a8bed7cf8b78fbd53ac3d644c7
Author: Saracen <[email protected]>
Date:   Mon Aug 26 14:51:49 2024 +0100

    Fix owner warning when importing FBX.

commit e63c40e59c6650bdba02c2ceff3390ee9273ac46
Merge: 4a4c86cc0a e8b4568900
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 14:57:48 2024 +0200

    Merge pull request #96113 from BlueCube3310/compat-array-fix

    Compatibility: Fix crash when initializing certain compressed layered textures

commit 4a4c86cc0a0c4c7ce12a0d801a147cd9fb69f16d
Merge: 5d1b07e464 bce67b7473
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 14:57:44 2024 +0200

    Merge pull request #96110 from programneer/delet-this

    Remove the 2D renderer notice from `ProjectSettings` documentation

commit 5d1b07e464c91911896039bed1336d7cf3a6e03e
Merge: e53dc80f2f 9cbc3f1419
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 14:57:41 2024 +0200

    Merge pull request #96108 from RandomShaper/fix_warn_in_all

    Properly mute `-Wundefined-var-template` Clang warning in SafeBinaryMutex

commit ccbdb34a2aa6347e99bac0b2da796403e5186bcc
Author: HolonProduction <[email protected]>
Date:   Wed Jul 12 15:59:25 2023 +0200

    Improve autocompletion for indices

commit e8b4568900c42544b79b3b17bfb80cd3f663021d
Author: BlueCube3310 <[email protected]>
Date:   Mon Aug 26 13:24:00 2024 +0200

    Compatibility: Fix crash when initializing certain compressed layered textures

commit 9cbc3f14198c30c14315cabf72b0e3e3438b2f61
Author: Pedro J. Estébanez <[email protected]>
Date:   Mon Aug 26 12:33:19 2024 +0200

    Change warning muting so it affects all levels, but locally

commit bce67b7473f76ed87205b14d478b570f375db848
Author: Programneer <[email protected]>
Date:   Mon Aug 26 12:46:32 2024 +0200

    Remove the 2D renderer notice from ProjectSettings documentation

commit 723f5500f4c57546f96258fb5c5f5d98959693d4
Author: A Thousand Ships <[email protected]>
Date:   Sat Jun 29 13:01:01 2024 +0200

    [Core] Allow locking/unlocking of `MutexLock`

commit e53dc80f2f9e0f5dd03103fe968662f7ffd258ba
Merge: abce2babe1 a2043f124d
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 10:51:35 2024 +0200

    Merge pull request #95777 from Calinou/command-line-improve-rendering-driver-method-error-messages

    Improve error messages for invalid rendering drivers/methods on the command line

commit abce2babe1899f2d1781cac63f87d8f6fae0e402
Merge: 0ba0be27c7 08ef14a037
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 10:51:31 2024 +0200

    Merge pull request #94429 from mihe/animation-res-ref

    Fix animation library copy-paste not preserving resource reference

commit 0ba0be27c71c0fe91e28555ecffe30326af644c1
Merge: 04f6321ecc f4d76853b9
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 10:51:25 2024 +0200

    Merge pull request #94169 from RandomShaper/wtp_rl_prize

    Batch of fixes for `WorkerThreadPool` and `ResourceLoader`

commit 04f6321ecc2d24d08cb3368d87f483c6cc308105
Merge: b4f268fae8 4dd6e8eca5
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 10:51:21 2024 +0200

    Merge pull request #91166 from raulsntos/gdextension/loader

    GDExtension: Implement `GDExtensionLoader` concept

commit b4f268fae891be7afb6ab04eb9405d48e3c20782
Merge: e63e8453da 3d575801ce
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 10:51:17 2024 +0200

    Merge pull request #91018 from Daylily-Zeleen/daylily-zeleen/optionally_postinitialization_for_extension_owner

    Allow ClassDB to create a Object without postinitialization for GDExtension.

commit e63e8453da2ef7d90f693244d8a3041466dc2c63
Merge: 28a72fa434 5d7f87603d
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 26 10:51:07 2024 +0200

    Merge pull request #84063 from jsjtxietian/add-shortcuts-for-text-shader-editor

    Add several shortcuts for text shader editor

commit 5d7f87603dab1cae3355bc1d1b4421d543d001a0
Author: jsjtxietian <[email protected]>
Date:   Tue Nov 28 17:38:12 2023 +0800

    Add several shortcuts for text shader editor

commit 039722a3418dfd8f16cd3e956527ef93e639ddba
Author: Fredia Huya-Kouadio <[email protected]>
Date:   Sun Aug 25 17:04:46 2024 -0700

    Fix invalid `Skeleton3D` bone pose updates

    The issue would cause log spams when trying to update the bone pose position or rotation with an invalid bone index.

commit 28a72fa4344befeae251d8e9b11b84acd601a244
Merge: 4cb6e9994a f8a6c0e8ab
Author: Rémi Verschelde <[email protected]>
Date:   Sun Aug 25 22:51:38 2024 +0200

    Merge pull request #95934 from bruvzg/win_ang_fb

    Enable fallback from ANGLE to native and improve ANGLE error messages.

commit 4cb6e9994a34e3c489bd635dcf5601511c8accd7
Merge: ac4410ce34 703c31fb40
Author: Rémi Verschelde <[email protected]>
Date:   Sun Aug 25 22:24:31 2024 +0200

    Merge pull request #96080 from DeeJayLSP/qoa-break

    WAV: Add missing break on `get_length()`

commit ac4410ce347a93616eeea4d2db1fef22b50f03e4
Merge: 5f7060c18a 7e580150f9
Author: Rémi Verschelde <[email protected]>
Date:   Sun Aug 25 22:24:28 2024 +0200

    Merge pull request #96079 from adamscott/relative-import-script-path

    Add import tab `import_script/path` relative path support

commit 5f7060c18aad925618970fd02ebae44f2dff0bba
Merge: fe15f47e22 2ef1ef63a5
Author: Rémi Verschelde <[email protected]>
Date:   Sun Aug 25 22:24:24 2024 +0200

    Merge pull request #96052 from stuartcarnie/sgc/metal_shader_compilation

    Metal: Improve startup times by using concurrent shader compilation APIs

commit fe15f47e227ba048903be40f6300a4841446411d
Merge: 1d3bdfcd06 1925d1e6f9
Author: Rémi Verschelde <[email protected]>
Date:   Sun Aug 25 22:24:21 2024 +0200

    Merge pull request #95929 from BastiaanOlij/openxr_fix_tracking_bit

    OpenXR: Check correct status bit for hand tracking

commit 1d3bdfcd06555308cce7dd98e1cbd78767f72e9d
Merge: f0d297d059 aaafd163b2
Author: Rémi Verschelde <[email protected]>
Date:   Sun Aug 25 22:24:17 2024 +0200

    Merge pull request #95862 from adamscott/fix-pitch-scale-before-play

    Honor `pitch_scale` value before playing audio sample

commit f0d297d0590eafbb6d499f37c24623808c098a19
Merge: 5beb4ee691 cd2a9230e9
Author: Rémi Verschelde <[email protected]>
Date:   Sun Aug 25 22:24:14 2024 +0200

    Merge pull request #95594 from aaronfranke/extension-api-validation

    Update expected API validation files for the releases of Godot 4.2 & 4.3

commit 5beb4ee691312bcaed80315b3ede6faef813af8a
Merge: 8bb5db6ebd 3fae26277a
Author: Rémi Verschelde <[email protected]>
Date:   Sun Aug 25 22:24:10 2024 +0200

    Merge pull request #92684 from smix8/mesh_conv_dialog

    Add confirm dialog for render mesh to navigation mesh conversion

commit 8bb5db6ebd8232bf915f4fa53135ea143d4a26a2
Merge: bc2d0e9f39 a07f92a81c
Author: Rémi Verschelde <[email protected]>
Date:   Sun Aug 25 22:24:05 2024 +0200

    Merge pull request #96085 from bruvzg/mingw_rpcndr_ver

    [Windows] Move `__REQUIRED_RPCNDR_H_VERSION__` to the header.

commit a07f92a81cb90dab9c0b89f1bd52f5845f559d22
Author: bruvzg <[email protected]>
Date:   Sun Aug 25 22:52:01 2024 +0300

    [Windows] Move __REQUIRED_RPCNDR_H_VERSION__ to the header.

commit f8a6c0e8ab7d391fbfd796c65cfff26190654621
Author: bruvzg <[email protected]>
Date:   Thu Aug 22 09:46:01 2024 +0300

    Enable fallback from ANGLE to native and improve ANGLE error messages.

commit bc2d0e9f39c26a3d1e2eeee9f81c87d3b35c9116
Merge: bb437722ea 06709e6865
Author: Rémi Verschelde <[email protected]>
Date:   Sun Aug 25 20:18:46 2024 +0200

    Merge pull request #96067 from SaracenOne/advanced_importer_scale_fix

    Fix importer preview for models with scaled armatures.

commit bb437722eab69d76ac9762668d8ec66025652cdd
Merge: 3495e82644 b516742358
Author: Rémi Verschelde <[email protected]>
Date:   Sun Aug 25 20:18:42 2024 +0200

    Merge pull request #96033 from Tallivm/patch-1

    Fix typo in `Array` code example

commit 3495e82644d7f569e5b55128e5d711e5a9d5a569
Merge: e35a45e166 6ce71f0fb0
Author: Rémi Verschelde <[email protected]>
Date:   Sun Aug 25 20:18:39 2024 +0200

    Merge pull request #96010 from jwinarske/jw/wayland_fix

    Wayland: Use `wayland-egl-core.h` instead of `wayland-egl.h`

commit e35a45e166e2e1b7a0de0611c368b1f2f921ed47
Merge: 887d56721d 6f7c52d17f
Author: Rémi Verschelde <[email protected]>
Date:   Sun Aug 25 20:18:32 2024 +0200

    Merge pull request #95962 from dsnopek/validate-extension-api-disable-warnings

    Temporarily disable "validation errors no longer occur" warnings

commit 887d56721d69a09429ec25cf9e959b267476e483
Merge: 844ac90bad 11dd1f52ae
Author: Rémi Verschelde <[email protected]>
Date:   Sun Aug 25 20:18:28 2024 +0200

    Merge pull request #95959 from dsnopek/openxr-api-hand-tracker-crash

    Fix crash when calling `OpenXRAPI::get_hand_tracker()` and hand-tracking is disabled

commit 844ac90bad18ea2add501b76cb390e1014e109d0
Merge: 473e7e0df3 1928a84f6e
Author: Rémi Verschelde <[email protected]>
Date:   Sun Aug 25 20:18:25 2024 +0200

    Merge pull request #95956 from ItzCog/master

    Fix some C# variable types In `AStar2D/3D` Class Reference

commit 473e7e0df3923f82f388347248fc2406080846e3
Merge: 68d188d521 155033384c
Author: Rémi Verschelde <[email protected]>
Date:   Sun Aug 25 20:18:21 2024 +0200

    Merge pull request #95947 from passivestar/timelineedit-namelimit

    Fix animation timeline resize widget allowing invalid internal values

commit 68d188d5211b7cb37182f6bb7803828b0b37e027
Merge: c9e5008966 f4ccba7508
Author: Rémi Verschelde <[email protected]>
Date:   Sun Aug 25 20:18:18 2024 +0200

    Merge pull request #95888 from clayjohn/Lightmap-SH-coefficients

    Use correct lightmap coefficients to ensure that the directional lightmap mode looks correct

commit c9e5008966d5f54fa8131409f81f004fa313e1da
Merge: cbe1d6f7af 5279fec60f
Author: Rémi Verschelde <[email protected]>
Date:   Sun Aug 25 20:18:14 2024 +0200

    Merge pull request #95857 from KoBeWi/novel_variant_of_0

    Always store ID of PopupMenu items

commit cbe1d6f7af63701068d653ad357cf7af10fbdc53
Merge: dc6d6551e4 dc6f90acd8
Author: Rémi Verschelde <[email protected]>
Date:   Sun Aug 25 20:18:10 2024 +0200

    Merge pull request #95274 from Chaosus/shader_forbind_const_func_decl

    Forbid function declaration with a const qualifier in shaders

commit dc6d6551e4c3a3df9f870e486cf2c826ad8b3c41
Merge: e3550cb20f 59d0422dcd
Author: Rémi Verschelde <[email protected]>
Date:   Sun Aug 25 20:18:03 2024 +0200

    Merge pull request #96044 from darksylinc/matias-TheForge-hotfix2

    Disable extra memory tracking by default

commit 703c31fb4017251ea4dd57faf99baeaa67fd3440
Author: DeeJayLSP <[email protected]>
Date:   Sun Aug 25 14:18:26 2024 -0300

    WAV: Add missing break on `get_length()`

commit 604df4fc83dce859e42fe511acb527523b4f18e9
Author: Craig-Stoneham <[email protected]>
Date:   Tue Jul 9 17:02:21 2024 +0100

    Improve Template Class Conditionals (Code Style)

    Refactored the following template classes by replacing runtime checks with compile-time checks using if constexpr for improved code clarity and maintainability:

    - RID_Alloc
    - SortArray
    - PagedAllocator

    Changes made:

    - Updated conditional checks for THREAD_SAFE in the RID_Alloc class.
    - Updated conditional checks for Validate in the SortArray class.
    - Updated conditional checks for thread_safe in the PagedAllocator class.

commit 7e580150f97e14d5cb3a7a34a7bff46d1be6b48d
Author: Adam Scott <[email protected]>
Date:   Sun Aug 25 12:48:32 2024 -0400

    Add import tab "import_script/path" relative path support

commit 5b91040ba6d1f571218acd387b1b3513b98b02d1
Author: A Thousand Ships <[email protected]>
Date:   Sun Aug 25 12:33:20 2024 +0200

    [Doc] Clarify `is_null` methods of `Callable` and `Signal`

commit 06709e68657ad6595c8ae8603d17b62ec984539d
Author: Saracen <[email protected]>
Date:   Sun Aug 25 04:47:05 2024 +0100

    Fix importer preview for models with scaled armatures.

commit 59d0422dcd59686689d915000a800ed6c7753f00
Author: Matias N. Goldberg <[email protected]>
Date:   Sat Aug 24 17:39:46 2024 -0300

    Disable extra memory tracking by default

    PR #90993 added several debugging utilities.

    Among them, advanced memory tracking through the use of custom
    allocators and VK_EXT_device_memory_report.

    However as issue #95967 reveals, it is dangerous to leave it on by
    default because drivers (or even the Vulkan loader) can too easily
    accidentally break custom allocators by allocating memory through std
    malloc but then request us to deallocate it (or viceversa).

    This PR fixes the following problems:
     - Adds --extra-gpu-memory-tracking cmd line argument
     - Adds missing enum entries to
    RenderingContextDriverVulkan::VkTrackedObjectType
     - Adds RenderingDevice::get_driver_and_device_memory_report
        - GDScript users can easily check via print(
    RenderingServer.get_rendering_device().get_driver_and_device_memory_report()
    )
    - Uses get_driver_and_device_memory_report on device lost for appending
    further info.

    Fixes #95967

commit 2ef1ef63a5404d47c8c01e874f316d1a8cde26c8
Author: Stuart Carnie <[email protected]>
Date:   Sun Aug 25 08:04:02 2024 +1000

    Metal: Improve startup times by using concurrent shader compilation APIs

commit b516742358ba6171543399eecfc0af13e8f842d8
Author: Tallivm <[email protected]>
Date:   Sat Aug 24 16:49:48 2024 +0300

    Fix typo in Array code example

commit e3550cb20f5d6a61befaafb7d9cbdb57b24870e4
Merge: a1acd38c35 38ae58bda2
Author: Rémi Verschelde <[email protected]>
Date:   Sat Aug 24 01:01:37 2024 +0200

    Merge pull request #95975 from darksylinc/matias-TheForge-hotfix

    Fix build error in arm32

commit 6ce71f0fb0a091cffb6adb4af8ab3f716ad8930b
Author: Joel Winarske <[email protected]>
Date:   Fri Aug 23 14:16:37 2024 -0700

    Use wayland-egl-core.h instead of wayland-egl.h

    -avoid use of transitive wayland include

    -resolves https://github.com/godotengine/godot/issues/95830

    Signed-off-by: Joel Winarske <[email protected]>

commit 38ae58bda27998b9e1cacdbcb09b4152cbc26768
Author: Matias N. Goldberg <[email protected]>
Date:   Thu Aug 22 23:31:25 2024 -0300

    Fix build error in arm32

    Fixes #95973

commit 08dcbce6b5c1854314d1d0df4f9e4b5009d1fbba
Author: Alex Docauer <[email protected]>
Date:   Tue Aug 20 23:47:39 2024 -0700

    Add movement caveats to InputEventMouseMotion docs

    InputEventMouseMotion may fire when the mouse hasn't moved.
    Also, it generally won't fire when the mouse stops moving.
    This makes reliably detecting when the mouse isn't moving tricky.

    Update the docs for InputEventMouseMotion to capture these caveats
    and give guidance for the best way to detect lack of mouse movement.

commit a1acd38c35781181cde726b039eb8a9a0b6aa79f
Merge: 568589c9d8 bbc7962fe2
Author: Rémi Verschelde <[email protected]>
Date:   Fri Aug 23 08:45:13 2024 +0200

    Merge pull request #95945 from stuartcarnie/sgc/metal_mobile_fix

    Metal: Fix artefacts for mobile render method and disable multi-view

commit 125ff3213ac282a801aaeeb7fc07ec55802866a5
Author: Alex Docauer <[email protected]>
Date:   Mon Aug 19 19:31:24 2024 -0700

    Only reset tooltip timer when mouse actually moved

    InputEventMouseMotion isn't guaranteed to fire only on actual mouse
    movement. It's not uncommon for the underlying OS motion event to be
    sent either by the OS itself or another application even though the
    mouse hasn't moved.  Godot will generate such zero-motion
    InputEventMouseMotion events itself for things like cursor shape
    changes.

    Once started, the tooltip timer is reset only after a mouse movement of
    at least 5 pixels in one frame.

commit 02fc4bbc2af42413b7d42e7ab1b44be70c02368a
Author: Radiant <[email protected]>
Date:   Fri Aug 23 02:56:29 2024 +0300

    Implement `ClassDB::class_call_static_method`

commit 6f7c52d17f69d61756f6b9e4441b9797b4912c8c
Author: David Snopek <[email protected]>
Date:   Thu Aug 22 17:02:08 2024 -0500

    Temporarily disable "validation errors no longer occur" warnings

commit ba23b22153c21fa0f3b253900009ac7221e5a7a8
Author: Rakka Rage <[email protected]>
Date:   Thu Aug 22 01:29:23 2024 -0400

    Enable revert button for `ShaderMaterial::next_pass` and `ShaderMaterial::render_priority`.

commit 1928a84f6e7980e09ea5c3668aecc28ead55beb2
Author: Dungeon Master <[email protected]>
Date:   Fri Aug 23 00:11:40 2024 +0800

    Fix some C# variable types In `AStar2D/3D` Class Reference

commit 11dd1f52aeb10e3fb8f236e2e5e050c280764fb9
Author: David Snopek <[email protected]>
Date:   Thu Aug 22 13:03:05 2024 -0500

    Fix crash when calling OpenXRAPI::get_hand_tracker() and hand-tracking is disabled

commit fba7ad8c7bb6a51aa92261c34c17e57919cc35ed
Author: bruvzg <[email protected]>
Date:   Thu Aug 22 20:47:26 2024 +0300

    Remove spaces and punctuation from the beginning of translatable strings.

commit 3e86f7b50e55b56597a7aa45e8ffc41e11c7bf1d
Author: Vinni Richburgh <[email protected]>
Date:   Thu Aug 22 16:10:08 2024 +0200

    In Node.xml mentioned that Node::duplicate also copies children.

    The list now uses the Oxford comma.

commit 155033384c0dfcf112d273895452d19af513f2da
Author: passivestar <[email protected]>
Date:   Thu Aug 22 16:32:38 2024 +0400

    Fix animation timeline resize widget allowing impossible internal values

commit bbc7962fe21fb4632b7ec0d49091f5263c3e3d60
Author: Stuart Carnie <[email protected]>
Date:   Thu Aug 22 21:34:53 2024 +1000

    Metal: fix artefacts for mobile render method and return false for multi-view support

commit 4dd6e8eca500f18344a57daa74ce3459931531fe
Author: Raul Santos <[email protected]>
Date:   Wed Apr 24 01:32:25 2024 +0200

    GDExtension: Implement `GDExtensionLoader` concept

    - Implements the concept of GDExtension loaders that can be used to customize how GDExtensions are loaded and initialized.
    - Moves the parsing of `.gdextension` config files to the new `GDExtensionLibraryLoader`.
    - `GDExtensionManager` is now meant to be the main way to load/unload extensions and can optionally take a `GDExtensionLoader`.
    - `EditorFileSystem` avoids unloading extensions if the file still exists, this should prevent unloading extensions that are outside the user project.

commit 1925d1e6f9dbb0c93ec1bf3ab3a711ca39547295
Author: Bastiaan Olij <[email protected]>
Date:   Thu Aug 22 11:57:56 2024 +1000

    OpenXR: Check correct status bit for hand tracking

commit a014705d640d1f72eefad5a2e95032bc59647f8b
Author: Goutte <[email protected]>
Date:   Tue Aug 20 13:43:25 2024 +0200

    docs: update UPnP gdscript snippet to latest gdscript

    This commit adds usage of the new (stringless) signal API.

commit 568589c9d8c763bfb3a4348174d53b42d7c59f21
Merge: 37ae2a2900 364f916f3f
Author: Rémi Verschelde <[email protected]>
Date:   Thu Aug 22 00:38:22 2024 +0200

    Merge pull request #90993 from darksylinc/matias-TheForge

    Add debug utilities for Vulkan

commit 37ae2a290030b3f0df9f609723d9ad2bdb861a4a
Merge: 0badddaccb 6e9bcc0f18
Author: Rémi Verschelde <[email protected]>
Date:   Thu Aug 22 00:10:56 2024 +0200

    Merge pull request #95921 from akien-mga/scons-validate-opt-in-drivers

    SCons: Better validation for platform-specific opt-in drivers

commit 0badddaccb6e3067b62f05ff165720d5342699b9
Merge: 720615a913 4aa145624e
Author: Rémi Verschelde <[email protected]>
Date:   Thu Aug 22 00:10:53 2024 +0200

    Merge pull request #95917 from BlueCube3310/lightmap-align-fix

    LightmapGI: Fix shader data alignment after #89919

commit 720615a913ba935230e84c61d6ae451d4bdec042
Merge: 2a98d8d78a b314a9105a
Author: Rémi Verschelde <[email protected]>
Date:   Thu Aug 22 00:10:50 2024 +0200

    Merge pull request #95898 from KoBeWi/capital_of_nonexistent_properties

    Remove references to deleted `capitalize_properties` setting

commit 2a98d8d78ad2d8c13901d60619465399f49ad68f
Merge: 9396e058f5 5183588499
Author: Rémi Verschelde <[email protected]>
Date:   Thu Aug 22 00:10:46 2024 +0200

    Merge pull request #95883 from jsjtxietian/curve2d-doc

    Fix Curve2D incorrect sample range description

commit 9396e058f557e0974e474c052de69ec64293b546
Merge: 39b77ea04e 080acd7246
Author: Rémi Verschelde <[email protected]>
Date:   Thu Aug 22 00:10:43 2024 +0200

    Merge pull request #95874 from tetrapod00/remember-view-grid

    Remember "View Grid" (per-viewport) setting between editor sessions

commit 39b77ea04e5075b15cd704e4d39c156884cbbc38
Merge: 100fbb51ab 7db24a9ad5
Author: Rémi Verschelde <[email protected]>
Date:   Thu Aug 22 00:10:39 2024 +0200

    Merge pull request #95790 from aaronfranke/rect-aabb-support

    Simplify Rect2/AABB `get_support` function

commit 100fbb51abc7cf8bc373caf0836601cfd9a8c1f1
Merge: 78f47abe2b 0987a9dc06
Author: Rémi Verschelde <[email protected]>
Date:   Thu Aug 22 00:10:35 2024 +0200

    Merge pull request #95665 from Hilderin/fix-drag-drop-between-window

    Fix drag&drop between window on Windows

commit 78f47abe2b66fb863a803debc28b470d10f8ced2
Merge: 091212b4f1 2ff50119dc
Author: Rémi Verschelde <[email protected]>
Date:   Thu Aug 22 00:10:31 2024 +0200

    Merge pull request #94022 from Riteo/a-fraction-of-the-work

    Wayland: Switch pointer position handling to doubles

commit 091212b4f177b93c4853ebcb0687ca6577703d82
Merge: 3b81db3bf0 7593e55527
Author: Rémi Verschelde <[email protected]>
Date:   Thu Aug 22 00:10:26 2024 +0200

    Merge pull request #93602 from aaronp64/inspector_latency

    Improve Editor Inspector/Theme item lookup performance

commit 3b81db3bf0918e4978c97a2f848b1b8f76e850cd
Merge: d4b6bd5b60 6120786ddc
Author: Rémi Verschelde <[email protected]>
Date:   Thu Aug 22 00:10:22 2024 +0200

    Merge pull request #93577 from passivestar/themable-animation-editor

    Allow theming animation editor

commit d4b6bd5b605e932df3350c453f15f1abf870ecbb
Merge: 5ca419e32c 04d0e7f7a4
Author: Rémi Verschelde <[email protected]>
Date:   Thu Aug 22 00:10:15 2024 +0200

    Merge pull request #91172 from clayjohn/detect-rd

    Disable creating RD projects in project manager if RD is not supported

commit 364f916f3f0141c247e32e63624b063905d66b02
Author: Matias N. Goldberg <[email protected]>
Date:   Sun Jun 30 19:30:54 2024 -0300

    Add debug utilities for Vulkan

    Features:
    - Debug-only tracking of objects by type. See
    get_driver_allocs_by_object_type et al.
     - Debug-only Breadcrumb info for debugging GPU crashes and device lost
     - Performance report per frame from get_perf_report
    - Some VMA calls had to be modified in order to insert the necessary
    memory callbacks

    Functionality marked as "debug-only" is only available in debug or dev
    builds.

    Misc fixes:
     - Early break optimization in RenderingDevice::uniform_set_create

    ============================

    The work was performed by collaboration of TheForge and Google. I am
    merely splitting it up into smaller PRs and cleaning it up.

commit 6e9bcc0f18becbed199ad48d3dec01621dc39237
Author: Rémi Verschelde <[email protected]>
Date:   Wed Aug 21 08:58:18 2024 +0200

    SCons: Better validation for platform-specific opt-in drivers

    This replaces cryptic compilation errors with a clear error message
    and early build termination.

commit 4aa145624e27490e65ede99484389b8036ef3c36
Author: BlueCube3310 <[email protected]>
Date:   Wed Aug 21 21:37:13 2024 +0200

    LightmapGI: Fix shader data alignment after #89919

commit f4ccba7508fe6fbbbda92df855ad59a63a205b17
Author: clayjohn <[email protected]>
Date:   Wed Aug 21 00:30:59 2024 -0700

    Use correct lightmap coefficients to ensure that the directional lightmap mode looks correct

    Also remove the metallic option from directional lightmap as it is guaranteed to return negative numbers in many cases

commit b314a9105a2eb352d987c5df007be27f9c676aa8
Author: kobewi <[email protected]>
Date:   Wed Aug 21 12:31:43 2024 +0200

    Remove references to deleted capitalize_properties setting

commit 6120786ddc349acfd6eed0d4083774c29845baf7
Author: passivestar <[email protected]>
Date:   Tue Jun 25 02:38:46 2024 +0400

    Allow theming animation editor

commit f4d76853b9d921e3645295f9bebc39eb73661e67
Author: Pedro J. Estébanez <[email protected]>
Date:   Thu Jul 18 14:54:58 2024 +0200

    WorkerThreadPool (plus friends): Overhaul unlock allowance zones

    This fixes a rare but possible deadlock, maybe due to undefined behavior. The new implementation is safer, at the cost of some added boilerplate.

commit df23858488098086da20c67d9fc62f7ffb3d528c
Author: Pedro J. Estébanez <[email protected]>
Date:   Mon Jul 15 10:30:02 2024 +0200

    ResourceLoader: Fix edge cases in the management of user tokens

    1. Make handling of user tokens atomic:
       Loads started with the external-facing API used to perform a two-step setup of the user token. Between both, the mutex was unlocked without its reference count having been increased. A non-user-initiated load could therefore destroy the load task when it unreferenced the token.
       Those stages now happen atomically so in the one hand, the described race condition can't happen so the load task life insurance doesn't have a gap anymore and, on the other hand, the ugliness that the call to load could return `ERR_BUSY` if happening while other thread was between both steps is gone.
       The code has been refactored so the user token concerns are still outside the inner load start function, which is agnostic to that for a cleaner implementation.
    2. Clear ambiguity between load operations running on `WorkerThreadPool`:
       The two cases are: single-loaded thread directly started by a user pool task and a load started by the system as part of a multi-threaded load.
       Since ensuring all the code dealing with this distinction would make it very complex, and error-prone, a different measure is applied instead: just take one of the cases out of the dicotomy. We now ensure every load happening on a pool thread has been initiated by the system.
       The way of achieving that is that a single-threaded user-started load initiated from a pool thread, is run as another task.

commit 5c970db2e49af93139d15d3fe090db44b4bd3317
Author: Pedro J. Estébanez <[email protected]>
Date:   Wed Jul 10 13:51:02 2024 +0200

    ResourceLoader: Optimize remap check by deferring until a non-mutex zone

commit 28619e26cf35227c3ddab35878e1045f82895657
Author: Pedro J. Estébanez <[email protected]>
Date:   Wed Jul 10 12:53:14 2024 +0200

    ResourceLoader: Enhance deadlock prevention

    Benefits:
    - Simpler code. The main load function is renamed so it's apparent that it's not just a thread entry point anymore.
    - Cache and thread modes of the original task are honored. A beautiful consequence of this is that, unlike formerly, re-issued loads can use the resource cache, which makes this mechanism much more performant.
    - The newly added getter for caller task id in WorkerThreadPool allows to remove the custom tracking of that in ResourceLoader.
    - The check to replace a cached resource and the replacement itself happen atomically. That fixes deadlock prevention leading to multiple resource instances of the same one on disk. As a side effect, it also makes the regular check for replace load mode more robust.

commit bd0959ebdd8819321f9b24880d05b43eb2aaa4cc
Author: Pedro J. Estébanez <[email protected]>
Date:   Wed Jul 10 12:01:22 2024 +0200

    ResourceLoader: Properly push & pop TLS state on recursive load tasks

commit 5ca419e32c58e671284b3b7f91257179657d9114
Merge: 3b3d6226c5 2ff6594928
Author: Rémi Verschelde <[email protected]>
Date:   Wed Aug 21 11:14:22 2024 +0200

    Merge pull request #94801 from gamelessone/fix-cond-var

    Fix use-after-free of `ConditionVariable` in `ResourceLoader`

commit d917d88b5b9971492f0e7bad37c830615f1de2e8
Author: kobewi <[email protected]>
Date:   Wed Aug 21 11:07:47 2024 +0200

    Disable text trimming in SceneTreeEditor

commit 5183588499692da71d3ec582d69c805c6f91f095
Author: jsjtxietian <[email protected]>
Date:   Wed Aug 21 12:41:12 2024 +0800

    Fix curve2d incorrect sample range description

commit 3b3d6226c5cd3f9897160815990e2e234f165605
Merge: 4b8946102b 1521e49c23
Author: Rémi Verschelde <[email protected]>
Date:   Wed Aug 21 07:23:05 2024 +0200

    Merge pull request #95828 from clayjohn/Lightmapper-AA-direct-light

    Antialias direct light samples in LightmapperRD

commit 4b8946102bc05e3d143d6674cfef634103db08b9
Merge: 62de80d613 394ea653aa
Author: Rémi Verschelde <[email protected]>
Date:   Wed Aug 21 06:38:03 2024 +0200

    Merge pull request #91535 from BlueCube3310/betsy-bc6h

    Add Betsy to speed up BC6 compression

commit 62de80d6138c09cb2c4c66d0b963820f95ad1f21
Merge: 826de7976a 2d0165574d
Author: Clay John <[email protected]>
Date:   Tue Aug 20 21:21:32 2024 -0700

    Merge pull request #88199 from stuartcarnie/metal-rdd

    Add Metal support for macOS (arm64) and iOS

commit 1b0c5cbc01b43b837a658fdd25373a773b3dbdc4
Author: Hilderin <[email protected]>
Date:   Tue Jun 11 20:11:10 2024 -0400

    Fix FileSystem dock won't show any file folders (v2)

commit 080acd72461fff6bef7d10975fca76e082c302ac
Author: tetrapod00 <[email protected]>
Date:   Tue Aug 20 15:59:07 2024 -0700

    Remember "View Grid" (per-viewport) setting between editor sessions

commit eef236db63daebdca00e533f3f622942471fea47
Author: Yuri Rubinsky <[email protected]>
Date:   Mon Oct 16 16:09:02 2023 +0300

    Fix visual shader inputs to follow the alphabet order

commit 7593e55527177d0dfb5ad536330b50e272bd93d4
Author: aaronp64 <[email protected]>
Date:   Mon Jun 24 10:09:20 2024 -0400

    Improve Editor Inspector/Theme item lookup performance

    Changes to reduce the latency between changing node selection in the editor and seeing the new node reflected in the Inspector tab

    - Use Vector instead of List for ThemeOwner::get_theme_type_dependencies and related functions
    - Use Vector instead of List for ThemeContext::themes, set_themes(), and get_themes()
    - Add ClassDB:get_inheritance_chain_nocheck to get all parent/ancestor classes at once, to avoid repeated ClassDB locking overhead
    - Update BIND_THEME_ITEM macros and ThemeDB::update_class_instance_items to use provided StringNames for call to ThemeItemSetter, instead of creating a new StringName in each call

    These changes reduce the time taken by EditorInspector::update_tree by around 30-35%

commit aaafd163b29180090161c0169c70ab2772dfdcd7
Author: Adam Scott <[email protected]>
Date:   Tue Aug 20 10:29:32 2024 -0400

    Honor `pitch_scale` value before playing audio sample

commit 5279fec60fb183029795a1ed621eafa405eea67d
Author: kobewi <[email protected]>
Date:   Tue Aug 20 12:38:33 2024 +0200

    Always store ID of PopupMenu items

commit 3d575801cef4239b120e8ca974ad478a71517fdf
Author: Daylily-Zeleen <[email protected]>
Date:   Mon Apr 22 22:34:44 2024 +0800

    Allow ClassDB to create a Object without postinitialization for GDExtension.

commit 2d0165574de6ac21aa2730215dcab60e4ce88d08
Author: Stuart Carnie <[email protected]>
Date:   Tue Feb 20 05:52:00 2024 +1100

    Add Metal support for macOS (arm64) and iOS

commit 826de7976a6add282c7b14d4be2a7e6d775821d8
Merge: 49e4ad1460 41875d8aef
Author: Rémi Verschelde <[email protected]>
Date:   Tue Aug 20 12:08:55 2024 +0200

    Merge pull request #95854 from akien-mga/xcode-warnings

    macOS/iOS: Fix various warnings when targeting newer SDKs

commit 49e4ad1460c115085f49a0eb6ab06f4a7fc7b4a8
Merge: 5ebfc8a6ba da31679d12
Author: Rémi Verschelde <[email protected]>
Date:   Tue Aug 20 12:08:49 2024 +0200

    Merge pull request #95691 from Hilderin/fix-display-dialog-while-saving-scene

    Fix display dialog while saving scene

commit 41875d8aef8fc2e4f245a0be2697030116d62569
Author: Stuart Carnie <[email protected]>
Date:   Tue Feb 20 05:52:00 2024 +1100

    macOS/iOS: Fix various warnings when targeting newer SDKs

commit 5ebfc8a6ba1dec27157f48fc49ede54ea6676720
Merge: d9e458515b 0df7ee31d2
Author: Rémi Verschelde <[email protected]>
Date:   Tue Aug 20 11:04:04 2024 +0200

    Merge pull request #95643 from Flynsarmy/get_bone_attach_skele

    Add `BoneAttachment3D::get_skeleton()` method

commit d9e458515bd7c65b15d40adb22c6a76bbd722d45
Merge: 8dfb8efaa9 d9ab2c3195
Author: Rémi Verschelde <[email protected]>
Date:   Tue Aug 20 11:03:54 2024 +0200

    Merge pull request #91750 from BastiaanOlij/openxr_visibility_mask

    OpenXR: Add support for visibility mask

commit 8dfb8efaa9c2461306da408ea7cb087ee6bcb0a9
Merge: 033054f182 97085358ce
Author: Rémi Verschelde <[email protected]>
Date:   Tue Aug 20 10:03:13 2024 +0200

    Merge pull request #95849 from bruvzg/sys_theme_check

    [Editor] Prevent unnecessary editor theme regeneration on unrelated system setting update.

commit 033054f182677e64085ed78ce33534d0e0b2e2df
Merge: c367e671bb bde165ccb3
Author: Rémi Verschelde <[email protected]>
Date:   Tue Aug 20 10:03:06 2024 +0200

    Merge pull request #95838 from olawlor/vertex65536bugfix

    Fix GLES3 crash with Mesh surface with exactly 65536 vertices

commit c367e671bbdbde881f367799780783ffa4e85442
Merge: fbbc527de6 e3ffcb3289
Author: Rémi Verschelde <[email protected]>
Date:   Tue Aug 20 10:02:59 2024 +0200

    Merge pull request #95831 from Chubercik/ufbx-0.14.3

    ufbx: Update to 0.14.3

commit fbbc527de662b9c74c96d0da1ce62ab97896fa01
Merge: 73d42411f0 e8254dc3f4
Author: Rémi Verschelde <[email protected]>
Date:   Tue Aug 20 10:02:53 2024 +0200

    Merge pull request #95816 from matheusmdx/fix-autocomplete-icon

    Fallback to theme icon when no custom icon is set in autocompletion

commit 73d42411f07479da605024f78d1c697ca470b55b
Merge: 5e400c7bd9 3c0eaec39f
Author: Rémi Verschelde <[email protected]>
Date:   Tue Aug 20 10:02:47 2024 +0200

    Merge pull request #95808 from paulloz/bugfix/dotnet-globalclass-icon-relative-paths

    Fix relative paths for global class icons in C#

commit 5e400c7bd979352e48237f8b491e6bc0c1498788
Merge: f45421204c 807904d951
Author: Rémi Verschelde <[email protected]>
Date:   Tue Aug 20 10:02:40 2024 +0200

    Merge pull request #95800 from mihe/msvc-standards-conformance

    Enable more standards conformance for MSVC

commit f45421204c514623e968557e77524674bea4a3f7
Merge: 0b1bf3cb42 3fe644de86
Author: Rémi Verschelde <[email protected]>
Date:   Tue Aug 20 10:02:35 2024 +0200

    Merge pull request #95764 from passivestar/gdscript-syntax-highlighter

    Expose GDScript syntax highlighter to editor plugins

commit 0b1bf3cb429ac9cc4af1d45e083c439698262c1a
Merge: c359a8e9ca bebf2e87f2
Author: Rémi Verschelde <[email protected]>
Date:   Tue Aug 20 10:02:28 2024 +0200

    Merge pull request #95760 from jolexxa/docs/joy-info

    docs: Highlight lack of joystick info on majority of platforms

commit c359a8e9cac1b8d230d5bdca9512fd55fc99ca68
Merge: 26e87f4fbd 4b266871d7
Author: Rémi Verschelde <[email protected]>
Date:   Tue Aug 20 10:02:23 2024 +0200

    Merge pull request #95757 from BlueCube3310/cvtt-float

    CVTT: Include float formats for hdr compression

commit 26e87f4fbdab08a7e5824e3ac2a1c42aba060050
Merge: a55b6a4ac0 3f7efd2291
Author: Rémi Verschelde <[email protected]>
Date:   Tue Aug 20 10:02:18 2024 +0200

    Merge pull request #95687 from aryan-11825114/fix-small-graph-editor-pins

    Fix small graph editor pins at higher display scales

commit a55b6a4ac03b5f2a53bf7ce0a4eb9dfd71727b5a
Merge: 65c6897e55 4db3e6e6cd
Author: Rémi Verschelde <[email protected]>
Date:   Tue Aug 20 10:02:12 2024 +0200

    Merge pull request #95518 from mihe/bezier-delete-errors

    Fix errors about `UndoRedo` history mismatch when deleting bezier track

commit 65c6897e553288537a516640775c0fe2fa9f5036
Merge: a700b2a4a2 262671c644
Author: Rémi Verschelde <[email protected]>
Date:   Tue Aug 20 10:02:07 2024 +0200

    Merge pull request #95269 from raulsntos/dotnet/determinant

    C#: Expose `Transform2D.Determinant()`

commit a700b2a4a219bccd4d4326daab35d89d386d0ceb
Merge: 7999b4bb8a a8c5117777
Author: Rémi Verschelde <[email protected]>
Date:   Tue Aug 20 10:02:01 2024 +0200

    Merge pull request #95153 from BastiaanOlij/improve_hand_tracking_settings

    Change hand tracking project settings and finetune `show_when_tracked`

commit 7999b4bb8ac8009f66a380472d8cd0c58ca1aa5a
Merge: 58505b0bce 1052985b00
Author: Rémi Verschelde <[email protected]>
Date:   Tue Aug 20 10:01:57 2024 +0200

    Merge pull request #94324 from SomeRanDev/shader_hint_enum

    GDShader: Add `hint_enum` for `uniform int`

commit 58505b0bce4cd9296eceed868cd71b95fa1fb554
Merge: 6a9ecdcf0c 0abd0ae364
Author: Rémi Verschelde <[email protected]>
Date:   Tue Aug 20 10:01:52 2024 +0200

    Merge pull request #94082 from HolonProduction/completion-force

    Autocompletion: Rework argument options string literal completion

commit 6a9ecdcf0c5617a152c255cc789c3913ef8226a3
Merge: 8acd82f70e 1728f80e7c
Author: Rémi Verschelde <[email protected]>
Date:   Tue Aug 20 10:01:46 2024 +0200

    Merge pull request #91818 from rburing/fti_multimesh

    Physics interpolation: `MultiMesh`

commit 8acd82f70ea1fc06ad400a624aec01d0a080f2a8
Merge: 333f0f910f ef9bb1a207
Author: Rémi Verschelde <[email protected]>
Date:   Tue Aug 20 10:01:41 2024 +0200

    Merge pull request #89919 from BlueCube3310/bicubic-lightmap

    Implement bicubic sampling for lightmaps

commit 333f0f910f164851218c5ece26d4c4b4931d4a30
Merge: 554dc002b5 e698351db2
Author: Rémi Verschelde <[email protected]>
Date:   Tue Aug 20 10:01:36 2024 +0200

    Merge pull request #86000 from jsjtxietian/add-missing-model_normal_matrix

    Add `model_normal_matrix` for fragment shader

commit 554dc002b505e7c5c2306a58008ec9a31bf2d2e7
Merge: 7f8b4364e8 45e2908d30
Author: Rémi Verschelde <[email protected]>
Date:   Tue Aug 20 10:01:28 2024 +0200

    Merge pull request #85108 from theDrake/pick-main-scene-punctuation

    Adjust `pick_main_scene` dialog punctuation

commit 7f8b4364e8438c5979620ca366111974550dcf79
Merge: da5f39889f da5f7c6b40
Author: Rémi Verschelde <[email protected]>
Date:   Tue Aug 20 10:01:19 2024 +0200

    Merge pull request #82093 from jsjtxietian/add-support-for-drag-a-shader-to-material

    Add support for dragging a shader to user exported material property

commit 97085358ce154f34d6ab571c35529a8b0e063513
Author: bruvzg <[email protected]>
Date:   Tue Aug 20 10:13:46 2024 +0300

    [Editor] Prevent unnecessary editor theme regeneration on unrelated system setting update.

commit bde165ccb3dc26c8414ae6e4ab659014d9428ad0
Author: Orion Lawlor <[email protected]>
Date:   Mon Aug 19 18:15:08 2024 -0800

    Fix GLES3 crash with Mesh surface with exactly 65536 vertices

    Fixes #95837.

commit 7db24a9ad59aeae3e9f8945c518074f76ef80820
Author: Aaron Franke <[email protected]>
Date:   Mon Aug 19 00:28:48 2024 -0700

    Simplify and fix Rect2/AABB get_support function

commit e698351db24df691dc5ea88a6b011c24dad77ebd
Author: jsjtxietian <[email protected]>
Date:   Sun Dec 10 21:32:36 2023 +0800

    Add model_normal_matrix for fragment shader

commit da5f7c6b4065ab8246d6ba839c01a5267f9445a6
Author: jsjtxietian <[email protected]>
Date:   Fri Jul 26 11:48:51 2024 +0800

    Add support for dragging a shader to user exported material property

commit a8c5117777184535234558591a84a3aa86471977
Author: Bastiaan Olij <[email protected]>
Date:   Mon Aug 5 15:39:27 2024 +1000

    Change hand tracking project settings and finetune show_when_tracked

commit 1521e49c23aee452666ca7cdcfdeb21b7df4f474
Author: clayjohn <[email protected]>
Date:   Sun Aug 18 01:10:48 2024 -0700

    Antialias direct light samples in LightmapperRD

    Additionally use Vogel disk to enhance soft shadow quality.

commit d9ab2c3195de9bee5e834f38250fdc7b61314d7c
Author: Bastiaan Olij <[email protected]>
Date:   Thu May 9 17:09:22 2024 +1000

    OpenXR: Add support for visibility mask

commit e3ffcb32891aecb9432bdddb41cf59c05e427d0c
Author: Jakub Marcowski <[email protected]>
Date:   Tue Aug 20 02:30:45 2024 +0200

    ufbx: Update to 0.14.3

commit e8254dc3f4a72bae094711a5a07fdad63df85e62
Author: matheusmdx <[email protected]>
Date:   Mon Aug 19 16:16:06 2024 -0300

    Fallback to theme icon when no custom icon is set in autocompletion

commit 3c0eaec39f62ba1d86ba12abdf3f95779e608c25
Author: Paul Joannon <[email protected]>
Date:   Mon Aug 19 18:09:58 2024 +0200

    Fix relative paths for global class icons in C#

commit 4db3e6e6cd08a0121cdb3b93d5638a667b6665a3
Author: Mikael Hermansson <[email protected]>
Date:   Wed Aug 14 11:58:27 2024 +0200

    Fix errors about `UndoRedo` history mismatch when deleting bezier track

commit da5f39889f155658cef7f7ec3cc1abb94e17d815
Merge: ce1ba7328f cb2b4ea092
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 19 16:05:30 2024 +0200

    Merge pull request #95763 from gongpha/audiostreamplayer-icons-improvement

    Improve AudioStreamPlayer icons

commit ce1ba7328ff877a8f945de1b228ec190ac15f949
Merge: 6bf64027b7 2dc9cf50c5
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 19 16:05:26 2024 +0200

    Merge pull request #94934 from Hilderin/fix-no-validation-blender-path-on-import

    Fix no validation on Blender path on import

commit 6bf64027b738431de196507b8b184e718b62f5ea
Merge: af919a845f e41048e16e
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 19 16:05:21 2024 +0200

    Merge pull request #94785 from Chaosus/shader_fix_samplers_order

    Fix texture samplers to not being last in the property list

commit af919a845ff60b4853475204c62f2b98be0b34f0
Merge: 93fe5c6598 723878bbab
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 19 16:05:16 2024 +0200

    Merge pull request #94683 from kisg/string_name_fix

    StringName: Use inline static field definitions

commit 93fe5c659868442ca06f69d1c34fd009b07395ab
Merge: 0274508647 45f6110e26
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 19 16:05:11 2024 +0200

    Merge pull request #94553 from juanjp600/gizmo-bvh

    Fix gizmos without visible geometry not being selectable

commit 0274508647ad4486494c85bc087df146300db67d
Merge: b39df869c7 83bd8fa396
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 19 16:05:05 2024 +0200

    Merge pull request #93498 from smix8/connection_relocation

    Move NavRegion connections to NavMap

commit b39df869c7a7d933791470787715621e9ea65084
Merge: a105553a1d 6455810db8
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 19 16:04:59 2024 +0200

    Merge pull request #93252 from smix8/csg_bake

    Add CSG options to bake to static mesh and collision shape

commit a105553a1df81d3f13fdfcd170dc4239eaadd75e
Merge: da57bab169 8228d647a9
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 19 16:04:54 2024 +0200

    Merge pull request #92841 from kleonc/menu-bar-proper-canvas-transform-popup-calculation

    Fix `MenuBar` popup placement assuming it's in viewport default canvas

commit da57bab16989e2690e1481331d25952b7c342f16
Merge: 0ab62a128a 110b2dc61a
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 19 16:04:49 2024 +0200

    Merge pull request #92560 from smix8/navmesh2d_bake_partition

    Add triangulation partition option to 2D navigation mesh baking

commit 0ab62a128a12f35cb1e589b8cd33676a385bcc13
Merge: ea054261e2 46abbae2b0
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 19 16:04:44 2024 +0200

    Merge pull request #91971 from Delsin-Yu/WrapControls_ContentScaleFactor

    Fix `Window.wrap_controls` does not account for the `content_scale_factor`

commit ea054261e27343ab78700eac94b8afcf0a45357d
Merge: db5003519a de558123bf
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 19 16:04:40 2024 +0200

    Merge pull request #91731 from TokageItLab/b2s

    Fix Bone2D gizmo scaling

commit db5003519a19ed99d5c7bcc059201f8ace82b162
Merge: 80933392f3 2860b99077
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 19 16:04:34 2024 +0200

    Merge pull request #89554 from smnast/backspace-unfold

    Fix backspace always unfolding previous line

commit 80933392f351447b4461f7209fd13998963f8ef8
Merge: 41b53182c9 6aee6c1fdd
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 19 16:04:28 2024 +0200

    Merge pull request #87135 from ryevdokimov/do-not-apply-material-on-ui-cancel

    Clear drag preview material on `NOTIFICATION_DRAG_END`

commit 41b53182c9d7d9449b88ece57899b5926d515904
Merge: bb40b3cc7b 61e2aa7914
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 19 16:04:21 2024 +0200

    Merge pull request #86302 from jordi-star/redraw_svc_on_size_change

    Redraw SubViewportContainer on SubViewport size change

commit bb40b3cc7b31b2dfc74219dd14cd69f00fc4dd1f
Merge: a07f20b3e5 bf9fdc5b96
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 19 16:04:15 2024 +0200

    Merge pull request #84831 from EelisOtsamo/editor_3d_click_select_skip_locked

    Ignore locked nodes when click selecting in 3d editor

commit bf9fdc5b96f60bbf24054f3c1b21a89007eaaa6c
Author: oeelis <[email protected]>
Date:   Mon Nov 13 07:53:30 2023 +0200

    Ignore locked nodes when click selecting in 3d editor

    When selecting 3d nodes with a single click, the node closest to the
    camera is selected. If the closest node was locked, it would block the
    selection, even when there was unlocked nodes behind the locked node.

    This PR replaces the `_select_ray` method call used to find the closest
    node with the similar `_find_items_at_pos` method, which can skip any
    locked nodes.

    Fixes #84764

commit 61e2aa79142dfa619d1238172e5c505c7dacc8d0
Author: jordi <[email protected]>
Date:   Mon Dec 18 09:08:57 2023 -0600

    Redraw SubViewportContainer on SubViewport size change

commit 46abbae2b02486a7e08fdf2912c0c9294a456054
Author: DE-YU <[email protected]>
Date:   Wed May 15 15:23:18 2024 +0800

    Fix Window.wrap_controls does not account for the content_scale_factor

commit 807904d9515e9d2aaf16f6260945a6632689f1b9
Author: Mikael Hermansson <[email protected]>
Date:   Mon Aug 19 14:25:39 2024 +0200

    Enable standards conformance for MSVC

commit 3fe644de86b6a9fa96bbbbaa7746c52005848d96
Author: passivestar <[email protected]>
Date:   Sun Aug 18 22:40:24 2024 +0400

    Expose GDScript syntax highlighter to editor plugins

commit a07f20b3e5e73c7cefb429716ad826d702cf315a
Merge: 745cc6e438 66832e9968
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 19 14:34:34 2024 +0200

    Merge pull request #95794 from bruvzg/win_fd_thread

    [Windows] Run native file dialogs in thread to make it non-blocking.

commit 745cc6e438e742bfd55f9cf3ebcd8849edcd7ebf
Merge: 01fdac08d9 e80c44dbe7
Author: Rémi Verschelde <[email protected]>
Date:   Mon Aug 19 14:34:30 2024 +0200

    Merge pull request #95780 from Mickeon/documentation-gdscript-some-invalid-code

    Fi…
@RandomShaper
Copy link
Member Author

Cherry-pick for 4.3 included in #96606.

@akien-mga akien-mga removed the cherrypick:4.3 Considered for cherry-picking into a future 4.3.x release label Sep 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Racecondition in ResourceLoader::_thread_load_function(void *p_userdata)
5 participants