diff --git a/src/vkcv/PipelineManager.cpp b/src/vkcv/PipelineManager.cpp index 22f81a72b534d52c08a37cf7ef71c627ae9ffd06..8803b72aca732a885c15eeae515ce20d6e5c9ca5 100644 --- a/src/vkcv/PipelineManager.cpp +++ b/src/vkcv/PipelineManager.cpp @@ -539,13 +539,6 @@ namespace vkcv return m_Device.createShaderModule(&moduleInfo, nullptr, &module); } - /** - * Fills Vertex Attribute and Binding Description with the corresponding objects form the Vertex Layout. - * @param vertexAttributeDescriptions - * @param vertexBindingDescriptions - * @param existsVertexShader - * @param config - */ void PipelineManager::fillVertexInputDescription( std::vector<vk::VertexInputAttributeDescription> &vertexAttributeDescriptions, std::vector<vk::VertexInputBindingDescription> &vertexBindingDescriptions, @@ -574,12 +567,6 @@ namespace vkcv } } - /** - * Create a Pipeline Vertex Input State Create Info Struct and fills it with Attribute and Binding data. - * @param vertexAttributeDescriptions - * @param vertexBindingDescriptions - * @return Pipeline Vertex Input State Create Info Struct - */ vk::PipelineVertexInputStateCreateInfo PipelineManager::createPipelineVertexInputStateCreateInfo( std::vector<vk::VertexInputAttributeDescription> &vertexAttributeDescriptions, std::vector<vk::VertexInputBindingDescription> &vertexBindingDescriptions) { diff --git a/src/vkcv/PipelineManager.hpp b/src/vkcv/PipelineManager.hpp index 9683cfc045e8518bddc48d5c418f06e4ab0af04a..2d63917a151f4f2db85df67e7f23c907934e4d25 100644 --- a/src/vkcv/PipelineManager.hpp +++ b/src/vkcv/PipelineManager.hpp @@ -10,31 +10,6 @@ namespace vkcv { class PipelineManager { - private: - struct Pipeline { - vk::Pipeline m_handle; - vk::PipelineLayout m_layout; - PipelineConfig m_config; - }; - - vk::Device m_Device; - std::vector<Pipeline> m_Pipelines; - - void destroyPipelineById(uint64_t id); - - vk::Result createShaderModule(vk::ShaderModule &module, const ShaderProgram &shaderProgram, ShaderStage stage); - - void fillVertexInputDescription( - std::vector<vk::VertexInputAttributeDescription> &vertexAttributeDescriptions, - std::vector<vk::VertexInputBindingDescription> &vertexBindingDescriptions, - const bool existsVertexShader, - const PipelineConfig &config); - - vk::PipelineVertexInputStateCreateInfo createPipelineVertexInputStateCreateInfo( - std::vector<vk::VertexInputAttributeDescription> &vertexAttributeDescriptions, - std::vector<vk::VertexInputBindingDescription> &vertexBindingDescriptions - ); - public: PipelineManager() = delete; // no default ctor explicit PipelineManager(vk::Device device) noexcept; // ctor @@ -60,5 +35,43 @@ namespace vkcv [[nodiscard]] const PipelineConfig &getPipelineConfig(const PipelineHandle &handle) const; + + private: + struct Pipeline { + vk::Pipeline m_handle; + vk::PipelineLayout m_layout; + PipelineConfig m_config; + }; + + vk::Device m_Device; + std::vector<Pipeline> m_Pipelines; + + void destroyPipelineById(uint64_t id); + + vk::Result createShaderModule(vk::ShaderModule &module, const ShaderProgram &shaderProgram, ShaderStage stage); + + /** + * Fills Vertex Attribute and Binding Description with the corresponding objects form the Vertex Layout. + * @param vertexAttributeDescriptions + * @param vertexBindingDescriptions + * @param existsVertexShader + * @param config + */ + void fillVertexInputDescription( + std::vector<vk::VertexInputAttributeDescription> &vertexAttributeDescriptions, + std::vector<vk::VertexInputBindingDescription> &vertexBindingDescriptions, + const bool existsVertexShader, + const PipelineConfig &config); + + /** + * Create a Pipeline Vertex Input State Create Info Struct and fills it with Attribute and Binding data. + * @param vertexAttributeDescriptions + * @param vertexBindingDescriptions + * @return Pipeline Vertex Input State Create Info Struct + */ + vk::PipelineVertexInputStateCreateInfo createPipelineVertexInputStateCreateInfo( + std::vector<vk::VertexInputAttributeDescription> &vertexAttributeDescriptions, + std::vector<vk::VertexInputBindingDescription> &vertexBindingDescriptions + ); }; }