blender/intern
Kévin Dietrich 626201683e Cycles: add update flags to Node and SocketType
Those flags are meant for detecting which socket has changed, so in the
future we can have more granular updates.

`Node` now stores an `update_flags` member which is modified every time
a socket is changed though `Node::set`. The flags are or-able bits
stored in `SocketType` instances. Each `SocketType` stores a unique bit
out of 64, for the 64 bits of an uint64_t; the bit
corresponds to the index of the socket in the `Node`'s sockets array +
1, so the socket at index 5 will have the 6th bit set as its flag. This
limits us to 64 sockets per Node, which should be plenty for the current
set of `Nodes` that we have.

This does not change the behavior of other parts of Cycles.

This is part of T79131.

Reviewed By: brecht

Maniphest Tasks: T79131

Differential Revision: https://developer.blender.org/D8644
2020-09-22 14:50:43 +02:00
..
atomic Cleanup: make format after SortedIncludes change 2020-03-19 09:33:58 +01:00
audaspace Cleanup: make format after SortedIncludes change 2020-03-19 09:33:58 +01:00
clog Cleanup: spelling 2020-09-15 10:23:41 +10:00
cycles Cycles: add update flags to Node and SocketType 2020-09-22 14:50:43 +02:00
dualcon Cleanup: redundant parenthesis, NULL checks 2020-04-20 12:15:49 +10:00
eigen Cleanup: make format after SortedIncludes change 2020-03-19 09:33:58 +01:00
ffmpeg Tests: bundle tests for some modules in their own executables 2020-09-17 12:29:19 +02:00
ghost Cleanup: use C style doxygen comments 2020-09-12 16:33:34 +10:00
glew-mx Cleanup: GPUState: Remove stack from the state manager and rename it 2020-08-18 21:30:10 +02:00
guardedalloc Cleanup: use parenthesis for if statements in macros 2020-09-19 16:28:17 +10:00
iksolver Cleanup: make format after SortedIncludes change 2020-03-19 09:33:58 +01:00
itasc Cleanup: typos & co in UI messages (and some other places). 2020-08-04 13:26:58 +02:00
libc_compat Build: add more libc compatibility functions for upcoming libraries update 2020-07-09 18:10:05 +02:00
libmv T73268: Link C/C++ unit tests into single executable 2020-07-16 12:58:49 +02:00
locale Cleanup: make format after SortedIncludes change 2020-03-19 09:33:58 +01:00
mantaflow Fluid: Fix for script export (standalone mode) 2020-09-22 14:02:53 +02:00
memutil Cleanup: use C style doxygen comments 2020-09-12 16:33:34 +10:00
mikktspace Cleanup: make format after SortedIncludes change 2020-03-19 09:33:58 +01:00
numaapi numaapi: Sync with upstream 2020-08-24 07:45:39 -06:00
opencolorio Cleanup: consistent TODO/FIXME formatting for names 2020-09-19 14:34:32 +10:00
opensubdiv CMake/OpenSubdiv: Rename INCLUDE_DIR -> INCLUDE_DIRS. 2020-09-18 19:12:26 +05:30
openvdb Cleanup: make format after SortedIncludes change 2020-03-19 09:33:58 +01:00
quadriflow Quadriflow: Fix compilation error with C++17 2020-06-19 12:02:21 +02:00
rigidbody Fix missing "extern_bullet" library when building rigidbodies 2020-09-02 19:44:29 +02:00
sky Merge branch 'blender-v2.90-release' 2020-08-10 18:30:53 +02:00
utfconv Cleanup: make format after SortedIncludes change 2020-03-19 09:33:58 +01:00
CMakeLists.txt Tests: move remaining gtests into their own module folders 2020-08-10 18:14:00 +02:00