From c5067cf7a207cae2e2f38a831273d15d68ebd0fe Mon Sep 17 00:00:00 2001
From: Mark Oliver Mints <mmints@uni-koblenz.de>
Date: Sat, 4 Sep 2021 13:02:23 +0200
Subject: [PATCH] [#71] update Core

---
 include/vkcv/Core.hpp | 8 +++-----
 src/vkcv/Core.cpp     | 6 ++----
 2 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/include/vkcv/Core.hpp b/include/vkcv/Core.hpp
index decf51ae..3fb27599 100644
--- a/include/vkcv/Core.hpp
+++ b/include/vkcv/Core.hpp
@@ -15,6 +15,7 @@
 #include "Buffer.hpp"
 #include "Image.hpp"
 #include "PipelineConfig.hpp"
+#include "ComputePipelineConfig.hpp"
 #include "CommandResources.hpp"
 #include "SyncResources.hpp"
 #include "Result.hpp"
@@ -159,14 +160,11 @@ namespace vkcv
          * Creates a basic vulkan compute pipeline using @p shader program and returns it using the @p handle.
          * Fixed Functions for pipeline are set with standard values.
          *
-         * @param shader program that hold the compiles compute shader
-         * @param handle a handle to return the created vulkan handle
+         * @param config Contains the compiles compute shader and the corresponding descriptor set layout
          * @return True if pipeline creation was successful, False if not
          */
         [[nodiscard]]
-        ComputePipelineHandle createComputePipeline(
-            const ShaderProgram &shaderProgram,
-            const std::vector<vk::DescriptorSetLayout> &descriptorSetLayouts);
+        ComputePipelineHandle createComputePipeline(const ComputePipelineConfig &config);
 
         /**
          * Creates a basic vulkan render pass using @p config from the render pass config class and returns it using the @p handle.
diff --git a/src/vkcv/Core.cpp b/src/vkcv/Core.cpp
index 6585c0bb..8abf1784 100644
--- a/src/vkcv/Core.cpp
+++ b/src/vkcv/Core.cpp
@@ -141,11 +141,9 @@ namespace vkcv
         return m_PipelineManager->createPipeline(config, *m_PassManager);
     }
 
-    ComputePipelineHandle Core::createComputePipeline(
-        const ShaderProgram &shaderProgram, 
-        const std::vector<vk::DescriptorSetLayout>& descriptorSetLayouts)
+    ComputePipelineHandle Core::createComputePipeline(const ComputePipelineConfig &config)
     {
-        return m_ComputePipelineManager->createComputePipeline(shaderProgram, descriptorSetLayouts);
+        return m_ComputePipelineManager->createComputePipeline(config);
     }
 
     PassHandle Core::createPass(const PassConfig &config)
-- 
GitLab