From ab15e49b000efdd490c96f0738b12692cfe1787a Mon Sep 17 00:00:00 2001 From: asuessenbach Date: Thu, 22 Apr 2021 10:47:26 +0200 Subject: [PATCH] Relax check on mutual exclusive arrays as part of a structure to allow all empty as well. --- VulkanHppGenerator.cpp | 8 ++++---- vulkan/vulkan.hpp | 12 ++++++------ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/VulkanHppGenerator.cpp b/VulkanHppGenerator.cpp index 2d41009..3180985 100644 --- a/VulkanHppGenerator.cpp +++ b/VulkanHppGenerator.cpp @@ -11951,11 +11951,11 @@ std::string sum += "!" + startLowerCase( stripPrefix( arrayIts[first]->name, "p" ) ) + "_.empty() + "; } sum += "!" + startLowerCase( stripPrefix( arrayIts.back()->name, "p" ) ) + "_.empty()"; - assertionText += prefix + " VULKAN_HPP_ASSERT( ( " + sum + " ) == 1 );\n"; - throwText += prefix + " if ( ( " + sum + " ) != 1 )\n"; + assertionText += prefix + " VULKAN_HPP_ASSERT( ( " + sum + " ) <= 1);\n"; + throwText += prefix + " if ( 1 < ( " + sum + " ) )\n"; throwText += prefix + " {\n"; throwText += prefix + " throw LogicError( VULKAN_HPP_NAMESPACE_STRING \"::" + structName + "::" + structName + - ": ( " + sum + " ) != 1\" );\n"; + ": 1 < ( " + sum + " )\" );\n"; throwText += prefix + " }\n"; } else @@ -14059,7 +14059,7 @@ void VulkanHppGenerator::readStruct( tinyxml2::XMLElement const * it->second.subStruct = determineSubStruct( *it ); // check if multiple structure members use the very same (not empty) len attribute - // Note: even though the arrays are not mared as optional, they still might be mutually exclusive (like in + // Note: even though the arrays are not marked as optional, they still might be mutually exclusive (like in // VkWriteDescriptorSet)! That is, there's not enough information available in vk.xml to decide on that, so we // need this external knowledge! static std::set mutualExclusiveStructs = { "VkAccelerationStructureBuildGeometryInfoKHR", diff --git a/vulkan/vulkan.hpp b/vulkan/vulkan.hpp index 62d78e5..1e81fc3 100644 --- a/vulkan/vulkan.hpp +++ b/vulkan/vulkan.hpp @@ -20578,13 +20578,13 @@ namespace VULKAN_HPP_NAMESPACE , scratchData( scratchData_ ) { # ifdef VULKAN_HPP_NO_EXCEPTIONS - VULKAN_HPP_ASSERT( ( !geometries_.empty() + !pGeometries_.empty() ) == 1 ); + VULKAN_HPP_ASSERT( ( !geometries_.empty() + !pGeometries_.empty() ) <= 1 ); # else - if ( ( !geometries_.empty() + !pGeometries_.empty() ) != 1 ) + if ( 1 < ( !geometries_.empty() + !pGeometries_.empty() ) ) { throw LogicError( VULKAN_HPP_NAMESPACE_STRING - "::AccelerationStructureBuildGeometryInfoKHR::AccelerationStructureBuildGeometryInfoKHR: ( !geometries_.empty() + !pGeometries_.empty() ) != 1" ); + "::AccelerationStructureBuildGeometryInfoKHR::AccelerationStructureBuildGeometryInfoKHR: 1 < ( !geometries_.empty() + !pGeometries_.empty() )" ); } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ } @@ -35197,13 +35197,13 @@ namespace VULKAN_HPP_NAMESPACE , pTexelBufferView( texelBufferView_.data() ) { # ifdef VULKAN_HPP_NO_EXCEPTIONS - VULKAN_HPP_ASSERT( ( !imageInfo_.empty() + !bufferInfo_.empty() + !texelBufferView_.empty() ) == 1 ); + VULKAN_HPP_ASSERT( ( !imageInfo_.empty() + !bufferInfo_.empty() + !texelBufferView_.empty() ) <= 1 ); # else - if ( ( !imageInfo_.empty() + !bufferInfo_.empty() + !texelBufferView_.empty() ) != 1 ) + if ( 1 < ( !imageInfo_.empty() + !bufferInfo_.empty() + !texelBufferView_.empty() ) ) { throw LogicError( VULKAN_HPP_NAMESPACE_STRING - "::WriteDescriptorSet::WriteDescriptorSet: ( !imageInfo_.empty() + !bufferInfo_.empty() + !texelBufferView_.empty() ) != 1" ); + "::WriteDescriptorSet::WriteDescriptorSet: 1 < ( !imageInfo_.empty() + !bufferInfo_.empty() + !texelBufferView_.empty() )" ); } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ }