diff --git a/.appveyor.yml b/.appveyor.yml index f0cf267..9caa43e 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -23,36 +23,6 @@ environment: GENERATOR_ARCH: x64 PYTHON: "C:\\Python38-x64" CXX_STANDARD: 11 - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 - BUILD_TYPE: Debug - GENERATOR_ARCH: Win32 - PYTHON: "C:\\Python38" - CXX_STANDARD: 11 - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 - BUILD_TYPE: Debug - GENERATOR_ARCH: x64 - PYTHON: "C:\\Python38-x64" - CXX_STANDARD: 11 - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 - BUILD_TYPE: Debug - GENERATOR_ARCH: x64 - PYTHON: "C:\\Python38-x64" - CXX_STANDARD: 14 - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 - BUILD_TYPE: Debug - GENERATOR_ARCH: x64 - PYTHON: "C:\\Python38-x64" - CXX_STANDARD: 17 - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 - BUILD_TYPE: Debug - GENERATOR_ARCH: x64 - PYTHON: "C:\\Python38-x64" - CXX_STANDARD: 20 - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 - BUILD_TYPE: Release - GENERATOR_ARCH: x64 - PYTHON: "C:\\Python38-x64" - CXX_STANDARD: 20 install: - git submodule update --init --recursive diff --git a/Vulkan-Headers b/Vulkan-Headers index 670ffea..11c6670 160000 --- a/Vulkan-Headers +++ b/Vulkan-Headers @@ -1 +1 @@ -Subproject commit 670ffea9d61b9f4b8f68c919dab7caf33dfd9718 +Subproject commit 11c6670b4a4f766ed4f1e777d1b3c3dc082dfa5f diff --git a/VulkanHppGenerator.cpp b/VulkanHppGenerator.cpp index 251125c..d6d5c37 100644 --- a/VulkanHppGenerator.cpp +++ b/VulkanHppGenerator.cpp @@ -7781,44 +7781,19 @@ void VulkanHppGenerator::readEnums( tinyxml2::XMLElement const * element ) // get the EnumData entry in enum map std::map::iterator it = m_enums.find( name ); - if ( it == m_enums.end() ) - { - // well, some enums are not listed in the section - warn( false, line, "enum <" + name + "> is not listed as enum in the types section" ); - it = m_enums.insert( std::make_pair( name, EnumData() ) ).first; - - // add some "dummy" type in the types map - assert( m_types.find( name ) == m_types.end() ); - m_types.insert( std::make_pair( name, TypeData( TypeCategory::Enum ) ) ); - } + check( it != m_enums.end(), line, "enum <" + name + "> is not listed as enum in the types section" ); check( it->second.values.empty(), line, "enum <" + name + "> already holds values" ); // mark it as a bitmask, if it is one bool bitmask = ( type == "bitmask" ); + check( !bitmask || std::find_if( m_bitmasks.begin(), + m_bitmasks.end(), + [&name]( auto const & bitmask ) { + return bitmask.second.requirements == name; + } ) != m_bitmasks.end(), + line, + "enum <" + name + "> is not listed as an requires for any bitmask in the types section" ); it->second.isBitmask = bitmask; - if ( bitmask ) - { - // look for the corresponding bitmask and set the requirements if needed! - auto bitmaskIt = std::find_if( m_bitmasks.begin(), m_bitmasks.end(), [&name]( auto const & bitmask ) { - return bitmask.second.requirements == name; - } ); - if ( bitmaskIt == m_bitmasks.end() ) - { - warn( false, line, "enum <" + name + "> is not listed as an requires for any bitmask in the types section" ); - - std::string bitmaskName = name; - size_t pos = bitmaskName.rfind( "FlagBits" ); - check( pos != std::string::npos, line, "enum <" + name + "> does not contain as substring" ); - bitmaskName.replace( pos, 8, "Flags" ); - - bitmaskIt = m_bitmasks.find( bitmaskName ); - check( bitmaskIt != m_bitmasks.end(), - line, - "enum <" + name + "> has not corresponding bitmask <" + bitmaskName + "> listed in the types section" ); - assert( bitmaskIt->second.requirements.empty() ); - bitmaskIt->second.requirements = name; - } - } std::string prefix = getEnumPrefix( line, name, bitmask ); std::string postfix = getEnumPostfix( name, m_tags, prefix ); diff --git a/vulkan/vulkan.hpp b/vulkan/vulkan.hpp index 47592c7..63bfce9 100644 --- a/vulkan/vulkan.hpp +++ b/vulkan/vulkan.hpp @@ -93,7 +93,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h # include #endif -static_assert( VK_HEADER_VERSION == 160, "Wrong VK_HEADER_VERSION!" ); +static_assert( VK_HEADER_VERSION == 161, "Wrong VK_HEADER_VERSION!" ); // 32-bit vulkan is not typesafe for handles, so don't allow copy constructors on this platform by default. // To enable this feature on 32-bit platforms please define VULKAN_HPP_TYPESAFE_CONVERSION @@ -9211,15 +9211,6 @@ namespace VULKAN_HPP_NAMESPACE } } - enum class SemaphoreCreateFlagBits : VkSemaphoreCreateFlags - { - }; - - VULKAN_HPP_INLINE std::string to_string( SemaphoreCreateFlagBits ) - { - return "(void)"; - } - enum class SemaphoreImportFlagBits : VkSemaphoreImportFlags { eTemporary = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT @@ -15371,6 +15362,15 @@ namespace VULKAN_HPP_NAMESPACE return "{ " + result.substr( 0, result.size() - 3 ) + " }"; } + enum class SemaphoreCreateFlagBits : VkFlags + { + }; + + VULKAN_HPP_INLINE std::string to_string( SemaphoreCreateFlagBits ) + { + return "(void)"; + } + using SemaphoreCreateFlags = Flags; VULKAN_HPP_INLINE std::string to_string( SemaphoreCreateFlags )