From 8331c9cf3055380be3c80784c795cebf333055a3 Mon Sep 17 00:00:00 2001 From: Mark Oliver Mints <mmints@uni-koblenz.de> Date: Wed, 9 Jun 2021 09:00:22 +0200 Subject: [PATCH] [#65][Add] Function for creating compute pipeline --- src/vkcv/PipelineManager.cpp | 20 ++++++++++++++++++++ src/vkcv/PipelineManager.hpp | 2 ++ 2 files changed, 22 insertions(+) diff --git a/src/vkcv/PipelineManager.cpp b/src/vkcv/PipelineManager.cpp index 28a64a24..c8da089b 100644 --- a/src/vkcv/PipelineManager.cpp +++ b/src/vkcv/PipelineManager.cpp @@ -182,6 +182,7 @@ namespace vkcv {}, (config.m_DescriptorLayouts), (pushConstantRange)); + vk::PipelineLayout vkPipelineLayout{}; if (m_Device.createPipelineLayout(&pipelineLayoutCreateInfo, nullptr, &vkPipelineLayout) != vk::Result::eSuccess) { @@ -314,4 +315,23 @@ namespace vkcv return m_Configs.at(id); } + PipelineHandle PipelineManager::createComputePipeline() { + + + // TODO: Set Compute Shader Stage + vk::PipelineShaderStageCreateInfo pipelineShaderStageCreateInfo; // TODO: Set params + + // TODO: Set Compute Pipeline Layout + vk::PipelineLayout vkPipelineLayout{}; // TODO: Set params + + // TODO: Create Compute Pipeline + vk::Pipeline vkPipeline{}; + vk::ComputePipelineCreateInfo computePipelineCreateInfo; // TODO: Set params + if (m_Device.createComputePipelines(nullptr, 1, &computePipelineCreateInfo, nullptr, &vkPipeline)!= vk::Result::eSuccess) + { + // TODO: Set Params + } + + return PipelineHandle(); + } } \ No newline at end of file diff --git a/src/vkcv/PipelineManager.hpp b/src/vkcv/PipelineManager.hpp index e243151f..43590dfa 100644 --- a/src/vkcv/PipelineManager.hpp +++ b/src/vkcv/PipelineManager.hpp @@ -35,6 +35,8 @@ namespace vkcv PipelineHandle createPipeline(const PipelineConfig &config, PassManager& passManager); + PipelineHandle createComputePipeline(); + [[nodiscard]] vk::Pipeline getVkPipeline(const PipelineHandle &handle) const; -- GitLab