From fa9336e6562057c402250d1a71c7a439f3474545 Mon Sep 17 00:00:00 2001 From: Mark Oliver Mints <mmints@uni-koblenz.de> Date: Tue, 10 Aug 2021 18:28:18 +0200 Subject: [PATCH] [#71] Refactor: implement a create dynamic state --- src/vkcv/PipelineManager.cpp | 31 +++++++++++++++++++------------ src/vkcv/PipelineManager.hpp | 1 + 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/src/vkcv/PipelineManager.cpp b/src/vkcv/PipelineManager.cpp index ac4d7a22..9d57e189 100644 --- a/src/vkcv/PipelineManager.cpp +++ b/src/vkcv/PipelineManager.cpp @@ -298,17 +298,8 @@ namespace vkcv } // Dynamic State - std::vector<vk::DynamicState> dynamicStates = {}; - if(config.m_UseDynamicViewport) - { - dynamicStates.push_back(vk::DynamicState::eViewport); - dynamicStates.push_back(vk::DynamicState::eScissor); - } - - vk::PipelineDynamicStateCreateInfo dynamicStateCreateInfo( - {}, - static_cast<uint32_t>(dynamicStates.size()), - dynamicStates.data()); + vk::PipelineDynamicStateCreateInfo dynamicStateCreateInfo = + createPipelineDynamicStateCreateInfo(config); const vk::GraphicsPipelineCreateInfo graphicsPipelineCreateInfo( {}, @@ -651,8 +642,24 @@ namespace vkcv 0.0f, 1.0f ); - return pipelineDepthStencilCreateInfo; } + vk::PipelineDynamicStateCreateInfo + PipelineManager::createPipelineDynamicStateCreateInfo(const PipelineConfig &config) { + std::vector<vk::DynamicState> dynamicStates = {}; + if(config.m_UseDynamicViewport) + { + dynamicStates.push_back(vk::DynamicState::eViewport); + dynamicStates.push_back(vk::DynamicState::eScissor); + } + + vk::PipelineDynamicStateCreateInfo dynamicStateCreateInfo( + {}, + static_cast<uint32_t>(dynamicStates.size()), + dynamicStates.data() + ); + return dynamicStateCreateInfo; + } + } diff --git a/src/vkcv/PipelineManager.hpp b/src/vkcv/PipelineManager.hpp index c638ea0c..95c37504 100644 --- a/src/vkcv/PipelineManager.hpp +++ b/src/vkcv/PipelineManager.hpp @@ -130,5 +130,6 @@ namespace vkcv */ vk::PipelineDepthStencilStateCreateInfo createPipelineDepthStencilStateCreateInfo(const PipelineConfig &config); + vk::PipelineDynamicStateCreateInfo createPipelineDynamicStateCreateInfo(const PipelineConfig &config); }; } -- GitLab