blender/intern
Kévin Dietrich 5a964664d6 Cycles: add reference counting to Nodes
This adds a reference count to Nodes which is incremented or decremented
whenever they are added to or removed from a socket, which will help us
track used Nodes throughout the scene graph generically without having to
add an explicit count or flag on specific Node types. This is especially
useful to track Nodes defined through Procedurals out of Cycles' control.

This also modifies the order in which nodes are deleted to ensure that
upon deletion, a Node does not attempt to decrement the reference
count of another Node which was already freed or deleted.

This is not currently used, but will be in the next commit.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D10965
2021-05-03 01:20:33 +02:00
..
atomic Atomics: Add 16 bit fetch + AND and fetch + OR signed integer operations 2020-12-04 18:28:46 +01:00
audaspace Cleanup: make format after SortedIncludes change 2020-03-19 09:33:58 +01:00
clog Fix "use after free" issue in clog 2021-04-30 18:01:47 +02:00
cycles Cycles: add reference counting to Nodes 2021-05-03 01:20:33 +02:00
dualcon Spelling: Then Versus Than 2020-10-19 08:43:08 -07:00
eigen Cleanup: make format after SortedIncludes change 2020-03-19 09:33:58 +01:00
ffmpeg Cleanup: Remove LibAV support 2021-02-05 14:30:35 +01:00
ghost Win32: Fix fullscreen errors using Taskbar system menu 2021-04-12 07:52:14 -07: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 our own code style for doxy-gen comment blocks 2021-04-09 19:00:04 +10:00
iksolver Cleanup: correct spelling in comments 2021-02-05 16:23:34 +11:00
itasc Spelling: Miscellaneous 2020-10-19 09:11:00 -07:00
libc_compat Build: add more libc compatibility functions for upcoming libraries update 2020-07-09 18:10:05 +02:00
libmv Libmv: Add clang-format for third party sources 2021-04-01 11:32:47 +02:00
locale Cleanup: make format after SortedIncludes change 2020-03-19 09:33:58 +01:00
mantaflow Fix T84649: Quick liquid causing crash on scale operation 2021-02-02 17:50:08 +01:00
memutil Cleanup: use C style doxygen comments 2020-09-12 16:33:34 +10:00
mikktspace Cleanup: correct spelling in comments 2021-02-05 16:23:34 +11:00
numaapi Cleanup: use angle-brackets for email addresses 2020-09-30 12:05:56 +10:00
opencolorio Remove unneeded code from previous commit. 2021-04-16 13:04:45 +02:00
opensubdiv Spelling: It's Versus Its 2020-10-19 08:12:33 -07:00
openvdb Cleanup: remove dead code in point cache and openvdb wrapper 2020-09-23 14:57:41 +02: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 Cleanup: Clang-tidy, readability-non-const-parameter. 2020-11-07 21:52:53 +05:30
utfconv Cleanup: spelling 2021-03-12 00:51:29 +11:00
CMakeLists.txt Atomic: Cover with unit tests 2020-11-19 17:19:48 +01:00