From 16436215ad467f9b0332f5cf3ae0efac294fe34f Mon Sep 17 00:00:00 2001 From: Mark Oliver Mints <mmints@uni-koblenz.de> Date: Tue, 10 Aug 2021 16:58:38 +0200 Subject: [PATCH] [#71] Refactor: implement a create function for Pipeline Input Assembly State Create Info Struct --- src/vkcv/PipelineManager.cpp | 17 ++++++++++++----- src/vkcv/PipelineManager.hpp | 7 +++++++ 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/vkcv/PipelineManager.cpp b/src/vkcv/PipelineManager.cpp index 8803b72a..8cd76a9c 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 2d63917a..d0c7f333 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); }; } -- GitLab