diff options
author | Juan Linietsky <reduzio@gmail.com> | 2019-06-10 12:38:51 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2020-02-11 11:53:26 +0100 |
commit | 4f163972bbd9c7379b01a1f9aa5310646ca7865e (patch) | |
tree | 3bbf4693663d8fc071912c114af782736ea17168 /drivers/gles2/rasterizer_scene_gles2.h | |
parent | 1522d8c3ee6ddf43267f124940f4e43612058407 (diff) | |
download | redot-engine-4f163972bbd9c7379b01a1f9aa5310646ca7865e.tar.gz |
Refactored RID/RID_Owner to always use O(1) allocation.
* Implements a growing chunked allocator
* Removed redudant methods get and getptr, only getornull is supported now.
Diffstat (limited to 'drivers/gles2/rasterizer_scene_gles2.h')
-rw-r--r-- | drivers/gles2/rasterizer_scene_gles2.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/gles2/rasterizer_scene_gles2.h b/drivers/gles2/rasterizer_scene_gles2.h index 74adae05aa..96e520aa92 100644 --- a/drivers/gles2/rasterizer_scene_gles2.h +++ b/drivers/gles2/rasterizer_scene_gles2.h @@ -225,7 +225,7 @@ public: uint64_t shadow_atlas_realloc_tolerance_msec; - struct ShadowAtlas : public RID_Data { + struct ShadowAtlas { enum { QUADRANT_SHIFT = 27, SHADOW_INDEX_MASK = (1 << QUADRANT_SHIFT) - 1, @@ -273,7 +273,7 @@ public: Vector<ShadowCubeMap> shadow_cubemaps; - RID_Owner<ShadowAtlas> shadow_atlas_owner; + RID_PtrOwner<ShadowAtlas> shadow_atlas_owner; RID shadow_atlas_create(); void shadow_atlas_set_size(RID p_atlas, int p_size); @@ -304,7 +304,7 @@ public: /* REFLECTION PROBE INSTANCE */ - struct ReflectionProbeInstance : public RID_Data { + struct ReflectionProbeInstance { RasterizerStorageGLES2::ReflectionProbe *probe_ptr; RID probe; @@ -330,7 +330,7 @@ public: Transform transform; }; - mutable RID_Owner<ReflectionProbeInstance> reflection_probe_instance_owner; + mutable RID_PtrOwner<ReflectionProbeInstance> reflection_probe_instance_owner; ReflectionProbeInstance **reflection_probe_instances; int reflection_probe_count; @@ -345,7 +345,7 @@ public: /* ENVIRONMENT API */ - struct Environment : public RID_Data { + struct Environment { VS::EnvironmentBG bg_mode; RID sky; @@ -459,7 +459,7 @@ public: } }; - mutable RID_Owner<Environment> environment_owner; + mutable RID_PtrOwner<Environment> environment_owner; virtual RID environment_create(); @@ -496,7 +496,7 @@ public: /* LIGHT INSTANCE */ - struct LightInstance : public RID_Data { + struct LightInstance { struct ShadowTransform { CameraMatrix camera; @@ -530,7 +530,7 @@ public: Set<RID> shadow_atlases; // atlases where this light is registered }; - mutable RID_Owner<LightInstance> light_instance_owner; + mutable RID_PtrOwner<LightInstance> light_instance_owner; virtual RID light_instance_create(RID p_light); virtual void light_instance_set_transform(RID p_light_instance, const Transform &p_transform); |