Update to VK_HEADER_VERSION 161.

+ changed two now outdated warnings into error checks
+ removed VS2019 builds for now due to an internal compiler error!
This commit is contained in:
asuessenbach 2020-11-16 13:44:20 +01:00
parent dc94e1589d
commit 04b4e5a077
4 changed files with 19 additions and 74 deletions

View File

@ -23,36 +23,6 @@ environment:
GENERATOR_ARCH: x64 GENERATOR_ARCH: x64
PYTHON: "C:\\Python38-x64" PYTHON: "C:\\Python38-x64"
CXX_STANDARD: 11 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: install:
- git submodule update --init --recursive - git submodule update --init --recursive

@ -1 +1 @@
Subproject commit 670ffea9d61b9f4b8f68c919dab7caf33dfd9718 Subproject commit 11c6670b4a4f766ed4f1e777d1b3c3dc082dfa5f

View File

@ -7781,44 +7781,19 @@ void VulkanHppGenerator::readEnums( tinyxml2::XMLElement const * element )
// get the EnumData entry in enum map // get the EnumData entry in enum map
std::map<std::string, EnumData>::iterator it = m_enums.find( name ); std::map<std::string, EnumData>::iterator it = m_enums.find( name );
if ( it == m_enums.end() ) check( it != m_enums.end(), line, "enum <" + name + "> is not listed as enum in the types section" );
{
// well, some enums are not listed in the <types> 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->second.values.empty(), line, "enum <" + name + "> already holds values" ); check( it->second.values.empty(), line, "enum <" + name + "> already holds values" );
// mark it as a bitmask, if it is one // mark it as a bitmask, if it is one
bool bitmask = ( type == "bitmask" ); 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; 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 <FlagBits> 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 prefix = getEnumPrefix( line, name, bitmask );
std::string postfix = getEnumPostfix( name, m_tags, prefix ); std::string postfix = getEnumPostfix( name, m_tags, prefix );

View File

@ -93,7 +93,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h
# include <compare> # include <compare>
#endif #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. // 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 // 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 enum class SemaphoreImportFlagBits : VkSemaphoreImportFlags
{ {
eTemporary = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT eTemporary = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT
@ -15371,6 +15362,15 @@ namespace VULKAN_HPP_NAMESPACE
return "{ " + result.substr( 0, result.size() - 3 ) + " }"; return "{ " + result.substr( 0, result.size() - 3 ) + " }";
} }
enum class SemaphoreCreateFlagBits : VkFlags
{
};
VULKAN_HPP_INLINE std::string to_string( SemaphoreCreateFlagBits )
{
return "(void)";
}
using SemaphoreCreateFlags = Flags<SemaphoreCreateFlagBits>; using SemaphoreCreateFlags = Flags<SemaphoreCreateFlagBits>;
VULKAN_HPP_INLINE std::string to_string( SemaphoreCreateFlags ) VULKAN_HPP_INLINE std::string to_string( SemaphoreCreateFlags )