Commit Graph

66322 Commits

Author SHA1 Message Date
a70df8537e Fix uniform subgroup in shader will carry out to next group
(cherry picked from commit e6c45fbe5d)
2024-09-16 16:34:02 +02:00
cbee16418a Increase precision of skeleton transforms in the skeleton shader in the Compatibility renderer
(cherry picked from commit 1bf594fb5a)
2024-09-16 16:33:38 +02:00
5a33e45fed Fail when submit or sync called on main rendering device
Fail if submit or sync called multiple times in a row

(cherry picked from commit b0e33aa00f)
2024-09-16 16:33:25 +02:00
6595395b8b Fix LightmapGI not taking environment sky rotation into account when baking
The sky rotation now affects the baked environment lighting as it should,
making it match how real-time ambient light rendering works.

Co-authored-by: Per Melin <git@melin.net>
(cherry picked from commit 661cf1f351)
2024-09-16 16:33:15 +02:00
a7756d530e Fixed crash on PowerVR GE8320 GPUs
(cherry picked from commit 1c31e30359)
2024-09-16 16:32:56 +02:00
2df506ea15 fix to ensure generated light probes do not get placed too close to manual light probes
(cherry picked from commit 97205ea5b8)
2024-09-16 16:32:22 +02:00
13d5227911 Apply patch for considering visual layers for DirectionalLight
Co-authored-by: majikayogames <152851004+majikayogames@users.noreply.github.com>
(cherry picked from commit 4457b11ff0)
2024-09-16 16:31:40 +02:00
b9271608df Remove superfluous print_line call
(cherry picked from commit b1421a0d98)
2024-09-16 16:30:46 +02:00
5caaa6ce19 Fix incorrect warning on SkeletonModifier
(cherry picked from commit 4727c4f783)
2024-09-16 16:30:30 +02:00
e1af61467a OpenGL: Unconditionally do glDisable(GL_FRAMEBUFFER_SRGB) because we do our own sRGB conversion
(cherry picked from commit dfcff4ef46)
2024-09-16 16:30:06 +02:00
98e77113a2 ResourceLoader: Handle another case of user tokens
(cherry picked from commit 0441c67de6)
2024-09-05 13:30:56 +02:00
1fd87e8747 Change warning muting so it affects all levels, but locally
(cherry picked from commit 9cbc3f1419)
2024-09-05 13:30:25 +02:00
fe2e862e2e ResourceLoader: Use better error handling for possible engine bugs
(cherry picked from commit 31a9e10ddb)
2024-09-05 13:30:09 +02:00
c75c50ecac 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.

(cherry picked from commit f4d76853b9)
2024-09-05 13:29:38 +02:00
b3e46a913d 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.

(cherry picked from commit df23858488)
2024-09-05 13:29:38 +02:00
8a78f5c323 ResourceLoader: Optimize remap check by deferring until a non-mutex zone
(cherry picked from commit 5c970db2e4)
2024-09-05 13:29:38 +02:00
ea28ac510d 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.

(cherry picked from commit 28619e26cf)
2024-09-05 13:29:38 +02:00
ece392538e ResourceLoader: Properly push & pop TLS state on recursive load tasks
(cherry picked from commit bd0959ebdd)
2024-09-05 13:29:38 +02:00
257dd2f9e5 Fix use condition_variable after free
(cherry picked from commit 2ff6594928)
2024-09-05 13:28:58 +02:00
1c4849b162 ResourceLoader: Revert workaround resource loading crashes due to buggy TLS
This reverts commit 41c0785636.

(cherry picked from commit e9407d4877)
2024-09-05 13:24:16 +02:00
d40fc50f08 Merge pull request #95835 from BastiaanOlij/xrnode_visibility_43
[4.3] XRNode - fix visibility issue
2024-08-30 09:47:50 +02:00
620cc30f2a XRNode - fix visibility issue 2024-08-29 11:55:43 +10:00
ff9bc04223 Bump version to 4.3.1-rc
And update CI base branch to 4.3.
2024-08-15 11:35:17 +02:00
77dcf97d82 Bump version to 4.3-stable \o/
This release turned out to be a massive one, exceeding our original
plans for the development cycle, but for good reasons to address many
critical issues that users identified since the 4.0 release.

The user experience should be much stabler and more polished than in
previous releases, with less obscure and game or workflow-breaking
bugs. And of course the feature set kept increasing with a number of
highly awaited improvements to all engine areas.

We have close to 3500 commits in this release, twice as many as 4.2!

More than 500 contributors were involved in this new feature release,
and we want to thank them all for their amazing contributors, as well
as all users who sponsor the Development Fund, reported bugs, opened
proposals, or supported each other on our community platforms.
4.3-stable
2024-08-15 01:00:16 +02:00
5e3d6de1f9 Add changelog for Godot 4.3 2024-08-15 00:57:57 +02:00
33c30b9e63 Merge pull request #95533 from Hilderin/fix-filesystem-not-updated-on-file-remove
Fix FileSystem not updated on file deletion
2024-08-15 00:53:47 +02:00
f27724e902 Merge pull request #95526 from alvinhochun/fix-pr94706
DisplayServerWindows: Fix logic when creating with transient parent
2024-08-15 00:43:24 +02:00
a0cc8c5c3b Fix FileSystem not updated on file deletion 2024-08-14 18:24:46 -04:00
16a563b9ac DisplayServerWindows: Fix logic when creating with transient parent 2024-08-15 04:10:15 +08:00
8e666adeed i18n: Sync translations with Weblate
Adds Irish (ga) translations.
2024-08-14 16:14:54 +02:00
404fe05d2b Update AUTHORS and DONORS list 2024-08-14 12:55:09 +02:00
0e355d74ac Merge pull request #95517 from aaronfranke/fix-vec4-classdb
Fix Vector4, Vector4i, and Projection missing from ClassDB tests
2024-08-14 12:54:43 +02:00
5ced75aeb1 Fix Vector4, Vector4i, and Projection missing from ClassDB tests 2024-08-14 02:59:59 -07:00
06fbc8395b Merge pull request #95481 from AThousandShips/anim_signal_fix_2
[Editor] Fix `AnimationTrackEditor::timeline_changed` signal
2024-08-13 15:44:59 +02:00
4fe0d0ee86 [Editor] Fix AnimationTrackEditor::timeline_changed signal
Signal was declared with two arguments, emitted with both two and three
2024-08-13 15:09:53 +02:00
28e65b0e4e Merge pull request #95476 from RandomShaper/uncached_progress
ResourceLoader: Fix error on querying progress for uncached loads
2024-08-13 13:32:12 +02:00
17ea4b405a ResourceLoader: Fix error on querying progress for uncached loads 2024-08-13 12:41:11 +02:00
a7a124a57d i18n: Sync translations with Weblate 2024-08-12 23:51:35 +02:00
29a0e51b87 Merge pull request #95400 from AThousandShips/anim_signal_fix
[Editor] Fix missing bind for animation editor callback
2024-08-12 22:42:08 +02:00
b8e8b339c4 Merge pull request #95347 from calsbrook/update-compositor-effect-docs
Clarify usage of CompositorEffect as an abstract base class
2024-08-12 22:41:52 +02:00
3896212a95 Merge pull request #95434 from TokageItLab/docs-anim-link
Add Animation tutorial links to class reference by 4.3
2024-08-12 22:22:48 +02:00
b2f8ed7ff7 Merge pull request #95432 from bruvzg/rest_pop_time_on_click
Stop popup release timeout on click.
2024-08-12 22:22:42 +02:00
e231d04d0e Merge pull request #95364 from ajreckof/fix-label-update-for-dict-on-item-deletion
Fix label update for dict on item deletion.
2024-08-12 22:22:32 +02:00
db3a831141 Add Animation tutorial links to class reference by 4.3 2024-08-13 01:57:28 +09:00
7f6c14522c Stop popup release timeout on click. 2024-08-12 19:35:20 +03:00
39fc116c5f Merge pull request #94968 from jsjtxietian/obj-import
Fix obj's name set in wrong order when importing
2024-08-12 18:24:27 +02:00
edc0571c96 Merge pull request #95425 from bruvzg/macos_joypad_queue
[macOS] Fix wrong object type in joypad queue.
2024-08-12 18:18:19 +02:00
47d0bdd558 Merge pull request #95405 from TokageItLab/fix-double-seeking
Prevent to seek doubly on AnimationPlayerEditor
2024-08-12 18:18:15 +02:00
f19e268c7a Merge pull request #95330 from Hilderin/fix-resolve-class-inheritance-after-file-rename
Fix resolve class inheritance after file rename
2024-08-12 18:18:10 +02:00
0444fb67e6 Merge pull request #95329 from Giganzo/lock-eye-icon-order-in-scene-tree
Fix order of Lock and Group icons in SceneTree
2024-08-12 18:18:03 +02:00