diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-07-27 15:57:47 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-07-27 16:19:36 +0300 |
commit | cf38371155e188043bac68831977fbc958824d38 (patch) | |
tree | ec9368077a018c7aed1711eb4e5a94091311c6d7 /source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.h | |
parent | 55527d83e2986c46cb6e89b8d0eec17a15e0ab12 (diff) |
Depsgraph: Create ID nodes on build-time expansion using node builder
This will allow us to do some builder-specific trickery when ID nodes are
requested to be created from build-time expansion.
Diffstat (limited to 'source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.h')
-rw-r--r-- | source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.h | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.h b/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.h index 52fe58e3391..a2b57cb7198 100644 --- a/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.h +++ b/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.h @@ -30,6 +30,8 @@ #pragma once +#include <stddef.h> + struct EvaluationContext; struct ID; @@ -48,24 +50,27 @@ struct ID; namespace DEG { struct Depsgraph; +struct DepsgraphNodeBuilder; struct IDDepsNode; /* Get fully expanded (ready for use) copy-on-write datablock for the given * original datablock. */ -ID *deg_expand_copy_on_write_datablock(struct Depsgraph *depsgraph, +ID *deg_expand_copy_on_write_datablock(const struct Depsgraph *depsgraph, const IDDepsNode *id_node, - bool create_placeholders); -ID *deg_expand_copy_on_write_datablock(struct Depsgraph *depsgraph, + DepsgraphNodeBuilder *node_builder = NULL, + bool create_placeholders = false); +ID *deg_expand_copy_on_write_datablock(const struct Depsgraph *depsgraph, struct ID *id_orig, - bool create_placeholders); + DepsgraphNodeBuilder *node_builder = NULL, + bool create_placeholders = false); /* Makes sure given CoW datablock is brought back to state of the original * datablock. */ -ID *deg_update_copy_on_write_datablock(/*const*/ struct Depsgraph *depsgraph, +ID *deg_update_copy_on_write_datablock(const struct Depsgraph *depsgraph, const IDDepsNode *id_node); -ID *deg_update_copy_on_write_datablock(/*const*/ struct Depsgraph *depsgraph, +ID *deg_update_copy_on_write_datablock(const struct Depsgraph *depsgraph, struct ID *id_orig); /* Helper function which frees memory used by copy-on-written databnlock. */ @@ -75,7 +80,7 @@ void deg_free_copy_on_write_datablock(struct ID *id_cow); * datablock is ready for use by further evaluation routines. */ void deg_evaluate_copy_on_write(const struct EvaluationContext *eval_ctx, - /*const*/ struct Depsgraph *depsgraph, + const struct Depsgraph *depsgraph, const struct IDDepsNode *id_node); /* Check that given ID is propely expanded and does not have any shallow |