virtualx-engine/scene/resources
Tom Coxon dbe757102c 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.
2021-09-21 11:51:39 +01:00
..
default_theme Makes FontData importable resource. 2021-08-27 15:43:18 +03:00
animation.cpp Calculate proper animation length. 2021-08-24 18:50:22 -07:00
animation.h Calculate proper animation length. 2021-08-24 18:50:22 -07:00
audio_stream_sample.cpp Require AudioStream::mix to return the number of frames successfully mixed 2021-08-27 10:27:58 -07:00
audio_stream_sample.h Require AudioStream::mix to return the number of frames successfully mixed 2021-08-27 10:27:58 -07:00
bit_map.cpp Rename instance()->instantiate() when it's a verb 2021-06-19 20:49:18 -06:00
bit_map.h Initialize class variables with default values in scene/ [2/2] 2021-02-09 18:24:36 +01:00
box_shape_3d.cpp Re-add extents property to box shapes for compatibility 2021-06-17 17:10:52 -04:00
box_shape_3d.h Re-add extents property to box shapes for compatibility 2021-06-17 17:10:52 -04:00
camera_effects.cpp Fix editor suffixes and degrees conversion 2021-06-30 12:38:25 -03:00
camera_effects.h Hide more options of disabled properties 2021-03-03 20:51:35 -03:00
canvas_item_material.cpp Prevent shaders from generating code before the constructor finishes. 2021-09-21 11:51:39 +01:00
canvas_item_material.h Prevent shaders from generating code before the constructor finishes. 2021-09-21 11:51:39 +01:00
capsule_shape_2d.cpp Fix capsule height/radius setters with linked properties 2021-08-19 10:31:19 -07:00
capsule_shape_2d.h Make radius & height in CapsuleShape2D independent 2021-08-11 17:34:27 +02:00
capsule_shape_3d.cpp Fix capsule height/radius setters with linked properties 2021-08-19 10:31:19 -07:00
capsule_shape_3d.h Make radius & height in CapsuleShape3D independent 2021-08-11 14:54:53 -07:00
circle_shape_2d.cpp Added option in project settings to draw Shape2D outlines 2021-02-25 07:52:50 -07:00
circle_shape_2d.h Initialize class variables with default values in scene/ [2/2] 2021-02-09 18:24:36 +01:00
concave_polygon_shape_2d.cpp Initialize class variables with default values in scene/ [2/2] 2021-02-09 18:24:36 +01:00
concave_polygon_shape_2d.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
concave_polygon_shape_3d.cpp Disable backface collision with ConcavePolygonShape by default 2021-03-18 11:30:22 -07:00
concave_polygon_shape_3d.h Disable backface collision with ConcavePolygonShape by default 2021-03-18 11:30:22 -07:00
convex_polygon_shape_2d.cpp Rename Array.invert() to Array.reverse() 2021-03-21 10:20:08 +00:00
convex_polygon_shape_2d.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
convex_polygon_shape_3d.cpp Replace QuickHull with Bullet's convex hull computer. 2021-05-22 22:35:42 +02:00
convex_polygon_shape_3d.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
curve.cpp Curve2D/Curve3D: exact linear interpolation 2021-08-21 16:57:59 +09:00
curve.h Curve2D/Curve3D: exact linear interpolation 2021-08-21 16:57:59 +09:00
cylinder_shape_3d.cpp Removed _change_notify 2021-02-10 19:31:24 -03:00
cylinder_shape_3d.h Initialize class variables with default values in scene/ [2/2] 2021-02-09 18:24:36 +01:00
environment.cpp Validates set_sdfgi_cascades argument range 2021-08-02 23:50:59 +08:00
environment.h Merge pull request #45845 from qarmin/cppcheck_scene_2 2021-02-10 20:06:12 +01:00
font.cpp Makes FontData importable resource. 2021-08-27 15:43:18 +03:00
font.h Makes FontData importable resource. 2021-08-27 15:43:18 +03:00
gradient.cpp Initialize class variables with default values in scene/ [2/2] 2021-02-09 18:24:36 +01:00
gradient.h Initialize class variables with default values in scene/ [2/2] 2021-02-09 18:24:36 +01:00
height_map_shape_3d.cpp Some work on double support 2021-08-09 17:43:48 -05:00
height_map_shape_3d.h Some work on double support 2021-08-09 17:43:48 -05:00
immediate_mesh.cpp Fix various typos with codespell 2021-07-25 11:21:51 +02:00
immediate_mesh.h Deprecate ImmediateGeometry 2021-06-30 14:14:41 -03:00
material.cpp Prevent shaders from generating code before the constructor finishes. 2021-09-21 11:51:39 +01:00
material.h Prevent shaders from generating code before the constructor finishes. 2021-09-21 11:51:39 +01:00
mesh.cpp Enclose unused components in DISABLE_DEPRECATED 2021-08-10 00:54:24 -04:00
mesh.h Options to clean/simplify convex hull generated from mesh 2021-07-07 12:14:12 -07:00
mesh_data_tool.cpp Some work on double support 2021-08-09 17:43:48 -05:00
mesh_data_tool.h Rename Reference to RefCounted 2021-06-11 18:48:42 +02:00
mesh_library.cpp Rename Variant TRANSFORM to TRANSFORM3D 2021-06-03 07:30:01 -04:00
mesh_library.h Rename Transform to Transform3D in core 2021-06-03 07:30:01 -04:00
multimesh.cpp Add PROPERTY_USAGE_NONE and use it 2021-06-17 19:10:26 -04:00
multimesh.h Rename Transform to Transform3D in core 2021-06-03 07:30:01 -04:00
navigation_mesh.cpp Uniformize layer names, script methods and documentation 2021-08-12 08:06:42 -07:00
navigation_mesh.h Uniformize layer names, script methods and documentation 2021-08-12 08:06:42 -07:00
packed_scene.cpp Fix loading packed scene with editable children at runtime 2021-08-27 14:49:47 -07:00
packed_scene.h Rename instance()->instantiate() when it's a verb 2021-06-19 20:49:18 -06:00
particles_material.cpp Prevent shaders from generating code before the constructor finishes. 2021-09-21 11:51:39 +01:00
particles_material.h Prevent shaders from generating code before the constructor finishes. 2021-09-21 11:51:39 +01:00
physics_material.cpp Allow values > 1 for friction and bounce in PhysicsMaterial 2021-05-03 17:48:23 -07:00
physics_material.h Initialize class variables with default values in scene/ [2/2] 2021-02-09 18:24:36 +01:00
polygon_path_finder.cpp Some work on double support 2021-08-09 17:43:48 -05:00
polygon_path_finder.h Initialize class variables with default values in scene/ [2/2] 2021-02-09 18:24:36 +01:00
primitive_meshes.cpp Fixes the normals of SphereMesh when the sphere/hemisphere is oblong 2021-08-22 21:45:39 +01:00
primitive_meshes.h Make radius & height in CapsuleShape3D independent 2021-08-11 14:54:53 -07:00
rectangle_shape_2d.cpp Re-add extents property to box shapes for compatibility 2021-06-17 17:10:52 -04:00
rectangle_shape_2d.h Re-add extents property to box shapes for compatibility 2021-06-17 17:10:52 -04:00
resource_format_text.cpp Rename String::is_rel_path to String::is_relative_path 2021-08-29 20:41:29 -04:00
resource_format_text.h Implement Resource UIDs 2021-07-24 09:16:52 -03:00
SCsub SCons: Add explicit dependencies on thirdparty code in cloned env 2020-12-18 10:29:34 +01:00
segment_shape_2d.cpp Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
segment_shape_2d.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
separation_ray_shape_2d.cpp Rename RayShape to SeparationRayShape 2021-08-24 17:34:55 -07:00
separation_ray_shape_2d.h Rename RayShape to SeparationRayShape 2021-08-24 17:34:55 -07:00
separation_ray_shape_3d.cpp Rename RayShape to SeparationRayShape 2021-08-24 17:34:55 -07:00
separation_ray_shape_3d.h Rename RayShape to SeparationRayShape 2021-08-24 17:34:55 -07:00
shader.cpp Preserve original name in shader params cache 2021-08-05 18:31:08 -05:00
shader.h Improve resource load cache 2021-02-11 15:44:28 -03:00
shape_2d.cpp Added option in project settings to draw Shape2D outlines 2021-02-25 07:52:50 -07:00
shape_2d.h Added option in project settings to draw Shape2D outlines 2021-02-25 07:52:50 -07:00
shape_3d.cpp Rename Transform to Transform3D in core 2021-06-03 07:30:01 -04:00
shape_3d.h Rename Transform to Transform3D in core 2021-06-03 07:30:01 -04:00
skeleton_modification_2d.cpp Replace BIND_VMETHOD by new GDVIRTUAL syntax 2021-08-22 08:23:58 -03:00
skeleton_modification_2d.h Replace BIND_VMETHOD by new GDVIRTUAL syntax 2021-08-22 08:23:58 -03:00
skeleton_modification_2d_ccdik.cpp Use get_global_* functions instead of using transforms. 2021-08-14 14:01:57 +05:45
skeleton_modification_2d_ccdik.h New and improved IK system for Skeleton2D 2021-06-05 15:19:51 -04:00
skeleton_modification_2d_fabrik.cpp Fixed magnet vector not working correctly in SkeletonModification2DFABRIK 2021-08-17 20:56:07 -04:00
skeleton_modification_2d_fabrik.h New and improved IK system for Skeleton2D 2021-06-05 15:19:51 -04:00
skeleton_modification_2d_jiggle.cpp Use get_global_* functions instead of using transforms. 2021-08-14 14:01:57 +05:45
skeleton_modification_2d_jiggle.h New and improved IK system for Skeleton2D 2021-06-05 15:19:51 -04:00
skeleton_modification_2d_lookat.cpp Use get_global_* functions instead of using transforms. 2021-08-14 14:01:57 +05:45
skeleton_modification_2d_lookat.h New and improved IK system for Skeleton2D 2021-06-05 15:19:51 -04:00
skeleton_modification_2d_physicalbones.cpp New and improved IK system for Skeleton2D 2021-06-05 15:19:51 -04:00
skeleton_modification_2d_physicalbones.h New and improved IK system for Skeleton2D 2021-06-05 15:19:51 -04:00
skeleton_modification_2d_stackholder.cpp New and improved IK system for Skeleton2D 2021-06-05 15:19:51 -04:00
skeleton_modification_2d_stackholder.h New and improved IK system for Skeleton2D 2021-06-05 15:19:51 -04:00
skeleton_modification_2d_twoboneik.cpp Use get_global_* functions instead of using transforms. 2021-08-14 14:01:57 +05:45
skeleton_modification_2d_twoboneik.h New and improved IK system for Skeleton2D 2021-06-05 15:19:51 -04:00
skeleton_modification_3d.cpp Replace BIND_VMETHOD by new GDVIRTUAL syntax 2021-08-22 08:23:58 -03:00
skeleton_modification_3d.h Replace BIND_VMETHOD by new GDVIRTUAL syntax 2021-08-22 08:23:58 -03:00
skeleton_modification_3d_ccdik.cpp New and improved IK system for Skeleton3D 2021-08-14 15:57:00 -04:00
skeleton_modification_3d_ccdik.h New and improved IK system for Skeleton3D 2021-08-14 15:57:00 -04:00
skeleton_modification_3d_fabrik.cpp New and improved IK system for Skeleton3D 2021-08-14 15:57:00 -04:00
skeleton_modification_3d_fabrik.h New and improved IK system for Skeleton3D 2021-08-14 15:57:00 -04:00
skeleton_modification_3d_jiggle.cpp New and improved IK system for Skeleton3D 2021-08-14 15:57:00 -04:00
skeleton_modification_3d_jiggle.h New and improved IK system for Skeleton3D 2021-08-14 15:57:00 -04:00
skeleton_modification_3d_lookat.cpp New and improved IK system for Skeleton3D 2021-08-14 15:57:00 -04:00
skeleton_modification_3d_lookat.h New and improved IK system for Skeleton3D 2021-08-14 15:57:00 -04:00
skeleton_modification_3d_stackholder.cpp New and improved IK system for Skeleton3D 2021-08-14 15:57:00 -04:00
skeleton_modification_3d_stackholder.h New and improved IK system for Skeleton3D 2021-08-14 15:57:00 -04:00
skeleton_modification_3d_twoboneik.cpp New and improved IK system for Skeleton3D 2021-08-14 15:57:00 -04:00
skeleton_modification_3d_twoboneik.h New and improved IK system for Skeleton3D 2021-08-14 15:57:00 -04:00
skeleton_modification_stack_2d.cpp Validate parameter of SkeletonModificationStack2D::add_modification 2021-06-13 14:07:01 +08:00
skeleton_modification_stack_2d.h New and improved IK system for Skeleton2D 2021-06-05 15:19:51 -04:00
skeleton_modification_stack_3d.cpp New and improved IK system for Skeleton3D 2021-08-14 15:57:00 -04:00
skeleton_modification_stack_3d.h New and improved IK system for Skeleton3D 2021-08-14 15:57:00 -04:00
skin.cpp Rename Variant TRANSFORM to TRANSFORM3D 2021-06-03 07:30:01 -04:00
skin.h Rename Transform to Transform3D in core 2021-06-03 07:30:01 -04:00
sky.cpp Initialize class variables with default values in scene/ [2/2] 2021-02-09 18:24:36 +01:00
sky.h Initialize class variables with default values in scene/ [2/2] 2021-02-09 18:24:36 +01:00
sky_material.cpp Merge pull request #50159 from Calinou/standardmaterial3d-add-shader-comment 2021-08-16 13:00:55 +02:00
sky_material.h Make Sky initialize shaders only once 2021-07-21 09:23:51 -03:00
sphere_shape_3d.cpp Removed _change_notify 2021-02-10 19:31:24 -03:00
sphere_shape_3d.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
sprite_frames.cpp Use doubles for time in many other places 2021-08-09 14:05:42 -05:00
sprite_frames.h Use doubles for time in many other places 2021-08-09 14:05:42 -05:00
style_box.cpp Use real_t and double where appropriate in Particles 2021-08-12 11:35:31 -05:00
style_box.h Use real_t and double where appropriate in Particles 2021-08-12 11:35:31 -05:00
surface_tool.cpp Fix crash when number of indices to optimize is not a multiple of 3 2021-08-02 23:07:18 +08:00
surface_tool.h Rename Reference to RefCounted 2021-06-11 18:48:42 +02:00
syntax_highlighter.cpp Restore syntax highlighting 2021-08-23 18:08:17 +02:00
syntax_highlighter.h Replace BIND_VMETHOD by new GDVIRTUAL syntax 2021-08-22 08:23:58 -03:00
text_file.cpp Core: Move DirAccess and FileAccess to core/io 2021-06-11 14:52:39 +02:00
text_file.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
text_line.cpp Makes FontData importable resource. 2021-08-27 15:43:18 +03:00
text_line.h Merge pull request #51178 from Geometror/layout-options-textline-textparagraph 2021-08-11 07:51:57 +02:00
text_paragraph.cpp Makes FontData importable resource. 2021-08-27 15:43:18 +03:00
text_paragraph.h Merge pull request #51178 from Geometror/layout-options-textline-textparagraph 2021-08-11 07:51:57 +02:00
texture.cpp Add an use_hdr property to GradientTexture to allow storing HDR colors 2021-08-13 23:16:24 +02:00
texture.h Add an use_hdr property to GradientTexture to allow storing HDR colors 2021-08-13 23:16:24 +02:00
theme.cpp Add support for partial custom editor themes 2021-08-14 02:03:07 +03:00
theme.h Add support for partial custom editor themes 2021-08-14 02:03:07 +03:00
tile_set.cpp Implement properties arrays in the Inspector. 2021-09-07 09:51:28 +02:00
tile_set.h Implement properties arrays in the Inspector. 2021-09-07 09:51:28 +02:00
video_stream.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
visual_shader.cpp Fix misspelled "overriden" 2021-08-26 01:44:01 +08:00
visual_shader.h Replace BIND_VMETHOD by new GDVIRTUAL syntax 2021-08-22 08:23:58 -03:00
visual_shader_nodes.cpp Added missed limiters for Visual Shader node enums 2021-08-15 19:10:51 +03:00
visual_shader_nodes.h Added missed limiters for Visual Shader node enums 2021-08-15 19:10:51 +03:00
visual_shader_particle_nodes.cpp Added missed limiters for Visual Shader node enums 2021-08-15 19:10:51 +03:00
visual_shader_particle_nodes.h Fix incorrect inheritance of VisualShaderNodeParticleAccelerator 2021-08-16 14:17:31 +03:00
visual_shader_sdf_nodes.cpp Use C++11 raw literals for shader code to improve readability 2021-07-19 08:19:50 +02:00
visual_shader_sdf_nodes.h Added SDF nodes to visual shader 2021-01-18 15:04:54 +01:00
world_2d.cpp Add PROPERTY_USAGE_NONE and use it 2021-06-17 19:10:26 -04:00
world_2d.h Rename VisibilityNotifierXD to VisibleOnScreenNotifierXD 2021-06-16 22:01:39 -03:00
world_3d.cpp Add PROPERTY_USAGE_NONE and use it 2021-06-17 19:10:26 -04:00
world_3d.h Rename VisibilityNotifierXD to VisibleOnScreenNotifierXD 2021-06-16 22:01:39 -03:00
world_margin_shape_2d.cpp Rename LineShape2D to WorldMarginShape2D 2021-08-14 03:12:13 +02:00
world_margin_shape_2d.h Rename LineShape2D to WorldMarginShape2D 2021-08-14 03:12:13 +02:00
world_margin_shape_3d.cpp Removed _change_notify 2021-02-10 19:31:24 -03:00
world_margin_shape_3d.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00