Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManuel Castilla <manzanillawork@gmail.com>2021-10-14 00:00:24 +0300
committerManuel Castilla <manzanillawork@gmail.com>2021-10-14 00:41:14 +0300
commitecb8a574c752068de9f8d9eb98f54db1569df2f7 (patch)
tree705bed742cf9214af62422701e9ab5eb505849f1 /source/blender/compositor/intern
parent91c33c8b99520b6b094265a826cd391929a81716 (diff)
Cleanup: remove unused includes in Compositor
And move unneeded includes in frequently used headers to source files. Slightly reduces compile time.
Diffstat (limited to 'source/blender/compositor/intern')
-rw-r--r--source/blender/compositor/intern/COM_BufferRange.h1
-rw-r--r--source/blender/compositor/intern/COM_CPUDevice.cc3
-rw-r--r--source/blender/compositor/intern/COM_ChunkOrder.cc4
-rw-r--r--source/blender/compositor/intern/COM_CompositorContext.cc5
-rw-r--r--source/blender/compositor/intern/COM_CompositorContext.h5
-rw-r--r--source/blender/compositor/intern/COM_ConstantFolder.cc5
-rw-r--r--source/blender/compositor/intern/COM_ConstantFolder.h6
-rw-r--r--source/blender/compositor/intern/COM_Converter.cc2
-rw-r--r--source/blender/compositor/intern/COM_Converter.h3
-rw-r--r--source/blender/compositor/intern/COM_Debug.cc12
-rw-r--r--source/blender/compositor/intern/COM_Debug.h7
-rw-r--r--source/blender/compositor/intern/COM_Device.h4
-rw-r--r--source/blender/compositor/intern/COM_Enums.cc1
-rw-r--r--source/blender/compositor/intern/COM_ExecutionGroup.cc17
-rw-r--r--source/blender/compositor/intern/COM_ExecutionGroup.h15
-rw-r--r--source/blender/compositor/intern/COM_ExecutionModel.cc1
-rw-r--r--source/blender/compositor/intern/COM_ExecutionModel.h9
-rw-r--r--source/blender/compositor/intern/COM_ExecutionSystem.cc5
-rw-r--r--source/blender/compositor/intern/COM_ExecutionSystem.h21
-rw-r--r--source/blender/compositor/intern/COM_FullFrameExecutionModel.cc7
-rw-r--r--source/blender/compositor/intern/COM_FullFrameExecutionModel.h9
-rw-r--r--source/blender/compositor/intern/COM_MemoryBuffer.cc3
-rw-r--r--source/blender/compositor/intern/COM_MemoryBuffer.h7
-rw-r--r--source/blender/compositor/intern/COM_MemoryProxy.cc3
-rw-r--r--source/blender/compositor/intern/COM_MetaData.cc2
-rw-r--r--source/blender/compositor/intern/COM_MultiThreadedRowOperation.h2
-rw-r--r--source/blender/compositor/intern/COM_Node.cc10
-rw-r--r--source/blender/compositor/intern/COM_Node.h3
-rw-r--r--source/blender/compositor/intern/COM_NodeConverter.cc4
-rw-r--r--source/blender/compositor/intern/COM_NodeGraph.cc5
-rw-r--r--source/blender/compositor/intern/COM_NodeGraph.h5
-rw-r--r--source/blender/compositor/intern/COM_NodeOperation.cc3
-rw-r--r--source/blender/compositor/intern/COM_NodeOperation.h16
-rw-r--r--source/blender/compositor/intern/COM_NodeOperationBuilder.cc11
-rw-r--r--source/blender/compositor/intern/COM_NodeOperationBuilder.h5
-rw-r--r--source/blender/compositor/intern/COM_OpenCLDevice.cc4
-rw-r--r--source/blender/compositor/intern/COM_OpenCLDevice.h11
-rw-r--r--source/blender/compositor/intern/COM_SharedOperationBuffers.cc1
-rw-r--r--source/blender/compositor/intern/COM_SharedOperationBuffers.h9
-rw-r--r--source/blender/compositor/intern/COM_TiledExecutionModel.h1
-rw-r--r--source/blender/compositor/intern/COM_WorkPackage.cc1
-rw-r--r--source/blender/compositor/intern/COM_WorkPackage.h2
-rw-r--r--source/blender/compositor/intern/COM_WorkScheduler.cc8
-rw-r--r--source/blender/compositor/intern/COM_WorkScheduler.h8
-rw-r--r--source/blender/compositor/intern/COM_compositor.cc2
45 files changed, 103 insertions, 165 deletions
diff --git a/source/blender/compositor/intern/COM_BufferRange.h b/source/blender/compositor/intern/COM_BufferRange.h
index ffdf1f2f1e5..7684ae52fab 100644
--- a/source/blender/compositor/intern/COM_BufferRange.h
+++ b/source/blender/compositor/intern/COM_BufferRange.h
@@ -19,7 +19,6 @@
#pragma once
#include "BLI_assert.h"
-#include "BLI_rect.h"
#include <iterator>
diff --git a/source/blender/compositor/intern/COM_CPUDevice.cc b/source/blender/compositor/intern/COM_CPUDevice.cc
index 2ca5557e278..dbf813a61b4 100644
--- a/source/blender/compositor/intern/COM_CPUDevice.cc
+++ b/source/blender/compositor/intern/COM_CPUDevice.cc
@@ -19,8 +19,7 @@
#include "COM_CPUDevice.h"
#include "COM_ExecutionGroup.h"
-
-#include "BLI_rect.h"
+#include "COM_NodeOperation.h"
namespace blender::compositor {
diff --git a/source/blender/compositor/intern/COM_ChunkOrder.cc b/source/blender/compositor/intern/COM_ChunkOrder.cc
index a03718d720d..3e0246ce893 100644
--- a/source/blender/compositor/intern/COM_ChunkOrder.cc
+++ b/source/blender/compositor/intern/COM_ChunkOrder.cc
@@ -16,9 +16,9 @@
* Copyright 2011, Blender Foundation.
*/
-#include "COM_ChunkOrder.h"
+#include <cfloat>
-#include "BLI_math.h"
+#include "COM_ChunkOrder.h"
namespace blender::compositor {
diff --git a/source/blender/compositor/intern/COM_CompositorContext.cc b/source/blender/compositor/intern/COM_CompositorContext.cc
index f5f490b0bf6..5d8355c181a 100644
--- a/source/blender/compositor/intern/COM_CompositorContext.cc
+++ b/source/blender/compositor/intern/COM_CompositorContext.cc
@@ -17,11 +17,6 @@
*/
#include "COM_CompositorContext.h"
-#include "COM_defines.h"
-#include <cstdio>
-
-#include "BLI_assert.h"
-#include "DNA_userdef_types.h"
namespace blender::compositor {
diff --git a/source/blender/compositor/intern/COM_CompositorContext.h b/source/blender/compositor/intern/COM_CompositorContext.h
index ae298c5a65a..1ae596736ae 100644
--- a/source/blender/compositor/intern/COM_CompositorContext.h
+++ b/source/blender/compositor/intern/COM_CompositorContext.h
@@ -18,16 +18,13 @@
#pragma once
-#include "BLI_rect.h"
-
#include "COM_Enums.h"
#include "DNA_color_types.h"
#include "DNA_node_types.h"
#include "DNA_scene_types.h"
-#include <string>
-#include <vector>
+struct bNodeInstanceHash;
namespace blender::compositor {
diff --git a/source/blender/compositor/intern/COM_ConstantFolder.cc b/source/blender/compositor/intern/COM_ConstantFolder.cc
index 445a9ce7433..d3031765eae 100644
--- a/source/blender/compositor/intern/COM_ConstantFolder.cc
+++ b/source/blender/compositor/intern/COM_ConstantFolder.cc
@@ -16,10 +16,11 @@
* Copyright 2021, Blender Foundation.
*/
-#include "BLI_rect.h"
+#include "BLI_map.hh"
+#include "BLI_set.hh"
#include "COM_ConstantFolder.h"
-#include "COM_ConstantOperation.h"
+#include "COM_NodeOperationBuilder.h"
#include "COM_SetColorOperation.h"
#include "COM_SetValueOperation.h"
#include "COM_SetVectorOperation.h"
diff --git a/source/blender/compositor/intern/COM_ConstantFolder.h b/source/blender/compositor/intern/COM_ConstantFolder.h
index 2432e859a5a..f31cb4f4e78 100644
--- a/source/blender/compositor/intern/COM_ConstantFolder.h
+++ b/source/blender/compositor/intern/COM_ConstantFolder.h
@@ -18,16 +18,12 @@
#pragma once
-#include "BLI_map.hh"
-#include "BLI_set.hh"
-#include "BLI_vector.hh"
-
-#include "COM_NodeOperationBuilder.h"
#include "COM_defines.h"
namespace blender::compositor {
class NodeOperation;
+class NodeOperationBuilder;
class ConstantOperation;
class MemoryBuffer;
diff --git a/source/blender/compositor/intern/COM_Converter.cc b/source/blender/compositor/intern/COM_Converter.cc
index ee77beb8a82..346c3c4b600 100644
--- a/source/blender/compositor/intern/COM_Converter.cc
+++ b/source/blender/compositor/intern/COM_Converter.cc
@@ -22,7 +22,6 @@
#include "BKE_node.h"
-#include "COM_NodeOperation.h"
#include "COM_NodeOperationBuilder.h"
#include "COM_AlphaOverNode.h"
@@ -62,7 +61,6 @@
#include "COM_DistanceMatteNode.h"
#include "COM_DoubleEdgeMaskNode.h"
#include "COM_EllipseMaskNode.h"
-#include "COM_ExecutionSystem.h"
#include "COM_FilterNode.h"
#include "COM_FlipNode.h"
#include "COM_GammaNode.h"
diff --git a/source/blender/compositor/intern/COM_Converter.h b/source/blender/compositor/intern/COM_Converter.h
index 7f0402d4e70..9cb6b1862b2 100644
--- a/source/blender/compositor/intern/COM_Converter.h
+++ b/source/blender/compositor/intern/COM_Converter.h
@@ -18,8 +18,6 @@
#pragma once
-#include "COM_NodeOperation.h"
-
#ifdef WITH_CXX_GUARDEDALLOC
# include "MEM_guardedalloc.h"
#endif
@@ -29,6 +27,7 @@ struct bNode;
namespace blender::compositor {
class Node;
+class NodeOperation;
class NodeOperationInput;
class NodeOperationOutput;
class NodeOperationBuilder;
diff --git a/source/blender/compositor/intern/COM_Debug.cc b/source/blender/compositor/intern/COM_Debug.cc
index 9e47aa9fcb5..d0c8311ef6e 100644
--- a/source/blender/compositor/intern/COM_Debug.cc
+++ b/source/blender/compositor/intern/COM_Debug.cc
@@ -18,26 +18,16 @@
#include "COM_Debug.h"
-#include <map>
-#include <typeinfo>
-#include <vector>
-
extern "C" {
#include "BLI_fileops.h"
#include "BLI_path_util.h"
-#include "BLI_string.h"
-#include "BLI_sys_types.h"
#include "BKE_appdir.h"
-#include "BKE_node.h"
-#include "DNA_node_types.h"
#include "IMB_imbuf.h"
#include "IMB_imbuf_types.h"
}
-#include "COM_ExecutionSystem.h"
-#include "COM_Node.h"
-
+#include "COM_ExecutionGroup.h"
#include "COM_ReadBufferOperation.h"
#include "COM_SetValueOperation.h"
#include "COM_ViewerOperation.h"
diff --git a/source/blender/compositor/intern/COM_Debug.h b/source/blender/compositor/intern/COM_Debug.h
index 23d99c7e529..689cd4029f1 100644
--- a/source/blender/compositor/intern/COM_Debug.h
+++ b/source/blender/compositor/intern/COM_Debug.h
@@ -21,9 +21,11 @@
#include <map>
#include <string>
+#include "BLI_vector.hh"
+
#include "COM_ExecutionSystem.h"
-#include "COM_NodeOperation.h"
-#include "COM_defines.h"
+#include "COM_MemoryBuffer.h"
+#include "COM_Node.h"
namespace blender::compositor {
@@ -34,6 +36,7 @@ static constexpr bool COM_GRAPHVIZ_SHOW_NODE_NAME = false;
static constexpr bool COM_EXPORT_OPERATION_BUFFERS = false;
class Node;
+class NodeOperation;
class ExecutionSystem;
class ExecutionGroup;
diff --git a/source/blender/compositor/intern/COM_Device.h b/source/blender/compositor/intern/COM_Device.h
index c848672a405..1e3618e6c5e 100644
--- a/source/blender/compositor/intern/COM_Device.h
+++ b/source/blender/compositor/intern/COM_Device.h
@@ -18,10 +18,10 @@
#pragma once
-#include "COM_WorkPackage.h"
-
namespace blender::compositor {
+struct WorkPackage;
+
/**
* \brief Abstract class for device implementations to be used by the Compositor.
* devices are queried, initialized and used by the WorkScheduler.
diff --git a/source/blender/compositor/intern/COM_Enums.cc b/source/blender/compositor/intern/COM_Enums.cc
index 2f20d2652ba..63a5a78436b 100644
--- a/source/blender/compositor/intern/COM_Enums.cc
+++ b/source/blender/compositor/intern/COM_Enums.cc
@@ -17,7 +17,6 @@
*/
#include "COM_Enums.h"
-#include "BLI_rect.h"
namespace blender::compositor {
diff --git a/source/blender/compositor/intern/COM_ExecutionGroup.cc b/source/blender/compositor/intern/COM_ExecutionGroup.cc
index 505a4066a25..655bc030dec 100644
--- a/source/blender/compositor/intern/COM_ExecutionGroup.cc
+++ b/source/blender/compositor/intern/COM_ExecutionGroup.cc
@@ -16,36 +16,21 @@
* Copyright 2011, Blender Foundation.
*/
-#include <algorithm>
-#include <cmath>
-#include <cstdlib>
-#include <sstream>
-
-#include "atomic_ops.h"
-
+#include "COM_ExecutionGroup.h"
#include "COM_ChunkOrder.h"
#include "COM_Debug.h"
-#include "COM_ExecutionGroup.h"
-#include "COM_ExecutionSystem.h"
#include "COM_ReadBufferOperation.h"
#include "COM_ViewerOperation.h"
#include "COM_WorkScheduler.h"
#include "COM_WriteBufferOperation.h"
#include "COM_defines.h"
-#include "BLI_math.h"
#include "BLI_rand.hh"
-#include "BLI_string.h"
#include "BLT_translation.h"
-#include "MEM_guardedalloc.h"
-
#include "PIL_time.h"
-#include "WM_api.h"
-#include "WM_types.h"
-
namespace blender::compositor {
std::ostream &operator<<(std::ostream &os, const ExecutionGroupFlags &flags)
diff --git a/source/blender/compositor/intern/COM_ExecutionGroup.h b/source/blender/compositor/intern/COM_ExecutionGroup.h
index cb593feabb0..58386c959a4 100644
--- a/source/blender/compositor/intern/COM_ExecutionGroup.h
+++ b/source/blender/compositor/intern/COM_ExecutionGroup.h
@@ -22,25 +22,24 @@
# include "MEM_guardedalloc.h"
#endif
+#include <iostream>
+
#include "BLI_array.hh"
-#include "BLI_rect.h"
#include "BLI_vector.hh"
-#include "COM_CompositorContext.h"
-#include "COM_Device.h"
-#include "COM_MemoryProxy.h"
-#include "COM_Node.h"
-#include "COM_NodeOperation.h"
+#include "COM_Enums.h"
#include "COM_WorkPackage.h"
-#include <vector>
+
+#include "DNA_node_types.h"
+#include "DNA_vec_types.h"
namespace blender::compositor {
class ExecutionSystem;
+class NodeOperation;
class MemoryProxy;
class MemoryBuffer;
class ReadBufferOperation;
-class Device;
struct ExecutionGroupFlags {
bool initialized : 1;
diff --git a/source/blender/compositor/intern/COM_ExecutionModel.cc b/source/blender/compositor/intern/COM_ExecutionModel.cc
index b75b277e92c..0ac99152c9f 100644
--- a/source/blender/compositor/intern/COM_ExecutionModel.cc
+++ b/source/blender/compositor/intern/COM_ExecutionModel.cc
@@ -17,6 +17,7 @@
*/
#include "COM_ExecutionModel.h"
+#include "COM_CompositorContext.h"
namespace blender::compositor {
diff --git a/source/blender/compositor/intern/COM_ExecutionModel.h b/source/blender/compositor/intern/COM_ExecutionModel.h
index 452861ae4be..f0adc7d3e54 100644
--- a/source/blender/compositor/intern/COM_ExecutionModel.h
+++ b/source/blender/compositor/intern/COM_ExecutionModel.h
@@ -18,12 +18,9 @@
#pragma once
-#include "BLI_rect.h"
-#include "BLI_vector.hh"
+#include "BLI_span.hh"
-#include "COM_ExecutionSystem.h"
-
-#include <functional>
+#include "DNA_vec_types.h"
#ifdef WITH_CXX_GUARDEDALLOC
# include "MEM_guardedalloc.h"
@@ -31,6 +28,8 @@
namespace blender::compositor {
+class CompositorContext;
+class ExecutionSystem;
class NodeOperation;
/**
diff --git a/source/blender/compositor/intern/COM_ExecutionSystem.cc b/source/blender/compositor/intern/COM_ExecutionSystem.cc
index c92e292c74f..9b1ec823f75 100644
--- a/source/blender/compositor/intern/COM_ExecutionSystem.cc
+++ b/source/blender/compositor/intern/COM_ExecutionSystem.cc
@@ -18,14 +18,13 @@
#include "COM_ExecutionSystem.h"
-#include "BLI_utildefines.h"
-#include "PIL_time.h"
-
#include "COM_Debug.h"
+#include "COM_ExecutionGroup.h"
#include "COM_FullFrameExecutionModel.h"
#include "COM_NodeOperation.h"
#include "COM_NodeOperationBuilder.h"
#include "COM_TiledExecutionModel.h"
+#include "COM_WorkPackage.h"
#include "COM_WorkScheduler.h"
#ifdef WITH_CXX_GUARDEDALLOC
diff --git a/source/blender/compositor/intern/COM_ExecutionSystem.h b/source/blender/compositor/intern/COM_ExecutionSystem.h
index bce96db52c7..eb0ad805217 100644
--- a/source/blender/compositor/intern/COM_ExecutionSystem.h
+++ b/source/blender/compositor/intern/COM_ExecutionSystem.h
@@ -16,22 +16,23 @@
* Copyright 2011, Blender Foundation.
*/
-class ExecutionGroup;
-
#pragma once
-#include "BKE_text.h"
+#include <functional>
+
+#include "atomic_ops.h"
+
+#include "BLI_index_range.hh"
+#include "BLI_threads.h"
+#include "BLI_vector.hh"
-#include "COM_ExecutionGroup.h"
-#include "COM_Node.h"
-#include "COM_NodeOperation.h"
+#include "COM_CompositorContext.h"
#include "COM_SharedOperationBuffers.h"
#include "DNA_color_types.h"
#include "DNA_node_types.h"
-
-#include "BLI_vector.hh"
-#include "atomic_ops.h"
+#include "DNA_scene_types.h"
+#include "DNA_vec_types.h"
namespace blender::compositor {
@@ -118,7 +119,9 @@ namespace blender::compositor {
*/
/* Forward declarations. */
+class ExecutionGroup;
class ExecutionModel;
+class NodeOperation;
/**
* \brief the ExecutionSystem contains the whole compositor tree.
diff --git a/source/blender/compositor/intern/COM_FullFrameExecutionModel.cc b/source/blender/compositor/intern/COM_FullFrameExecutionModel.cc
index c44a168390b..ce00fff5858 100644
--- a/source/blender/compositor/intern/COM_FullFrameExecutionModel.cc
+++ b/source/blender/compositor/intern/COM_FullFrameExecutionModel.cc
@@ -17,14 +17,13 @@
*/
#include "COM_FullFrameExecutionModel.h"
+
+#include "BLT_translation.h"
+
#include "COM_Debug.h"
-#include "COM_ExecutionGroup.h"
-#include "COM_ReadBufferOperation.h"
#include "COM_ViewerOperation.h"
#include "COM_WorkScheduler.h"
-#include "BLT_translation.h"
-
#ifdef WITH_CXX_GUARDEDALLOC
# include "MEM_guardedalloc.h"
#endif
diff --git a/source/blender/compositor/intern/COM_FullFrameExecutionModel.h b/source/blender/compositor/intern/COM_FullFrameExecutionModel.h
index 66dfb8f052c..36d42886c27 100644
--- a/source/blender/compositor/intern/COM_FullFrameExecutionModel.h
+++ b/source/blender/compositor/intern/COM_FullFrameExecutionModel.h
@@ -18,6 +18,9 @@
#pragma once
+#include "BLI_vector.hh"
+
+#include "COM_Enums.h"
#include "COM_ExecutionModel.h"
#ifdef WITH_CXX_GUARDEDALLOC
@@ -27,7 +30,11 @@
namespace blender::compositor {
/* Forward declarations. */
-class ExecutionGroup;
+class CompositorContext;
+class ExecutionSystem;
+class MemoryBuffer;
+class NodeOperation;
+class SharedOperationBuffers;
/**
* Fully renders operations in order from inputs to outputs.
diff --git a/source/blender/compositor/intern/COM_MemoryBuffer.cc b/source/blender/compositor/intern/COM_MemoryBuffer.cc
index f57f0f055bf..b80be46d46a 100644
--- a/source/blender/compositor/intern/COM_MemoryBuffer.cc
+++ b/source/blender/compositor/intern/COM_MemoryBuffer.cc
@@ -18,9 +18,10 @@
#include "COM_MemoryBuffer.h"
+#include "COM_MemoryProxy.h"
+
#include "IMB_colormanagement.h"
#include "IMB_imbuf_types.h"
-#include "MEM_guardedalloc.h"
#define ASSERT_BUFFER_CONTAINS_AREA(buf, area) \
BLI_assert(BLI_rcti_inside_rcti(&(buf)->get_rect(), &(area)))
diff --git a/source/blender/compositor/intern/COM_MemoryBuffer.h b/source/blender/compositor/intern/COM_MemoryBuffer.h
index 9e173f73f63..1eafc42ea69 100644
--- a/source/blender/compositor/intern/COM_MemoryBuffer.h
+++ b/source/blender/compositor/intern/COM_MemoryBuffer.h
@@ -21,12 +21,13 @@
#include "COM_BufferArea.h"
#include "COM_BufferRange.h"
#include "COM_BuffersIterator.h"
-#include "COM_ExecutionGroup.h"
-#include "COM_MemoryProxy.h"
+#include "COM_Enums.h"
-#include "BLI_math.h"
+#include "BLI_math_interp.h"
#include "BLI_rect.h"
+struct ImBuf;
+
namespace blender::compositor {
/**
diff --git a/source/blender/compositor/intern/COM_MemoryProxy.cc b/source/blender/compositor/intern/COM_MemoryProxy.cc
index 6023850c944..58dea234ced 100644
--- a/source/blender/compositor/intern/COM_MemoryProxy.cc
+++ b/source/blender/compositor/intern/COM_MemoryProxy.cc
@@ -17,11 +17,8 @@
*/
#include "COM_MemoryProxy.h"
-
#include "COM_MemoryBuffer.h"
-#include "BLI_rect.h"
-
namespace blender::compositor {
MemoryProxy::MemoryProxy(DataType datatype)
diff --git a/source/blender/compositor/intern/COM_MetaData.cc b/source/blender/compositor/intern/COM_MetaData.cc
index a6fb84dfb87..5775a7eab65 100644
--- a/source/blender/compositor/intern/COM_MetaData.cc
+++ b/source/blender/compositor/intern/COM_MetaData.cc
@@ -22,8 +22,6 @@
#include "RE_pipeline.h"
-#include <string_view>
-
namespace blender::compositor {
void MetaData::add(const blender::StringRef key, const blender::StringRef value)
diff --git a/source/blender/compositor/intern/COM_MultiThreadedRowOperation.h b/source/blender/compositor/intern/COM_MultiThreadedRowOperation.h
index 3daa9eec474..c1835e85949 100644
--- a/source/blender/compositor/intern/COM_MultiThreadedRowOperation.h
+++ b/source/blender/compositor/intern/COM_MultiThreadedRowOperation.h
@@ -18,6 +18,8 @@
#pragma once
+#include "BLI_array.h"
+
#include "COM_MultiThreadedOperation.h"
namespace blender::compositor {
diff --git a/source/blender/compositor/intern/COM_Node.cc b/source/blender/compositor/intern/COM_Node.cc
index 6ac48e3646c..2cd56c1d7c1 100644
--- a/source/blender/compositor/intern/COM_Node.cc
+++ b/source/blender/compositor/intern/COM_Node.cc
@@ -16,20 +16,10 @@
* Copyright 2011, Blender Foundation.
*/
-#include <cstring>
-
#include "BKE_node.h"
#include "RNA_access.h"
-#include "COM_ExecutionSystem.h"
-#include "COM_NodeOperation.h"
-#include "COM_TranslateOperation.h"
-
-#include "COM_SocketProxyNode.h"
-
-#include "COM_defines.h"
-
#include "COM_Node.h" /* own include */
namespace blender::compositor {
diff --git a/source/blender/compositor/intern/COM_Node.h b/source/blender/compositor/intern/COM_Node.h
index 28b59397af9..08d0b9a4fd5 100644
--- a/source/blender/compositor/intern/COM_Node.h
+++ b/source/blender/compositor/intern/COM_Node.h
@@ -22,9 +22,6 @@
#include "DNA_node_types.h"
-#include <algorithm>
-#include <string>
-
/* common node includes
* added here so node files don't have to include themselves
*/
diff --git a/source/blender/compositor/intern/COM_NodeConverter.cc b/source/blender/compositor/intern/COM_NodeConverter.cc
index 49a2e7988c4..73f64c7cfd4 100644
--- a/source/blender/compositor/intern/COM_NodeConverter.cc
+++ b/source/blender/compositor/intern/COM_NodeConverter.cc
@@ -18,9 +18,7 @@
#include "BLI_utildefines.h"
-#include "COM_Debug.h"
-
-#include "COM_NodeOperation.h"
+#include "COM_Node.h"
#include "COM_NodeOperationBuilder.h"
#include "COM_SetColorOperation.h"
#include "COM_SetValueOperation.h"
diff --git a/source/blender/compositor/intern/COM_NodeGraph.cc b/source/blender/compositor/intern/COM_NodeGraph.cc
index 1872fbcf656..0c94dfce409 100644
--- a/source/blender/compositor/intern/COM_NodeGraph.cc
+++ b/source/blender/compositor/intern/COM_NodeGraph.cc
@@ -18,17 +18,12 @@
#include <cstring>
-#include "BLI_listbase.h"
-#include "BLI_utildefines.h"
-
#include "DNA_node_types.h"
#include "BKE_node.h"
-#include "COM_CompositorContext.h"
#include "COM_Converter.h"
#include "COM_Debug.h"
-#include "COM_Node.h"
#include "COM_SocketProxyNode.h"
#include "COM_NodeGraph.h" /* own include */
diff --git a/source/blender/compositor/intern/COM_NodeGraph.h b/source/blender/compositor/intern/COM_NodeGraph.h
index dfcc6c2fcf9..12aca8f6069 100644
--- a/source/blender/compositor/intern/COM_NodeGraph.h
+++ b/source/blender/compositor/intern/COM_NodeGraph.h
@@ -18,11 +18,6 @@
#pragma once
-#include "BLI_vector.hh"
-
-#include <map>
-#include <set>
-
#include "DNA_node_types.h"
#ifdef WITH_CXX_GUARDEDALLOC
diff --git a/source/blender/compositor/intern/COM_NodeOperation.cc b/source/blender/compositor/intern/COM_NodeOperation.cc
index a6a395261f2..a34fdd64da9 100644
--- a/source/blender/compositor/intern/COM_NodeOperation.cc
+++ b/source/blender/compositor/intern/COM_NodeOperation.cc
@@ -17,13 +17,10 @@
*/
#include <cstdio>
-#include <memory>
-#include <typeinfo>
#include "COM_BufferOperation.h"
#include "COM_ExecutionSystem.h"
#include "COM_ReadBufferOperation.h"
-#include "COM_defines.h"
#include "COM_NodeOperation.h" /* own include */
diff --git a/source/blender/compositor/intern/COM_NodeOperation.h b/source/blender/compositor/intern/COM_NodeOperation.h
index f507665bee3..0483090d8ca 100644
--- a/source/blender/compositor/intern/COM_NodeOperation.h
+++ b/source/blender/compositor/intern/COM_NodeOperation.h
@@ -18,32 +18,32 @@
#pragma once
+#include <functional>
#include <list>
-#include <sstream>
-#include <string>
#include "BLI_ghash.h"
#include "BLI_hash.hh"
-#include "BLI_math_color.h"
-#include "BLI_math_vector.h"
+#include "BLI_rect.h"
+#include "BLI_span.hh"
#include "BLI_threads.h"
+#include "BLI_utildefines.h"
#include "COM_Enums.h"
#include "COM_MemoryBuffer.h"
-#include "COM_MemoryProxy.h"
#include "COM_MetaData.h"
-#include "COM_Node.h"
#include "clew.h"
+#include "DNA_node_types.h"
+
namespace blender::compositor {
class OpenCLDevice;
class ReadBufferOperation;
-class WriteBufferOperation;
class ExecutionSystem;
-
class NodeOperation;
+class NodeOperationOutput;
+
typedef NodeOperation SocketReader;
/**
diff --git a/source/blender/compositor/intern/COM_NodeOperationBuilder.cc b/source/blender/compositor/intern/COM_NodeOperationBuilder.cc
index acb7f61f6dd..2801cb401be 100644
--- a/source/blender/compositor/intern/COM_NodeOperationBuilder.cc
+++ b/source/blender/compositor/intern/COM_NodeOperationBuilder.cc
@@ -16,24 +16,19 @@
* Copyright 2013, Blender Foundation.
*/
+#include <set>
+
#include "BLI_multi_value_map.hh"
-#include "BLI_utildefines.h"
#include "COM_Converter.h"
#include "COM_Debug.h"
-#include "COM_ExecutionSystem.h"
-#include "COM_Node.h"
-#include "COM_NodeConverter.h"
-#include "COM_SocketProxyNode.h"
-#include "COM_NodeOperation.h"
+#include "COM_ExecutionGroup.h"
#include "COM_PreviewOperation.h"
#include "COM_ReadBufferOperation.h"
#include "COM_SetColorOperation.h"
#include "COM_SetValueOperation.h"
#include "COM_SetVectorOperation.h"
-#include "COM_SocketProxyOperation.h"
-#include "COM_TranslateOperation.h"
#include "COM_ViewerOperation.h"
#include "COM_WriteBufferOperation.h"
diff --git a/source/blender/compositor/intern/COM_NodeOperationBuilder.h b/source/blender/compositor/intern/COM_NodeOperationBuilder.h
index 1f9c86b51cd..a6a6201bbb5 100644
--- a/source/blender/compositor/intern/COM_NodeOperationBuilder.h
+++ b/source/blender/compositor/intern/COM_NodeOperationBuilder.h
@@ -18,9 +18,8 @@
#pragma once
-#include <map>
-#include <set>
-#include <vector>
+#include "BLI_map.hh"
+#include "BLI_vector.hh"
#include "COM_NodeGraph.h"
diff --git a/source/blender/compositor/intern/COM_OpenCLDevice.cc b/source/blender/compositor/intern/COM_OpenCLDevice.cc
index 3409c8fa3bc..815bac4009e 100644
--- a/source/blender/compositor/intern/COM_OpenCLDevice.cc
+++ b/source/blender/compositor/intern/COM_OpenCLDevice.cc
@@ -17,7 +17,9 @@
*/
#include "COM_OpenCLDevice.h"
-#include "COM_WorkScheduler.h"
+
+#include "COM_ExecutionGroup.h"
+#include "COM_ReadBufferOperation.h"
namespace blender::compositor {
diff --git a/source/blender/compositor/intern/COM_OpenCLDevice.h b/source/blender/compositor/intern/COM_OpenCLDevice.h
index 826b0457a49..3de9d01c28c 100644
--- a/source/blender/compositor/intern/COM_OpenCLDevice.h
+++ b/source/blender/compositor/intern/COM_OpenCLDevice.h
@@ -20,13 +20,20 @@ class OpenCLDevice;
#pragma once
+#include <list>
+
#include "COM_Device.h"
-#include "COM_ReadBufferOperation.h"
-#include "COM_WorkScheduler.h"
+
#include "clew.h"
namespace blender::compositor {
+class NodeOperation;
+class MemoryBuffer;
+class ReadBufferOperation;
+
+typedef NodeOperation SocketReader;
+
/**
* \brief device representing an GPU OpenCL device.
* an instance of this class represents a single cl_device
diff --git a/source/blender/compositor/intern/COM_SharedOperationBuffers.cc b/source/blender/compositor/intern/COM_SharedOperationBuffers.cc
index 55153bd4f0a..c67251b2d20 100644
--- a/source/blender/compositor/intern/COM_SharedOperationBuffers.cc
+++ b/source/blender/compositor/intern/COM_SharedOperationBuffers.cc
@@ -17,7 +17,6 @@
*/
#include "COM_SharedOperationBuffers.h"
-#include "BLI_rect.h"
#include "COM_NodeOperation.h"
namespace blender::compositor {
diff --git a/source/blender/compositor/intern/COM_SharedOperationBuffers.h b/source/blender/compositor/intern/COM_SharedOperationBuffers.h
index 4461ba75cbe..d7d0dffabb5 100644
--- a/source/blender/compositor/intern/COM_SharedOperationBuffers.h
+++ b/source/blender/compositor/intern/COM_SharedOperationBuffers.h
@@ -19,16 +19,19 @@
#pragma once
#include "BLI_map.hh"
-#include "BLI_span.hh"
#include "BLI_vector.hh"
-#include "COM_MemoryBuffer.h"
+
+#include "DNA_vec_types.h"
+
#ifdef WITH_CXX_GUARDEDALLOC
# include "MEM_guardedalloc.h"
#endif
-#include <memory>
namespace blender::compositor {
+class MemoryBuffer;
+class NodeOperation;
+
/**
* Stores and shares operations rendered buffers including render data. Buffers are
* disposed once all dependent operations have finished reading them.
diff --git a/source/blender/compositor/intern/COM_TiledExecutionModel.h b/source/blender/compositor/intern/COM_TiledExecutionModel.h
index 05a795b9f07..1f5345241e2 100644
--- a/source/blender/compositor/intern/COM_TiledExecutionModel.h
+++ b/source/blender/compositor/intern/COM_TiledExecutionModel.h
@@ -18,6 +18,7 @@
#pragma once
+#include "COM_Enums.h"
#include "COM_ExecutionModel.h"
#ifdef WITH_CXX_GUARDEDALLOC
diff --git a/source/blender/compositor/intern/COM_WorkPackage.cc b/source/blender/compositor/intern/COM_WorkPackage.cc
index ea78c0d6333..7db44226574 100644
--- a/source/blender/compositor/intern/COM_WorkPackage.cc
+++ b/source/blender/compositor/intern/COM_WorkPackage.cc
@@ -18,7 +18,6 @@
#include "COM_WorkPackage.h"
-#include "COM_Enums.h"
#include "COM_ExecutionGroup.h"
namespace blender::compositor {
diff --git a/source/blender/compositor/intern/COM_WorkPackage.h b/source/blender/compositor/intern/COM_WorkPackage.h
index 20fca89aa4c..5ea3237d412 100644
--- a/source/blender/compositor/intern/COM_WorkPackage.h
+++ b/source/blender/compositor/intern/COM_WorkPackage.h
@@ -24,7 +24,7 @@
#include "COM_Enums.h"
-#include "BLI_rect.h"
+#include "DNA_vec_types.h"
#include <functional>
#include <ostream>
diff --git a/source/blender/compositor/intern/COM_WorkScheduler.cc b/source/blender/compositor/intern/COM_WorkScheduler.cc
index a08f9dd284c..22f60ec17fe 100644
--- a/source/blender/compositor/intern/COM_WorkScheduler.cc
+++ b/source/blender/compositor/intern/COM_WorkScheduler.cc
@@ -16,15 +16,14 @@
* Copyright 2011, Blender Foundation.
*/
-#include <cstdio>
-#include <list>
+#include "COM_WorkScheduler.h"
#include "COM_CPUDevice.h"
+#include "COM_CompositorContext.h"
+#include "COM_ExecutionGroup.h"
#include "COM_OpenCLDevice.h"
#include "COM_OpenCLKernels.cl.h"
-#include "COM_WorkScheduler.h"
#include "COM_WriteBufferOperation.h"
-#include "COM_compositor.h"
#include "clew.h"
@@ -33,7 +32,6 @@
#include "BLI_task.h"
#include "BLI_threads.h"
#include "BLI_vector.hh"
-#include "PIL_time.h"
#include "BKE_global.h"
diff --git a/source/blender/compositor/intern/COM_WorkScheduler.h b/source/blender/compositor/intern/COM_WorkScheduler.h
index 297943aa63b..d0fa3286a3b 100644
--- a/source/blender/compositor/intern/COM_WorkScheduler.h
+++ b/source/blender/compositor/intern/COM_WorkScheduler.h
@@ -18,13 +18,11 @@
#pragma once
-#include "COM_ExecutionGroup.h"
+namespace blender::compositor {
-#include "COM_Device.h"
-#include "COM_WorkPackage.h"
-#include "COM_defines.h"
+struct WorkPackage;
-namespace blender::compositor {
+class CompositorContext;
/** \brief the workscheduler
* \ingroup execution
diff --git a/source/blender/compositor/intern/COM_compositor.cc b/source/blender/compositor/intern/COM_compositor.cc
index c05234f3bd0..ed32a477384 100644
--- a/source/blender/compositor/intern/COM_compositor.cc
+++ b/source/blender/compositor/intern/COM_compositor.cc
@@ -24,10 +24,8 @@
#include "BKE_scene.h"
#include "COM_ExecutionSystem.h"
-#include "COM_MovieDistortionOperation.h"
#include "COM_WorkScheduler.h"
#include "COM_compositor.h"
-#include "clew.h"
static struct {
bool is_initialized = false;