tornavis/source/blender/functions
Hans Goudey 81a63153d0 Despgraph: Rename "copy-on-write" to "copy-on-evaluation"
The depsgraph CoW mechanism is a bit of a misnomer. It creates an
evaluated copy for data-blocks regardless of whether the copy will
actually be written to. The point is to have physical separation between
original and evaluated data. This is in contrast to the commonly used
performance improvement of keeping a user count and copying data
implicitly when it needs to be changed. In Blender code we call this
"implicit sharing" instead. Importantly, the dependency graph has no
idea about the _actual_ CoW behavior in Blender.

Renaming this functionality in the despgraph removes some of the
confusion that comes up when talking about this, and will hopefully
make the depsgraph less confusing to understand initially too. Wording
like "the evaluated copy" (as opposed to the original data-block) has
also become common anyway.

Pull Request: https://projects.blender.org/blender/blender/pulls/118338
2024-02-19 15:54:08 +01:00
..
intern Despgraph: Rename "copy-on-write" to "copy-on-evaluation" 2024-02-19 15:54:08 +01:00
tests Functions: refactor lazy-function graph interface 2023-09-17 13:54:09 +02:00
CMakeLists.txt Tests: add option to build one binary per GTest file 2024-01-03 18:35:50 +01:00
FN_field.hh Cleanup: simplify naming of get_default_hash 2024-01-26 11:45:56 +01:00
FN_lazy_function.hh Geometry Nodes: refactor storage for socket values 2023-12-17 14:00:07 +01:00
FN_lazy_function_execute.hh Cleanup: Remove const for Span and by-value types in headers 2023-12-13 09:39:03 -05:00
FN_lazy_function_graph.hh Functions: add lazy-function graph input/output getter methods 2023-10-08 16:01:56 +02:00
FN_lazy_function_graph_executor.hh Functions: use array indexing instead of VectorSet in graph executor 2023-09-17 14:27:01 +02:00
FN_multi_function.hh Cleanup: forbid implicit copy and move for multi function 2023-08-31 16:01:29 +02:00
FN_multi_function_builder.hh Clang Format: bump to version 17 2024-01-03 13:38:14 +01:00
FN_multi_function_context.hh Clang Format: bump to version 17 2024-01-03 13:38:14 +01:00
FN_multi_function_data_type.hh Cleanup: simplify naming of get_default_hash 2024-01-26 11:45:56 +01:00
FN_multi_function_param_type.hh Cleanup: reduce boilerplate for equality operators for structs 2023-11-20 09:39:13 +01:00
FN_multi_function_params.hh Geometry Nodes: refactor storage for socket values 2023-12-17 14:00:07 +01:00
FN_multi_function_procedure.hh Clang Format: bump to version 17 2024-01-03 13:38:14 +01:00
FN_multi_function_procedure_builder.hh License Headers: Set copyright to "Blender Authors", add AUTHORS 2023-08-16 00:20:26 +10:00
FN_multi_function_procedure_executor.hh License Headers: Set copyright to "Blender Authors", add AUTHORS 2023-08-16 00:20:26 +10:00
FN_multi_function_procedure_optimization.hh License Headers: Set copyright to "Blender Authors", add AUTHORS 2023-08-16 00:20:26 +10:00
FN_multi_function_signature.hh Cleanup: remove spaces from commented arguments 2023-09-22 12:21:18 +10:00