Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2021-03-25 16:30:47 +0300
committerClément Foucault <foucault.clem@gmail.com>2021-03-25 16:30:47 +0300
commit829e2e4a24963f341d6dfcabed19a513b321c0ae (patch)
tree2a21e4ceff6b071548040a74c5b7f4fef1546b9f /source/blender/draw/intern/draw_view_data.cc
parent09e1f276ff6296193fba7d151836bec56ce3a67a (diff)
EEVEE: Add new engine managed per viewport data
This was engine(s) can have arbitrarily persistent resources and are responsible for freeing it properly.
Diffstat (limited to 'source/blender/draw/intern/draw_view_data.cc')
-rw-r--r--source/blender/draw/intern/draw_view_data.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/draw/intern/draw_view_data.cc b/source/blender/draw/intern/draw_view_data.cc
index 4997d9736b9..b8f22a846ba 100644
--- a/source/blender/draw/intern/draw_view_data.cc
+++ b/source/blender/draw/intern/draw_view_data.cc
@@ -115,6 +115,12 @@ static void draw_viewport_engines_data_clear(ViewportEngineData *data)
MEM_SAFE_FREE(data->stl->storage[i]);
}
+ if (data->instance_data) {
+ BLI_assert(engine_type->instance_free != nullptr);
+ engine_type->instance_free(data->instance_data);
+ data->instance_data = nullptr;
+ }
+
MEM_SAFE_FREE(data->fbl);
MEM_SAFE_FREE(data->txl);
MEM_SAFE_FREE(data->psl);