diff --git a/VulkanHppGenerator.cpp b/VulkanHppGenerator.cpp index 652107b..599ff61 100644 --- a/VulkanHppGenerator.cpp +++ b/VulkanHppGenerator.cpp @@ -4013,19 +4013,16 @@ std::string if ( returnParams.empty() ) { std::map vectorParams = determineVectorParams( commandData.params ); - if ( vectorParams.empty() ) + if ( vectorParams.empty() && determineConstPointerParams( commandData.params ).empty() ) { - if ( determineConstPointerParams( commandData.params ).empty() ) - { - return generateCommandSetStandard( generateCommandStandard( name, commandData, initialSkipCount, definition ) ); - } - else - { - return generateCommandSetStandardEnhanced( - definition, - generateCommandStandard( name, commandData, initialSkipCount, definition ), - generateCommandEnhanced( name, commandData, initialSkipCount, definition, vectorParams, returnParams, false, false, false, false ) ); - } + return generateCommandSetStandard( generateCommandStandard( name, commandData, initialSkipCount, definition ) ); + } + else if ( vectorParams.size() <= 1 ) + { + return generateCommandSetStandardEnhanced( + definition, + generateCommandStandard( name, commandData, initialSkipCount, definition ), + generateCommandEnhanced( name, commandData, initialSkipCount, definition, vectorParams, returnParams, false, false, false, false ) ); } } return ""; @@ -7110,7 +7107,7 @@ std::string VulkanHppGenerator::generateRAIIHandleCommandValue( std::map vectorParams = determineVectorParams( commandIt->second.params ); - if ( vectorParams.empty() ) + if ( vectorParams.size() <= 1 ) { return generateRAIIHandleCommandEnhanced( commandIt, initialSkipCount, returnParams, vectorParams, definition, false, false ); } diff --git a/snippets/ArrayProxyNoTemporaries.hpp b/snippets/ArrayProxyNoTemporaries.hpp index ef9a9ab..50742d5 100644 --- a/snippets/ArrayProxyNoTemporaries.hpp +++ b/snippets/ArrayProxyNoTemporaries.hpp @@ -91,8 +91,7 @@ template ::value, int>::type = 0> ArrayProxyNoTemporaries( std::initializer_list::type> && list ) = delete; - // Any type with a .data() return type implicitly convertible to T*, and a // .size() return type implicitly - // convertible to size_t. + // Any type with a .data() return type implicitly convertible to T*, and a .size() return type implicitly convertible to size_t. template ().data() ), T *>::value && diff --git a/vulkan/vulkan.hpp b/vulkan/vulkan.hpp index 899b3e7..80f7930 100644 --- a/vulkan/vulkan.hpp +++ b/vulkan/vulkan.hpp @@ -795,8 +795,7 @@ namespace VULKAN_HPP_NAMESPACE template ::value, int>::type = 0> ArrayProxyNoTemporaries( std::initializer_list::type> && list ) = delete; - // Any type with a .data() return type implicitly convertible to T*, and a // .size() return type implicitly - // convertible to size_t. + // Any type with a .data() return type implicitly convertible to T*, and a .size() return type implicitly convertible to size_t. template ().data() ), T *>::value && std::is_convertible().size() ), std::size_t>::value>::type * = nullptr>