godot/scene
Tom Coxon a2f3decb88
Prevent shaders from generating code before the constructor finishes.
Fixes #43733: "creating SpatialMaterial in a separate thread creates invalid
shaders (temporarily)."

The bug occurred because various setters called in materials' constructors add
materials to queues that are processed on the main thread. This means that
when the materials are created in another thread, they can be processed on the
main thread before the constructor has finished.

The fix adds a flag to affected materials that prevents them from being added
to the queue until their constructors have finished initialising all the
members.

(cherry picked from commit 9e9bac1549)
2021-09-21 13:53:31 +02:00
..
2d Prevent shaders from generating code before the constructor finishes. 2021-09-21 13:53:31 +02:00
3d Fix Path3D initial forward calculation 2021-08-13 12:17:15 +02:00
animation SkeletonIK: Fixed issue where bones become detached if multiple SkeletonIK nodes are used 2021-05-31 11:28:31 +02:00
audio Don't fade out after pausing unless stream is running 2021-02-19 15:55:41 +01:00
debugger Initialize n_warnings_dropped to 0 in ScriptDebuggerRemote 2021-09-16 16:00:48 +02:00
gui TabContainer Fix moving dropped tab at incorrect child index 2021-08-05 16:38:29 +02:00
main [Net] Implement String::parse_url for parsing URLs. 2021-05-31 11:14:34 +02:00
resources Prevent shaders from generating code before the constructor finishes. 2021-09-21 13:53:31 +02:00
SCsub SCons: Add explicit dependencies on thirdparty code in cloned env 2021-05-04 12:54:34 +02:00
register_scene_types.cpp Require editor restart after changing GUI custom theme or font 2021-03-30 16:02:33 +02:00
register_scene_types.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
scene_string_names.cpp Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
scene_string_names.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00