commit 8902d6d4feea7cb045363fe07fe7d072912c5219 Author: Pedro J. Estébanez Date: Wed Feb 10 00:42:15 2021 +0100 rid safe diff --git a/drivers/dummy/rasterizer_dummy.h b/drivers/dummy/rasterizer_dummy.h index 184267734a..eea3576b62 100644 --- a/drivers/dummy/rasterizer_dummy.h +++ b/drivers/dummy/rasterizer_dummy.h @@ -238,8 +238,8 @@ public: RS::BlendShapeMode blend_shape_mode = RS::BlendShapeMode::BLEND_SHAPE_MODE_NORMALIZED; }; - mutable RID_PtrOwner texture_owner; - mutable RID_PtrOwner mesh_owner; + mutable RID_PtrOwner texture_owner; + mutable RID_PtrOwner mesh_owner; RID texture_2d_create(const Ref &p_image) override { return RID(); } RID texture_2d_layered_create(const Vector> &p_layers, RS::TextureLayeredType p_layered_type) override { return RID(); } @@ -788,7 +788,7 @@ public: } }; - mutable RID_PtrOwner lightmap_capture_data_owner; + mutable RID_PtrOwner lightmap_capture_data_owner; void lightmap_capture_set_bounds(RID p_capture, const AABB &p_bounds) override {} AABB lightmap_capture_get_bounds(RID p_capture) const override { return AABB(); } void lightmap_capture_set_octree(RID p_capture, const Vector &p_octree) override {} diff --git a/drivers/vulkan/rendering_device_vulkan.h b/drivers/vulkan/rendering_device_vulkan.h index a2527d5c33..93b4030293 100644 --- a/drivers/vulkan/rendering_device_vulkan.h +++ b/drivers/vulkan/rendering_device_vulkan.h @@ -161,7 +161,7 @@ class RenderingDeviceVulkan : public RenderingDevice { /**** SAMPLER ****/ /*****************/ - RID_Owner sampler_owner; + RID_Owner sampler_owner; /***************************/ /**** BUFFER MANAGEMENT ****/ diff --git a/servers/physics_2d/physics_server_2d_sw.h b/servers/physics_2d/physics_server_2d_sw.h index cdaf8d3e7b..e3da0a43af 100644 --- a/servers/physics_2d/physics_server_2d_sw.h +++ b/servers/physics_2d/physics_server_2d_sw.h @@ -61,11 +61,11 @@ class PhysicsServer2DSW : public PhysicsServer2D { PhysicsDirectBodyState2DSW *direct_state; - mutable RID_PtrOwner shape_owner; - mutable RID_PtrOwner space_owner; - mutable RID_PtrOwner area_owner; - mutable RID_PtrOwner body_owner; - mutable RID_PtrOwner joint_owner; + mutable RID_PtrOwner shape_owner; + mutable RID_PtrOwner space_owner; + mutable RID_PtrOwner area_owner; + mutable RID_PtrOwner body_owner; + mutable RID_PtrOwner joint_owner; static PhysicsServer2DSW *singletonsw; diff --git a/servers/physics_3d/physics_server_3d_sw.h b/servers/physics_3d/physics_server_3d_sw.h index 9a3948ab36..9d81004684 100644 --- a/servers/physics_3d/physics_server_3d_sw.h +++ b/servers/physics_3d/physics_server_3d_sw.h @@ -59,11 +59,13 @@ class PhysicsServer3DSW : public PhysicsServer3D { PhysicsDirectBodyState3DSW *direct_state; - mutable RID_PtrOwner shape_owner; - mutable RID_PtrOwner space_owner; - mutable RID_PtrOwner area_owner; - mutable RID_PtrOwner body_owner; - mutable RID_PtrOwner joint_owner; + mutable RID_PtrOwner shape_owner; + mutable RID_PtrOwner space_owner; + mutable RID_PtrOwner area_owner; + mutable RID_PtrOwner body_owner; + mutable RID_PtrOwner joint_owner; + + static PhysicsServer3DSW *singletonsw; //void _clear_query(QuerySW *p_query); friend class CollisionObject3DSW; diff --git a/servers/rendering/renderer_canvas_cull.cpp b/servers/rendering/renderer_canvas_cull.cpp index 873c73d597..e34bc9acb8 100644 --- a/servers/rendering/renderer_canvas_cull.cpp +++ b/servers/rendering/renderer_canvas_cull.cpp @@ -97,7 +97,7 @@ void _collect_ysort_children(RendererCanvasCull::Item *p_canvas_item, Transform2 } } -void _mark_ysort_dirty(RendererCanvasCull::Item *ysort_owner, RID_PtrOwner &canvas_item_owner) { +void _mark_ysort_dirty(RendererCanvasCull::Item *ysort_owner, RID_PtrOwner &canvas_item_owner) { do { ysort_owner->ysort_children_count = -1; ysort_owner = canvas_item_owner.owns(ysort_owner->parent) ? canvas_item_owner.getornull(ysort_owner->parent) : nullptr; diff --git a/servers/rendering/renderer_canvas_cull.h b/servers/rendering/renderer_canvas_cull.h index b8580e7141..b71f8e5a9a 100644 --- a/servers/rendering/renderer_canvas_cull.h +++ b/servers/rendering/renderer_canvas_cull.h @@ -101,9 +101,9 @@ public: } }; - RID_PtrOwner canvas_light_occluder_polygon_owner; + RID_PtrOwner canvas_light_occluder_polygon_owner; - RID_PtrOwner canvas_light_occluder_owner; + RID_PtrOwner canvas_light_occluder_owner; struct Canvas : public RendererViewport::CanvasBase { Set viewports; @@ -148,9 +148,9 @@ public: } }; - mutable RID_PtrOwner canvas_owner; - RID_PtrOwner canvas_item_owner; - RID_PtrOwner canvas_light_owner; + mutable RID_PtrOwner canvas_owner; + RID_PtrOwner canvas_item_owner; + RID_PtrOwner canvas_light_owner; bool disable_scale; bool sdf_used = false; diff --git a/servers/rendering/renderer_rd/renderer_canvas_render_rd.h b/servers/rendering/renderer_rd/renderer_canvas_render_rd.h index cb947d7180..72e43300e3 100644 --- a/servers/rendering/renderer_rd/renderer_canvas_render_rd.h +++ b/servers/rendering/renderer_rd/renderer_canvas_render_rd.h @@ -270,7 +270,7 @@ class RendererCanvasRenderRD : public RendererCanvasRender { } shadow; }; - RID_Owner canvas_light_owner; + RID_Owner canvas_light_owner; struct ShadowRenderPushConstant { float projection[16]; @@ -314,7 +314,7 @@ class RendererCanvasRenderRD : public RendererCanvasRender { float atlas_rect[4]; }; - RID_Owner occluder_polygon_owner; + RID_Owner occluder_polygon_owner; enum ShadowRenderMode { SHADOW_RENDER_MODE_SHADOW, diff --git a/servers/rendering/renderer_rd/renderer_scene_render_rd.h b/servers/rendering/renderer_rd/renderer_scene_render_rd.h index 1e33df09ab..ca9c3177b4 100644 --- a/servers/rendering/renderer_rd/renderer_scene_render_rd.h +++ b/servers/rendering/renderer_rd/renderer_scene_render_rd.h @@ -333,7 +333,7 @@ private: uint32_t sky_ggx_samples_quality; bool sky_use_cubemap_array; - mutable RID_Owner sky_owner; + mutable RID_Owner sky_owner; /* REFLECTION ATLAS */ @@ -356,7 +356,7 @@ private: ClusterBuilderRD *cluster_builder = nullptr; }; - mutable RID_Owner reflection_atlas_owner; + mutable RID_Owner reflection_atlas_owner; /* REFLECTION PROBE INSTANCE */ @@ -377,7 +377,7 @@ private: Transform transform; }; - mutable RID_Owner reflection_probe_instance_owner; + mutable RID_Owner reflection_probe_instance_owner; /* DECAL INSTANCE */ @@ -386,7 +386,7 @@ private: Transform transform; }; - mutable RID_Owner decal_instance_owner; + mutable RID_Owner decal_instance_owner; /* LIGHTMAP INSTANCE */ @@ -395,7 +395,7 @@ private: Transform transform; }; - mutable RID_Owner lightmap_instance_owner; + mutable RID_Owner lightmap_instance_owner; /* GIPROBE INSTANCE */ @@ -514,7 +514,7 @@ private: RID giprobe_lighting_shader_version_shaders[GI_PROBE_SHADER_VERSION_MAX]; RID giprobe_lighting_shader_version_pipelines[GI_PROBE_SHADER_VERSION_MAX]; - mutable RID_Owner gi_probe_instance_owner; + mutable RID_Owner gi_probe_instance_owner; RS::GIProbeQuality gi_probe_quality = RS::GI_PROBE_QUALITY_HIGH; @@ -593,7 +593,7 @@ private: Map shadow_owners; }; - RID_Owner shadow_atlas_owner; + RID_Owner shadow_atlas_owner; void _update_shadow_atlas(ShadowAtlas *shadow_atlas); @@ -686,7 +686,7 @@ private: LightInstance() {} }; - mutable RID_Owner light_instance_owner; + mutable RID_Owner light_instance_owner; /* ENVIRONMENT */ @@ -809,7 +809,7 @@ private: static uint64_t auto_exposure_counter; - mutable RID_Owner environment_owner; + mutable RID_Owner environment_owner; /* CAMERA EFFECTS */ @@ -835,7 +835,7 @@ private: float sss_scale = 0.05; float sss_depth_scale = 0.01; - mutable RID_Owner camera_effects_owner; + mutable RID_Owner camera_effects_owner; /* RENDER BUFFERS */ @@ -1318,7 +1318,7 @@ private: float screen_space_roughness_limiter_amount = 0.25; float screen_space_roughness_limiter_limit = 0.18; - mutable RID_Owner render_buffers_owner; + mutable RID_Owner render_buffers_owner; void _free_render_buffer_data(RenderBuffers *rb); void _allocate_blur_textures(RenderBuffers *rb); diff --git a/servers/rendering/renderer_rd/renderer_storage_rd.h b/servers/rendering/renderer_rd/renderer_storage_rd.h index 545ad94ea9..ae717c7de5 100644 --- a/servers/rendering/renderer_rd/renderer_storage_rd.h +++ b/servers/rendering/renderer_rd/renderer_storage_rd.h @@ -221,7 +221,7 @@ private: ~CanvasTexture(); }; - RID_PtrOwner canvas_texture_owner; + RID_PtrOwner canvas_texture_owner; /* TEXTURE API */ struct Texture { @@ -367,7 +367,7 @@ private: }; ShaderDataRequestFunction shader_data_request_func[SHADER_TYPE_MAX]; - mutable RID_Owner shader_owner; + mutable RID_Owner shader_owner; /* Material */ @@ -389,7 +389,7 @@ private: }; MaterialDataRequestFunction material_data_request_func[SHADER_TYPE_MAX]; - mutable RID_Owner material_owner; + mutable RID_Owner material_owner; Material *material_update_list; void _material_queue_update(Material *material, bool p_uniform, bool p_texture); @@ -484,7 +484,7 @@ private: Dependency dependency; }; - mutable RID_Owner mesh_owner; + mutable RID_Owner mesh_owner; struct MeshInstance { Mesh *mesh; @@ -513,7 +513,7 @@ private: void _mesh_instance_clear(MeshInstance *mi); void _mesh_instance_add_surface(MeshInstance *mi, Mesh *mesh, uint32_t p_surface); - mutable RID_PtrOwner mesh_instance_owner; + mutable RID_PtrOwner mesh_instance_owner; SelfList::List dirty_mesh_instance_weights; SelfList::List dirty_mesh_instance_arrays; @@ -587,7 +587,7 @@ private: Dependency dependency; }; - mutable RID_Owner multimesh_owner; + mutable RID_Owner multimesh_owner; MultiMesh *multimesh_dirty_list = nullptr; @@ -893,7 +893,7 @@ private: void update_particles(); - mutable RID_Owner particles_owner; + mutable RID_Owner particles_owner; /* Particles Collision */ @@ -915,7 +915,7 @@ private: Dependency dependency; }; - mutable RID_Owner particles_collision_owner; + mutable RID_Owner particles_collision_owner; struct ParticlesCollisionInstance { RID collision; @@ -923,7 +923,7 @@ private: bool active = false; }; - mutable RID_Owner particles_collision_instance_owner; + mutable RID_Owner particles_collision_instance_owner; /* Skeleton */ @@ -945,7 +945,7 @@ private: Dependency dependency; }; - mutable RID_Owner skeleton_owner; + mutable RID_Owner skeleton_owner; _FORCE_INLINE_ void _skeleton_make_dirty(Skeleton *skeleton); @@ -977,7 +977,7 @@ private: Dependency dependency; }; - mutable RID_Owner light_owner; + mutable RID_Owner light_owner; /* REFLECTION PROBE */ @@ -1000,7 +1000,7 @@ private: Dependency dependency; }; - mutable RID_Owner reflection_probe_owner; + mutable RID_Owner reflection_probe_owner; /* DECAL */ @@ -1021,7 +1021,7 @@ private: Dependency dependency; }; - mutable RID_Owner decal_owner; + mutable RID_Owner decal_owner; /* GI PROBE */ @@ -1064,7 +1064,7 @@ private: RID giprobe_sdf_shader_version_shader; RID giprobe_sdf_shader_pipeline; - mutable RID_Owner gi_probe_owner; + mutable RID_Owner gi_probe_owner; /* REFLECTION PROBE */ @@ -1095,7 +1095,7 @@ private: uint64_t lightmap_array_version = 0; - mutable RID_Owner lightmap_owner; + mutable RID_Owner lightmap_owner; float lightmap_probe_capture_update_speed = 4; @@ -1145,7 +1145,7 @@ private: Color clear_color; }; - mutable RID_Owner render_target_owner; + mutable RID_Owner render_target_owner; void _clear_render_target(RenderTarget *rt); void _update_render_target(RenderTarget *rt); diff --git a/servers/rendering/renderer_rd/shader_rd.h b/servers/rendering/renderer_rd/shader_rd.h index e0f4dcf2d0..e631c708c2 100644 --- a/servers/rendering/renderer_rd/shader_rd.h +++ b/servers/rendering/renderer_rd/shader_rd.h @@ -74,7 +74,7 @@ class ShaderRD { void _clear_version(Version *p_version); void _compile_version(Version *p_version); - RID_Owner version_owner; + RID_Owner version_owner; CharString fragment_codev; //for version and extensions CharString fragment_code0; diff --git a/servers/rendering/renderer_scene_cull.h b/servers/rendering/renderer_scene_cull.h index 53df47598b..06fbf4d031 100644 --- a/servers/rendering/renderer_scene_cull.h +++ b/servers/rendering/renderer_scene_cull.h @@ -94,7 +94,7 @@ public: } }; - mutable RID_PtrOwner camera_owner; + mutable RID_PtrOwner camera_owner; virtual RID camera_allocate(); virtual void camera_initialize(RID p_rid); @@ -298,7 +298,7 @@ public: int indexer_update_iterations = 0; - mutable RID_PtrOwner scenario_owner; + mutable RID_PtrOwner scenario_owner; static void _instance_pair(Instance *p_A, Instance *p_B); static void _instance_unpair(Instance *p_A, Instance *p_B); @@ -827,7 +827,7 @@ public: uint32_t thread_cull_threshold = 200; - RID_PtrOwner instance_owner; + RID_PtrOwner instance_owner; uint32_t geometry_instance_pair_mask; // used in traditional forward, unnecesary on clustered diff --git a/servers/rendering/renderer_viewport.h b/servers/rendering/renderer_viewport.h index 4a05a93b4f..f5ed543e8d 100644 --- a/servers/rendering/renderer_viewport.h +++ b/servers/rendering/renderer_viewport.h @@ -165,7 +165,7 @@ public: uint64_t draw_viewports_pass = 0; - mutable RID_PtrOwner viewport_owner; + mutable RID_PtrOwner viewport_owner; struct ViewportSort { _FORCE_INLINE_ bool operator()(const Viewport *p_left, const Viewport *p_right) const {