Merge pull request #867 from asuessenbach/enums

Add platform protection on enum value level.
This commit is contained in:
Andreas Süßenbach 2021-01-25 23:32:11 +01:00 committed by GitHub
commit 5a10fb84b7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 370 additions and 150 deletions

View File

@ -913,13 +913,19 @@ void VulkanHppGenerator::appendBitmask( std::string & str,
if ( !enumValues.empty() )
{
std::string allFlags;
if ( !enumValues.empty() )
{
for ( auto const & value : enumValues )
{
if ( !allFlags.empty() )
std::string enter, leave;
if ( !value.extension.empty() )
{
allFlags += " | ";
std::tie( enter, leave ) = generateProtection( "", { value.extension } );
}
allFlags += bitmaskType + "(" + enumName + "::" + value.vkValue + ")";
allFlags += enter + bitmaskType + "(" + enumName + "::" + value.vkValue + ") |\n" + leave;
}
assert( endsWith( allFlags, " |\n" ) );
allFlags = stripPostfix( allFlags, " |\n" );
}
static const std::string bitmaskOperatorsTemplate = R"(
@ -995,10 +1001,18 @@ void VulkanHppGenerator::appendBitmaskToStringFunction( std::string &
{
if ( evd.singleBit )
{
str +=
"\n"
" if ( value & " +
enumName + "::" + evd.vkValue + " ) result += \"" + evd.vkValue.substr( 1 ) + " | \";";
std::string enter, leave;
if ( !evd.extension.empty() )
{
std::tie( enter, leave ) = generateProtection( "", { evd.extension } );
if ( !leave.empty() )
{
leave = "\n" + leave;
leave.pop_back();
}
}
str += "\n" + enter + " if ( value & " + enumName + "::" + evd.vkValue + " ) result += \"" +
evd.vkValue.substr( 1 ) + " | \";" + leave;
}
}
str +=
@ -2230,15 +2244,22 @@ void VulkanHppGenerator::appendEnum( std::string & str, std::pair<std::string, E
"\n"
" {";
bool first = true;
if ( !enumData.second.values.empty() || !enumData.second.aliases.empty() )
{
for ( auto const & value : enumData.second.values )
{
if ( !first )
std::string enter, leave;
if ( !value.extension.empty() )
{
str += ",";
std::tie( enter, leave ) = generateProtection( "", { value.extension } );
}
str += "\n " + value.vkValue + " = " + value.vulkanValue;
first = false;
if ( !leave.empty() )
{
assert( leave.back() == '\n' );
leave.pop_back();
leave = "\n" + leave;
}
str += "\n" + enter + " " + value.vkValue + " = " + value.vulkanValue + "," + leave;
}
for ( auto const & alias : enumData.second.aliases )
{
@ -2248,17 +2269,11 @@ void VulkanHppGenerator::appendEnum( std::string & str, std::pair<std::string, E
return alias.second.second == evd.vkValue;
} ) == enumData.second.values.end() )
{
if ( !first )
{
str += ",";
}
str += "\n " + alias.second.second + " = " + alias.first;
first = false;
str += "\n " + alias.second.second + " = " + alias.first + ",";
}
}
if ( !first )
{
str += "\n ";
assert( str.back() == ',' );
str.pop_back();
}
str += "};\n";
@ -2354,7 +2369,13 @@ void VulkanHppGenerator::appendEnumToString( std::string &
" {\n";
for ( auto const & value : enumData.second.values )
{
str += " case " + enumName + "::" + value.vkValue + " : return \"" + value.vkValue.substr( 1 ) + "\";\n";
std::string enter, leave;
if ( !value.extension.empty() )
{
std::tie( enter, leave ) = generateProtection( "", { value.extension } );
}
str += enter + " case " + enumName + "::" + value.vkValue + " : return \"" + value.vkValue.substr( 1 ) +
"\";\n" + leave;
}
str +=
" default: return \"invalid ( \" + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + \" )\";\n"
@ -3023,7 +3044,7 @@ void VulkanHppGenerator::appendHashStructures( std::string & str ) const
void VulkanHppGenerator::appendResultExceptions( std::string & str ) const
{
std::string templateString = R"(
class ${className} : public SystemError
${enter} class ${className} : public SystemError
{
public:
${className}( std::string const& message )
@ -3031,20 +3052,26 @@ void VulkanHppGenerator::appendResultExceptions( std::string & str ) const
${className}( char const * message )
: SystemError( make_error_code( ${enumName}::${enumMemberName} ), message ) {}
};
)";
${leave})";
auto enumData = m_enums.find( "VkResult" );
for ( auto const & value : enumData->second.values )
{
if ( beginsWith( value.vkValue, "eError" ) )
{
std::string enter, leave;
if ( !value.extension.empty() )
{
std::tie( enter, leave ) = generateProtection( "", { value.extension } );
}
str += replaceWithMap( templateString,
{ { "className", stripPrefix( value.vkValue, "eError" ) + "Error" },
{ "enter", enter },
{ "enumName", stripPrefix( enumData->first, "Vk" ) },
{ "enumMemberName", value.vkValue } } );
{ "enumMemberName", value.vkValue },
{ "leave", leave } } );
}
}
str += "\n";
}
void VulkanHppGenerator::appendStruct( std::string & str, std::pair<std::string, StructureData> const & structure )
@ -6285,8 +6312,14 @@ void VulkanHppGenerator::appendThrowExceptions( std::string & str ) const
{
if ( beginsWith( value.vkValue, "eError" ) )
{
str += " case Result::" + value.vkValue + ": throw " + stripPrefix( value.vkValue, "eError" ) +
"Error( message );\n";
std::string enter, leave;
if ( !value.extension.empty() )
{
std::tie( enter, leave ) = generateProtection( "", { value.extension } );
}
str += enter + " case Result::" + value.vkValue + ": throw " + stripPrefix( value.vkValue, "eError" ) +
"Error( message );\n" + leave;
}
}
str +=
@ -6542,6 +6575,7 @@ void VulkanHppGenerator::EnumData::addEnumValue( int line,
bool bitpos,
std::string const & prefix,
std::string const & postfix,
std::string const & extension,
std::string const & tag )
{
std::string translatedName = createEnumValueName( valueName, prefix, postfix, bitmask, tag );
@ -6551,7 +6585,7 @@ void VulkanHppGenerator::EnumData::addEnumValue( int line,
} );
if ( it == values.end() )
{
values.push_back( EnumValueData( line, valueName, translatedName, bitpos ) );
values.push_back( EnumValueData( line, valueName, translatedName, extension, bitpos ) );
}
else
{
@ -7915,7 +7949,7 @@ void VulkanHppGenerator::readEnum( tinyxml2::XMLElement const * el
std::string tag = findTag( m_tags, name, postfix );
check( bitpos.empty() ^ value.empty(), line, "invalid set of attributes for enum <" + name + ">" );
enumData.addEnumValue( line, name, bitmask, !bitpos.empty(), prefix, postfix, tag );
enumData.addEnumValue( line, name, bitmask, !bitpos.empty(), prefix, postfix, "", tag );
}
void VulkanHppGenerator::readEnumAlias( tinyxml2::XMLElement const * element,
@ -8091,6 +8125,13 @@ void VulkanHppGenerator::readExtension( tinyxml2::XMLElement const * element )
{
promotedTo = attribute.second;
}
#if !defined( NDEBUG )
else if ( attribute.first == "provisional" )
{
assert( attribute.second == "true" );
assert( platform == "provisional" );
}
#endif
else if ( attribute.first == "requires" )
{
requirements = tokenize( attribute.second, "," );
@ -8286,7 +8327,7 @@ void VulkanHppGenerator::readExtensionRequire( tinyxml2::XMLElement const * elem
}
else if ( value == "enum" )
{
readRequireEnum( child, tag );
readRequireEnum( child, extension, tag );
}
else if ( value == "type" )
{
@ -8426,7 +8467,7 @@ void VulkanHppGenerator::readFeatureRequire( tinyxml2::XMLElement const * elemen
}
else if ( value == "enum" )
{
readRequireEnum( child, "" );
readRequireEnum( child, "", "" );
}
else if ( value == "type" )
{
@ -8723,7 +8764,9 @@ void VulkanHppGenerator::readRegistry( tinyxml2::XMLElement const * element )
}
}
void VulkanHppGenerator::readRequireEnum( tinyxml2::XMLElement const * element, std::string const & tag )
void VulkanHppGenerator::readRequireEnum( tinyxml2::XMLElement const * element,
std::string const & extension,
std::string const & tag )
{
std::map<std::string, std::string> attributes = getAttributes( element );
if ( attributes.find( "alias" ) != attributes.end() )
@ -8732,12 +8775,13 @@ void VulkanHppGenerator::readRequireEnum( tinyxml2::XMLElement const * element,
}
else
{
readRequireEnum( element, attributes, tag );
readRequireEnum( element, attributes, extension, tag );
}
}
void VulkanHppGenerator::readRequireEnum( tinyxml2::XMLElement const * element,
std::map<std::string, std::string> const & attributes,
std::string const & extension,
std::string const & tag )
{
int line = element->GetLineNum();
@ -8792,7 +8836,7 @@ void VulkanHppGenerator::readRequireEnum( tinyxml2::XMLElement const *
"exactly one out of bitpos = <" + bitpos + ">, offset = <" + offset + ">, and value = <" + value +
"> are supposed to be empty" );
enumIt->second.addEnumValue(
element->GetLineNum(), name, enumIt->second.isBitmask, !bitpos.empty(), prefix, postfix, tag );
element->GetLineNum(), name, enumIt->second.isBitmask, !bitpos.empty(), prefix, postfix, extension, tag );
}
else if ( value.empty() )
{

View File

@ -139,12 +139,14 @@ private:
struct EnumValueData
{
EnumValueData( int line, std::string const & vulkan, std::string const & vk, bool singleBit_ )
: vulkanValue( vulkan ), vkValue( vk ), singleBit( singleBit_ ), xmlLine( line )
EnumValueData(
int line, std::string const & vulkan, std::string const & vk, std::string const & extension_, bool singleBit_ )
: vulkanValue( vulkan ), vkValue( vk ), extension( extension_ ), singleBit( singleBit_ ), xmlLine( line )
{}
std::string vulkanValue;
std::string vkValue;
std::string extension;
bool singleBit;
int xmlLine;
};
@ -158,6 +160,7 @@ private:
bool bitpos,
std::string const & prefix,
std::string const & postfix,
std::string const & extension,
std::string const & tag );
std::string alias; // alias for this enum
@ -730,9 +733,10 @@ private:
void readPlatform( tinyxml2::XMLElement const * element );
void readPlatforms( tinyxml2::XMLElement const * element );
void readRegistry( tinyxml2::XMLElement const * element );
void readRequireEnum( tinyxml2::XMLElement const * element, std::string const & tag );
void readRequireEnum( tinyxml2::XMLElement const * element, std::string const & extension, std::string const & tag );
void readRequireEnum( tinyxml2::XMLElement const * element,
std::map<std::string, std::string> const & attributes,
std::string const & extension,
std::string const & tag );
void readRequireEnumAlias( tinyxml2::XMLElement const * element,
std::map<std::string, std::string> const & attributes,

View File

@ -6749,7 +6749,9 @@ namespace VULKAN_HPP_NAMESPACE
eD3D12Heap = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
eD3D12Resource = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
eDmaBufEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT,
#ifdef VK_USE_PLATFORM_ANDROID_KHR
eAndroidHardwareBufferANDROID = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID,
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
eHostAllocationEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT,
eHostMappedForeignMemoryEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT
};
@ -6767,7 +6769,9 @@ namespace VULKAN_HPP_NAMESPACE
case ExternalMemoryHandleTypeFlagBits::eD3D12Heap: return "D3D12Heap";
case ExternalMemoryHandleTypeFlagBits::eD3D12Resource: return "D3D12Resource";
case ExternalMemoryHandleTypeFlagBits::eDmaBufEXT: return "DmaBufEXT";
#ifdef VK_USE_PLATFORM_ANDROID_KHR
case ExternalMemoryHandleTypeFlagBits::eAndroidHardwareBufferANDROID: return "AndroidHardwareBufferANDROID";
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
case ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT: return "HostAllocationEXT";
case ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT: return "HostMappedForeignMemoryEXT";
default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
@ -9106,7 +9110,9 @@ namespace VULKAN_HPP_NAMESPACE
eErrorInvalidShaderNV = VK_ERROR_INVALID_SHADER_NV,
eErrorInvalidDrmFormatModifierPlaneLayoutEXT = VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT,
eErrorNotPermittedEXT = VK_ERROR_NOT_PERMITTED_EXT,
#ifdef VK_USE_PLATFORM_WIN32_KHR
eErrorFullScreenExclusiveModeLostEXT = VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT,
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
eThreadIdleKHR = VK_THREAD_IDLE_KHR,
eThreadDoneKHR = VK_THREAD_DONE_KHR,
eOperationDeferredKHR = VK_OPERATION_DEFERRED_KHR,
@ -9156,7 +9162,9 @@ namespace VULKAN_HPP_NAMESPACE
case Result::eErrorInvalidShaderNV: return "ErrorInvalidShaderNV";
case Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT: return "ErrorInvalidDrmFormatModifierPlaneLayoutEXT";
case Result::eErrorNotPermittedEXT: return "ErrorNotPermittedEXT";
#ifdef VK_USE_PLATFORM_WIN32_KHR
case Result::eErrorFullScreenExclusiveModeLostEXT: return "ErrorFullScreenExclusiveModeLostEXT";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
case Result::eThreadIdleKHR: return "ThreadIdleKHR";
case Result::eThreadDoneKHR: return "ThreadDoneKHR";
case Result::eOperationDeferredKHR: return "OperationDeferredKHR";
@ -9812,11 +9820,21 @@ namespace VULKAN_HPP_NAMESPACE
eDisplayModeCreateInfoKHR = VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR,
eDisplaySurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR,
eDisplayPresentInfoKHR = VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR,
#ifdef VK_USE_PLATFORM_XLIB_KHR
eXlibSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR,
#endif /*VK_USE_PLATFORM_XLIB_KHR*/
#ifdef VK_USE_PLATFORM_XCB_KHR
eXcbSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR,
#endif /*VK_USE_PLATFORM_XCB_KHR*/
#ifdef VK_USE_PLATFORM_WAYLAND_KHR
eWaylandSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR,
#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
#ifdef VK_USE_PLATFORM_ANDROID_KHR
eAndroidSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR,
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
eWin32SurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR,
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
eDebugReportCallbackCreateInfoEXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
ePipelineRasterizationStateRasterizationOrderAMD =
VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD,
@ -9833,31 +9851,59 @@ namespace VULKAN_HPP_NAMESPACE
eImageViewHandleInfoNVX = VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX,
eImageViewAddressPropertiesNVX = VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX,
eTextureLodGatherFormatPropertiesAMD = VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD,
#ifdef VK_USE_PLATFORM_GGP
eStreamDescriptorSurfaceCreateInfoGGP = VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP,
#endif /*VK_USE_PLATFORM_GGP*/
ePhysicalDeviceCornerSampledImageFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV,
eExternalMemoryImageCreateInfoNV = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV,
eExportMemoryAllocateInfoNV = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV,
#ifdef VK_USE_PLATFORM_WIN32_KHR
eImportMemoryWin32HandleInfoNV = VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV,
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
eExportMemoryWin32HandleInfoNV = VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV,
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
eWin32KeyedMutexAcquireReleaseInfoNV = VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV,
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
eValidationFlagsEXT = VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT,
#ifdef VK_USE_PLATFORM_VI_NN
eViSurfaceCreateInfoNN = VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN,
#endif /*VK_USE_PLATFORM_VI_NN*/
ePhysicalDeviceTextureCompressionAstcHdrFeaturesEXT =
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT,
eImageViewAstcDecodeModeEXT = VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT,
ePhysicalDeviceAstcDecodeFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT,
#ifdef VK_USE_PLATFORM_WIN32_KHR
eImportMemoryWin32HandleInfoKHR = VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
eExportMemoryWin32HandleInfoKHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
eMemoryWin32HandlePropertiesKHR = VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR,
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
eMemoryGetWin32HandleInfoKHR = VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR,
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
eImportMemoryFdInfoKHR = VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR,
eMemoryFdPropertiesKHR = VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR,
eMemoryGetFdInfoKHR = VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR,
#ifdef VK_USE_PLATFORM_WIN32_KHR
eWin32KeyedMutexAcquireReleaseInfoKHR = VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR,
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
eImportSemaphoreWin32HandleInfoKHR = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
eExportSemaphoreWin32HandleInfoKHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
eD3D12FenceSubmitInfoKHR = VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR,
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
eSemaphoreGetWin32HandleInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR,
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
eImportSemaphoreFdInfoKHR = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR,
eSemaphoreGetFdInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR,
ePhysicalDevicePushDescriptorPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR,
@ -9888,9 +9934,15 @@ namespace VULKAN_HPP_NAMESPACE
VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT,
eHdrMetadataEXT = VK_STRUCTURE_TYPE_HDR_METADATA_EXT,
eSharedPresentSurfaceCapabilitiesKHR = VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR,
#ifdef VK_USE_PLATFORM_WIN32_KHR
eImportFenceWin32HandleInfoKHR = VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR,
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
eExportFenceWin32HandleInfoKHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR,
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
eFenceGetWin32HandleInfoKHR = VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR,
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
eImportFenceFdInfoKHR = VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR,
eFenceGetFdInfoKHR = VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR,
ePhysicalDevicePerformanceQueryFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR,
@ -9908,19 +9960,35 @@ namespace VULKAN_HPP_NAMESPACE
eDisplayModeProperties2KHR = VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR,
eDisplayPlaneInfo2KHR = VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR,
eDisplayPlaneCapabilities2KHR = VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR,
#ifdef VK_USE_PLATFORM_IOS_MVK
eIosSurfaceCreateInfoMVK = VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK,
#endif /*VK_USE_PLATFORM_IOS_MVK*/
#ifdef VK_USE_PLATFORM_MACOS_MVK
eMacosSurfaceCreateInfoMVK = VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK,
#endif /*VK_USE_PLATFORM_MACOS_MVK*/
eDebugUtilsObjectNameInfoEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT,
eDebugUtilsObjectTagInfoEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT,
eDebugUtilsLabelEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT,
eDebugUtilsMessengerCallbackDataEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT,
eDebugUtilsMessengerCreateInfoEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT,
#ifdef VK_USE_PLATFORM_ANDROID_KHR
eAndroidHardwareBufferUsageANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID,
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
#ifdef VK_USE_PLATFORM_ANDROID_KHR
eAndroidHardwareBufferPropertiesANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID,
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
#ifdef VK_USE_PLATFORM_ANDROID_KHR
eAndroidHardwareBufferFormatPropertiesANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID,
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
#ifdef VK_USE_PLATFORM_ANDROID_KHR
eImportAndroidHardwareBufferInfoANDROID = VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
#ifdef VK_USE_PLATFORM_ANDROID_KHR
eMemoryGetAndroidHardwareBufferInfoANDROID = VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
#ifdef VK_USE_PLATFORM_ANDROID_KHR
eExternalFormatANDROID = VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID,
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
ePhysicalDeviceInlineUniformBlockFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT,
ePhysicalDeviceInlineUniformBlockPropertiesEXT =
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT,
@ -9975,8 +10043,12 @@ namespace VULKAN_HPP_NAMESPACE
eImageDrmFormatModifierPropertiesEXT = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT,
eValidationCacheCreateInfoEXT = VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT,
eShaderModuleValidationCacheCreateInfoEXT = VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT,
#ifdef VK_ENABLE_BETA_EXTENSIONS
ePhysicalDevicePortabilitySubsetFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR,
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
#ifdef VK_ENABLE_BETA_EXTENSIONS
ePhysicalDevicePortabilitySubsetPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR,
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
ePipelineViewportShadingRateImageStateCreateInfoNV =
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV,
ePhysicalDeviceShadingRateImageFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV,
@ -10018,7 +10090,9 @@ namespace VULKAN_HPP_NAMESPACE
VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT,
ePhysicalDeviceVertexAttributeDivisorFeaturesEXT =
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT,
#ifdef VK_USE_PLATFORM_GGP
ePresentFrameTokenGGP = VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP,
#endif /*VK_USE_PLATFORM_GGP*/
ePipelineCreationFeedbackCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT,
ePhysicalDeviceComputeShaderDerivativesFeaturesNV =
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV,
@ -10044,10 +10118,14 @@ namespace VULKAN_HPP_NAMESPACE
ePhysicalDevicePciBusInfoPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT,
eDisplayNativeHdrSurfaceCapabilitiesAMD = VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD,
eSwapchainDisplayNativeHdrCreateInfoAMD = VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD,
#ifdef VK_USE_PLATFORM_FUCHSIA
eImagepipeSurfaceCreateInfoFUCHSIA = VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA,
#endif /*VK_USE_PLATFORM_FUCHSIA*/
ePhysicalDeviceShaderTerminateInvocationFeaturesKHR =
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR,
#ifdef VK_USE_PLATFORM_METAL_EXT
eMetalSurfaceCreateInfoEXT = VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT,
#endif /*VK_USE_PLATFORM_METAL_EXT*/
ePhysicalDeviceFragmentDensityMapFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT,
ePhysicalDeviceFragmentDensityMapPropertiesEXT =
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT,
@ -10091,9 +10169,15 @@ namespace VULKAN_HPP_NAMESPACE
ePhysicalDeviceFragmentShaderInterlockFeaturesEXT =
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT,
ePhysicalDeviceYcbcrImageArraysFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT,
#ifdef VK_USE_PLATFORM_WIN32_KHR
eSurfaceFullScreenExclusiveInfoEXT = VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT,
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
eSurfaceCapabilitiesFullScreenExclusiveEXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT,
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
eSurfaceFullScreenExclusiveWin32InfoEXT = VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT,
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
eHeadlessSurfaceCreateInfoEXT = VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT,
ePhysicalDeviceLineRasterizationFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT,
ePipelineRasterizationLineStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT,
@ -10169,7 +10253,9 @@ namespace VULKAN_HPP_NAMESPACE
eBufferImageCopy2KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR,
eImageResolve2KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR,
ePhysicalDevice4444FormatsFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT,
#ifdef VK_USE_PLATFORM_DIRECTFB_EXT
eDirectfbSurfaceCreateInfoEXT = VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT,
#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
ePhysicalDeviceMutableDescriptorTypeFeaturesVALVE =
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE,
eMutableDescriptorTypeCreateInfoVALVE = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE,
@ -10499,11 +10585,21 @@ namespace VULKAN_HPP_NAMESPACE
case StructureType::eDisplayModeCreateInfoKHR: return "DisplayModeCreateInfoKHR";
case StructureType::eDisplaySurfaceCreateInfoKHR: return "DisplaySurfaceCreateInfoKHR";
case StructureType::eDisplayPresentInfoKHR: return "DisplayPresentInfoKHR";
#ifdef VK_USE_PLATFORM_XLIB_KHR
case StructureType::eXlibSurfaceCreateInfoKHR: return "XlibSurfaceCreateInfoKHR";
#endif /*VK_USE_PLATFORM_XLIB_KHR*/
#ifdef VK_USE_PLATFORM_XCB_KHR
case StructureType::eXcbSurfaceCreateInfoKHR: return "XcbSurfaceCreateInfoKHR";
#endif /*VK_USE_PLATFORM_XCB_KHR*/
#ifdef VK_USE_PLATFORM_WAYLAND_KHR
case StructureType::eWaylandSurfaceCreateInfoKHR: return "WaylandSurfaceCreateInfoKHR";
#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
#ifdef VK_USE_PLATFORM_ANDROID_KHR
case StructureType::eAndroidSurfaceCreateInfoKHR: return "AndroidSurfaceCreateInfoKHR";
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
case StructureType::eWin32SurfaceCreateInfoKHR: return "Win32SurfaceCreateInfoKHR";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
case StructureType::eDebugReportCallbackCreateInfoEXT: return "DebugReportCallbackCreateInfoEXT";
case StructureType::ePipelineRasterizationStateRasterizationOrderAMD:
return "PipelineRasterizationStateRasterizationOrderAMD";
@ -10522,32 +10618,60 @@ namespace VULKAN_HPP_NAMESPACE
case StructureType::eImageViewHandleInfoNVX: return "ImageViewHandleInfoNVX";
case StructureType::eImageViewAddressPropertiesNVX: return "ImageViewAddressPropertiesNVX";
case StructureType::eTextureLodGatherFormatPropertiesAMD: return "TextureLodGatherFormatPropertiesAMD";
#ifdef VK_USE_PLATFORM_GGP
case StructureType::eStreamDescriptorSurfaceCreateInfoGGP: return "StreamDescriptorSurfaceCreateInfoGGP";
#endif /*VK_USE_PLATFORM_GGP*/
case StructureType::ePhysicalDeviceCornerSampledImageFeaturesNV:
return "PhysicalDeviceCornerSampledImageFeaturesNV";
case StructureType::eExternalMemoryImageCreateInfoNV: return "ExternalMemoryImageCreateInfoNV";
case StructureType::eExportMemoryAllocateInfoNV: return "ExportMemoryAllocateInfoNV";
#ifdef VK_USE_PLATFORM_WIN32_KHR
case StructureType::eImportMemoryWin32HandleInfoNV: return "ImportMemoryWin32HandleInfoNV";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
case StructureType::eExportMemoryWin32HandleInfoNV: return "ExportMemoryWin32HandleInfoNV";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
case StructureType::eWin32KeyedMutexAcquireReleaseInfoNV: return "Win32KeyedMutexAcquireReleaseInfoNV";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
case StructureType::eValidationFlagsEXT: return "ValidationFlagsEXT";
#ifdef VK_USE_PLATFORM_VI_NN
case StructureType::eViSurfaceCreateInfoNN: return "ViSurfaceCreateInfoNN";
#endif /*VK_USE_PLATFORM_VI_NN*/
case StructureType::ePhysicalDeviceTextureCompressionAstcHdrFeaturesEXT:
return "PhysicalDeviceTextureCompressionAstcHdrFeaturesEXT";
case StructureType::eImageViewAstcDecodeModeEXT: return "ImageViewAstcDecodeModeEXT";
case StructureType::ePhysicalDeviceAstcDecodeFeaturesEXT: return "PhysicalDeviceAstcDecodeFeaturesEXT";
#ifdef VK_USE_PLATFORM_WIN32_KHR
case StructureType::eImportMemoryWin32HandleInfoKHR: return "ImportMemoryWin32HandleInfoKHR";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
case StructureType::eExportMemoryWin32HandleInfoKHR: return "ExportMemoryWin32HandleInfoKHR";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
case StructureType::eMemoryWin32HandlePropertiesKHR: return "MemoryWin32HandlePropertiesKHR";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
case StructureType::eMemoryGetWin32HandleInfoKHR: return "MemoryGetWin32HandleInfoKHR";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
case StructureType::eImportMemoryFdInfoKHR: return "ImportMemoryFdInfoKHR";
case StructureType::eMemoryFdPropertiesKHR: return "MemoryFdPropertiesKHR";
case StructureType::eMemoryGetFdInfoKHR: return "MemoryGetFdInfoKHR";
#ifdef VK_USE_PLATFORM_WIN32_KHR
case StructureType::eWin32KeyedMutexAcquireReleaseInfoKHR: return "Win32KeyedMutexAcquireReleaseInfoKHR";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
case StructureType::eImportSemaphoreWin32HandleInfoKHR: return "ImportSemaphoreWin32HandleInfoKHR";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
case StructureType::eExportSemaphoreWin32HandleInfoKHR: return "ExportSemaphoreWin32HandleInfoKHR";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
case StructureType::eD3D12FenceSubmitInfoKHR: return "D3D12FenceSubmitInfoKHR";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
case StructureType::eSemaphoreGetWin32HandleInfoKHR: return "SemaphoreGetWin32HandleInfoKHR";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
case StructureType::eImportSemaphoreFdInfoKHR: return "ImportSemaphoreFdInfoKHR";
case StructureType::eSemaphoreGetFdInfoKHR: return "SemaphoreGetFdInfoKHR";
case StructureType::ePhysicalDevicePushDescriptorPropertiesKHR:
@ -10582,9 +10706,15 @@ namespace VULKAN_HPP_NAMESPACE
return "PipelineRasterizationDepthClipStateCreateInfoEXT";
case StructureType::eHdrMetadataEXT: return "HdrMetadataEXT";
case StructureType::eSharedPresentSurfaceCapabilitiesKHR: return "SharedPresentSurfaceCapabilitiesKHR";
#ifdef VK_USE_PLATFORM_WIN32_KHR
case StructureType::eImportFenceWin32HandleInfoKHR: return "ImportFenceWin32HandleInfoKHR";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
case StructureType::eExportFenceWin32HandleInfoKHR: return "ExportFenceWin32HandleInfoKHR";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
case StructureType::eFenceGetWin32HandleInfoKHR: return "FenceGetWin32HandleInfoKHR";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
case StructureType::eImportFenceFdInfoKHR: return "ImportFenceFdInfoKHR";
case StructureType::eFenceGetFdInfoKHR: return "FenceGetFdInfoKHR";
case StructureType::ePhysicalDevicePerformanceQueryFeaturesKHR:
@ -10604,21 +10734,37 @@ namespace VULKAN_HPP_NAMESPACE
case StructureType::eDisplayModeProperties2KHR: return "DisplayModeProperties2KHR";
case StructureType::eDisplayPlaneInfo2KHR: return "DisplayPlaneInfo2KHR";
case StructureType::eDisplayPlaneCapabilities2KHR: return "DisplayPlaneCapabilities2KHR";
#ifdef VK_USE_PLATFORM_IOS_MVK
case StructureType::eIosSurfaceCreateInfoMVK: return "IosSurfaceCreateInfoMVK";
#endif /*VK_USE_PLATFORM_IOS_MVK*/
#ifdef VK_USE_PLATFORM_MACOS_MVK
case StructureType::eMacosSurfaceCreateInfoMVK: return "MacosSurfaceCreateInfoMVK";
#endif /*VK_USE_PLATFORM_MACOS_MVK*/
case StructureType::eDebugUtilsObjectNameInfoEXT: return "DebugUtilsObjectNameInfoEXT";
case StructureType::eDebugUtilsObjectTagInfoEXT: return "DebugUtilsObjectTagInfoEXT";
case StructureType::eDebugUtilsLabelEXT: return "DebugUtilsLabelEXT";
case StructureType::eDebugUtilsMessengerCallbackDataEXT: return "DebugUtilsMessengerCallbackDataEXT";
case StructureType::eDebugUtilsMessengerCreateInfoEXT: return "DebugUtilsMessengerCreateInfoEXT";
#ifdef VK_USE_PLATFORM_ANDROID_KHR
case StructureType::eAndroidHardwareBufferUsageANDROID: return "AndroidHardwareBufferUsageANDROID";
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
#ifdef VK_USE_PLATFORM_ANDROID_KHR
case StructureType::eAndroidHardwareBufferPropertiesANDROID: return "AndroidHardwareBufferPropertiesANDROID";
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
#ifdef VK_USE_PLATFORM_ANDROID_KHR
case StructureType::eAndroidHardwareBufferFormatPropertiesANDROID:
return "AndroidHardwareBufferFormatPropertiesANDROID";
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
#ifdef VK_USE_PLATFORM_ANDROID_KHR
case StructureType::eImportAndroidHardwareBufferInfoANDROID: return "ImportAndroidHardwareBufferInfoANDROID";
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
#ifdef VK_USE_PLATFORM_ANDROID_KHR
case StructureType::eMemoryGetAndroidHardwareBufferInfoANDROID:
return "MemoryGetAndroidHardwareBufferInfoANDROID";
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
#ifdef VK_USE_PLATFORM_ANDROID_KHR
case StructureType::eExternalFormatANDROID: return "ExternalFormatANDROID";
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
case StructureType::ePhysicalDeviceInlineUniformBlockFeaturesEXT:
return "PhysicalDeviceInlineUniformBlockFeaturesEXT";
case StructureType::ePhysicalDeviceInlineUniformBlockPropertiesEXT:
@ -10685,10 +10831,14 @@ namespace VULKAN_HPP_NAMESPACE
case StructureType::eImageDrmFormatModifierPropertiesEXT: return "ImageDrmFormatModifierPropertiesEXT";
case StructureType::eValidationCacheCreateInfoEXT: return "ValidationCacheCreateInfoEXT";
case StructureType::eShaderModuleValidationCacheCreateInfoEXT: return "ShaderModuleValidationCacheCreateInfoEXT";
#ifdef VK_ENABLE_BETA_EXTENSIONS
case StructureType::ePhysicalDevicePortabilitySubsetFeaturesKHR:
return "PhysicalDevicePortabilitySubsetFeaturesKHR";
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
#ifdef VK_ENABLE_BETA_EXTENSIONS
case StructureType::ePhysicalDevicePortabilitySubsetPropertiesKHR:
return "PhysicalDevicePortabilitySubsetPropertiesKHR";
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
case StructureType::ePipelineViewportShadingRateImageStateCreateInfoNV:
return "PipelineViewportShadingRateImageStateCreateInfoNV";
case StructureType::ePhysicalDeviceShadingRateImageFeaturesNV: return "PhysicalDeviceShadingRateImageFeaturesNV";
@ -10733,7 +10883,9 @@ namespace VULKAN_HPP_NAMESPACE
return "PipelineVertexInputDivisorStateCreateInfoEXT";
case StructureType::ePhysicalDeviceVertexAttributeDivisorFeaturesEXT:
return "PhysicalDeviceVertexAttributeDivisorFeaturesEXT";
#ifdef VK_USE_PLATFORM_GGP
case StructureType::ePresentFrameTokenGGP: return "PresentFrameTokenGGP";
#endif /*VK_USE_PLATFORM_GGP*/
case StructureType::ePipelineCreationFeedbackCreateInfoEXT: return "PipelineCreationFeedbackCreateInfoEXT";
case StructureType::ePhysicalDeviceComputeShaderDerivativesFeaturesNV:
return "PhysicalDeviceComputeShaderDerivativesFeaturesNV";
@ -10759,10 +10911,14 @@ namespace VULKAN_HPP_NAMESPACE
case StructureType::ePhysicalDevicePciBusInfoPropertiesEXT: return "PhysicalDevicePciBusInfoPropertiesEXT";
case StructureType::eDisplayNativeHdrSurfaceCapabilitiesAMD: return "DisplayNativeHdrSurfaceCapabilitiesAMD";
case StructureType::eSwapchainDisplayNativeHdrCreateInfoAMD: return "SwapchainDisplayNativeHdrCreateInfoAMD";
#ifdef VK_USE_PLATFORM_FUCHSIA
case StructureType::eImagepipeSurfaceCreateInfoFUCHSIA: return "ImagepipeSurfaceCreateInfoFUCHSIA";
#endif /*VK_USE_PLATFORM_FUCHSIA*/
case StructureType::ePhysicalDeviceShaderTerminateInvocationFeaturesKHR:
return "PhysicalDeviceShaderTerminateInvocationFeaturesKHR";
#ifdef VK_USE_PLATFORM_METAL_EXT
case StructureType::eMetalSurfaceCreateInfoEXT: return "MetalSurfaceCreateInfoEXT";
#endif /*VK_USE_PLATFORM_METAL_EXT*/
case StructureType::ePhysicalDeviceFragmentDensityMapFeaturesEXT:
return "PhysicalDeviceFragmentDensityMapFeaturesEXT";
case StructureType::ePhysicalDeviceFragmentDensityMapPropertiesEXT:
@ -10812,10 +10968,16 @@ namespace VULKAN_HPP_NAMESPACE
return "PhysicalDeviceFragmentShaderInterlockFeaturesEXT";
case StructureType::ePhysicalDeviceYcbcrImageArraysFeaturesEXT:
return "PhysicalDeviceYcbcrImageArraysFeaturesEXT";
#ifdef VK_USE_PLATFORM_WIN32_KHR
case StructureType::eSurfaceFullScreenExclusiveInfoEXT: return "SurfaceFullScreenExclusiveInfoEXT";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
case StructureType::eSurfaceCapabilitiesFullScreenExclusiveEXT:
return "SurfaceCapabilitiesFullScreenExclusiveEXT";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
#ifdef VK_USE_PLATFORM_WIN32_KHR
case StructureType::eSurfaceFullScreenExclusiveWin32InfoEXT: return "SurfaceFullScreenExclusiveWin32InfoEXT";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
case StructureType::eHeadlessSurfaceCreateInfoEXT: return "HeadlessSurfaceCreateInfoEXT";
case StructureType::ePhysicalDeviceLineRasterizationFeaturesEXT:
return "PhysicalDeviceLineRasterizationFeaturesEXT";
@ -10900,7 +11062,9 @@ namespace VULKAN_HPP_NAMESPACE
case StructureType::eBufferImageCopy2KHR: return "BufferImageCopy2KHR";
case StructureType::eImageResolve2KHR: return "ImageResolve2KHR";
case StructureType::ePhysicalDevice4444FormatsFeaturesEXT: return "PhysicalDevice4444FormatsFeaturesEXT";
#ifdef VK_USE_PLATFORM_DIRECTFB_EXT
case StructureType::eDirectfbSurfaceCreateInfoEXT: return "DirectfbSurfaceCreateInfoEXT";
#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
case StructureType::ePhysicalDeviceMutableDescriptorTypeFeaturesVALVE:
return "PhysicalDeviceMutableDescriptorTypeFeaturesVALVE";
case StructureType::eMutableDescriptorTypeCreateInfoVALVE: return "MutableDescriptorTypeCreateInfoVALVE";
@ -13136,7 +13300,9 @@ namespace VULKAN_HPP_NAMESPACE
VkFlags( ExternalMemoryHandleTypeFlagBits::eD3D12Heap ) |
VkFlags( ExternalMemoryHandleTypeFlagBits::eD3D12Resource ) |
VkFlags( ExternalMemoryHandleTypeFlagBits::eDmaBufEXT ) |
#ifdef VK_USE_PLATFORM_ANDROID_KHR
VkFlags( ExternalMemoryHandleTypeFlagBits::eAndroidHardwareBufferANDROID ) |
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
VkFlags( ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT ) |
VkFlags( ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT )
};
@ -13190,8 +13356,10 @@ namespace VULKAN_HPP_NAMESPACE
result += "D3D12Resource | ";
if ( value & ExternalMemoryHandleTypeFlagBits::eDmaBufEXT )
result += "DmaBufEXT | ";
#ifdef VK_USE_PLATFORM_ANDROID_KHR
if ( value & ExternalMemoryHandleTypeFlagBits::eAndroidHardwareBufferANDROID )
result += "AndroidHardwareBufferANDROID | ";
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
if ( value & ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT )
result += "HostAllocationEXT | ";
if ( value & ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT )
@ -16748,6 +16916,7 @@ namespace VULKAN_HPP_NAMESPACE
{}
};
# ifdef VK_USE_PLATFORM_WIN32_KHR
class FullScreenExclusiveModeLostEXTError : public SystemError
{
public:
@ -16758,6 +16927,7 @@ namespace VULKAN_HPP_NAMESPACE
: SystemError( make_error_code( Result::eErrorFullScreenExclusiveModeLostEXT ), message )
{}
};
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
[[noreturn]] static void throwResultException( Result result, char const * message )
{
@ -16789,7 +16959,9 @@ namespace VULKAN_HPP_NAMESPACE
case Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT:
throw InvalidDrmFormatModifierPlaneLayoutEXTError( message );
case Result::eErrorNotPermittedEXT: throw NotPermittedEXTError( message );
# ifdef VK_USE_PLATFORM_WIN32_KHR
case Result::eErrorFullScreenExclusiveModeLostEXT: throw FullScreenExclusiveModeLostEXTError( message );
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
default: throw SystemError( make_error_code( result ) );
}
}