From 85b44a0346740dd6230cd8abab71c5de3d0e0490 Mon Sep 17 00:00:00 2001 From: saschawillems Date: Sun, 19 Feb 2017 15:00:21 +0100 Subject: [PATCH] Initializer overloads for vector arguments --- base/VulkanInitializers.hpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/base/VulkanInitializers.hpp b/base/VulkanInitializers.hpp index 0a4fd258..ac77ab6e 100644 --- a/base/VulkanInitializers.hpp +++ b/base/VulkanInitializers.hpp @@ -10,6 +10,7 @@ #pragma once +#include #include "vulkan/vulkan.h" namespace vks @@ -222,6 +223,18 @@ namespace vks return descriptorPoolInfo; } + inline VkDescriptorPoolCreateInfo descriptorPoolCreateInfo( + const std::vector& poolSizes, + uint32_t maxSets) + { + VkDescriptorPoolCreateInfo descriptorPoolInfo{}; + descriptorPoolInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO; + descriptorPoolInfo.poolSizeCount = static_cast(poolSizes.size()); + descriptorPoolInfo.pPoolSizes = poolSizes.data(); + descriptorPoolInfo.maxSets = maxSets; + return descriptorPoolInfo; + } + inline VkDescriptorPoolSize descriptorPoolSize( VkDescriptorType type, uint32_t descriptorCount) @@ -257,6 +270,16 @@ namespace vks return descriptorSetLayoutCreateInfo; } + inline VkDescriptorSetLayoutCreateInfo descriptorSetLayoutCreateInfo( + const std::vector& bindings) + { + VkDescriptorSetLayoutCreateInfo descriptorSetLayoutCreateInfo{}; + descriptorSetLayoutCreateInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO; + descriptorSetLayoutCreateInfo.pBindings = bindings.data(); + descriptorSetLayoutCreateInfo.bindingCount = static_cast(bindings.size()); + return descriptorSetLayoutCreateInfo; + } + inline VkPipelineLayoutCreateInfo pipelineLayoutCreateInfo( const VkDescriptorSetLayout* pSetLayouts, uint32_t setLayoutCount = 1) @@ -467,6 +490,17 @@ namespace vks return pipelineDynamicStateCreateInfo; } + inline VkPipelineDynamicStateCreateInfo pipelineDynamicStateCreateInfo( + const std::vector& pDynamicStates, + VkPipelineDynamicStateCreateFlags flags = 0) + { + VkPipelineDynamicStateCreateInfo pipelineDynamicStateCreateInfo{}; + pipelineDynamicStateCreateInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO; + pipelineDynamicStateCreateInfo.pDynamicStates = pDynamicStates.data(); + pipelineDynamicStateCreateInfo.dynamicStateCount = static_cast(pDynamicStates.size()); + return pipelineDynamicStateCreateInfo; + } + inline VkPipelineTessellationStateCreateInfo pipelineTessellationStateCreateInfo(uint32_t patchControlPoints) { VkPipelineTessellationStateCreateInfo pipelineTessellationStateCreateInfo {};