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:
authorSergey Sharybin <sergey.vfx@gmail.com>2017-07-27 15:57:47 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2017-07-27 16:19:36 +0300
commitcf38371155e188043bac68831977fbc958824d38 (patch)
treeec9368077a018c7aed1711eb4e5a94091311c6d7 /source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.h
parent55527d83e2986c46cb6e89b8d0eec17a15e0ab12 (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.h19
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