[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