浏览代码

Track LightInstance::shadow_atlases so that it will be freed properly

Hiroshi Ogawa 8 年之前
父节点
当前提交
1967972f6e
共有 1 个文件被更改,包括 2 次插入0 次删除
  1. 2 0
      drivers/gles3/rasterizer_scene_gles3.cpp

+ 2 - 0
drivers/gles3/rasterizer_scene_gles3.cpp

@@ -379,6 +379,7 @@ bool RasterizerSceneGLES3::shadow_atlas_update_light(RID p_atlas, RID p_light_in
 			sh->owner = p_light_intance;
 			sh->alloc_tick = tick;
 			sh->version = p_light_version;
+			li->shadow_atlases.insert(p_atlas);
 
 			//make new key
 			key = new_quadrant << ShadowAtlas::QUADRANT_SHIFT;
@@ -414,6 +415,7 @@ bool RasterizerSceneGLES3::shadow_atlas_update_light(RID p_atlas, RID p_light_in
 		sh->owner = p_light_intance;
 		sh->alloc_tick = tick;
 		sh->version = p_light_version;
+		li->shadow_atlases.insert(p_atlas);
 
 		//make new key
 		uint32_t key = new_quadrant << ShadowAtlas::QUADRANT_SHIFT;