diff --git a/include/vkcv/Core.hpp b/include/vkcv/Core.hpp index 8a165adf43561b1204490a12afa00d2a3fabdbf4..fbd1cc9cce12ee9584065708b56810e6859cf733 100644 --- a/include/vkcv/Core.hpp +++ b/include/vkcv/Core.hpp @@ -157,6 +157,17 @@ namespace vkcv [[nodiscard]] PipelineHandle createGraphicsPipeline(const PipelineConfig &config); + /** + * 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 + * @return True if pipeline creation was successful, False if not + */ + [[nodiscard]] + PipelineHandle createComputePipeline(const ShaderProgram &config); + /** * Creates a basic vulkan render pass using @p config from the render pass config class and returns it using the @p handle. * Fixed Functions for pipeline are set with standard values. diff --git a/src/vkcv/Core.cpp b/src/vkcv/Core.cpp index 9ed83d2a224119bd20fcfc81c5720b425de06bb6..057821119d96b5403180e9afdf4a4fd6042cfaea 100644 --- a/src/vkcv/Core.cpp +++ b/src/vkcv/Core.cpp @@ -101,6 +101,11 @@ namespace vkcv return m_PipelineManager->createPipeline(config, *m_PassManager); } + PipelineHandle Core::createComputePipeline(const ShaderProgram &shaderProgram) + { + return m_PipelineManager->createComputePipeline(shaderProgram); + } + PassHandle Core::createPass(const PassConfig &config) {