From f818a9bc70acb45f54470bc29d8d56c23b999b1e Mon Sep 17 00:00:00 2001
From: Mark Oliver Mints <mmints@uni-koblenz.de>
Date: Tue, 10 Aug 2021 17:46:56 +0200
Subject: [PATCH] [#71] Refactor: implement a create function for Pipeline
 Multisample State Create Info

---
 src/vkcv/PipelineManager.cpp | 25 ++++++++++++++++---------
 src/vkcv/PipelineManager.hpp |  7 +++++++
 2 files changed, 23 insertions(+), 9 deletions(-)

diff --git a/src/vkcv/PipelineManager.cpp b/src/vkcv/PipelineManager.cpp
index 66854f30..0451ed24 100644
--- a/src/vkcv/PipelineManager.cpp
+++ b/src/vkcv/PipelineManager.cpp
@@ -263,15 +263,8 @@ namespace vkcv
                 createPipelineRasterizationStateCreateInfo(config);
 
         // multisample state
-        vk::PipelineMultisampleStateCreateInfo pipelineMultisampleStateCreateInfo(
-                {},
-                msaaToVkSampleCountFlag(config.m_multisampling),
-                false,
-                0.f,
-                nullptr,
-                config.m_alphaToCoverage,
-                false
-        );
+        vk::PipelineMultisampleStateCreateInfo pipelineMultisampleStateCreateInfo =
+                createPipelineMultisampleStateCreateInfo(config);
 
         // color blend state
         vk::ColorComponentFlags colorWriteMask(VK_COLOR_COMPONENT_R_BIT |
@@ -622,4 +615,18 @@ namespace vkcv
 
         return pipelineRasterizationStateCreateInfo;
     }
+
+    vk::PipelineMultisampleStateCreateInfo
+    PipelineManager::createPipelineMultisampleStateCreateInfo(const PipelineConfig &config) {
+        vk::PipelineMultisampleStateCreateInfo pipelineMultisampleStateCreateInfo(
+                {},
+                msaaToVkSampleCountFlag(config.m_multisampling),
+                false,
+                0.f,
+                nullptr,
+                config.m_alphaToCoverage,
+                false
+        );
+        return pipelineMultisampleStateCreateInfo;
+    }
 }
diff --git a/src/vkcv/PipelineManager.hpp b/src/vkcv/PipelineManager.hpp
index 18dd5b99..c4bc52e4 100644
--- a/src/vkcv/PipelineManager.hpp
+++ b/src/vkcv/PipelineManager.hpp
@@ -101,5 +101,12 @@ namespace vkcv
          */
         vk::PipelineRasterizationStateCreateInfo createPipelineRasterizationStateCreateInfo(const PipelineConfig &config);
 
+        /**
+         * Create a Pipeline Multisample State Create Info Struct.
+         * @param config set MSAA Sample Count Flag
+         * @return Pipeline Multisample State Create Info Struct
+         */
+        vk::PipelineMultisampleStateCreateInfo createPipelineMultisampleStateCreateInfo(const PipelineConfig &config);
+
     };
 }
-- 
GitLab