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>2019-09-30 14:09:39 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-10-01 17:02:14 +0300
commit5c79f2d0fba7360488e591922f91aa858bd8d603 (patch)
tree4b1550dec65baa6b404447fd1cde57d3125305a4 /source/blender/makesdna/DNA_node_types.h
parentcba1bdc40071cbdb90122db121a643f761edeb36 (diff)
Fix T70325 EEVEE: Performance regression with large nodetrees
This was caused by nodeChainIter which is not linear complexity. Introduce nodeChainIterBackwards to iterate backwards faster.
Diffstat (limited to 'source/blender/makesdna/DNA_node_types.h')
-rw-r--r--source/blender/makesdna/DNA_node_types.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h
index 702758b51ec..7eecf23195a 100644
--- a/source/blender/makesdna/DNA_node_types.h
+++ b/source/blender/makesdna/DNA_node_types.h
@@ -277,7 +277,9 @@ typedef struct bNode {
/** Used at runtime when going through the tree. Initialize before use. */
short tmp_flag;
/** Used at runtime to tag derivatives branches. EEVEE only. */
- short branch_tag;
+ char branch_tag;
+ /** Used at runtime when iterating over node branches. */
+ char iter_flag;
/** Runtime during drawing. */
struct uiBlock *block;