From 9ae8deba26e31a5f4b116e349bd20ca342cbeed8 Mon Sep 17 00:00:00 2001 From: Tobias Frisch <tfrisch@uni-koblenz.de> Date: Wed, 25 Aug 2021 12:50:51 +0200 Subject: [PATCH] [#90] Fixed missing include and added typedef Signed-off-by: Tobias Frisch <tfrisch@uni-koblenz.de> --- include/vkcv/DescriptorConfig.hpp | 6 +++++- modules/material/src/vkcv/material/Material.cpp | 6 +++--- .../src/vkcv/upscaling/FSRUpscaling.cpp | 16 ++++++++++------ src/vkcv/Core.cpp | 2 +- src/vkcv/DescriptorManager.cpp | 2 +- src/vkcv/ShaderProgram.cpp | 2 +- 6 files changed, 21 insertions(+), 13 deletions(-) diff --git a/include/vkcv/DescriptorConfig.hpp b/include/vkcv/DescriptorConfig.hpp index ba0ad33c..71b14ba8 100644 --- a/include/vkcv/DescriptorConfig.hpp +++ b/include/vkcv/DescriptorConfig.hpp @@ -1,5 +1,7 @@ #pragma once +#include <unordered_map> + #include "vkcv/Handles.hpp" #include "vkcv/ShaderStage.hpp" #include "vkcv/Logger.hpp" @@ -68,11 +70,13 @@ namespace vkcv uint32_t descriptorCount; ShaderStages shaderStages; }; + + typedef std::unordered_map<uint32_t, DescriptorBinding> DescriptorBindings; struct DescriptorSetLayout { vk::DescriptorSetLayout vulkanHandle; - std::unordered_map<uint32_t, DescriptorBinding> descriptorBindings; + DescriptorBindings descriptorBindings; }; struct DescriptorSet diff --git a/modules/material/src/vkcv/material/Material.cpp b/modules/material/src/vkcv/material/Material.cpp index a7297af1..43a72e4c 100644 --- a/modules/material/src/vkcv/material/Material.cpp +++ b/modules/material/src/vkcv/material/Material.cpp @@ -27,10 +27,10 @@ namespace vkcv::material { return (m_Type == MaterialType::UNKNOWN); } - const std::unordered_map<uint32_t, DescriptorBinding>& Material::getDescriptorBindings(MaterialType type) + const DescriptorBindings& Material::getDescriptorBindings(MaterialType type) { - static std::unordered_map<uint32_t, DescriptorBinding> pbr_bindings = {}; - static std::unordered_map<uint32_t, DescriptorBinding> default_bindings = {}; + static DescriptorBindings pbr_bindings = {}; + static DescriptorBindings default_bindings = {}; switch (type) { case MaterialType::PBR_MATERIAL: diff --git a/modules/upscaling/src/vkcv/upscaling/FSRUpscaling.cpp b/modules/upscaling/src/vkcv/upscaling/FSRUpscaling.cpp index e654694a..e8615342 100644 --- a/modules/upscaling/src/vkcv/upscaling/FSRUpscaling.cpp +++ b/modules/upscaling/src/vkcv/upscaling/FSRUpscaling.cpp @@ -65,32 +65,36 @@ namespace vkcv::upscaling { } } - static std::unordered_map<uint32_t, DescriptorBinding> getDescriptorBindings() { - std::unordered_map<uint32_t, DescriptorBinding> descriptorBindings = {}; + static DescriptorBindings getDescriptorBindings() { + DescriptorBindings descriptorBindings = {}; auto binding_0 = DescriptorBinding( 0, DescriptorType::UNIFORM_BUFFER_DYNAMIC, 1, - ShaderStage::COMPUTE); + ShaderStage::COMPUTE + ); auto binding_1 = DescriptorBinding( 1, DescriptorType::IMAGE_SAMPLED, 1, - ShaderStage::COMPUTE); + ShaderStage::COMPUTE + ); auto binding_2 = DescriptorBinding( 2, DescriptorType::IMAGE_STORAGE, 1, - ShaderStage::COMPUTE); + ShaderStage::COMPUTE + ); auto binding_3 = DescriptorBinding( 3, DescriptorType::SAMPLER, 1, - ShaderStage::COMPUTE); + ShaderStage::COMPUTE + ); descriptorBindings.insert(std::make_pair(0, binding_0)); descriptorBindings.insert(std::make_pair(1, binding_1)); diff --git a/src/vkcv/Core.cpp b/src/vkcv/Core.cpp index f726f222..ebfd1cc9 100644 --- a/src/vkcv/Core.cpp +++ b/src/vkcv/Core.cpp @@ -685,7 +685,7 @@ namespace vkcv return m_ImageManager->getImageFormat(image); } - DescriptorSetLayoutHandle Core::createDescriptorSetLayout(const std::unordered_map<uint32_t, DescriptorBinding> &bindingsMap) + DescriptorSetLayoutHandle Core::createDescriptorSetLayout(const DescriptorBindings &bindingsMap) { return m_DescriptorManager->createDescriptorSetLayout(bindingsMap); } diff --git a/src/vkcv/DescriptorManager.cpp b/src/vkcv/DescriptorManager.cpp index 8599335f..a1c2dd54 100644 --- a/src/vkcv/DescriptorManager.cpp +++ b/src/vkcv/DescriptorManager.cpp @@ -42,7 +42,7 @@ namespace vkcv } } - DescriptorSetLayoutHandle DescriptorManager::createDescriptorSetLayout(const std::unordered_map<uint32_t, DescriptorBinding> &setBindingsMap) + DescriptorSetLayoutHandle DescriptorManager::createDescriptorSetLayout(const DescriptorBindings &setBindingsMap) { //create the descriptor set's layout by iterating over its bindings std::vector<vk::DescriptorSetLayoutBinding> bindingsVector = {}; diff --git a/src/vkcv/ShaderProgram.cpp b/src/vkcv/ShaderProgram.cpp index 249da9d8..363981f4 100644 --- a/src/vkcv/ShaderProgram.cpp +++ b/src/vkcv/ShaderProgram.cpp @@ -235,7 +235,7 @@ namespace vkcv { return m_VertexAttachments; } - const std::unordered_map<uint32_t, std::unordered_map<uint32_t, DescriptorBinding>>& ShaderProgram::getReflectedDescriptors() const + const std::unordered_map<uint32_t, DescriptorBindings>& ShaderProgram::getReflectedDescriptors() const { return m_DescriptorSets; } -- GitLab