diff options
Diffstat (limited to 'source/blender/compositor/intern/COM_ExecutionGroup.h')
-rw-r--r-- | source/blender/compositor/intern/COM_ExecutionGroup.h | 33 |
1 files changed, 7 insertions, 26 deletions
diff --git a/source/blender/compositor/intern/COM_ExecutionGroup.h b/source/blender/compositor/intern/COM_ExecutionGroup.h index a995da38dec..c345724d4c9 100644 --- a/source/blender/compositor/intern/COM_ExecutionGroup.h +++ b/source/blender/compositor/intern/COM_ExecutionGroup.h @@ -31,6 +31,7 @@ #include "COM_MemoryProxy.h" #include "COM_Node.h" #include "COM_NodeOperation.h" +#include "COM_WorkPackage.h" #include <vector> namespace blender::compositor { @@ -41,25 +42,6 @@ class MemoryBuffer; class ReadBufferOperation; class Device; -/** - * \brief the execution state of a chunk in an ExecutionGroup - * \ingroup Execution - */ -enum class eChunkExecutionState { - /** - * \brief chunk is not yet scheduled - */ - NOT_SCHEDULED = 0, - /** - * \brief chunk is scheduled, but not yet executed - */ - SCHEDULED = 1, - /** - * \brief chunk is executed. - */ - EXECUTED = 2, -}; - struct ExecutionGroupFlags { bool initialized : 1; /** @@ -163,12 +145,9 @@ class ExecutionGroup { unsigned int m_chunks_finished; /** - * \brief m_chunk_execution_states holds per chunk the execution state. this state can be - * - eChunkExecutionState::NOT_SCHEDULED: not scheduled - * - eChunkExecutionState::SCHEDULED: scheduled - * - eChunkExecutionState::EXECUTED: executed + * \brief m_work_packages holds all unit of work. */ - blender::Vector<eChunkExecutionState> m_chunk_execution_states; + blender::Vector<WorkPackage> m_work_packages; /** * \brief denotes boundary for border compositing @@ -201,7 +180,9 @@ class ExecutionGroup { * \note Only gives useful results after the determination of the chunksize * \see determineChunkSize() */ - void determineChunkRect(rcti *rect, const unsigned int xChunk, const unsigned int yChunk) const; + void determineChunkRect(rcti *r_rect, + const unsigned int xChunk, + const unsigned int yChunk) const; /** * \brief determine the number of chunks, based on the chunkSize, width and height. @@ -395,7 +376,7 @@ class ExecutionGroup { * \note Only gives useful results after the determination of the chunksize * \see determineChunkSize() */ - void determineChunkRect(rcti *rect, const unsigned int chunkNumber) const; + void determineChunkRect(rcti *r_rect, const unsigned int chunkNumber) const; void setChunksize(int chunksize) { |