diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2021-03-25 16:30:47 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2021-03-25 16:30:47 +0300 |
commit | 829e2e4a24963f341d6dfcabed19a513b321c0ae (patch) | |
tree | 2a21e4ceff6b071548040a74c5b7f4fef1546b9f /source/blender/draw/intern/draw_view_data.cc | |
parent | 09e1f276ff6296193fba7d151836bec56ce3a67a (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.cc | 6 |
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); |