From bfe7c1647dd3201b4d7a59dba61ab557455463b2 Mon Sep 17 00:00:00 2001
From: Mark Oliver Mints <mmints@uni-koblenz.de>
Date: Wed, 9 Jun 2021 09:40:19 +0200
Subject: [PATCH] [#65][Add] Compute Shader Stage Info Struct

---
 src/vkcv/PipelineManager.cpp | 11 ++++++++---
 src/vkcv/PipelineManager.hpp |  5 +++--
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/src/vkcv/PipelineManager.cpp b/src/vkcv/PipelineManager.cpp
index d0161271..6a103457 100644
--- a/src/vkcv/PipelineManager.cpp
+++ b/src/vkcv/PipelineManager.cpp
@@ -318,12 +318,17 @@ namespace vkcv
     PipelineHandle PipelineManager::createComputePipeline(const ShaderProgram &shaderProgram) {
         // Temporally handing over the Shader Program instead of a pipeline config
 
-        // TODO: Set Compute Shader Stage
-        vk::ShaderModule computeModule{};
+        vk::ShaderModule computeModule;
         if (createShaderModule(computeModule, shaderProgram, ShaderStage::COMPUTE) != vk::Result::eSuccess)
             return PipelineHandle();
 
-        vk::PipelineShaderStageCreateInfo pipelineShaderStageCreateInfo; // TODO: Set params
+        vk::PipelineShaderStageCreateInfo pipelineComputeShaderStageInfo(
+                {},
+                vk::ShaderStageFlagBits::eCompute,
+                computeModule,
+                "main",
+                nullptr
+        );
 
         // TODO: Set Compute Pipeline Layout
         vk::PipelineLayout vkPipelineLayout{}; // TODO: Set params
diff --git a/src/vkcv/PipelineManager.hpp b/src/vkcv/PipelineManager.hpp
index cdff8153..6d9b47be 100644
--- a/src/vkcv/PipelineManager.hpp
+++ b/src/vkcv/PipelineManager.hpp
@@ -22,8 +22,9 @@ namespace vkcv
         
         void destroyPipelineById(uint64_t id);
 
-        vk::Result createShaderModule(vk::ShaderModule &module, const ShaderProgram &shaderProgram, const ShaderStage stage);
-        
+        vk::Result createShaderModule(vk::ShaderModule &module, const ShaderProgram &shaderProgram, ShaderStage stage);
+
+
     public:
         PipelineManager() = delete; // no default ctor
         explicit PipelineManager(vk::Device device) noexcept; // ctor
-- 
GitLab