diff --git a/src/vkcv/PipelineManager.cpp b/src/vkcv/PipelineManager.cpp index ac4d7a221e8bc6e9ff1270860428e5ea36610133..9d57e18955ff04aaef79d88673adb16cd806b5bc 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 c638ea0cbb2a98a4d9bf15b49ac150c1c0a5f3e4..95c375047f8fc88344c311acab7a0293d1bca4ae 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); }; }