diff options
author | SaracenOne <SaracenOne@gmail.com> | 2022-02-10 10:34:34 +0000 |
---|---|---|
committer | SaracenOne <SaracenOne@gmail.com> | 2022-02-10 10:34:34 +0000 |
commit | 824ece9d89030bb0a57f8c86216ec014ce3b66d5 (patch) | |
tree | 11afa714e72097a425fdb29989448f0d554bd612 | |
parent | 79077e6c10db9e8e53a8134f72e326f3ffb9c51c (diff) |
Free surface vertex_buffers after vertex_arrays due dependencies
-rw-r--r-- | servers/rendering/renderer_rd/renderer_storage_rd.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/servers/rendering/renderer_rd/renderer_storage_rd.cpp b/servers/rendering/renderer_rd/renderer_storage_rd.cpp index f345001539..b42591f9a3 100644 --- a/servers/rendering/renderer_rd/renderer_storage_rd.cpp +++ b/servers/rendering/renderer_rd/renderer_storage_rd.cpp @@ -3578,15 +3578,15 @@ void RendererStorageRD::mesh_instance_set_blend_shape_weight(RID p_mesh_instance void RendererStorageRD::_mesh_instance_clear(MeshInstance *mi) { for (uint32_t i = 0; i < mi->surfaces.size(); i++) { - if (mi->surfaces[i].vertex_buffer.is_valid()) { - RD::get_singleton()->free(mi->surfaces[i].vertex_buffer); - } if (mi->surfaces[i].versions) { for (uint32_t j = 0; j < mi->surfaces[i].version_count; j++) { RD::get_singleton()->free(mi->surfaces[i].versions[j].vertex_array); } memfree(mi->surfaces[i].versions); } + if (mi->surfaces[i].vertex_buffer.is_valid()) { + RD::get_singleton()->free(mi->surfaces[i].vertex_buffer); + } } mi->surfaces.clear(); |