diff options
-rw-r--r-- | source/blender/compositor/CMakeLists.txt | 1 | ||||
-rw-r--r-- | source/blender/compositor/SConscript | 1 | ||||
-rw-r--r-- | source/blender/compositor/intern/COM_ExecutionGroup.cpp | 4 |
3 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/compositor/CMakeLists.txt b/source/blender/compositor/CMakeLists.txt index c23aa4ec734..0d35d060f5f 100644 --- a/source/blender/compositor/CMakeLists.txt +++ b/source/blender/compositor/CMakeLists.txt @@ -41,6 +41,7 @@ set(INC ../render/intern/include ../../../extern/clew/include ../../../intern/guardedalloc + ../../../intern/atomic ) set(INC_SYS diff --git a/source/blender/compositor/SConscript b/source/blender/compositor/SConscript index eab40873f64..370600a594e 100644 --- a/source/blender/compositor/SConscript +++ b/source/blender/compositor/SConscript @@ -50,6 +50,7 @@ incs = [ '../render/intern/include', '../windowmanager', '../../../intern/guardedalloc', + '../../../intern/atomic', # data files env['DATA_HEADERS'], diff --git a/source/blender/compositor/intern/COM_ExecutionGroup.cpp b/source/blender/compositor/intern/COM_ExecutionGroup.cpp index 39ffa42e03c..a7f45ffdf81 100644 --- a/source/blender/compositor/intern/COM_ExecutionGroup.cpp +++ b/source/blender/compositor/intern/COM_ExecutionGroup.cpp @@ -44,6 +44,8 @@ #include "WM_api.h" #include "WM_types.h" +#include "atomic_ops.h" + ExecutionGroup::ExecutionGroup() { this->m_isOutput = false; @@ -382,7 +384,7 @@ void ExecutionGroup::finalizeChunkExecution(int chunkNumber, MemoryBuffer **memo if (this->m_chunkExecutionStates[chunkNumber] == COM_ES_SCHEDULED) this->m_chunkExecutionStates[chunkNumber] = COM_ES_EXECUTED; - this->m_chunksFinished++; + atomic_add_u(&this->m_chunksFinished, 0); if (memoryBuffers) { for (unsigned int index = 0; index < this->m_cachedMaxReadBufferOffset; index++) { MemoryBuffer *buffer = memoryBuffers[index]; |