From b2787756f8558dfe2c1dc6653ef5311cd6fb1fb9 Mon Sep 17 00:00:00 2001 From: Tobias Frisch <tfrisch@uni-koblenz.de> Date: Wed, 13 Jul 2022 01:15:23 +0200 Subject: [PATCH] Adjusted header and function names for multisampling Signed-off-by: Tobias Frisch <tfrisch@uni-koblenz.de> --- config/Sources.cmake | 4 +- include/vkcv/GraphicsPipelineConfig.hpp | 2 +- include/vkcv/Image.hpp | 2 +- .../{ImageConfig.hpp => Multisampling.hpp} | 9 ++++- include/vkcv/PassConfig.hpp | 2 +- projects/voxelization/src/ShadowMapping.cpp | 2 +- src/vkcv/GraphicsPipelineManager.cpp | 3 +- src/vkcv/ImageConfig.cpp | 26 ------------- src/vkcv/ImageManager.cpp | 5 +-- src/vkcv/ImageManager.hpp | 2 +- src/vkcv/Multisampling.cpp | 38 +++++++++++++++++++ src/vkcv/PassManager.cpp | 2 +- 12 files changed, 57 insertions(+), 40 deletions(-) rename include/vkcv/{ImageConfig.hpp => Multisampling.hpp} (81%) delete mode 100644 src/vkcv/ImageConfig.cpp create mode 100644 src/vkcv/Multisampling.cpp diff --git a/config/Sources.cmake b/config/Sources.cmake index c3231e7a..23d9df0f 100644 --- a/config/Sources.cmake +++ b/config/Sources.cmake @@ -114,8 +114,8 @@ set(vkcv_sources ${vkcv_include}/vkcv/CommandRecordingFunctionTypes.hpp - ${vkcv_include}/vkcv/ImageConfig.hpp - ${vkcv_source}/vkcv/ImageConfig.cpp + ${vkcv_include}/vkcv/Multisampling.hpp + ${vkcv_source}/vkcv/Multisampling.cpp ${vkcv_include}/vkcv/Downsampler.hpp ${vkcv_source}/vkcv/Downsampler.cpp diff --git a/include/vkcv/GraphicsPipelineConfig.hpp b/include/vkcv/GraphicsPipelineConfig.hpp index 93fe553a..e4257735 100644 --- a/include/vkcv/GraphicsPipelineConfig.hpp +++ b/include/vkcv/GraphicsPipelineConfig.hpp @@ -10,7 +10,7 @@ #include "PipelineConfig.hpp" #include "VertexLayout.hpp" -#include "ImageConfig.hpp" +#include "Multisampling.hpp" namespace vkcv { diff --git a/include/vkcv/Image.hpp b/include/vkcv/Image.hpp index 6e7b6e57..dc74a011 100644 --- a/include/vkcv/Image.hpp +++ b/include/vkcv/Image.hpp @@ -8,7 +8,7 @@ #include <vulkan/vulkan.hpp> #include "Handles.hpp" -#include "ImageConfig.hpp" +#include "Multisampling.hpp" namespace vkcv { diff --git a/include/vkcv/ImageConfig.hpp b/include/vkcv/Multisampling.hpp similarity index 81% rename from include/vkcv/ImageConfig.hpp rename to include/vkcv/Multisampling.hpp index d031f790..3bcf5d7b 100644 --- a/include/vkcv/ImageConfig.hpp +++ b/include/vkcv/Multisampling.hpp @@ -9,7 +9,12 @@ namespace vkcv { - enum class Multisampling { None, MSAA2X, MSAA4X, MSAA8X }; + enum class Multisampling { + None, + MSAA2X, + MSAA4X, + MSAA8X + }; /** * @brief Returns the sample count flag bits of a given @@ -18,7 +23,7 @@ namespace vkcv { * @param[in] msaa MSAA mode * @return Sample count flag bits */ - vk::SampleCountFlagBits msaaToVkSampleCountFlag(Multisampling msaa); + vk::SampleCountFlagBits msaaToSampleCountFlagBits(Multisampling msaa); /** * @brief Returns the amount of samples of a given diff --git a/include/vkcv/PassConfig.hpp b/include/vkcv/PassConfig.hpp index ad3e3c0d..26c4f815 100644 --- a/include/vkcv/PassConfig.hpp +++ b/include/vkcv/PassConfig.hpp @@ -8,7 +8,7 @@ #include <vector> #include <vulkan/vulkan.hpp> -#include "ImageConfig.hpp" +#include "Multisampling.hpp" namespace vkcv { diff --git a/projects/voxelization/src/ShadowMapping.cpp b/projects/voxelization/src/ShadowMapping.cpp index 1d4fb1b8..78cf1fda 100644 --- a/projects/voxelization/src/ShadowMapping.cpp +++ b/projects/voxelization/src/ShadowMapping.cpp @@ -283,7 +283,7 @@ void ShadowMapping::recordShadowMapRendering( dispatchCount[1] = static_cast<uint32_t>(std::ceil(shadowMapResolution / 8.f)); dispatchCount[2] = 1; - const uint32_t msaaSampleCount = msaaToSampleCount(msaa); + const uint32_t msaaSampleCount = vkcv::msaaToSampleCount(msaa); vkcv::PushConstants msaaPushConstants = vkcv::pushConstants<uint32_t>(); msaaPushConstants.appendDrawcall(msaaSampleCount); diff --git a/src/vkcv/GraphicsPipelineManager.cpp b/src/vkcv/GraphicsPipelineManager.cpp index 09288ebf..95a33c08 100644 --- a/src/vkcv/GraphicsPipelineManager.cpp +++ b/src/vkcv/GraphicsPipelineManager.cpp @@ -3,6 +3,7 @@ #include "vkcv/Core.hpp" #include "vkcv/Image.hpp" #include "vkcv/Logger.hpp" +#include "vkcv/Multisampling.hpp" namespace vkcv { @@ -328,7 +329,7 @@ namespace vkcv { vk::PipelineMultisampleStateCreateInfo createPipelineMultisampleStateCreateInfo(const GraphicsPipelineConfig &config) { vk::PipelineMultisampleStateCreateInfo pipelineMultisampleStateCreateInfo( {}, - msaaToVkSampleCountFlag(config.getMultisampling()), + msaaToSampleCountFlagBits(config.getMultisampling()), false, 0.f, nullptr, diff --git a/src/vkcv/ImageConfig.cpp b/src/vkcv/ImageConfig.cpp deleted file mode 100644 index 5fe3f0a9..00000000 --- a/src/vkcv/ImageConfig.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include <vkcv/ImageConfig.hpp> -#include <vkcv/Logger.hpp> - -namespace vkcv { - - vk::SampleCountFlagBits msaaToVkSampleCountFlag(Multisampling msaa) { - switch (msaa) { - case Multisampling::None: return vk::SampleCountFlagBits::e1; - case Multisampling::MSAA2X: return vk::SampleCountFlagBits::e2; - case Multisampling::MSAA4X: return vk::SampleCountFlagBits::e4; - case Multisampling::MSAA8X: return vk::SampleCountFlagBits::e8; - default: vkcv_log(vkcv::LogLevel::ERROR, "Unknown Multisampling enum setting"); return vk::SampleCountFlagBits::e1; - } - } - - uint32_t msaaToSampleCount(Multisampling msaa) { - switch (msaa) { - case Multisampling::None: return 1; - case Multisampling::MSAA2X: return 2; - case Multisampling::MSAA4X: return 4; - case Multisampling::MSAA8X: return 8; - default: vkcv_log(vkcv::LogLevel::ERROR, "Unknown Multisampling enum setting"); return 1; - } - } - -} \ No newline at end of file diff --git a/src/vkcv/ImageManager.cpp b/src/vkcv/ImageManager.cpp index fe01a57b..e28cfce8 100644 --- a/src/vkcv/ImageManager.cpp +++ b/src/vkcv/ImageManager.cpp @@ -6,6 +6,7 @@ #include "ImageManager.hpp" #include "vkcv/Core.hpp" #include "vkcv/Logger.hpp" +#include "vkcv/Multisampling.hpp" #include "vkcv/TypeGuard.hpp" #include <algorithm> @@ -241,8 +242,6 @@ namespace vkcv { const uint32_t arrayLayers = std::min<uint32_t>(1, imageFormatProperties.maxArrayLayers); - vk::SampleCountFlagBits sampleCountFlag = msaaToVkSampleCountFlag(msaa); - const vk::ImageCreateInfo imageCreateInfo ( createFlags, imageType, @@ -250,7 +249,7 @@ namespace vkcv { vk::Extent3D(width, height, depth), mipCount, arrayLayers, - sampleCountFlag, + msaaToSampleCountFlagBits(msaa), imageTiling, imageUsageFlags, vk::SharingMode::eExclusive, diff --git a/src/vkcv/ImageManager.hpp b/src/vkcv/ImageManager.hpp index bda9a6a0..de91245c 100644 --- a/src/vkcv/ImageManager.hpp +++ b/src/vkcv/ImageManager.hpp @@ -10,7 +10,7 @@ #include "BufferManager.hpp" #include "HandleManager.hpp" -#include "vkcv/ImageConfig.hpp" +#include "vkcv/Multisampling.hpp" namespace vkcv { diff --git a/src/vkcv/Multisampling.cpp b/src/vkcv/Multisampling.cpp new file mode 100644 index 00000000..7b64dd06 --- /dev/null +++ b/src/vkcv/Multisampling.cpp @@ -0,0 +1,38 @@ +#include <vkcv/Multisampling.hpp> +#include <vkcv/Logger.hpp> + +namespace vkcv { + + vk::SampleCountFlagBits msaaToSampleCountFlagBits(Multisampling msaa) { + switch (msaa) { + case Multisampling::None: + return vk::SampleCountFlagBits::e1; + case Multisampling::MSAA2X: + return vk::SampleCountFlagBits::e2; + case Multisampling::MSAA4X: + return vk::SampleCountFlagBits::e4; + case Multisampling::MSAA8X: + return vk::SampleCountFlagBits::e8; + default: + vkcv_log(vkcv::LogLevel::ERROR, "Unknown Multisampling enum setting"); + return vk::SampleCountFlagBits::e1; + } + } + + uint32_t msaaToSampleCount(Multisampling msaa) { + switch (msaa) { + case Multisampling::None: + return 1; + case Multisampling::MSAA2X: + return 2; + case Multisampling::MSAA4X: + return 4; + case Multisampling::MSAA8X: + return 8; + default: + vkcv_log(vkcv::LogLevel::ERROR, "Unknown Multisampling enum setting"); + return 1; + } + } + +} \ No newline at end of file diff --git a/src/vkcv/PassManager.cpp b/src/vkcv/PassManager.cpp index 20ba600c..740ab333 100644 --- a/src/vkcv/PassManager.cpp +++ b/src/vkcv/PassManager.cpp @@ -85,7 +85,7 @@ namespace vkcv vk::AttachmentDescription attachmentDesc( {}, format, - msaaToVkSampleCountFlag(config.msaa), + msaaToSampleCountFlagBits(config.msaa), getVKLoadOpFromAttachOp(config.attachments[i].load_operation), getVkStoreOpFromAttachOp(config.attachments[i].store_operation), vk::AttachmentLoadOp::eDontCare, -- GitLab