diff options
author | Jeroen Bakker <jeroen@blender.org> | 2021-04-02 17:07:46 +0300 |
---|---|---|
committer | Jeroen Bakker <jeroen@blender.org> | 2021-04-02 17:07:46 +0300 |
commit | 5a491adc17deb59f7c54fa60e5e8344b1daad359 (patch) | |
tree | 7c79248317ff893ef720b4ace9eb5a92e8cae9e3 /source/blender/compositor | |
parent | 210f7f0f8e9850acbc78fb07023cf017d628c21c (diff) |
Cleanup: rename eChunkExecutionState to eWorkPackageState.
Diffstat (limited to 'source/blender/compositor')
-rw-r--r-- | source/blender/compositor/COM_compositor.h | 6 | ||||
-rw-r--r-- | source/blender/compositor/intern/COM_CompositorContext.h | 501 | ||||
-rw-r--r-- | source/blender/compositor/intern/COM_Enums.cc | 8 | ||||
-rw-r--r-- | source/blender/compositor/intern/COM_Enums.h | 4 | ||||
-rw-r--r-- | source/blender/compositor/intern/COM_ExecutionGroup.cc | 20 | ||||
-rw-r--r-- | source/blender/compositor/intern/COM_WorkPackage.h | 2 |
6 files changed, 270 insertions, 271 deletions
diff --git a/source/blender/compositor/COM_compositor.h b/source/blender/compositor/COM_compositor.h index 300a06005ac..a7f9081f3fc 100644 --- a/source/blender/compositor/COM_compositor.h +++ b/source/blender/compositor/COM_compositor.h @@ -113,11 +113,11 @@ extern "C" { * * When the chunk-order is determined, the first few chunks will be checked if they can be scheduled. * Chunks can have three states: - * - [@ref eChunkExecutionState.NotScheduled]: + * - [@ref eWorkPackageState.NotScheduled]: * Chunk is not yet scheduled, or dependencies are not met. - * - [@ref eChunkExecutionState.Scheduled]: + * - [@ref eWorkPackageState.Scheduled]: * All dependencies are met, chunk is scheduled, but not finished. - * - [@ref eChunkExecutionState.Executed]: + * - [@ref eWorkPackageState.Executed]: * Chunk is finished. * * \see ExecutionGroup.execute diff --git a/source/blender/compositor/intern/COM_CompositorContext.h b/source/blender/compositor/intern/COM_CompositorContext.h index 9abbda2ccd6..bdb1d4614f8 100644 --- a/source/blender/compositor/intern/COM_CompositorContext.h +++ b/source/blender/compositor/intern/COM_CompositorContext.h @@ -29,259 +29,258 @@ #include <string> #include <vector> - namespace blender::compositor -{ +namespace blender::compositor { + +/** + * \brief Overall context of the compositor + */ +class CompositorContext { + private: + /** + * \brief The rendering field describes if we are rendering (F12) or if we are editing (Node + * editor) This field is initialized in ExecutionSystem and must only be read from that point + * on. \see ExecutionSystem + */ + bool m_rendering; + + /** + * \brief The quality of the composite. + * This field is initialized in ExecutionSystem and must only be read from that point on. + * \see ExecutionSystem + */ + CompositorQuality m_quality; + + Scene *m_scene; + + /** + * \brief Reference to the render data that is being composited. + * This field is initialized in ExecutionSystem and must only be read from that point on. + * \see ExecutionSystem + */ + RenderData *m_rd; + + /** + * \brief reference to the bNodeTree + * This field is initialized in ExecutionSystem and must only be read from that point on. + * \see ExecutionSystem + */ + bNodeTree *m_bnodetree; + + /** + * \brief Preview image hash table + * This field is initialized in ExecutionSystem and must only be read from that point on. + */ + bNodeInstanceHash *m_previews; + + /** + * \brief does this system have active opencl devices? + */ + bool m_hasActiveOpenCLDevices; + + /** + * \brief Skip slow nodes + */ + bool m_fastCalculation; + + /* \brief color management settings */ + const ColorManagedViewSettings *m_viewSettings; + const ColorManagedDisplaySettings *m_displaySettings; + + /** + * \brief active rendering view name + */ + const char *m_viewName; + + public: + /** + * \brief constructor initializes the context with default values. + */ + CompositorContext(); + + /** + * \brief set the rendering field of the context + */ + void setRendering(bool rendering) + { + this->m_rendering = rendering; + } + + /** + * \brief get the rendering field of the context + */ + bool isRendering() const + { + return this->m_rendering; + } + + /** + * \brief set the scene of the context + */ + void setRenderData(RenderData *rd) + { + this->m_rd = rd; + } + + /** + * \brief set the bnodetree of the context + */ + void setbNodeTree(bNodeTree *bnodetree) + { + this->m_bnodetree = bnodetree; + } + + /** + * \brief get the bnodetree of the context + */ + const bNodeTree *getbNodeTree() const + { + return this->m_bnodetree; + } + + /** + * \brief get the scene of the context + */ + const RenderData *getRenderData() const + { + return this->m_rd; + } + + void setScene(Scene *scene) + { + m_scene = scene; + } + Scene *getScene() const + { + return m_scene; + } + + /** + * \brief set the preview image hash table + */ + void setPreviewHash(bNodeInstanceHash *previews) + { + this->m_previews = previews; + } + + /** + * \brief get the preview image hash table + */ + bNodeInstanceHash *getPreviewHash() const + { + return this->m_previews; + } + + /** + * \brief set view settings of color color management + */ + void setViewSettings(const ColorManagedViewSettings *viewSettings) + { + this->m_viewSettings = viewSettings; + } + + /** + * \brief get view settings of color color management + */ + const ColorManagedViewSettings *getViewSettings() const + { + return this->m_viewSettings; + } + + /** + * \brief set display settings of color color management + */ + void setDisplaySettings(const ColorManagedDisplaySettings *displaySettings) + { + this->m_displaySettings = displaySettings; + } + + /** + * \brief get display settings of color color management + */ + const ColorManagedDisplaySettings *getDisplaySettings() const + { + return this->m_displaySettings; + } + + /** + * \brief set the quality + */ + void setQuality(CompositorQuality quality) + { + this->m_quality = quality; + } + + /** + * \brief get the quality + */ + CompositorQuality getQuality() const + { + return this->m_quality; + } + + /** + * \brief get the current frame-number of the scene in this context + */ + int getFramenumber() const; + + /** + * \brief has this system active openclDevices? + */ + bool getHasActiveOpenCLDevices() const + { + return this->m_hasActiveOpenCLDevices; + } + + /** + * \brief set has this system active openclDevices? + */ + void setHasActiveOpenCLDevices(bool hasAvtiveOpenCLDevices) + { + this->m_hasActiveOpenCLDevices = hasAvtiveOpenCLDevices; + } + + /** + * \brief get the active rendering view + */ + const char *getViewName() const + { + return this->m_viewName; + } + + /** + * \brief set the active rendering view + */ + void setViewName(const char *viewName) + { + this->m_viewName = viewName; + } + + int getChunksize() const + { + return this->getbNodeTree()->chunksize; + } + + void setFastCalculation(bool fastCalculation) + { + this->m_fastCalculation = fastCalculation; + } + bool isFastCalculation() const + { + return this->m_fastCalculation; + } + bool isGroupnodeBufferEnabled() const + { + return (this->getbNodeTree()->flag & NTREE_COM_GROUPNODE_BUFFER) != 0; + } /** - * \brief Overall context of the compositor + * \brief Get the render percentage as a factor. + * The compositor uses a factor i.o. a percentage. */ - class CompositorContext { - private: - /** - * \brief The rendering field describes if we are rendering (F12) or if we are editing (Node - * editor) This field is initialized in ExecutionSystem and must only be read from that point - * on. \see ExecutionSystem - */ - bool m_rendering; - - /** - * \brief The quality of the composite. - * This field is initialized in ExecutionSystem and must only be read from that point on. - * \see ExecutionSystem - */ - CompositorQuality m_quality; - - Scene *m_scene; - - /** - * \brief Reference to the render data that is being composited. - * This field is initialized in ExecutionSystem and must only be read from that point on. - * \see ExecutionSystem - */ - RenderData *m_rd; - - /** - * \brief reference to the bNodeTree - * This field is initialized in ExecutionSystem and must only be read from that point on. - * \see ExecutionSystem - */ - bNodeTree *m_bnodetree; - - /** - * \brief Preview image hash table - * This field is initialized in ExecutionSystem and must only be read from that point on. - */ - bNodeInstanceHash *m_previews; - - /** - * \brief does this system have active opencl devices? - */ - bool m_hasActiveOpenCLDevices; - - /** - * \brief Skip slow nodes - */ - bool m_fastCalculation; - - /* \brief color management settings */ - const ColorManagedViewSettings *m_viewSettings; - const ColorManagedDisplaySettings *m_displaySettings; - - /** - * \brief active rendering view name - */ - const char *m_viewName; - - public: - /** - * \brief constructor initializes the context with default values. - */ - CompositorContext(); - - /** - * \brief set the rendering field of the context - */ - void setRendering(bool rendering) - { - this->m_rendering = rendering; - } - - /** - * \brief get the rendering field of the context - */ - bool isRendering() const - { - return this->m_rendering; - } - - /** - * \brief set the scene of the context - */ - void setRenderData(RenderData *rd) - { - this->m_rd = rd; - } - - /** - * \brief set the bnodetree of the context - */ - void setbNodeTree(bNodeTree *bnodetree) - { - this->m_bnodetree = bnodetree; - } - - /** - * \brief get the bnodetree of the context - */ - const bNodeTree *getbNodeTree() const - { - return this->m_bnodetree; - } - - /** - * \brief get the scene of the context - */ - const RenderData *getRenderData() const - { - return this->m_rd; - } - - void setScene(Scene *scene) - { - m_scene = scene; - } - Scene *getScene() const - { - return m_scene; - } - - /** - * \brief set the preview image hash table - */ - void setPreviewHash(bNodeInstanceHash *previews) - { - this->m_previews = previews; - } - - /** - * \brief get the preview image hash table - */ - bNodeInstanceHash *getPreviewHash() const - { - return this->m_previews; - } - - /** - * \brief set view settings of color color management - */ - void setViewSettings(const ColorManagedViewSettings *viewSettings) - { - this->m_viewSettings = viewSettings; - } - - /** - * \brief get view settings of color color management - */ - const ColorManagedViewSettings *getViewSettings() const - { - return this->m_viewSettings; - } - - /** - * \brief set display settings of color color management - */ - void setDisplaySettings(const ColorManagedDisplaySettings *displaySettings) - { - this->m_displaySettings = displaySettings; - } - - /** - * \brief get display settings of color color management - */ - const ColorManagedDisplaySettings *getDisplaySettings() const - { - return this->m_displaySettings; - } - - /** - * \brief set the quality - */ - void setQuality(CompositorQuality quality) - { - this->m_quality = quality; - } - - /** - * \brief get the quality - */ - CompositorQuality getQuality() const - { - return this->m_quality; - } - - /** - * \brief get the current frame-number of the scene in this context - */ - int getFramenumber() const; - - /** - * \brief has this system active openclDevices? - */ - bool getHasActiveOpenCLDevices() const - { - return this->m_hasActiveOpenCLDevices; - } - - /** - * \brief set has this system active openclDevices? - */ - void setHasActiveOpenCLDevices(bool hasAvtiveOpenCLDevices) - { - this->m_hasActiveOpenCLDevices = hasAvtiveOpenCLDevices; - } - - /** - * \brief get the active rendering view - */ - const char *getViewName() const - { - return this->m_viewName; - } - - /** - * \brief set the active rendering view - */ - void setViewName(const char *viewName) - { - this->m_viewName = viewName; - } - - int getChunksize() const - { - return this->getbNodeTree()->chunksize; - } - - void setFastCalculation(bool fastCalculation) - { - this->m_fastCalculation = fastCalculation; - } - bool isFastCalculation() const - { - return this->m_fastCalculation; - } - bool isGroupnodeBufferEnabled() const - { - return (this->getbNodeTree()->flag & NTREE_COM_GROUPNODE_BUFFER) != 0; - } - - /** - * \brief Get the render percentage as a factor. - * The compositor uses a factor i.o. a percentage. - */ - float getRenderPercentageAsFactor() const - { - return m_rd->size * 0.01f; - } - }; + float getRenderPercentageAsFactor() const + { + return m_rd->size * 0.01f; + } +}; } // namespace blender::compositor diff --git a/source/blender/compositor/intern/COM_Enums.cc b/source/blender/compositor/intern/COM_Enums.cc index 2102e8afbfe..68fd5c9ef93 100644 --- a/source/blender/compositor/intern/COM_Enums.cc +++ b/source/blender/compositor/intern/COM_Enums.cc @@ -39,18 +39,18 @@ std::ostream &operator<<(std::ostream &os, const CompositorPriority &priority) return os; } -std::ostream &operator<<(std::ostream &os, const eChunkExecutionState &execution_state) +std::ostream &operator<<(std::ostream &os, const eWorkPackageState &execution_state) { switch (execution_state) { - case eChunkExecutionState::NotScheduled: { + case eWorkPackageState::NotScheduled: { os << "ExecutionState::NotScheduled"; break; } - case eChunkExecutionState::Scheduled: { + case eWorkPackageState::Scheduled: { os << "ExecutionState::Scheduled"; break; } - case eChunkExecutionState::Executed: { + case eWorkPackageState::Executed: { os << "ExecutionState::Executed"; break; } diff --git a/source/blender/compositor/intern/COM_Enums.h b/source/blender/compositor/intern/COM_Enums.h index 164fe7a3c27..b0276b4b3d9 100644 --- a/source/blender/compositor/intern/COM_Enums.h +++ b/source/blender/compositor/intern/COM_Enums.h @@ -55,7 +55,7 @@ enum class CompositorPriority { * \brief the execution state of a chunk in an ExecutionGroup * \ingroup Execution */ -enum class eChunkExecutionState { +enum class eWorkPackageState { /** * \brief chunk is not yet scheduled */ @@ -71,6 +71,6 @@ enum class eChunkExecutionState { }; std::ostream &operator<<(std::ostream &os, const CompositorPriority &priority); -std::ostream &operator<<(std::ostream &os, const eChunkExecutionState &execution_state); +std::ostream &operator<<(std::ostream &os, const eWorkPackageState &execution_state); } // namespace blender::compositor diff --git a/source/blender/compositor/intern/COM_ExecutionGroup.cc b/source/blender/compositor/intern/COM_ExecutionGroup.cc index b894f0b5e07..e18be191da4 100644 --- a/source/blender/compositor/intern/COM_ExecutionGroup.cc +++ b/source/blender/compositor/intern/COM_ExecutionGroup.cc @@ -157,7 +157,7 @@ void ExecutionGroup::init_work_packages() if (this->m_chunks_len != 0) { m_work_packages.resize(this->m_chunks_len); for (unsigned int index = 0; index < m_chunks_len; index++) { - m_work_packages[index].state = eChunkExecutionState::NotScheduled; + m_work_packages[index].state = eWorkPackageState::NotScheduled; m_work_packages[index].execution_group = this; m_work_packages[index].chunk_number = index; determineChunkRect(&m_work_packages[index].rect, index); @@ -363,7 +363,7 @@ void ExecutionGroup::execute(ExecutionSystem *graph) int xChunk = chunk_index - (yChunk * this->m_x_chunks_len); const WorkPackage &work_package = m_work_packages[chunk_index]; switch (work_package.state) { - case eChunkExecutionState::NotScheduled: { + case eWorkPackageState::NotScheduled: { scheduleChunkWhenPossible(graph, xChunk, yChunk); finished = false; startEvaluated = true; @@ -374,13 +374,13 @@ void ExecutionGroup::execute(ExecutionSystem *graph) } break; } - case eChunkExecutionState::Scheduled: { + case eWorkPackageState::Scheduled: { finished = false; startEvaluated = true; numberEvaluated++; break; } - case eChunkExecutionState::Executed: { + case eWorkPackageState::Executed: { if (!startEvaluated) { startIndex = index + 1; } @@ -427,8 +427,8 @@ MemoryBuffer *ExecutionGroup::constructConsolidatedMemoryBuffer(MemoryProxy &mem void ExecutionGroup::finalizeChunkExecution(int chunkNumber, MemoryBuffer **memoryBuffers) { WorkPackage &work_package = m_work_packages[chunkNumber]; - if (work_package.state == eChunkExecutionState::Scheduled) { - work_package.state = eChunkExecutionState::Executed; + if (work_package.state == eWorkPackageState::Scheduled) { + work_package.state = eWorkPackageState::Executed; } atomic_add_and_fetch_u(&this->m_chunks_finished, 1); @@ -541,8 +541,8 @@ bool ExecutionGroup::scheduleAreaWhenPossible(ExecutionSystem *graph, rcti *area bool ExecutionGroup::scheduleChunk(unsigned int chunkNumber) { WorkPackage &work_package = m_work_packages[chunkNumber]; - if (work_package.state == eChunkExecutionState::NotScheduled) { - work_package.state = eChunkExecutionState::Scheduled; + if (work_package.state == eWorkPackageState::NotScheduled) { + work_package.state = eWorkPackageState::Scheduled; WorkScheduler::schedule(&work_package); return true; } @@ -563,10 +563,10 @@ bool ExecutionGroup::scheduleChunkWhenPossible(ExecutionSystem *graph, // Check if chunk is already executed or scheduled and not yet executed. const int chunk_index = chunk_y * this->m_x_chunks_len + chunk_x; WorkPackage &work_package = m_work_packages[chunk_index]; - if (work_package.state == eChunkExecutionState::Executed) { + if (work_package.state == eWorkPackageState::Executed) { return true; } - if (work_package.state == eChunkExecutionState::Scheduled) { + if (work_package.state == eWorkPackageState::Scheduled) { return false; } diff --git a/source/blender/compositor/intern/COM_WorkPackage.h b/source/blender/compositor/intern/COM_WorkPackage.h index b8e40dc7226..f5797d05cea 100644 --- a/source/blender/compositor/intern/COM_WorkPackage.h +++ b/source/blender/compositor/intern/COM_WorkPackage.h @@ -33,7 +33,7 @@ class ExecutionGroup; * \see WorkScheduler */ struct WorkPackage { - eChunkExecutionState state = eChunkExecutionState::NotScheduled; + eWorkPackageState state = eWorkPackageState::NotScheduled; /** * \brief executionGroup with the operations-setup to be evaluated |