diff --git a/src/vkcv/PipelineManager.cpp b/src/vkcv/PipelineManager.cpp index d0161271607b10380c88f3f7f2ca4e68140196aa..6a10345742b3fb7b98d4b18856ce15ef9747a964 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 cdff81534788cf2678510607ecdea19d403480a1..6d9b47be8201de4d2c9904ce7bc887eab91f669b 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