diff --git a/src/vkcv/PipelineManager.cpp b/src/vkcv/PipelineManager.cpp index 8803b72aca732a885c15eeae515ce20d6e5c9ca5..8cd76a9cc467d25e8d4858b74742eadba72641ae 100644 --- a/src/vkcv/PipelineManager.cpp +++ b/src/vkcv/PipelineManager.cpp @@ -251,11 +251,8 @@ namespace vkcv vertexBindingDescriptions); // input assembly state - vk::PipelineInputAssemblyStateCreateInfo pipelineInputAssemblyStateCreateInfo( - {}, - primitiveTopologyToVulkanPrimitiveTopology(config.m_PrimitiveTopology), - false - ); + vk::PipelineInputAssemblyStateCreateInfo pipelineInputAssemblyStateCreateInfo = + createPipelineInputAssemblyStateCreateInfo(config); // viewport state vk::Viewport viewport(0.f, 0.f, static_cast<float>(config.m_Width), static_cast<float>(config.m_Height), 0.f, 1.f); @@ -580,4 +577,14 @@ namespace vkcv ); return pipelineVertexInputStateCreateInfo; } + + vk::PipelineInputAssemblyStateCreateInfo + PipelineManager::createPipelineInputAssemblyStateCreateInfo(const PipelineConfig &config) { + vk::PipelineInputAssemblyStateCreateInfo pipelineInputAssemblyStateCreateInfo( + {}, + primitiveTopologyToVulkanPrimitiveTopology(config.m_PrimitiveTopology), + false + ); + return pipelineInputAssemblyStateCreateInfo; + } } diff --git a/src/vkcv/PipelineManager.hpp b/src/vkcv/PipelineManager.hpp index 2d63917a151f4f2db85df67e7f23c907934e4d25..d0c7f333437337d3f1e6fc6c4bdf24e78f03c12a 100644 --- a/src/vkcv/PipelineManager.hpp +++ b/src/vkcv/PipelineManager.hpp @@ -73,5 +73,12 @@ namespace vkcv std::vector<vk::VertexInputAttributeDescription> &vertexAttributeDescriptions, std::vector<vk::VertexInputBindingDescription> &vertexBindingDescriptions ); + + /** + * Create a Pipeline Input Assembly State Create Info Struct with 'Primitive Restart' disabled. + * @param config provides data for primitive topology. + * @return Pipeline Input Assembly State Create Info Struct + */ + vk::PipelineInputAssemblyStateCreateInfo createPipelineInputAssemblyStateCreateInfo(const PipelineConfig &config); }; }