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