Commit Graph

84013 Commits

Author SHA1 Message Date
Thaddeus Crews c00ea3dc58 Merge pull request #120092 from Calinou/doc-drawabletexture2d-experimental
Use generic description for experimental flag on DrawableTexture2D methods
2026-06-09 06:40:04 -05:00
Thaddeus Crews dc59c8b250 Merge pull request #120106 from TokageItLab/null-anim-btr
Add null check for `root_animation_node` in AnimationTree
2026-06-09 06:40:04 -05:00
Silc Lizard (Tokage) Renew c3b215de96 Add null check for root_animation_node in AnimationTree 2026-06-09 18:56:13 +09:00
Hugo Locurcio 0ac3a3af99 Use generic description for experimental flag on DrawableTexture2D methods
The method signatures may still change in the future, including after
the 4.7 dev cycle.
2026-06-09 00:00:47 +02:00
Rémi Verschelde 9d03a4937b Sync translations with Weblate 2026-06-08 22:55:12 +02:00
Thaddeus Crews fb5a83eb60 Merge pull request #120007 from bruvzg/msys_dl
Fix download scripts and build in the MSYS2 environment.
2026-06-08 15:20:55 -05:00
Thaddeus Crews 8bbedec7f9 Merge pull request #120025 from bruvzg/nir-upd-3
Update D3D12 download script to use current release.
2026-06-08 15:20:55 -05:00
Thaddeus Crews bd4b537c95 Merge pull request #120085 from KoBeWi/the_dice_is_64bit
Fix first tile not being randomized
2026-06-08 15:20:54 -05:00
kobewi ea2cc82451 Fix first tile not being randomized 2026-06-08 17:06:13 +02:00
Thaddeus Crews a4f5e8cddf Bump version to 4.7-rc 2026-06-08 09:51:18 -05:00
Thaddeus Crews 15957647b5 Merge pull request #120063 from ryevdokimov/local-trackball
Fix trackball when use local space is enabled
2026-06-08 09:12:04 -05:00
Thaddeus Crews f1ab81c990 Merge pull request #119999 from KoBeWi/title_size_stuff
Wrap project titles
2026-06-08 09:12:04 -05:00
Thaddeus Crews 09522aea1c Merge pull request #120028 from HolonProduction/gdscript/blacklist-internal-classes
GDScript: Exclude `globals` internal classes in the analyzer
2026-06-08 09:12:04 -05:00
Thaddeus Crews 6629ee4ec3 Merge pull request #119983 from Calinou/doc-arealight3d-performance
Clarify performance impact of AreaLight3D nodes in the documentation
2026-06-08 09:12:03 -05:00
Thaddeus Crews 526528bd8d Merge pull request #120077 from hpvb/fix-threaded-loader-reloaded
Fix ResourceLoader deadlocks
2026-06-08 09:12:03 -05:00
Thaddeus Crews 279e7ca3cb Merge pull request #120071 from hpvb/fix-canvasrenderrd-deadlock
Fix a deadlock in CanvasRenderRD
2026-06-08 09:12:02 -05:00
Thaddeus Crews b7eb57977a Merge pull request #119451 from bruvzg/mt_rset_a6
[Metal] Restrict residency set support to Apple6+ GPUs.
2026-06-08 09:12:02 -05:00
Thaddeus Crews 6c325574cd Merge pull request #120059 from TokageItLab/anim_issue
Check blend weight for AnimationNode error & remove `_validate_animation_graph()`
2026-06-08 09:12:02 -05:00
Thaddeus Crews 5a49c75875 Merge pull request #120069 from TheOathMan/fix/zippacker-remove-empty-directory-entries
Fix ZIPPacker creating empty directory entries
2026-06-08 09:11:57 -05:00
othman alzahrani 43b2edabf5 Fix ZIPPacker creating empty directory entries - bruvzg fix 2026-06-08 09:18:46 +03:00
HP van Braam b88a62f805 Fix ResourceLoader deadlocks
This fixes several issues:
 * There was a bug in the cycle detection. It was possible for the cycle
   detection to fail because the current thread isn't in the list. Fix
   this by just seeing if any of the next threads were already in the
   cycle.
 * By way of an optimization the thread_waiting_on bookkeeping was done
   under the same thread_load_mutex as the cycle detection. But there is
   also an early exit after yields. If we exit through the yield the
   thread_waiting_on entry is stale and can cause other threads to fail
   to do cycle detection.
 * When multiple threads end up finishing a resource simultaneously
   anyway, probably through cycle detection, there's a small chance that
   the original thread finished more-or-less at the same time if the
   original thing blocking load completed. We solve this now by letting
   only one of the threads do the initial registration.
2026-06-08 04:57:26 +02:00
Silc Lizard (Tokage) Renew c640059ece Check blend weight for AnimNode error&remove _validate_animation_graph 2026-06-08 08:32:42 +09:00
HP van Braam 52f27370ab Fix a deadlock in CanvasRenderRD
RenderingServerDefault::_draw wants to get all of the materials. The threaded
loader is still loading the materials:

1) The main thread locks canvas_singleton->shader.mutex via
   RendererRD::Utilities::update_dirty_resources
    -> RendererRD::MaterialStorage::_update_queued_materials
      -> RendererCanvasRenderRD::CanvasMaterialData::update_parameters()
2) RendererCanvasRenderRD::CanvasMaterialData::update_parameters() wants
   to get the current shader via ShaderRD::version_get_shader. This
   eventually wants to wait on the load of that shader via
   WorkerThreadPool::wait_for_group_task_completion in
   ShaderRD::_compile_version_end

At this point the main thread is waiting for the threaded load to finish
loading the shader. Meanwhile in a thread not too far away the load is
progressing:

1) The loader is loading the tres in ResourceLoaderText::load which
   eventually wants to ShaderMaterial::set_shader
2) We eventually end up in RendererCanvasRenderRD::CanvasShaderData::set_code
3) set_code wants to lock canvas_singleton->shader.mutex to protect
   against concurrent compilation

At this point the main thread is waiting on the load to complete, but
holds "canvas_singleton->shader.mutex" via update_parameters(), and the
loader is waiting on "canvas_singleton->shader.mutex" in set_code.

Tragedy ensues etc.

To fix the problem we don't acquire the lock until after we're sure
we're done compiling the shader.

The same pattern exists in scene_shader_forward_clustered.cpp which
was created in the same commit as the code in the canvas singleton.

With this change the deadlock can no longer occur as set_code() can now run
concurrently with RenderingServerDefault::_draw() as the path where the
main thread waits on the workerthreadpool with
canvas_singleton->shader.mutex held can no longer occur.

Data integrity wise: previously you'd think that
canvas_singleton->shader.mutex would have protected against metadata
changes to uniforms, ubo_offsets, and texture_uniforms but set_code() used
to write to some of these (uniforms, ubo_size) without taking the lock with
no ill effects because the material isn't updated until the shader has loaded.

A similar pattern was found in scene_shader_forward_mobile.cpp and was
fixed in the same way.
2026-06-08 00:22:02 +02:00
ryevdokimov d92a1acc36 Fix trackball when use local space is enabled 2026-06-07 11:32:31 -04:00
HolonProduction 5a017a1f5e GDScript: Exclude globals internal classes in the analyzer 2026-06-06 10:38:32 +02:00
Thaddeus Crews 070dc9897e Merge pull request #120006 from syntaxerror247/joysticks
Disable navigation gizmo by default for Desktop platforms
2026-06-05 09:24:42 -05:00
Thaddeus Crews 3515ae6282 Merge pull request #115820 from Ivorforce/gdscript-general-guidelines
Migrate GDScript design guidelines to the contributing docs.
2026-06-05 09:24:41 -05:00
Thaddeus Crews 72eac09f5c Merge pull request #119336 from vaner-org/tree-preserve-drops
Fix incorrect `get_drop_section_at_position` results in Tree
2026-06-05 09:24:41 -05:00
Thaddeus Crews dc9049fbba Merge pull request #119910 from EdwardChanCH/fix_move_up_down_selection
Fix "Move Up/Down" editing foreign nodes
2026-06-05 09:24:23 -05:00
kobewi d3ca1b4c20 Wrap project titles 2026-06-05 11:28:02 +02:00
Pāvels Nadtočajevs 80de17565c Update D3D12 download script to use current release. 2026-06-05 08:34:38 +03:00
Edward Chan 135a7361a2 Fixed 'Move Up/Down' editing foreign nodes. 2026-06-04 12:24:08 -04:00
Anish Kumar d333da746e Disable navigation gizmo by default for Desktop platforms 2026-06-04 21:15:46 +05:30
Thaddeus Crews 72cc0fc9a7 Merge pull request #120001 from m4gr3d/update_gabe_download_url
[Android] Update download URL for GABE
2026-06-04 09:50:46 -05:00
Thaddeus Crews eea0ff082d Merge pull request #119998 from dsnopek/opengl-vertex-eye-offset-error
OpenGL: Fix vertex shader compilation error with `EYE_OFFSET`
2026-06-04 09:50:46 -05:00
Thaddeus Crews 5b45283c2a Merge pull request #119997 from blueskythlikesclouds/voxel-gi-area-light-fix
Fix area light atlas also destroying VoxelGI uniform sets.
2026-06-04 09:50:22 -05:00
Pāvels Nadtočajevs fd574d221f Fix download scripts and build in the MSYS2 environment. 2026-06-04 10:58:05 +03:00
Hugo Locurcio 7401fcdfe0 Clarify performance impact of AreaLight3D nodes in the documentation 2026-06-04 03:12:41 +02:00
Fredia Huya-Kouadio fff89b78e7 Update download URL for GABE 2026-06-03 11:59:10 -07:00
Skyth 2896cd9ef4 Fix area light atlas also destroying VoxelGI uniform sets. 2026-06-03 20:04:49 +03:00
David Snopek 15d8191fbf OpenGL: Fix vertex shader compilation error with EYE_OFFSET 2026-06-03 11:54:50 -05:00
Thaddeus Crews bbd3f43b57 Merge pull request #119992 from KoBeWi/typical_ObjectID_to_prevent_crash
Prevent crash when detaching freed debugger
2026-06-03 11:02:37 -05:00
Thaddeus Crews dba2dd36d0 Merge pull request #119909 from EdwardChanCH/fix_change_type_selection
Fix "Change Type" ignoring non-top-level nodes and editing foreign nodes
2026-06-03 11:02:36 -05:00
Thaddeus Crews 039d4d614f Merge pull request #119964 from KoBeWi/animation_404
Fix empty animation menu in blend space editor
2026-06-03 11:02:35 -05:00
Thaddeus Crews 70ee45d043 Merge pull request #119987 from bruvzg/rtl_ll
[RTL] Fix last line height with some fallback fonts.
2026-06-03 11:02:35 -05:00
Thaddeus Crews 1bfbab316a Merge pull request #119908 from EdwardChanCH/fix_open_doc_selection
Fix "Open Documentation" ignoring non-top-level nodes
2026-06-03 11:02:34 -05:00
kobewi aa5f5054e2 Prevent crash when detaching freed debugger 2026-06-03 15:43:02 +02:00
Pāvels Nadtočajevs facdd8eea6 [RTL] Fix last line height with some fallback fonts. 2026-06-03 09:00:43 +03:00
Edward Chan 8984aff92c Fixed 'Change Type' ignoring non-top-level nodes and editing foreign nodes/ being available when it is not. 2026-06-02 20:29:55 -04:00
Edward Chan d9c53f29e0 Fixed 'Open Documentation' ignoring non-top-level nodes. 2026-06-02 20:01:48 -04:00