[Bf-blender-cvs] [d928a427917] temp-viewport-compositor-compiler: Viewport Compositor: Move context to its own file
Omar Emara
noreply at git.blender.org
Fri Apr 8 18:20:27 CEST 2022
Commit: d928a4279178c0081f31d17f911be33d9abda94c
Author: Omar Emara
Date: Fri Apr 8 15:11:16 2022 +0200
Branches: temp-viewport-compositor-compiler
https://developer.blender.org/rBd928a4279178c0081f31d17f911be33d9abda94c
Viewport Compositor: Move context to its own file
===================================================================
M source/blender/viewport_compositor/CMakeLists.txt
M source/blender/viewport_compositor/VPC_compositor_execute.hh
A source/blender/viewport_compositor/VPC_context.hh
M source/blender/viewport_compositor/intern/compositor_execute.cc
A source/blender/viewport_compositor/intern/context.cc
===================================================================
diff --git a/source/blender/viewport_compositor/CMakeLists.txt b/source/blender/viewport_compositor/CMakeLists.txt
index c2f7f6f6e60..d4e54dd20fd 100644
--- a/source/blender/viewport_compositor/CMakeLists.txt
+++ b/source/blender/viewport_compositor/CMakeLists.txt
@@ -17,11 +17,13 @@ set(INC
set(SRC
intern/compositor_execute.cc
+ intern/context.cc
intern/scheduler.cc
intern/texture_pool.cc
intern/utils.cc
VPC_compositor_execute.hh
+ VPC_context.hh
VPC_scheduler.hh
VPC_texture_pool.hh
VPC_utils.hh
diff --git a/source/blender/viewport_compositor/VPC_compositor_execute.hh b/source/blender/viewport_compositor/VPC_compositor_execute.hh
index 7b204cd9c9e..e8e4d70a862 100644
--- a/source/blender/viewport_compositor/VPC_compositor_execute.hh
+++ b/source/blender/viewport_compositor/VPC_compositor_execute.hh
@@ -21,41 +21,12 @@
#include "NOD_derived_node_tree.hh"
+#include "VPC_context.hh"
#include "VPC_scheduler.hh"
#include "VPC_texture_pool.hh"
namespace blender::viewport_compositor {
-/* --------------------------------------------------------------------
- * Context.
- */
-
-/* This abstract class is used by node operations to access data intrinsic to the compositor
- * engine. The compositor engine should implement the class to provide the necessary
- * functionalities for node operations. */
-class Context {
- private:
- /* A texture pool that can be used to allocate textures for the compositor efficiently. */
- TexturePool &texture_pool_;
-
- public:
- Context(TexturePool &texture_pool);
-
- /* Get the active compositing scene. */
- virtual const Scene *get_scene() = 0;
-
- /* Get the texture representing the viewport where the result of the compositor should be
- * written. This should be called by output nodes to get their target texture. */
- virtual GPUTexture *get_viewport_texture() = 0;
-
- /* Get the texture where the given render pass is stored. This should be called by the Render
- * Layer node to populate its outputs. */
- virtual GPUTexture *get_pass_texture(int view_layer, eScenePassType pass_type) = 0;
-
- /* Get a reference to the texture pool of this context. */
- TexturePool &texture_pool();
-};
-
/* --------------------------------------------------------------------
* Realization Options.
*/
diff --git a/source/blender/viewport_compositor/VPC_context.hh b/source/blender/viewport_compositor/VPC_context.hh
new file mode 100644
index 00000000000..6d80510e48c
--- /dev/null
+++ b/source/blender/viewport_compositor/VPC_context.hh
@@ -0,0 +1,40 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later
+ * Copyright 2022 Blender Foundation. All rights reserved. */
+
+#pragma once
+
+#include "DNA_scene_types.h"
+
+#include "GPU_texture.h"
+
+#include "VPC_texture_pool.hh"
+
+namespace blender::viewport_compositor {
+
+/* This abstract class is used by node operations to access data intrinsic to the compositor
+ * engine. The compositor engine should implement the class to provide the necessary
+ * functionalities for node operations. */
+class Context {
+ private:
+ /* A texture pool that can be used to allocate textures for the compositor efficiently. */
+ TexturePool &texture_pool_;
+
+ public:
+ Context(TexturePool &texture_pool);
+
+ /* Get the active compositing scene. */
+ virtual const Scene *get_scene() = 0;
+
+ /* Get the texture representing the viewport where the result of the compositor should be
+ * written. This should be called by output nodes to get their target texture. */
+ virtual GPUTexture *get_viewport_texture() = 0;
+
+ /* Get the texture where the given render pass is stored. This should be called by the Render
+ * Layer node to populate its outputs. */
+ virtual GPUTexture *get_pass_texture(int view_layer, eScenePassType pass_type) = 0;
+
+ /* Get a reference to the texture pool of this context. */
+ TexturePool &texture_pool();
+};
+
+} // namespace blender::viewport_compositor
diff --git a/source/blender/viewport_compositor/intern/compositor_execute.cc b/source/blender/viewport_compositor/intern/compositor_execute.cc
index dfab0d0b956..507ab91d331 100644
--- a/source/blender/viewport_compositor/intern/compositor_execute.cc
+++ b/source/blender/viewport_compositor/intern/compositor_execute.cc
@@ -38,25 +38,13 @@
#include "MEM_guardedalloc.h"
#include "VPC_compositor_execute.hh"
+#include "VPC_context.hh"
#include "VPC_scheduler.hh"
#include "VPC_texture_pool.hh"
#include "VPC_utils.hh"
namespace blender::viewport_compositor {
-/* --------------------------------------------------------------------
- * Context.
- */
-
-Context::Context(TexturePool &texture_pool) : texture_pool_(texture_pool)
-{
-}
-
-TexturePool &Context::texture_pool()
-{
- return texture_pool_;
-}
-
/* --------------------------------------------------------------------
* Domain.
*/
diff --git a/source/blender/viewport_compositor/intern/context.cc b/source/blender/viewport_compositor/intern/context.cc
new file mode 100644
index 00000000000..0a30aa17cc1
--- /dev/null
+++ b/source/blender/viewport_compositor/intern/context.cc
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later
+ * Copyright 2022 Blender Foundation. All rights reserved. */
+
+#include "VPC_context.hh"
+#include "VPC_texture_pool.hh"
+
+namespace blender::viewport_compositor {
+
+Context::Context(TexturePool &texture_pool) : texture_pool_(texture_pool)
+{
+}
+
+TexturePool &Context::texture_pool()
+{
+ return texture_pool_;
+}
+
+} // namespace blender::viewport_compositor
More information about the Bf-blender-cvs
mailing list