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:
authorJacques Lucke <jacques@blender.org>2021-12-13 15:28:33 +0300
committerJacques Lucke <jacques@blender.org>2021-12-13 15:28:33 +0300
commit1686979747c3b551ec91e8a3b1c7a9724ca381b2 (patch)
tree7a85a1f4f78c127aef8d6eebf9048f88246deab9 /source/blender/functions/CMakeLists.txt
parente549d6c1bd2ded2f0d33db0489c68a84a822fd34 (diff)
Geometry Nodes: move up destruct instructions in procedure
This implements an optimization pass for multi-function procedures. It optimizes memory reuse by moving destruct instructions up. For more details see the in-code comment. In very large fields with many short lived intermediate values, this change can improve performance 3-4x. Furthermore, in such cases, peak memory consumption is reduced significantly (e.g. 100x lower peak memory usage). Differential Revision: https://developer.blender.org/D13548
Diffstat (limited to 'source/blender/functions/CMakeLists.txt')
-rw-r--r--source/blender/functions/CMakeLists.txt2
1 files changed, 2 insertions, 0 deletions
diff --git a/source/blender/functions/CMakeLists.txt b/source/blender/functions/CMakeLists.txt
index 63c11164275..9cfaf3eabea 100644
--- a/source/blender/functions/CMakeLists.txt
+++ b/source/blender/functions/CMakeLists.txt
@@ -38,6 +38,7 @@ set(SRC
intern/multi_function_procedure.cc
intern/multi_function_procedure_builder.cc
intern/multi_function_procedure_executor.cc
+ intern/multi_function_procedure_optimization.cc
FN_cpp_type.hh
FN_cpp_type_make.hh
@@ -59,6 +60,7 @@ set(SRC
FN_multi_function_procedure.hh
FN_multi_function_procedure_builder.hh
FN_multi_function_procedure_executor.hh
+ FN_multi_function_procedure_optimization.hh
FN_multi_function_signature.hh
)