aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2021-12-20 12:21:28 +0000
committerJan Beich <jbeich@FreeBSD.org>2021-12-20 22:46:15 +0000
commit9ed1ef30f119d1f1eaf523215434a10a4cc06f37 (patch)
tree220cbf016b9c8b5a93af55782b9e6e7e5ccb85ab
parent28dd25825b464d9e4d9e0b640606dacb33dc630f (diff)
downloadports-9ed1ef30f119d1f1eaf523215434a10a4cc06f37.tar.gz
ports-9ed1ef30f119d1f1eaf523215434a10a4cc06f37.zip
graphics/vulkan-headers: update to 1.2.203
Force rebuild vulkan-loader to make sure vulkaninfo shows the new version. Changes: https://github.com/KhronosGroup/Vulkan-Headers/compare/v1.2.202...v1.2.203 Reported by: Repology
-rw-r--r--graphics/vulkan-headers/Makefile3
-rw-r--r--graphics/vulkan-headers/distinfo6
-rw-r--r--graphics/vulkan-headers/files/patch-vulkan-hpp35141
-rw-r--r--graphics/vulkan-loader/Makefile1
-rw-r--r--graphics/vulkan-validation-layers/files/patch-headers-1.2.20344
5 files changed, 49 insertions, 35146 deletions
diff --git a/graphics/vulkan-headers/Makefile b/graphics/vulkan-headers/Makefile
index c1e5ac8d11ad..06fe1b7f4f70 100644
--- a/graphics/vulkan-headers/Makefile
+++ b/graphics/vulkan-headers/Makefile
@@ -1,7 +1,6 @@
PORTNAME= vulkan-headers
DISTVERSIONPREFIX= v
-DISTVERSION= 1.2.202
-PORTREVISION= 1
+DISTVERSION= 1.2.203
CATEGORIES= graphics
MAINTAINER= jbeich@FreeBSD.org
diff --git a/graphics/vulkan-headers/distinfo b/graphics/vulkan-headers/distinfo
index db7b80b2344d..2b6879745bad 100644
--- a/graphics/vulkan-headers/distinfo
+++ b/graphics/vulkan-headers/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1638869794
-SHA256 (KhronosGroup-Vulkan-Headers-v1.2.202_GH0.tar.gz) = df8748ba3073be032f78c97994798c3c2b52b1812e506cc58855faf10f031226
-SIZE (KhronosGroup-Vulkan-Headers-v1.2.202_GH0.tar.gz) = 1361825
+TIMESTAMP = 1640002888
+SHA256 (KhronosGroup-Vulkan-Headers-v1.2.203_GH0.tar.gz) = 7239108c372f1fbe365bd8d1610ca2bb4e72b73b2151f2551bf9df54dd539639
+SIZE (KhronosGroup-Vulkan-Headers-v1.2.203_GH0.tar.gz) = 1364915
diff --git a/graphics/vulkan-headers/files/patch-vulkan-hpp b/graphics/vulkan-headers/files/patch-vulkan-hpp
deleted file mode 100644
index 8f4e9dcc5507..000000000000
--- a/graphics/vulkan-headers/files/patch-vulkan-hpp
+++ /dev/null
@@ -1,35141 +0,0 @@
-https://github.com/KhronosGroup/Vulkan-Hpp/pull/1165 (c7751f7725a4)
-
---- include/vulkan/vulkan.hpp.orig 2021-12-07 09:36:34 UTC
-+++ include/vulkan/vulkan.hpp
-@@ -234,11 +234,6 @@ static_assert( VK_HEADER_VERSION == 202, "Wrong VK_HEA
- # define VULKAN_HPP_NAMESPACE vk
- #endif
-
--#if !defined( VULKAN_HPP_HASH_COMBINE )
--# define VULKAN_HPP_HASH_COMBINE( valueType, seed, value ) \
-- seed ^= std::hash<std::remove_const<valueType>::type>{}( value ) + 0x9e3779b9 + ( seed << 6 ) + ( seed >> 2 )
--#endif
--
- #define VULKAN_HPP_STRINGIFY2( text ) #text
- #define VULKAN_HPP_STRINGIFY( text ) VULKAN_HPP_STRINGIFY2( text )
- #define VULKAN_HPP_NAMESPACE_STRING VULKAN_HPP_STRINGIFY( VULKAN_HPP_NAMESPACE )
-@@ -818,20 +813,7 @@ namespace VULKAN_HPP_NAMESPACE
- {
- return flags.operator^( bit );
- }
--} // namespace VULKAN_HPP_NAMESPACE
-
--template <typename BitType>
--struct std::hash<VULKAN_HPP_NAMESPACE::Flags<BitType>>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::Flags<BitType> const & flags ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<typename std::underlying_type<BitType>::type>{}(
-- static_cast<typename std::underlying_type<BitType>::type>( flags ) );
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- template <typename RefType>
- class Optional
- {
---- include/vulkan/vulkan_handles.hpp.orig 2021-12-07 09:36:34 UTC
-+++ include/vulkan/vulkan_handles.hpp
-@@ -14531,476 +14531,4 @@ namespace VULKAN_HPP_NAMESPACE
- #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-
- } // namespace VULKAN_HPP_NAMESPACE
--
--namespace std
--{
-- //=======================
-- //=== HASH structures ===
-- //=======================
--
-- //=== VK_VERSION_1_0 ===
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::Instance>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::Instance const & instance ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkInstance>{}( static_cast<VkInstance>( instance ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevice>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevice const & physicalDevice ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkPhysicalDevice>{}( static_cast<VkPhysicalDevice>( physicalDevice ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::Device>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::Device const & device ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkDevice>{}( static_cast<VkDevice>( device ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::Queue>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::Queue const & queue ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkQueue>{}( static_cast<VkQueue>( queue ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::DeviceMemory>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::DeviceMemory const & deviceMemory ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkDeviceMemory>{}( static_cast<VkDeviceMemory>( deviceMemory ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::Fence>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::Fence const & fence ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkFence>{}( static_cast<VkFence>( fence ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::Semaphore>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::Semaphore const & semaphore ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkSemaphore>{}( static_cast<VkSemaphore>( semaphore ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::Event>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::Event const & event ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkEvent>{}( static_cast<VkEvent>( event ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::QueryPool>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::QueryPool const & queryPool ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkQueryPool>{}( static_cast<VkQueryPool>( queryPool ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::Buffer>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::Buffer const & buffer ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkBuffer>{}( static_cast<VkBuffer>( buffer ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::BufferView>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferView const & bufferView ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkBufferView>{}( static_cast<VkBufferView>( bufferView ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::Image>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::Image const & image ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkImage>{}( static_cast<VkImage>( image ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::ImageView>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageView const & imageView ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkImageView>{}( static_cast<VkImageView>( imageView ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::ShaderModule>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::ShaderModule const & shaderModule ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkShaderModule>{}( static_cast<VkShaderModule>( shaderModule ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::PipelineCache>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineCache const & pipelineCache ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkPipelineCache>{}( static_cast<VkPipelineCache>( pipelineCache ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::Pipeline>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::Pipeline const & pipeline ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkPipeline>{}( static_cast<VkPipeline>( pipeline ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::PipelineLayout>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineLayout const & pipelineLayout ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkPipelineLayout>{}( static_cast<VkPipelineLayout>( pipelineLayout ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::Sampler>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::Sampler const & sampler ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkSampler>{}( static_cast<VkSampler>( sampler ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::DescriptorPool>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorPool const & descriptorPool ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkDescriptorPool>{}( static_cast<VkDescriptorPool>( descriptorPool ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::DescriptorSet>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorSet const & descriptorSet ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkDescriptorSet>{}( static_cast<VkDescriptorSet>( descriptorSet ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetLayout>
-- {
-- std::size_t
-- operator()( VULKAN_HPP_NAMESPACE::DescriptorSetLayout const & descriptorSetLayout ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkDescriptorSetLayout>{}( static_cast<VkDescriptorSetLayout>( descriptorSetLayout ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::Framebuffer>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::Framebuffer const & framebuffer ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkFramebuffer>{}( static_cast<VkFramebuffer>( framebuffer ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::RenderPass>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::RenderPass const & renderPass ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkRenderPass>{}( static_cast<VkRenderPass>( renderPass ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::CommandPool>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::CommandPool const & commandPool ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkCommandPool>{}( static_cast<VkCommandPool>( commandPool ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::CommandBuffer>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::CommandBuffer const & commandBuffer ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkCommandBuffer>{}( static_cast<VkCommandBuffer>( commandBuffer ) );
-- }
-- };
--
-- //=== VK_VERSION_1_1 ===
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion const & samplerYcbcrConversion ) const
-- VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkSamplerYcbcrConversion>{}( static_cast<VkSamplerYcbcrConversion>( samplerYcbcrConversion ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate const & descriptorUpdateTemplate ) const
-- VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkDescriptorUpdateTemplate>{}(
-- static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ) );
-- }
-- };
--
-- //=== VK_KHR_surface ===
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::SurfaceKHR>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::SurfaceKHR const & surfaceKHR ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkSurfaceKHR>{}( static_cast<VkSurfaceKHR>( surfaceKHR ) );
-- }
-- };
--
-- //=== VK_KHR_swapchain ===
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::SwapchainKHR>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::SwapchainKHR const & swapchainKHR ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkSwapchainKHR>{}( static_cast<VkSwapchainKHR>( swapchainKHR ) );
-- }
-- };
--
-- //=== VK_KHR_display ===
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::DisplayKHR>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::DisplayKHR const & displayKHR ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkDisplayKHR>{}( static_cast<VkDisplayKHR>( displayKHR ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::DisplayModeKHR>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::DisplayModeKHR const & displayModeKHR ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkDisplayModeKHR>{}( static_cast<VkDisplayModeKHR>( displayModeKHR ) );
-- }
-- };
--
-- //=== VK_EXT_debug_report ===
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT const & debugReportCallbackEXT ) const
-- VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkDebugReportCallbackEXT>{}( static_cast<VkDebugReportCallbackEXT>( debugReportCallbackEXT ) );
-- }
-- };
--
--#if defined( VK_ENABLE_BETA_EXTENSIONS )
-- //=== VK_KHR_video_queue ===
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::VideoSessionKHR>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoSessionKHR const & videoSessionKHR ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkVideoSessionKHR>{}( static_cast<VkVideoSessionKHR>( videoSessionKHR ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR const & videoSessionParametersKHR ) const
-- VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkVideoSessionParametersKHR>{}(
-- static_cast<VkVideoSessionParametersKHR>( videoSessionParametersKHR ) );
-- }
-- };
--#endif /*VK_ENABLE_BETA_EXTENSIONS*/
--
-- //=== VK_NVX_binary_import ===
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::CuModuleNVX>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::CuModuleNVX const & cuModuleNVX ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkCuModuleNVX>{}( static_cast<VkCuModuleNVX>( cuModuleNVX ) );
-- }
-- };
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::CuFunctionNVX>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::CuFunctionNVX const & cuFunctionNVX ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkCuFunctionNVX>{}( static_cast<VkCuFunctionNVX>( cuFunctionNVX ) );
-- }
-- };
--
-- //=== VK_EXT_debug_utils ===
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT const & debugUtilsMessengerEXT ) const
-- VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkDebugUtilsMessengerEXT>{}( static_cast<VkDebugUtilsMessengerEXT>( debugUtilsMessengerEXT ) );
-- }
-- };
--
-- //=== VK_KHR_acceleration_structure ===
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureKHR>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR const & accelerationStructureKHR ) const
-- VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkAccelerationStructureKHR>{}(
-- static_cast<VkAccelerationStructureKHR>( accelerationStructureKHR ) );
-- }
-- };
--
-- //=== VK_EXT_validation_cache ===
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::ValidationCacheEXT>
-- {
-- std::size_t
-- operator()( VULKAN_HPP_NAMESPACE::ValidationCacheEXT const & validationCacheEXT ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkValidationCacheEXT>{}( static_cast<VkValidationCacheEXT>( validationCacheEXT ) );
-- }
-- };
--
-- //=== VK_NV_ray_tracing ===
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureNV>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureNV const & accelerationStructureNV ) const
-- VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkAccelerationStructureNV>{}(
-- static_cast<VkAccelerationStructureNV>( accelerationStructureNV ) );
-- }
-- };
--
-- //=== VK_INTEL_performance_query ===
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL const & performanceConfigurationINTEL )
-- const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkPerformanceConfigurationINTEL>{}(
-- static_cast<VkPerformanceConfigurationINTEL>( performanceConfigurationINTEL ) );
-- }
-- };
--
-- //=== VK_KHR_deferred_host_operations ===
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::DeferredOperationKHR>
-- {
-- std::size_t
-- operator()( VULKAN_HPP_NAMESPACE::DeferredOperationKHR const & deferredOperationKHR ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkDeferredOperationKHR>{}( static_cast<VkDeferredOperationKHR>( deferredOperationKHR ) );
-- }
-- };
--
-- //=== VK_NV_device_generated_commands ===
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV const & indirectCommandsLayoutNV ) const
-- VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkIndirectCommandsLayoutNV>{}(
-- static_cast<VkIndirectCommandsLayoutNV>( indirectCommandsLayoutNV ) );
-- }
-- };
--
-- //=== VK_EXT_private_data ===
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT>
-- {
-- std::size_t
-- operator()( VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT const & privateDataSlotEXT ) const VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkPrivateDataSlotEXT>{}( static_cast<VkPrivateDataSlotEXT>( privateDataSlotEXT ) );
-- }
-- };
--
--#if defined( VK_USE_PLATFORM_FUCHSIA )
-- //=== VK_FUCHSIA_buffer_collection ===
--
-- template <>
-- struct hash<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA>
-- {
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA const & bufferCollectionFUCHSIA ) const
-- VULKAN_HPP_NOEXCEPT
-- {
-- return std::hash<VkBufferCollectionFUCHSIA>{}(
-- static_cast<VkBufferCollectionFUCHSIA>( bufferCollectionFUCHSIA ) );
-- }
-- };
--#endif /*VK_USE_PLATFORM_FUCHSIA*/
--
--} // namespace std
- #endif
---- include/vulkan/vulkan_hash.hpp.orig 2021-12-13 12:09:23 UTC
-+++ include/vulkan/vulkan_hash.hpp
-@@ -0,0 +1,12959 @@
-+// Copyright 2015-2021 The Khronos Group Inc.
-+//
-+// SPDX-License-Identifier: Apache-2.0 OR MIT
-+//
-+
-+// This header is generated from the Khronos Vulkan XML API Registry.
-+
-+#ifndef VULKAN_HASH_HPP
-+#define VULKAN_HASH_HPP
-+
-+#include <vulkan/vulkan.hpp>
-+
-+namespace std
-+{
-+ //=======================================
-+ //=== HASH structures for Flags types ===
-+ //=======================================
-+
-+ template <typename BitType>
-+ struct hash<VULKAN_HPP_NAMESPACE::Flags<BitType>>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::Flags<BitType> const & flags ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<typename std::underlying_type<BitType>::type>{}(
-+ static_cast<typename std::underlying_type<BitType>::type>( flags ) );
-+ }
-+ };
-+
-+ //===================================
-+ //=== HASH structures for handles ===
-+ //===================================
-+
-+ //=== VK_VERSION_1_0 ===
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::Instance>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::Instance const & instance ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkInstance>{}( static_cast<VkInstance>( instance ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevice>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevice const & physicalDevice ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkPhysicalDevice>{}( static_cast<VkPhysicalDevice>( physicalDevice ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::Device>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::Device const & device ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkDevice>{}( static_cast<VkDevice>( device ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::Queue>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::Queue const & queue ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkQueue>{}( static_cast<VkQueue>( queue ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DeviceMemory>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DeviceMemory const & deviceMemory ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkDeviceMemory>{}( static_cast<VkDeviceMemory>( deviceMemory ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::Fence>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::Fence const & fence ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkFence>{}( static_cast<VkFence>( fence ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::Semaphore>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::Semaphore const & semaphore ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkSemaphore>{}( static_cast<VkSemaphore>( semaphore ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::Event>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::Event const & event ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkEvent>{}( static_cast<VkEvent>( event ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::QueryPool>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::QueryPool const & queryPool ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkQueryPool>{}( static_cast<VkQueryPool>( queryPool ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::Buffer>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::Buffer const & buffer ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkBuffer>{}( static_cast<VkBuffer>( buffer ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BufferView>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferView const & bufferView ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkBufferView>{}( static_cast<VkBufferView>( bufferView ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::Image>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::Image const & image ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkImage>{}( static_cast<VkImage>( image ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageView>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageView const & imageView ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkImageView>{}( static_cast<VkImageView>( imageView ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ShaderModule>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ShaderModule const & shaderModule ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkShaderModule>{}( static_cast<VkShaderModule>( shaderModule ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineCache>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineCache const & pipelineCache ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkPipelineCache>{}( static_cast<VkPipelineCache>( pipelineCache ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::Pipeline>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::Pipeline const & pipeline ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkPipeline>{}( static_cast<VkPipeline>( pipeline ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineLayout>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineLayout const & pipelineLayout ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkPipelineLayout>{}( static_cast<VkPipelineLayout>( pipelineLayout ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::Sampler>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::Sampler const & sampler ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkSampler>{}( static_cast<VkSampler>( sampler ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DescriptorPool>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorPool const & descriptorPool ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkDescriptorPool>{}( static_cast<VkDescriptorPool>( descriptorPool ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DescriptorSet>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorSet const & descriptorSet ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkDescriptorSet>{}( static_cast<VkDescriptorSet>( descriptorSet ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetLayout>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::DescriptorSetLayout const & descriptorSetLayout ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkDescriptorSetLayout>{}( static_cast<VkDescriptorSetLayout>( descriptorSetLayout ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::Framebuffer>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::Framebuffer const & framebuffer ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkFramebuffer>{}( static_cast<VkFramebuffer>( framebuffer ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::RenderPass>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::RenderPass const & renderPass ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkRenderPass>{}( static_cast<VkRenderPass>( renderPass ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CommandPool>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::CommandPool const & commandPool ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkCommandPool>{}( static_cast<VkCommandPool>( commandPool ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CommandBuffer>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::CommandBuffer const & commandBuffer ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkCommandBuffer>{}( static_cast<VkCommandBuffer>( commandBuffer ) );
-+ }
-+ };
-+
-+ //=== VK_VERSION_1_1 ===
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion const & samplerYcbcrConversion ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkSamplerYcbcrConversion>{}( static_cast<VkSamplerYcbcrConversion>( samplerYcbcrConversion ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate const & descriptorUpdateTemplate ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkDescriptorUpdateTemplate>{}(
-+ static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ) );
-+ }
-+ };
-+
-+ //=== VK_KHR_surface ===
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SurfaceKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SurfaceKHR const & surfaceKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkSurfaceKHR>{}( static_cast<VkSurfaceKHR>( surfaceKHR ) );
-+ }
-+ };
-+
-+ //=== VK_KHR_swapchain ===
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SwapchainKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SwapchainKHR const & swapchainKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkSwapchainKHR>{}( static_cast<VkSwapchainKHR>( swapchainKHR ) );
-+ }
-+ };
-+
-+ //=== VK_KHR_display ===
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DisplayKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DisplayKHR const & displayKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkDisplayKHR>{}( static_cast<VkDisplayKHR>( displayKHR ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DisplayModeKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DisplayModeKHR const & displayModeKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkDisplayModeKHR>{}( static_cast<VkDisplayModeKHR>( displayModeKHR ) );
-+ }
-+ };
-+
-+ //=== VK_EXT_debug_report ===
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT const & debugReportCallbackEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkDebugReportCallbackEXT>{}( static_cast<VkDebugReportCallbackEXT>( debugReportCallbackEXT ) );
-+ }
-+ };
-+
-+#if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ //=== VK_KHR_video_queue ===
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoSessionKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoSessionKHR const & videoSessionKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkVideoSessionKHR>{}( static_cast<VkVideoSessionKHR>( videoSessionKHR ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR const & videoSessionParametersKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkVideoSessionParametersKHR>{}(
-+ static_cast<VkVideoSessionParametersKHR>( videoSessionParametersKHR ) );
-+ }
-+ };
-+#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+ //=== VK_NVX_binary_import ===
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CuModuleNVX>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::CuModuleNVX const & cuModuleNVX ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkCuModuleNVX>{}( static_cast<VkCuModuleNVX>( cuModuleNVX ) );
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CuFunctionNVX>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::CuFunctionNVX const & cuFunctionNVX ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkCuFunctionNVX>{}( static_cast<VkCuFunctionNVX>( cuFunctionNVX ) );
-+ }
-+ };
-+
-+ //=== VK_EXT_debug_utils ===
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT const & debugUtilsMessengerEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkDebugUtilsMessengerEXT>{}( static_cast<VkDebugUtilsMessengerEXT>( debugUtilsMessengerEXT ) );
-+ }
-+ };
-+
-+ //=== VK_KHR_acceleration_structure ===
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR const & accelerationStructureKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkAccelerationStructureKHR>{}(
-+ static_cast<VkAccelerationStructureKHR>( accelerationStructureKHR ) );
-+ }
-+ };
-+
-+ //=== VK_EXT_validation_cache ===
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ValidationCacheEXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::ValidationCacheEXT const & validationCacheEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkValidationCacheEXT>{}( static_cast<VkValidationCacheEXT>( validationCacheEXT ) );
-+ }
-+ };
-+
-+ //=== VK_NV_ray_tracing ===
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureNV const & accelerationStructureNV ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkAccelerationStructureNV>{}(
-+ static_cast<VkAccelerationStructureNV>( accelerationStructureNV ) );
-+ }
-+ };
-+
-+ //=== VK_INTEL_performance_query ===
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL const & performanceConfigurationINTEL )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkPerformanceConfigurationINTEL>{}(
-+ static_cast<VkPerformanceConfigurationINTEL>( performanceConfigurationINTEL ) );
-+ }
-+ };
-+
-+ //=== VK_KHR_deferred_host_operations ===
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DeferredOperationKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::DeferredOperationKHR const & deferredOperationKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkDeferredOperationKHR>{}( static_cast<VkDeferredOperationKHR>( deferredOperationKHR ) );
-+ }
-+ };
-+
-+ //=== VK_NV_device_generated_commands ===
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV const & indirectCommandsLayoutNV ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkIndirectCommandsLayoutNV>{}(
-+ static_cast<VkIndirectCommandsLayoutNV>( indirectCommandsLayoutNV ) );
-+ }
-+ };
-+
-+ //=== VK_EXT_private_data ===
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT const & privateDataSlotEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkPrivateDataSlotEXT>{}( static_cast<VkPrivateDataSlotEXT>( privateDataSlotEXT ) );
-+ }
-+ };
-+
-+#if defined( VK_USE_PLATFORM_FUCHSIA )
-+ //=== VK_FUCHSIA_buffer_collection ===
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA const & bufferCollectionFUCHSIA ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ return std::hash<VkBufferCollectionFUCHSIA>{}(
-+ static_cast<VkBufferCollectionFUCHSIA>( bufferCollectionFUCHSIA ) );
-+ }
-+ };
-+#endif /*VK_USE_PLATFORM_FUCHSIA*/
-+
-+#if 14 <= VULKAN_HPP_CPP_VERSION
-+ //======================================
-+ //=== HASH structures for structures ===
-+ //======================================
-+
-+# if !defined( VULKAN_HPP_HASH_COMBINE )
-+# define VULKAN_HPP_HASH_COMBINE( seed, value ) \
-+ seed ^= std::hash<std::decay<decltype( value )>::type>{}( value ) + 0x9e3779b9 + ( seed << 6 ) + ( seed >> 2 )
-+# endif
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AabbPositionsKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::AabbPositionsKHR const & aabbPositionsKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, aabbPositionsKHR.minX );
-+ VULKAN_HPP_HASH_COMBINE( seed, aabbPositionsKHR.minY );
-+ VULKAN_HPP_HASH_COMBINE( seed, aabbPositionsKHR.minZ );
-+ VULKAN_HPP_HASH_COMBINE( seed, aabbPositionsKHR.maxX );
-+ VULKAN_HPP_HASH_COMBINE( seed, aabbPositionsKHR.maxY );
-+ VULKAN_HPP_HASH_COMBINE( seed, aabbPositionsKHR.maxZ );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR const &
-+ accelerationStructureBuildRangeInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureBuildRangeInfoKHR.primitiveCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureBuildRangeInfoKHR.primitiveOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureBuildRangeInfoKHR.firstVertex );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureBuildRangeInfoKHR.transformOffset );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR const &
-+ accelerationStructureBuildSizesInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureBuildSizesInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureBuildSizesInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureBuildSizesInfoKHR.accelerationStructureSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureBuildSizesInfoKHR.updateScratchSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureBuildSizesInfoKHR.buildScratchSize );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR const &
-+ accelerationStructureCreateInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCreateInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCreateInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCreateInfoKHR.createFlags );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCreateInfoKHR.buffer );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCreateInfoKHR.offset );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCreateInfoKHR.size );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCreateInfoKHR.type );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCreateInfoKHR.deviceAddress );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::GeometryTrianglesNV>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::GeometryTrianglesNV const & geometryTrianglesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.vertexData );
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.vertexOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.vertexCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.vertexStride );
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.vertexFormat );
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.indexData );
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.indexOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.indexCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.indexType );
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.transformData );
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.transformOffset );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::GeometryAABBNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::GeometryAABBNV const & geometryAABBNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryAABBNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryAABBNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryAABBNV.aabbData );
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryAABBNV.numAABBs );
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryAABBNV.stride );
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryAABBNV.offset );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::GeometryDataNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::GeometryDataNV const & geometryDataNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryDataNV.triangles );
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryDataNV.aabbs );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::GeometryNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::GeometryNV const & geometryNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryNV.geometryType );
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryNV.geometry );
-+ VULKAN_HPP_HASH_COMBINE( seed, geometryNV.flags );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV>
-+ {
-+ std::size_t operator()(
-+ VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV const & accelerationStructureInfoNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInfoNV.type );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInfoNV.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInfoNV.instanceCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInfoNV.geometryCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInfoNV.pGeometries );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV const &
-+ accelerationStructureCreateInfoNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCreateInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCreateInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCreateInfoNV.compactedSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCreateInfoNV.info );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureDeviceAddressInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureDeviceAddressInfoKHR const &
-+ accelerationStructureDeviceAddressInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureDeviceAddressInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureDeviceAddressInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureDeviceAddressInfoKHR.accelerationStructure );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::TransformMatrixKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::TransformMatrixKHR const & transformMatrixKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ for ( size_t i = 0; i < 3; ++i )
-+ {
-+ for ( size_t j = 0; j < 4; ++j )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, transformMatrixKHR.matrix[i][j] );
-+ }
-+ }
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureInstanceKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureInstanceKHR const &
-+ accelerationStructureInstanceKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInstanceKHR.transform );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInstanceKHR.instanceCustomIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInstanceKHR.mask );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInstanceKHR.instanceShaderBindingTableRecordOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInstanceKHR.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInstanceKHR.accelerationStructureReference );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureMatrixMotionInstanceNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureMatrixMotionInstanceNV const &
-+ accelerationStructureMatrixMotionInstanceNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMatrixMotionInstanceNV.transformT0 );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMatrixMotionInstanceNV.transformT1 );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMatrixMotionInstanceNV.instanceCustomIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMatrixMotionInstanceNV.mask );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ accelerationStructureMatrixMotionInstanceNV.instanceShaderBindingTableRecordOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMatrixMotionInstanceNV.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMatrixMotionInstanceNV.accelerationStructureReference );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV const &
-+ accelerationStructureMemoryRequirementsInfoNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMemoryRequirementsInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMemoryRequirementsInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMemoryRequirementsInfoNV.type );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMemoryRequirementsInfoNV.accelerationStructure );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureMotionInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureMotionInfoNV const &
-+ accelerationStructureMotionInfoNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMotionInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMotionInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMotionInfoNV.maxInstances );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMotionInfoNV.flags );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SRTDataNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SRTDataNV const & sRTDataNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.sx );
-+ VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.a );
-+ VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.b );
-+ VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.pvx );
-+ VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.sy );
-+ VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.c );
-+ VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.pvy );
-+ VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.sz );
-+ VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.pvz );
-+ VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.qx );
-+ VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.qy );
-+ VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.qz );
-+ VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.qw );
-+ VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.tx );
-+ VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.ty );
-+ VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.tz );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureSRTMotionInstanceNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureSRTMotionInstanceNV const &
-+ accelerationStructureSRTMotionInstanceNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureSRTMotionInstanceNV.transformT0 );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureSRTMotionInstanceNV.transformT1 );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureSRTMotionInstanceNV.instanceCustomIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureSRTMotionInstanceNV.mask );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureSRTMotionInstanceNV.instanceShaderBindingTableRecordOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureSRTMotionInstanceNV.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureSRTMotionInstanceNV.accelerationStructureReference );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureVersionInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureVersionInfoKHR const &
-+ accelerationStructureVersionInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureVersionInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureVersionInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureVersionInfoKHR.pVersionData );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR const & acquireNextImageInfoKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, acquireNextImageInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, acquireNextImageInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, acquireNextImageInfoKHR.swapchain );
-+ VULKAN_HPP_HASH_COMBINE( seed, acquireNextImageInfoKHR.timeout );
-+ VULKAN_HPP_HASH_COMBINE( seed, acquireNextImageInfoKHR.semaphore );
-+ VULKAN_HPP_HASH_COMBINE( seed, acquireNextImageInfoKHR.fence );
-+ VULKAN_HPP_HASH_COMBINE( seed, acquireNextImageInfoKHR.deviceMask );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AcquireProfilingLockInfoKHR>
-+ {
-+ std::size_t operator()(
-+ VULKAN_HPP_NAMESPACE::AcquireProfilingLockInfoKHR const & acquireProfilingLockInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, acquireProfilingLockInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, acquireProfilingLockInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, acquireProfilingLockInfoKHR.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, acquireProfilingLockInfoKHR.timeout );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AllocationCallbacks>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::AllocationCallbacks const & allocationCallbacks ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, allocationCallbacks.pUserData );
-+ VULKAN_HPP_HASH_COMBINE( seed, allocationCallbacks.pfnAllocation );
-+ VULKAN_HPP_HASH_COMBINE( seed, allocationCallbacks.pfnReallocation );
-+ VULKAN_HPP_HASH_COMBINE( seed, allocationCallbacks.pfnFree );
-+ VULKAN_HPP_HASH_COMBINE( seed, allocationCallbacks.pfnInternalAllocation );
-+ VULKAN_HPP_HASH_COMBINE( seed, allocationCallbacks.pfnInternalFree );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ComponentMapping>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ComponentMapping const & componentMapping ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, componentMapping.r );
-+ VULKAN_HPP_HASH_COMBINE( seed, componentMapping.g );
-+ VULKAN_HPP_HASH_COMBINE( seed, componentMapping.b );
-+ VULKAN_HPP_HASH_COMBINE( seed, componentMapping.a );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_ANDROID_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferFormatProperties2ANDROID>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::AndroidHardwareBufferFormatProperties2ANDROID const &
-+ androidHardwareBufferFormatProperties2ANDROID ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatProperties2ANDROID.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatProperties2ANDROID.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatProperties2ANDROID.format );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatProperties2ANDROID.externalFormat );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatProperties2ANDROID.formatFeatures );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatProperties2ANDROID.samplerYcbcrConversionComponents );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatProperties2ANDROID.suggestedYcbcrModel );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatProperties2ANDROID.suggestedYcbcrRange );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatProperties2ANDROID.suggestedXChromaOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatProperties2ANDROID.suggestedYChromaOffset );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-+
-+# if defined( VK_USE_PLATFORM_ANDROID_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferFormatPropertiesANDROID>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::AndroidHardwareBufferFormatPropertiesANDROID const &
-+ androidHardwareBufferFormatPropertiesANDROID ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatPropertiesANDROID.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatPropertiesANDROID.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatPropertiesANDROID.format );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatPropertiesANDROID.externalFormat );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatPropertiesANDROID.formatFeatures );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatPropertiesANDROID.samplerYcbcrConversionComponents );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatPropertiesANDROID.suggestedYcbcrModel );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatPropertiesANDROID.suggestedYcbcrRange );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatPropertiesANDROID.suggestedXChromaOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatPropertiesANDROID.suggestedYChromaOffset );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-+
-+# if defined( VK_USE_PLATFORM_ANDROID_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID const &
-+ androidHardwareBufferPropertiesANDROID ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferPropertiesANDROID.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferPropertiesANDROID.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferPropertiesANDROID.allocationSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferPropertiesANDROID.memoryTypeBits );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-+
-+# if defined( VK_USE_PLATFORM_ANDROID_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferUsageANDROID>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::AndroidHardwareBufferUsageANDROID const &
-+ androidHardwareBufferUsageANDROID ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferUsageANDROID.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferUsageANDROID.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferUsageANDROID.androidHardwareBufferUsage );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-+
-+# if defined( VK_USE_PLATFORM_ANDROID_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR>
-+ {
-+ std::size_t operator()(
-+ VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR const & androidSurfaceCreateInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, androidSurfaceCreateInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidSurfaceCreateInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidSurfaceCreateInfoKHR.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, androidSurfaceCreateInfoKHR.window );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ApplicationInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ApplicationInfo const & applicationInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, applicationInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, applicationInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, applicationInfo.pApplicationName );
-+ VULKAN_HPP_HASH_COMBINE( seed, applicationInfo.applicationVersion );
-+ VULKAN_HPP_HASH_COMBINE( seed, applicationInfo.pEngineName );
-+ VULKAN_HPP_HASH_COMBINE( seed, applicationInfo.engineVersion );
-+ VULKAN_HPP_HASH_COMBINE( seed, applicationInfo.apiVersion );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AttachmentDescription>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::AttachmentDescription const & attachmentDescription ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription.format );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription.samples );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription.loadOp );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription.storeOp );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription.stencilLoadOp );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription.stencilStoreOp );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription.initialLayout );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription.finalLayout );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AttachmentDescription2>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::AttachmentDescription2 const & attachmentDescription2 ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription2.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription2.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription2.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription2.format );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription2.samples );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription2.loadOp );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription2.storeOp );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription2.stencilLoadOp );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription2.stencilStoreOp );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription2.initialLayout );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription2.finalLayout );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AttachmentDescriptionStencilLayout>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::AttachmentDescriptionStencilLayout const &
-+ attachmentDescriptionStencilLayout ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentDescriptionStencilLayout.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentDescriptionStencilLayout.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentDescriptionStencilLayout.stencilInitialLayout );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentDescriptionStencilLayout.stencilFinalLayout );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AttachmentReference>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::AttachmentReference const & attachmentReference ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentReference.attachment );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentReference.layout );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AttachmentReference2>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::AttachmentReference2 const & attachmentReference2 ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentReference2.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentReference2.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentReference2.attachment );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentReference2.layout );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentReference2.aspectMask );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AttachmentReferenceStencilLayout>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::AttachmentReferenceStencilLayout const &
-+ attachmentReferenceStencilLayout ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentReferenceStencilLayout.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentReferenceStencilLayout.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentReferenceStencilLayout.stencilLayout );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AttachmentSampleCountInfoAMD>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::AttachmentSampleCountInfoAMD const & attachmentSampleCountInfoAMD )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentSampleCountInfoAMD.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentSampleCountInfoAMD.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentSampleCountInfoAMD.colorAttachmentCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentSampleCountInfoAMD.pColorAttachmentSamples );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentSampleCountInfoAMD.depthStencilAttachmentSamples );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::Extent2D>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::Extent2D const & extent2D ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, extent2D.width );
-+ VULKAN_HPP_HASH_COMBINE( seed, extent2D.height );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SampleLocationEXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::SampleLocationEXT const & sampleLocationEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, sampleLocationEXT.x );
-+ VULKAN_HPP_HASH_COMBINE( seed, sampleLocationEXT.y );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT const & sampleLocationsInfoEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, sampleLocationsInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, sampleLocationsInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, sampleLocationsInfoEXT.sampleLocationsPerPixel );
-+ VULKAN_HPP_HASH_COMBINE( seed, sampleLocationsInfoEXT.sampleLocationGridSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, sampleLocationsInfoEXT.sampleLocationsCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, sampleLocationsInfoEXT.pSampleLocations );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT const & attachmentSampleLocationsEXT )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentSampleLocationsEXT.attachmentIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, attachmentSampleLocationsEXT.sampleLocationsInfo );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BaseInStructure>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BaseInStructure const & baseInStructure ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, baseInStructure.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, baseInStructure.pNext );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BaseOutStructure>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BaseOutStructure const & baseOutStructure ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, baseOutStructure.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, baseOutStructure.pNext );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV const &
-+ bindAccelerationStructureMemoryInfoNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bindAccelerationStructureMemoryInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindAccelerationStructureMemoryInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindAccelerationStructureMemoryInfoNV.accelerationStructure );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindAccelerationStructureMemoryInfoNV.memory );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindAccelerationStructureMemoryInfoNV.memoryOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindAccelerationStructureMemoryInfoNV.deviceIndexCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindAccelerationStructureMemoryInfoNV.pDeviceIndices );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BindBufferMemoryDeviceGroupInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::BindBufferMemoryDeviceGroupInfo const & bindBufferMemoryDeviceGroupInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bindBufferMemoryDeviceGroupInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindBufferMemoryDeviceGroupInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindBufferMemoryDeviceGroupInfo.deviceIndexCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindBufferMemoryDeviceGroupInfo.pDeviceIndices );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo const & bindBufferMemoryInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bindBufferMemoryInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindBufferMemoryInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindBufferMemoryInfo.buffer );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindBufferMemoryInfo.memory );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindBufferMemoryInfo.memoryOffset );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::Offset2D>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::Offset2D const & offset2D ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, offset2D.x );
-+ VULKAN_HPP_HASH_COMBINE( seed, offset2D.y );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::Rect2D>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::Rect2D const & rect2D ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, rect2D.offset );
-+ VULKAN_HPP_HASH_COMBINE( seed, rect2D.extent );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BindImageMemoryDeviceGroupInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::BindImageMemoryDeviceGroupInfo const & bindImageMemoryDeviceGroupInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bindImageMemoryDeviceGroupInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindImageMemoryDeviceGroupInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindImageMemoryDeviceGroupInfo.deviceIndexCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindImageMemoryDeviceGroupInfo.pDeviceIndices );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindImageMemoryDeviceGroupInfo.splitInstanceBindRegionCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindImageMemoryDeviceGroupInfo.pSplitInstanceBindRegions );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BindImageMemoryInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::BindImageMemoryInfo const & bindImageMemoryInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bindImageMemoryInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindImageMemoryInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindImageMemoryInfo.image );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindImageMemoryInfo.memory );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindImageMemoryInfo.memoryOffset );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BindImageMemorySwapchainInfoKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::BindImageMemorySwapchainInfoKHR const & bindImageMemorySwapchainInfoKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bindImageMemorySwapchainInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindImageMemorySwapchainInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindImageMemorySwapchainInfoKHR.swapchain );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindImageMemorySwapchainInfoKHR.imageIndex );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BindImagePlaneMemoryInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BindImagePlaneMemoryInfo const & bindImagePlaneMemoryInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bindImagePlaneMemoryInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindImagePlaneMemoryInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindImagePlaneMemoryInfo.planeAspect );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BindIndexBufferIndirectCommandNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BindIndexBufferIndirectCommandNV const &
-+ bindIndexBufferIndirectCommandNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bindIndexBufferIndirectCommandNV.bufferAddress );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindIndexBufferIndirectCommandNV.size );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindIndexBufferIndirectCommandNV.indexType );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BindShaderGroupIndirectCommandNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BindShaderGroupIndirectCommandNV const &
-+ bindShaderGroupIndirectCommandNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bindShaderGroupIndirectCommandNV.groupIndex );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SparseMemoryBind>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SparseMemoryBind const & sparseMemoryBind ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseMemoryBind.resourceOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseMemoryBind.size );
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseMemoryBind.memory );
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseMemoryBind.memoryOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseMemoryBind.flags );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SparseBufferMemoryBindInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SparseBufferMemoryBindInfo const & sparseBufferMemoryBindInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseBufferMemoryBindInfo.buffer );
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseBufferMemoryBindInfo.bindCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseBufferMemoryBindInfo.pBinds );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SparseImageOpaqueMemoryBindInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::SparseImageOpaqueMemoryBindInfo const & sparseImageOpaqueMemoryBindInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageOpaqueMemoryBindInfo.image );
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageOpaqueMemoryBindInfo.bindCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageOpaqueMemoryBindInfo.pBinds );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageSubresource>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageSubresource const & imageSubresource ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageSubresource.aspectMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageSubresource.mipLevel );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageSubresource.arrayLayer );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::Offset3D>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::Offset3D const & offset3D ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, offset3D.x );
-+ VULKAN_HPP_HASH_COMBINE( seed, offset3D.y );
-+ VULKAN_HPP_HASH_COMBINE( seed, offset3D.z );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::Extent3D>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::Extent3D const & extent3D ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, extent3D.width );
-+ VULKAN_HPP_HASH_COMBINE( seed, extent3D.height );
-+ VULKAN_HPP_HASH_COMBINE( seed, extent3D.depth );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SparseImageMemoryBind>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::SparseImageMemoryBind const & sparseImageMemoryBind ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryBind.subresource );
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryBind.offset );
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryBind.extent );
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryBind.memory );
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryBind.memoryOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryBind.flags );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SparseImageMemoryBindInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SparseImageMemoryBindInfo const & sparseImageMemoryBindInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryBindInfo.image );
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryBindInfo.bindCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryBindInfo.pBinds );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BindSparseInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BindSparseInfo const & bindSparseInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bindSparseInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindSparseInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindSparseInfo.waitSemaphoreCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindSparseInfo.pWaitSemaphores );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindSparseInfo.bufferBindCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindSparseInfo.pBufferBinds );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindSparseInfo.imageOpaqueBindCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindSparseInfo.pImageOpaqueBinds );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindSparseInfo.imageBindCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindSparseInfo.pImageBinds );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindSparseInfo.signalSemaphoreCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindSparseInfo.pSignalSemaphores );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BindVertexBufferIndirectCommandNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BindVertexBufferIndirectCommandNV const &
-+ bindVertexBufferIndirectCommandNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bindVertexBufferIndirectCommandNV.bufferAddress );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindVertexBufferIndirectCommandNV.size );
-+ VULKAN_HPP_HASH_COMBINE( seed, bindVertexBufferIndirectCommandNV.stride );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageSubresourceLayers>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const & imageSubresourceLayers ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageSubresourceLayers.aspectMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageSubresourceLayers.mipLevel );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageSubresourceLayers.baseArrayLayer );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageSubresourceLayers.layerCount );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageBlit2KHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageBlit2KHR const & imageBlit2KHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageBlit2KHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageBlit2KHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageBlit2KHR.srcSubresource );
-+ for ( size_t i = 0; i < 2; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, imageBlit2KHR.srcOffsets[i] );
-+ }
-+ VULKAN_HPP_HASH_COMBINE( seed, imageBlit2KHR.dstSubresource );
-+ for ( size_t i = 0; i < 2; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, imageBlit2KHR.dstOffsets[i] );
-+ }
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BlitImageInfo2KHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::BlitImageInfo2KHR const & blitImageInfo2KHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, blitImageInfo2KHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, blitImageInfo2KHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, blitImageInfo2KHR.srcImage );
-+ VULKAN_HPP_HASH_COMBINE( seed, blitImageInfo2KHR.srcImageLayout );
-+ VULKAN_HPP_HASH_COMBINE( seed, blitImageInfo2KHR.dstImage );
-+ VULKAN_HPP_HASH_COMBINE( seed, blitImageInfo2KHR.dstImageLayout );
-+ VULKAN_HPP_HASH_COMBINE( seed, blitImageInfo2KHR.regionCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, blitImageInfo2KHR.pRegions );
-+ VULKAN_HPP_HASH_COMBINE( seed, blitImageInfo2KHR.filter );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_FUCHSIA )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BufferCollectionBufferCreateInfoFUCHSIA>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferCollectionBufferCreateInfoFUCHSIA const &
-+ bufferCollectionBufferCreateInfoFUCHSIA ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionBufferCreateInfoFUCHSIA.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionBufferCreateInfoFUCHSIA.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionBufferCreateInfoFUCHSIA.collection );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionBufferCreateInfoFUCHSIA.index );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_FUCHSIA*/
-+
-+# if defined( VK_USE_PLATFORM_FUCHSIA )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BufferCollectionConstraintsInfoFUCHSIA>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferCollectionConstraintsInfoFUCHSIA const &
-+ bufferCollectionConstraintsInfoFUCHSIA ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionConstraintsInfoFUCHSIA.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionConstraintsInfoFUCHSIA.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionConstraintsInfoFUCHSIA.minBufferCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionConstraintsInfoFUCHSIA.maxBufferCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionConstraintsInfoFUCHSIA.minBufferCountForCamping );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionConstraintsInfoFUCHSIA.minBufferCountForDedicatedSlack );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionConstraintsInfoFUCHSIA.minBufferCountForSharedSlack );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_FUCHSIA*/
-+
-+# if defined( VK_USE_PLATFORM_FUCHSIA )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA const &
-+ bufferCollectionCreateInfoFUCHSIA ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionCreateInfoFUCHSIA.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionCreateInfoFUCHSIA.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionCreateInfoFUCHSIA.collectionToken );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_FUCHSIA*/
-+
-+# if defined( VK_USE_PLATFORM_FUCHSIA )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BufferCollectionImageCreateInfoFUCHSIA>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferCollectionImageCreateInfoFUCHSIA const &
-+ bufferCollectionImageCreateInfoFUCHSIA ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionImageCreateInfoFUCHSIA.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionImageCreateInfoFUCHSIA.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionImageCreateInfoFUCHSIA.collection );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionImageCreateInfoFUCHSIA.index );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_FUCHSIA*/
-+
-+# if defined( VK_USE_PLATFORM_FUCHSIA )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA const & sysmemColorSpaceFUCHSIA ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, sysmemColorSpaceFUCHSIA.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, sysmemColorSpaceFUCHSIA.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, sysmemColorSpaceFUCHSIA.colorSpace );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_FUCHSIA*/
-+
-+# if defined( VK_USE_PLATFORM_FUCHSIA )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA const &
-+ bufferCollectionPropertiesFUCHSIA ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.memoryTypeBits );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.bufferCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.createInfoIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.sysmemPixelFormat );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.formatFeatures );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.sysmemColorSpaceIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.samplerYcbcrConversionComponents );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.suggestedYcbcrModel );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.suggestedYcbcrRange );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.suggestedXChromaOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.suggestedYChromaOffset );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_FUCHSIA*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BufferCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferCreateInfo const & bufferCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCreateInfo.size );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCreateInfo.usage );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCreateInfo.sharingMode );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCreateInfo.queueFamilyIndexCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCreateInfo.pQueueFamilyIndices );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_FUCHSIA )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIA>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIA const & bufferConstraintsInfoFUCHSIA )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferConstraintsInfoFUCHSIA.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferConstraintsInfoFUCHSIA.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferConstraintsInfoFUCHSIA.createInfo );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferConstraintsInfoFUCHSIA.requiredFormatFeatures );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferConstraintsInfoFUCHSIA.bufferCollectionConstraints );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_FUCHSIA*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BufferCopy>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferCopy const & bufferCopy ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCopy.srcOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCopy.dstOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCopy.size );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BufferCopy2KHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferCopy2KHR const & bufferCopy2KHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCopy2KHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCopy2KHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCopy2KHR.srcOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCopy2KHR.dstOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferCopy2KHR.size );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BufferDeviceAddressCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferDeviceAddressCreateInfoEXT const &
-+ bufferDeviceAddressCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferDeviceAddressCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferDeviceAddressCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferDeviceAddressCreateInfoEXT.deviceAddress );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo const & bufferDeviceAddressInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferDeviceAddressInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferDeviceAddressInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferDeviceAddressInfo.buffer );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BufferImageCopy>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferImageCopy const & bufferImageCopy ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy.bufferOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy.bufferRowLength );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy.bufferImageHeight );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy.imageSubresource );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy.imageOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy.imageExtent );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BufferImageCopy2KHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::BufferImageCopy2KHR const & bufferImageCopy2KHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy2KHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy2KHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy2KHR.bufferOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy2KHR.bufferRowLength );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy2KHR.bufferImageHeight );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy2KHR.imageSubresource );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy2KHR.imageOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy2KHR.imageExtent );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BufferMemoryBarrier>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::BufferMemoryBarrier const & bufferMemoryBarrier ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier.srcAccessMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier.dstAccessMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier.srcQueueFamilyIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier.dstQueueFamilyIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier.buffer );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier.offset );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier.size );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BufferMemoryBarrier2KHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferMemoryBarrier2KHR const & bufferMemoryBarrier2KHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier2KHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier2KHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier2KHR.srcStageMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier2KHR.srcAccessMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier2KHR.dstStageMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier2KHR.dstAccessMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier2KHR.srcQueueFamilyIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier2KHR.dstQueueFamilyIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier2KHR.buffer );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier2KHR.offset );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier2KHR.size );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 const & bufferMemoryRequirementsInfo2 )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryRequirementsInfo2.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryRequirementsInfo2.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryRequirementsInfo2.buffer );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BufferOpaqueCaptureAddressCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferOpaqueCaptureAddressCreateInfo const &
-+ bufferOpaqueCaptureAddressCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferOpaqueCaptureAddressCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferOpaqueCaptureAddressCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferOpaqueCaptureAddressCreateInfo.opaqueCaptureAddress );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::BufferViewCreateInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::BufferViewCreateInfo const & bufferViewCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferViewCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferViewCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferViewCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferViewCreateInfo.buffer );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferViewCreateInfo.format );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferViewCreateInfo.offset );
-+ VULKAN_HPP_HASH_COMBINE( seed, bufferViewCreateInfo.range );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT const & calibratedTimestampInfoEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, calibratedTimestampInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, calibratedTimestampInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, calibratedTimestampInfoEXT.timeDomain );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CheckpointData2NV>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::CheckpointData2NV const & checkpointData2NV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, checkpointData2NV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, checkpointData2NV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, checkpointData2NV.stage );
-+ VULKAN_HPP_HASH_COMBINE( seed, checkpointData2NV.pCheckpointMarker );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CheckpointDataNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::CheckpointDataNV const & checkpointDataNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, checkpointDataNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, checkpointDataNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, checkpointDataNV.stage );
-+ VULKAN_HPP_HASH_COMBINE( seed, checkpointDataNV.pCheckpointMarker );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ClearDepthStencilValue>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ClearDepthStencilValue const & clearDepthStencilValue ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, clearDepthStencilValue.depth );
-+ VULKAN_HPP_HASH_COMBINE( seed, clearDepthStencilValue.stencil );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ClearRect>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ClearRect const & clearRect ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, clearRect.rect );
-+ VULKAN_HPP_HASH_COMBINE( seed, clearRect.baseArrayLayer );
-+ VULKAN_HPP_HASH_COMBINE( seed, clearRect.layerCount );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CoarseSampleLocationNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::CoarseSampleLocationNV const & coarseSampleLocationNV ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, coarseSampleLocationNV.pixelX );
-+ VULKAN_HPP_HASH_COMBINE( seed, coarseSampleLocationNV.pixelY );
-+ VULKAN_HPP_HASH_COMBINE( seed, coarseSampleLocationNV.sample );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV const & coarseSampleOrderCustomNV ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, coarseSampleOrderCustomNV.shadingRate );
-+ VULKAN_HPP_HASH_COMBINE( seed, coarseSampleOrderCustomNV.sampleCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, coarseSampleOrderCustomNV.sampleLocationCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, coarseSampleOrderCustomNV.pSampleLocations );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo const & commandBufferAllocateInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferAllocateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferAllocateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferAllocateInfo.commandPool );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferAllocateInfo.level );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferAllocateInfo.commandBufferCount );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::CommandBufferInheritanceInfo const & commandBufferInheritanceInfo )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceInfo.renderPass );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceInfo.subpass );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceInfo.framebuffer );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceInfo.occlusionQueryEnable );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceInfo.queryFlags );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceInfo.pipelineStatistics );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CommandBufferBeginInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::CommandBufferBeginInfo const & commandBufferBeginInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferBeginInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferBeginInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferBeginInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferBeginInfo.pInheritanceInfo );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceConditionalRenderingInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::CommandBufferInheritanceConditionalRenderingInfoEXT const &
-+ commandBufferInheritanceConditionalRenderingInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceConditionalRenderingInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceConditionalRenderingInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceConditionalRenderingInfoEXT.conditionalRenderingEnable );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceRenderPassTransformInfoQCOM>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::CommandBufferInheritanceRenderPassTransformInfoQCOM const &
-+ commandBufferInheritanceRenderPassTransformInfoQCOM ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderPassTransformInfoQCOM.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderPassTransformInfoQCOM.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderPassTransformInfoQCOM.transform );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderPassTransformInfoQCOM.renderArea );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceRenderingInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::CommandBufferInheritanceRenderingInfoKHR const &
-+ commandBufferInheritanceRenderingInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderingInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderingInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderingInfoKHR.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderingInfoKHR.viewMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderingInfoKHR.colorAttachmentCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderingInfoKHR.pColorAttachmentFormats );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderingInfoKHR.depthAttachmentFormat );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderingInfoKHR.stencilAttachmentFormat );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderingInfoKHR.rasterizationSamples );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::Viewport>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::Viewport const & viewport ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, viewport.x );
-+ VULKAN_HPP_HASH_COMBINE( seed, viewport.y );
-+ VULKAN_HPP_HASH_COMBINE( seed, viewport.width );
-+ VULKAN_HPP_HASH_COMBINE( seed, viewport.height );
-+ VULKAN_HPP_HASH_COMBINE( seed, viewport.minDepth );
-+ VULKAN_HPP_HASH_COMBINE( seed, viewport.maxDepth );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceViewportScissorInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::CommandBufferInheritanceViewportScissorInfoNV const &
-+ commandBufferInheritanceViewportScissorInfoNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceViewportScissorInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceViewportScissorInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceViewportScissorInfoNV.viewportScissor2D );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceViewportScissorInfoNV.viewportDepthCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceViewportScissorInfoNV.pViewportDepths );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CommandBufferSubmitInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::CommandBufferSubmitInfoKHR const & commandBufferSubmitInfoKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferSubmitInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferSubmitInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferSubmitInfoKHR.commandBuffer );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandBufferSubmitInfoKHR.deviceMask );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo const & commandPoolCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, commandPoolCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandPoolCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandPoolCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, commandPoolCreateInfo.queueFamilyIndex );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SpecializationMapEntry>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SpecializationMapEntry const & specializationMapEntry ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, specializationMapEntry.constantID );
-+ VULKAN_HPP_HASH_COMBINE( seed, specializationMapEntry.offset );
-+ VULKAN_HPP_HASH_COMBINE( seed, specializationMapEntry.size );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SpecializationInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::SpecializationInfo const & specializationInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, specializationInfo.mapEntryCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, specializationInfo.pMapEntries );
-+ VULKAN_HPP_HASH_COMBINE( seed, specializationInfo.dataSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, specializationInfo.pData );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo const & pipelineShaderStageCreateInfo )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageCreateInfo.stage );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageCreateInfo.module );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageCreateInfo.pName );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageCreateInfo.pSpecializationInfo );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo const & computePipelineCreateInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, computePipelineCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, computePipelineCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, computePipelineCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, computePipelineCreateInfo.stage );
-+ VULKAN_HPP_HASH_COMBINE( seed, computePipelineCreateInfo.layout );
-+ VULKAN_HPP_HASH_COMBINE( seed, computePipelineCreateInfo.basePipelineHandle );
-+ VULKAN_HPP_HASH_COMBINE( seed, computePipelineCreateInfo.basePipelineIndex );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ConditionalRenderingBeginInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ConditionalRenderingBeginInfoEXT const &
-+ conditionalRenderingBeginInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, conditionalRenderingBeginInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, conditionalRenderingBeginInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, conditionalRenderingBeginInfoEXT.buffer );
-+ VULKAN_HPP_HASH_COMBINE( seed, conditionalRenderingBeginInfoEXT.offset );
-+ VULKAN_HPP_HASH_COMBINE( seed, conditionalRenderingBeginInfoEXT.flags );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ConformanceVersion>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::ConformanceVersion const & conformanceVersion ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, conformanceVersion.major );
-+ VULKAN_HPP_HASH_COMBINE( seed, conformanceVersion.minor );
-+ VULKAN_HPP_HASH_COMBINE( seed, conformanceVersion.subminor );
-+ VULKAN_HPP_HASH_COMBINE( seed, conformanceVersion.patch );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV const & cooperativeMatrixPropertiesNV )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixPropertiesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixPropertiesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixPropertiesNV.MSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixPropertiesNV.NSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixPropertiesNV.KSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixPropertiesNV.AType );
-+ VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixPropertiesNV.BType );
-+ VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixPropertiesNV.CType );
-+ VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixPropertiesNV.DType );
-+ VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixPropertiesNV.scope );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR const &
-+ copyAccelerationStructureInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, copyAccelerationStructureInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyAccelerationStructureInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyAccelerationStructureInfoKHR.src );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyAccelerationStructureInfoKHR.dst );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyAccelerationStructureInfoKHR.mode );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CopyBufferInfo2KHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::CopyBufferInfo2KHR const & copyBufferInfo2KHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, copyBufferInfo2KHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyBufferInfo2KHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyBufferInfo2KHR.srcBuffer );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyBufferInfo2KHR.dstBuffer );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyBufferInfo2KHR.regionCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyBufferInfo2KHR.pRegions );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2KHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2KHR const & copyBufferToImageInfo2KHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, copyBufferToImageInfo2KHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyBufferToImageInfo2KHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyBufferToImageInfo2KHR.srcBuffer );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyBufferToImageInfo2KHR.dstImage );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyBufferToImageInfo2KHR.dstImageLayout );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyBufferToImageInfo2KHR.regionCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyBufferToImageInfo2KHR.pRegions );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CopyCommandTransformInfoQCOM>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::CopyCommandTransformInfoQCOM const & copyCommandTransformInfoQCOM )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, copyCommandTransformInfoQCOM.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyCommandTransformInfoQCOM.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyCommandTransformInfoQCOM.transform );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CopyDescriptorSet>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::CopyDescriptorSet const & copyDescriptorSet ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, copyDescriptorSet.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyDescriptorSet.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyDescriptorSet.srcSet );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyDescriptorSet.srcBinding );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyDescriptorSet.srcArrayElement );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyDescriptorSet.dstSet );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyDescriptorSet.dstBinding );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyDescriptorSet.dstArrayElement );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyDescriptorSet.descriptorCount );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageCopy2KHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageCopy2KHR const & imageCopy2KHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCopy2KHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCopy2KHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCopy2KHR.srcSubresource );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCopy2KHR.srcOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCopy2KHR.dstSubresource );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCopy2KHR.dstOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCopy2KHR.extent );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CopyImageInfo2KHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::CopyImageInfo2KHR const & copyImageInfo2KHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, copyImageInfo2KHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyImageInfo2KHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyImageInfo2KHR.srcImage );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyImageInfo2KHR.srcImageLayout );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyImageInfo2KHR.dstImage );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyImageInfo2KHR.dstImageLayout );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyImageInfo2KHR.regionCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyImageInfo2KHR.pRegions );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2KHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2KHR const & copyImageToBufferInfo2KHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, copyImageToBufferInfo2KHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyImageToBufferInfo2KHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyImageToBufferInfo2KHR.srcImage );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyImageToBufferInfo2KHR.srcImageLayout );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyImageToBufferInfo2KHR.dstBuffer );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyImageToBufferInfo2KHR.regionCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, copyImageToBufferInfo2KHR.pRegions );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CuFunctionCreateInfoNVX>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::CuFunctionCreateInfoNVX const & cuFunctionCreateInfoNVX ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, cuFunctionCreateInfoNVX.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, cuFunctionCreateInfoNVX.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, cuFunctionCreateInfoNVX.module );
-+ VULKAN_HPP_HASH_COMBINE( seed, cuFunctionCreateInfoNVX.pName );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CuLaunchInfoNVX>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::CuLaunchInfoNVX const & cuLaunchInfoNVX ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.function );
-+ VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.gridDimX );
-+ VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.gridDimY );
-+ VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.gridDimZ );
-+ VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.blockDimX );
-+ VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.blockDimY );
-+ VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.blockDimZ );
-+ VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.sharedMemBytes );
-+ VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.paramCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.pParams );
-+ VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.extraCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.pExtras );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::CuModuleCreateInfoNVX>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::CuModuleCreateInfoNVX const & cuModuleCreateInfoNVX ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, cuModuleCreateInfoNVX.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, cuModuleCreateInfoNVX.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, cuModuleCreateInfoNVX.dataSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, cuModuleCreateInfoNVX.pData );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_WIN32_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::D3D12FenceSubmitInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::D3D12FenceSubmitInfoKHR const & d3D12FenceSubmitInfoKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, d3D12FenceSubmitInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, d3D12FenceSubmitInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, d3D12FenceSubmitInfoKHR.waitSemaphoreValuesCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, d3D12FenceSubmitInfoKHR.pWaitSemaphoreValues );
-+ VULKAN_HPP_HASH_COMBINE( seed, d3D12FenceSubmitInfoKHR.signalSemaphoreValuesCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, d3D12FenceSubmitInfoKHR.pSignalSemaphoreValues );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_WIN32_KHR*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT const & debugMarkerMarkerInfoEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, debugMarkerMarkerInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugMarkerMarkerInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugMarkerMarkerInfoEXT.pMarkerName );
-+ for ( size_t i = 0; i < 4; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, debugMarkerMarkerInfoEXT.color[i] );
-+ }
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DebugMarkerObjectNameInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DebugMarkerObjectNameInfoEXT const & debugMarkerObjectNameInfoEXT )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, debugMarkerObjectNameInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugMarkerObjectNameInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugMarkerObjectNameInfoEXT.objectType );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugMarkerObjectNameInfoEXT.object );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugMarkerObjectNameInfoEXT.pObjectName );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DebugMarkerObjectTagInfoEXT>
-+ {
-+ std::size_t operator()(
-+ VULKAN_HPP_NAMESPACE::DebugMarkerObjectTagInfoEXT const & debugMarkerObjectTagInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, debugMarkerObjectTagInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugMarkerObjectTagInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugMarkerObjectTagInfoEXT.objectType );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugMarkerObjectTagInfoEXT.object );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugMarkerObjectTagInfoEXT.tagName );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugMarkerObjectTagInfoEXT.tagSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugMarkerObjectTagInfoEXT.pTag );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT const &
-+ debugReportCallbackCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, debugReportCallbackCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugReportCallbackCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugReportCallbackCreateInfoEXT.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugReportCallbackCreateInfoEXT.pfnCallback );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugReportCallbackCreateInfoEXT.pUserData );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT const & debugUtilsLabelEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsLabelEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsLabelEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsLabelEXT.pLabelName );
-+ for ( size_t i = 0; i < 4; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsLabelEXT.color[i] );
-+ }
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT>
-+ {
-+ std::size_t operator()(
-+ VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT const & debugUtilsObjectNameInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsObjectNameInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsObjectNameInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsObjectNameInfoEXT.objectType );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsObjectNameInfoEXT.objectHandle );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsObjectNameInfoEXT.pObjectName );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataEXT const &
-+ debugUtilsMessengerCallbackDataEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCallbackDataEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCallbackDataEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCallbackDataEXT.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCallbackDataEXT.pMessageIdName );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCallbackDataEXT.messageIdNumber );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCallbackDataEXT.pMessage );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCallbackDataEXT.queueLabelCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCallbackDataEXT.pQueueLabels );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCallbackDataEXT.cmdBufLabelCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCallbackDataEXT.pCmdBufLabels );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCallbackDataEXT.objectCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCallbackDataEXT.pObjects );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT const &
-+ debugUtilsMessengerCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCreateInfoEXT.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCreateInfoEXT.messageSeverity );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCreateInfoEXT.messageType );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCreateInfoEXT.pfnUserCallback );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCreateInfoEXT.pUserData );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT const & debugUtilsObjectTagInfoEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsObjectTagInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsObjectTagInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsObjectTagInfoEXT.objectType );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsObjectTagInfoEXT.objectHandle );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsObjectTagInfoEXT.tagName );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsObjectTagInfoEXT.tagSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, debugUtilsObjectTagInfoEXT.pTag );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DedicatedAllocationBufferCreateInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DedicatedAllocationBufferCreateInfoNV const &
-+ dedicatedAllocationBufferCreateInfoNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, dedicatedAllocationBufferCreateInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, dedicatedAllocationBufferCreateInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, dedicatedAllocationBufferCreateInfoNV.dedicatedAllocation );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DedicatedAllocationImageCreateInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DedicatedAllocationImageCreateInfoNV const &
-+ dedicatedAllocationImageCreateInfoNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, dedicatedAllocationImageCreateInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, dedicatedAllocationImageCreateInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, dedicatedAllocationImageCreateInfoNV.dedicatedAllocation );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DedicatedAllocationMemoryAllocateInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DedicatedAllocationMemoryAllocateInfoNV const &
-+ dedicatedAllocationMemoryAllocateInfoNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, dedicatedAllocationMemoryAllocateInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, dedicatedAllocationMemoryAllocateInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, dedicatedAllocationMemoryAllocateInfoNV.image );
-+ VULKAN_HPP_HASH_COMBINE( seed, dedicatedAllocationMemoryAllocateInfoNV.buffer );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MemoryBarrier2KHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::MemoryBarrier2KHR const & memoryBarrier2KHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryBarrier2KHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryBarrier2KHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryBarrier2KHR.srcStageMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryBarrier2KHR.srcAccessMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryBarrier2KHR.dstStageMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryBarrier2KHR.dstAccessMask );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageSubresourceRange>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::ImageSubresourceRange const & imageSubresourceRange ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageSubresourceRange.aspectMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageSubresourceRange.baseMipLevel );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageSubresourceRange.levelCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageSubresourceRange.baseArrayLayer );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageSubresourceRange.layerCount );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageMemoryBarrier2KHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageMemoryBarrier2KHR const & imageMemoryBarrier2KHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier2KHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier2KHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier2KHR.srcStageMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier2KHR.srcAccessMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier2KHR.dstStageMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier2KHR.dstAccessMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier2KHR.oldLayout );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier2KHR.newLayout );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier2KHR.srcQueueFamilyIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier2KHR.dstQueueFamilyIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier2KHR.image );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier2KHR.subresourceRange );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DependencyInfoKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::DependencyInfoKHR const & dependencyInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, dependencyInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, dependencyInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, dependencyInfoKHR.dependencyFlags );
-+ VULKAN_HPP_HASH_COMBINE( seed, dependencyInfoKHR.memoryBarrierCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, dependencyInfoKHR.pMemoryBarriers );
-+ VULKAN_HPP_HASH_COMBINE( seed, dependencyInfoKHR.bufferMemoryBarrierCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, dependencyInfoKHR.pBufferMemoryBarriers );
-+ VULKAN_HPP_HASH_COMBINE( seed, dependencyInfoKHR.imageMemoryBarrierCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, dependencyInfoKHR.pImageMemoryBarriers );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DescriptorBufferInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::DescriptorBufferInfo const & descriptorBufferInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorBufferInfo.buffer );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorBufferInfo.offset );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorBufferInfo.range );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DescriptorImageInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::DescriptorImageInfo const & descriptorImageInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorImageInfo.sampler );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorImageInfo.imageView );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorImageInfo.imageLayout );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DescriptorPoolSize>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::DescriptorPoolSize const & descriptorPoolSize ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorPoolSize.type );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorPoolSize.descriptorCount );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo const & descriptorPoolCreateInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorPoolCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorPoolCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorPoolCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorPoolCreateInfo.maxSets );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorPoolCreateInfo.poolSizeCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorPoolCreateInfo.pPoolSizes );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DescriptorPoolInlineUniformBlockCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorPoolInlineUniformBlockCreateInfoEXT const &
-+ descriptorPoolInlineUniformBlockCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorPoolInlineUniformBlockCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorPoolInlineUniformBlockCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorPoolInlineUniformBlockCreateInfoEXT.maxInlineUniformBlockBindings );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo const & descriptorSetAllocateInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetAllocateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetAllocateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetAllocateInfo.descriptorPool );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetAllocateInfo.descriptorSetCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetAllocateInfo.pSetLayouts );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBinding>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBinding const & descriptorSetLayoutBinding ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutBinding.binding );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutBinding.descriptorType );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutBinding.descriptorCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutBinding.stageFlags );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutBinding.pImmutableSamplers );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBindingFlagsCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBindingFlagsCreateInfo const &
-+ descriptorSetLayoutBindingFlagsCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutBindingFlagsCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutBindingFlagsCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutBindingFlagsCreateInfo.bindingCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutBindingFlagsCreateInfo.pBindingFlags );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo const & descriptorSetLayoutCreateInfo )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutCreateInfo.bindingCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutCreateInfo.pBindings );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport const & descriptorSetLayoutSupport ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutSupport.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutSupport.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutSupport.supported );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetVariableDescriptorCountAllocateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorSetVariableDescriptorCountAllocateInfo const &
-+ descriptorSetVariableDescriptorCountAllocateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetVariableDescriptorCountAllocateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetVariableDescriptorCountAllocateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetVariableDescriptorCountAllocateInfo.descriptorSetCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetVariableDescriptorCountAllocateInfo.pDescriptorCounts );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetVariableDescriptorCountLayoutSupport>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorSetVariableDescriptorCountLayoutSupport const &
-+ descriptorSetVariableDescriptorCountLayoutSupport ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetVariableDescriptorCountLayoutSupport.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetVariableDescriptorCountLayoutSupport.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorSetVariableDescriptorCountLayoutSupport.maxVariableDescriptorCount );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateEntry>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateEntry const & descriptorUpdateTemplateEntry )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateEntry.dstBinding );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateEntry.dstArrayElement );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateEntry.descriptorCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateEntry.descriptorType );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateEntry.offset );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateEntry.stride );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo const &
-+ descriptorUpdateTemplateCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateCreateInfo.descriptorUpdateEntryCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateCreateInfo.pDescriptorUpdateEntries );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateCreateInfo.templateType );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateCreateInfo.descriptorSetLayout );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateCreateInfo.pipelineBindPoint );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateCreateInfo.pipelineLayout );
-+ VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateCreateInfo.set );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirementsKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirementsKHR const &
-+ deviceBufferMemoryRequirementsKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceBufferMemoryRequirementsKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceBufferMemoryRequirementsKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceBufferMemoryRequirementsKHR.pCreateInfo );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo const & deviceQueueCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceQueueCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceQueueCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceQueueCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceQueueCreateInfo.queueFamilyIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceQueueCreateInfo.queueCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceQueueCreateInfo.pQueuePriorities );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures const & physicalDeviceFeatures ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.robustBufferAccess );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.fullDrawIndexUint32 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.imageCubeArray );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.independentBlend );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.geometryShader );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.tessellationShader );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.sampleRateShading );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.dualSrcBlend );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.logicOp );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.multiDrawIndirect );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.drawIndirectFirstInstance );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.depthClamp );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.depthBiasClamp );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.fillModeNonSolid );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.depthBounds );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.wideLines );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.largePoints );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.alphaToOne );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.multiViewport );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.samplerAnisotropy );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.textureCompressionETC2 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.textureCompressionASTC_LDR );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.textureCompressionBC );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.occlusionQueryPrecise );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.pipelineStatisticsQuery );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.vertexPipelineStoresAndAtomics );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.fragmentStoresAndAtomics );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderTessellationAndGeometryPointSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderImageGatherExtended );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderStorageImageExtendedFormats );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderStorageImageMultisample );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderStorageImageReadWithoutFormat );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderStorageImageWriteWithoutFormat );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderUniformBufferArrayDynamicIndexing );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderSampledImageArrayDynamicIndexing );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderStorageBufferArrayDynamicIndexing );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderStorageImageArrayDynamicIndexing );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderClipDistance );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderCullDistance );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderFloat64 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderInt64 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderInt16 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderResourceResidency );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderResourceMinLod );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.sparseBinding );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.sparseResidencyBuffer );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.sparseResidencyImage2D );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.sparseResidencyImage3D );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.sparseResidency2Samples );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.sparseResidency4Samples );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.sparseResidency8Samples );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.sparseResidency16Samples );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.sparseResidencyAliased );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.variableMultisampleRate );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.inheritedQueries );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DeviceCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DeviceCreateInfo const & deviceCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceCreateInfo.queueCreateInfoCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceCreateInfo.pQueueCreateInfos );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceCreateInfo.enabledLayerCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceCreateInfo.ppEnabledLayerNames );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceCreateInfo.enabledExtensionCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceCreateInfo.ppEnabledExtensionNames );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceCreateInfo.pEnabledFeatures );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DeviceDeviceMemoryReportCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DeviceDeviceMemoryReportCreateInfoEXT const &
-+ deviceDeviceMemoryReportCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceDeviceMemoryReportCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceDeviceMemoryReportCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceDeviceMemoryReportCreateInfoEXT.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceDeviceMemoryReportCreateInfoEXT.pfnUserCallback );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceDeviceMemoryReportCreateInfoEXT.pUserData );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DeviceDiagnosticsConfigCreateInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DeviceDiagnosticsConfigCreateInfoNV const &
-+ deviceDiagnosticsConfigCreateInfoNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceDiagnosticsConfigCreateInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceDiagnosticsConfigCreateInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceDiagnosticsConfigCreateInfoNV.flags );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT const & deviceEventInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceEventInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceEventInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceEventInfoEXT.deviceEvent );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DeviceGroupBindSparseInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DeviceGroupBindSparseInfo const & deviceGroupBindSparseInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupBindSparseInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupBindSparseInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupBindSparseInfo.resourceDeviceIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupBindSparseInfo.memoryDeviceIndex );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DeviceGroupCommandBufferBeginInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DeviceGroupCommandBufferBeginInfo const &
-+ deviceGroupCommandBufferBeginInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupCommandBufferBeginInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupCommandBufferBeginInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupCommandBufferBeginInfo.deviceMask );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DeviceGroupDeviceCreateInfo>
-+ {
-+ std::size_t operator()(
-+ VULKAN_HPP_NAMESPACE::DeviceGroupDeviceCreateInfo const & deviceGroupDeviceCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupDeviceCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupDeviceCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupDeviceCreateInfo.physicalDeviceCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupDeviceCreateInfo.pPhysicalDevices );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR const &
-+ deviceGroupPresentCapabilitiesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupPresentCapabilitiesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupPresentCapabilitiesKHR.pNext );
-+ for ( size_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupPresentCapabilitiesKHR.presentMask[i] );
-+ }
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupPresentCapabilitiesKHR.modes );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DeviceGroupPresentInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DeviceGroupPresentInfoKHR const & deviceGroupPresentInfoKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupPresentInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupPresentInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupPresentInfoKHR.swapchainCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupPresentInfoKHR.pDeviceMasks );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupPresentInfoKHR.mode );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DeviceGroupRenderPassBeginInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::DeviceGroupRenderPassBeginInfo const & deviceGroupRenderPassBeginInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupRenderPassBeginInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupRenderPassBeginInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupRenderPassBeginInfo.deviceMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupRenderPassBeginInfo.deviceRenderAreaCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupRenderPassBeginInfo.pDeviceRenderAreas );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DeviceGroupSubmitInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::DeviceGroupSubmitInfo const & deviceGroupSubmitInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupSubmitInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupSubmitInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupSubmitInfo.waitSemaphoreCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupSubmitInfo.pWaitSemaphoreDeviceIndices );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupSubmitInfo.commandBufferCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupSubmitInfo.pCommandBufferDeviceMasks );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupSubmitInfo.signalSemaphoreCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupSubmitInfo.pSignalSemaphoreDeviceIndices );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DeviceGroupSwapchainCreateInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DeviceGroupSwapchainCreateInfoKHR const &
-+ deviceGroupSwapchainCreateInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupSwapchainCreateInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupSwapchainCreateInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceGroupSwapchainCreateInfoKHR.modes );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageCreateInfo const & imageCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.imageType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.format );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.extent );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.mipLevels );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.arrayLayers );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.samples );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.tiling );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.usage );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.sharingMode );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.queueFamilyIndexCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.pQueueFamilyIndices );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.initialLayout );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirementsKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirementsKHR const &
-+ deviceImageMemoryRequirementsKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceImageMemoryRequirementsKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceImageMemoryRequirementsKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceImageMemoryRequirementsKHR.pCreateInfo );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceImageMemoryRequirementsKHR.planeAspect );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo const &
-+ deviceMemoryOpaqueCaptureAddressInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryOpaqueCaptureAddressInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryOpaqueCaptureAddressInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryOpaqueCaptureAddressInfo.memory );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DeviceMemoryOverallocationCreateInfoAMD>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DeviceMemoryOverallocationCreateInfoAMD const &
-+ deviceMemoryOverallocationCreateInfoAMD ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryOverallocationCreateInfoAMD.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryOverallocationCreateInfoAMD.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryOverallocationCreateInfoAMD.overallocationBehavior );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DeviceMemoryReportCallbackDataEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DeviceMemoryReportCallbackDataEXT const &
-+ deviceMemoryReportCallbackDataEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryReportCallbackDataEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryReportCallbackDataEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryReportCallbackDataEXT.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryReportCallbackDataEXT.type );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryReportCallbackDataEXT.memoryObjectId );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryReportCallbackDataEXT.size );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryReportCallbackDataEXT.objectType );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryReportCallbackDataEXT.objectHandle );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryReportCallbackDataEXT.heapIndex );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DevicePrivateDataCreateInfoEXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::DevicePrivateDataCreateInfoEXT const & devicePrivateDataCreateInfoEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, devicePrivateDataCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, devicePrivateDataCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, devicePrivateDataCreateInfoEXT.privateDataSlotRequestCount );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DeviceQueueGlobalPriorityCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DeviceQueueGlobalPriorityCreateInfoEXT const &
-+ deviceQueueGlobalPriorityCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceQueueGlobalPriorityCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceQueueGlobalPriorityCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceQueueGlobalPriorityCreateInfoEXT.globalPriority );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DeviceQueueInfo2>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 const & deviceQueueInfo2 ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceQueueInfo2.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceQueueInfo2.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceQueueInfo2.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceQueueInfo2.queueFamilyIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, deviceQueueInfo2.queueIndex );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT const & directFBSurfaceCreateInfoEXT )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, directFBSurfaceCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, directFBSurfaceCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, directFBSurfaceCreateInfoEXT.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, directFBSurfaceCreateInfoEXT.dfb );
-+ VULKAN_HPP_HASH_COMBINE( seed, directFBSurfaceCreateInfoEXT.surface );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DispatchIndirectCommand>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DispatchIndirectCommand const & dispatchIndirectCommand ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, dispatchIndirectCommand.x );
-+ VULKAN_HPP_HASH_COMBINE( seed, dispatchIndirectCommand.y );
-+ VULKAN_HPP_HASH_COMBINE( seed, dispatchIndirectCommand.z );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT const & displayEventInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, displayEventInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayEventInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayEventInfoEXT.displayEvent );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DisplayModeParametersKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DisplayModeParametersKHR const & displayModeParametersKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, displayModeParametersKHR.visibleRegion );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayModeParametersKHR.refreshRate );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR const & displayModeCreateInfoKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, displayModeCreateInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayModeCreateInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayModeCreateInfoKHR.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayModeCreateInfoKHR.parameters );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR const & displayModePropertiesKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, displayModePropertiesKHR.displayMode );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayModePropertiesKHR.parameters );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR const & displayModeProperties2KHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, displayModeProperties2KHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayModeProperties2KHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayModeProperties2KHR.displayModeProperties );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DisplayNativeHdrSurfaceCapabilitiesAMD>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DisplayNativeHdrSurfaceCapabilitiesAMD const &
-+ displayNativeHdrSurfaceCapabilitiesAMD ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, displayNativeHdrSurfaceCapabilitiesAMD.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayNativeHdrSurfaceCapabilitiesAMD.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayNativeHdrSurfaceCapabilitiesAMD.localDimmingSupport );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR>
-+ {
-+ std::size_t operator()(
-+ VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR const & displayPlaneCapabilitiesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPlaneCapabilitiesKHR.supportedAlpha );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPlaneCapabilitiesKHR.minSrcPosition );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPlaneCapabilitiesKHR.maxSrcPosition );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPlaneCapabilitiesKHR.minSrcExtent );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPlaneCapabilitiesKHR.maxSrcExtent );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPlaneCapabilitiesKHR.minDstPosition );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPlaneCapabilitiesKHR.maxDstPosition );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPlaneCapabilitiesKHR.minDstExtent );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPlaneCapabilitiesKHR.maxDstExtent );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR const & displayPlaneCapabilities2KHR )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPlaneCapabilities2KHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPlaneCapabilities2KHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPlaneCapabilities2KHR.capabilities );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DisplayPlaneInfo2KHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::DisplayPlaneInfo2KHR const & displayPlaneInfo2KHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPlaneInfo2KHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPlaneInfo2KHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPlaneInfo2KHR.mode );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPlaneInfo2KHR.planeIndex );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR const & displayPlanePropertiesKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPlanePropertiesKHR.currentDisplay );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPlanePropertiesKHR.currentStackIndex );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR const & displayPlaneProperties2KHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPlaneProperties2KHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPlaneProperties2KHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPlaneProperties2KHR.displayPlaneProperties );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DisplayPowerInfoEXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::DisplayPowerInfoEXT const & displayPowerInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPowerInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPowerInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPowerInfoEXT.powerState );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DisplayPresentInfoKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::DisplayPresentInfoKHR const & displayPresentInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPresentInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPresentInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPresentInfoKHR.srcRect );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPresentInfoKHR.dstRect );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPresentInfoKHR.persistent );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR const & displayPropertiesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPropertiesKHR.display );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPropertiesKHR.displayName );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPropertiesKHR.physicalDimensions );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPropertiesKHR.physicalResolution );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPropertiesKHR.supportedTransforms );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPropertiesKHR.planeReorderPossible );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayPropertiesKHR.persistentContent );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DisplayProperties2KHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::DisplayProperties2KHR const & displayProperties2KHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, displayProperties2KHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayProperties2KHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, displayProperties2KHR.displayProperties );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR>
-+ {
-+ std::size_t operator()(
-+ VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR const & displaySurfaceCreateInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, displaySurfaceCreateInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, displaySurfaceCreateInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, displaySurfaceCreateInfoKHR.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, displaySurfaceCreateInfoKHR.displayMode );
-+ VULKAN_HPP_HASH_COMBINE( seed, displaySurfaceCreateInfoKHR.planeIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, displaySurfaceCreateInfoKHR.planeStackIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, displaySurfaceCreateInfoKHR.transform );
-+ VULKAN_HPP_HASH_COMBINE( seed, displaySurfaceCreateInfoKHR.globalAlpha );
-+ VULKAN_HPP_HASH_COMBINE( seed, displaySurfaceCreateInfoKHR.alphaMode );
-+ VULKAN_HPP_HASH_COMBINE( seed, displaySurfaceCreateInfoKHR.imageExtent );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DrawIndexedIndirectCommand>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DrawIndexedIndirectCommand const & drawIndexedIndirectCommand ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, drawIndexedIndirectCommand.indexCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, drawIndexedIndirectCommand.instanceCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, drawIndexedIndirectCommand.firstIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, drawIndexedIndirectCommand.vertexOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, drawIndexedIndirectCommand.firstInstance );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DrawIndirectCommand>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::DrawIndirectCommand const & drawIndirectCommand ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, drawIndirectCommand.vertexCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, drawIndirectCommand.instanceCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, drawIndirectCommand.firstVertex );
-+ VULKAN_HPP_HASH_COMBINE( seed, drawIndirectCommand.firstInstance );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DrawMeshTasksIndirectCommandNV>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::DrawMeshTasksIndirectCommandNV const & drawMeshTasksIndirectCommandNV ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, drawMeshTasksIndirectCommandNV.taskCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, drawMeshTasksIndirectCommandNV.firstTask );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DrmFormatModifierProperties2EXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::DrmFormatModifierProperties2EXT const & drmFormatModifierProperties2EXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierProperties2EXT.drmFormatModifier );
-+ VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierProperties2EXT.drmFormatModifierPlaneCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierProperties2EXT.drmFormatModifierTilingFeatures );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesEXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesEXT const & drmFormatModifierPropertiesEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierPropertiesEXT.drmFormatModifier );
-+ VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierPropertiesEXT.drmFormatModifierPlaneCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierPropertiesEXT.drmFormatModifierTilingFeatures );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesList2EXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesList2EXT const &
-+ drmFormatModifierPropertiesList2EXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierPropertiesList2EXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierPropertiesList2EXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierPropertiesList2EXT.drmFormatModifierCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierPropertiesList2EXT.pDrmFormatModifierProperties );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesListEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesListEXT const &
-+ drmFormatModifierPropertiesListEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierPropertiesListEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierPropertiesListEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierPropertiesListEXT.drmFormatModifierCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierPropertiesListEXT.pDrmFormatModifierProperties );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::EventCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::EventCreateInfo const & eventCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, eventCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, eventCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, eventCreateInfo.flags );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ExportFenceCreateInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::ExportFenceCreateInfo const & exportFenceCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, exportFenceCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, exportFenceCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, exportFenceCreateInfo.handleTypes );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_WIN32_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ExportFenceWin32HandleInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ExportFenceWin32HandleInfoKHR const & exportFenceWin32HandleInfoKHR )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, exportFenceWin32HandleInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, exportFenceWin32HandleInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, exportFenceWin32HandleInfoKHR.pAttributes );
-+ VULKAN_HPP_HASH_COMBINE( seed, exportFenceWin32HandleInfoKHR.dwAccess );
-+ VULKAN_HPP_HASH_COMBINE( seed, exportFenceWin32HandleInfoKHR.name );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_WIN32_KHR*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ExportMemoryAllocateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ExportMemoryAllocateInfo const & exportMemoryAllocateInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, exportMemoryAllocateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, exportMemoryAllocateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, exportMemoryAllocateInfo.handleTypes );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ExportMemoryAllocateInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ExportMemoryAllocateInfoNV const & exportMemoryAllocateInfoNV ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, exportMemoryAllocateInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, exportMemoryAllocateInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, exportMemoryAllocateInfoNV.handleTypes );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_WIN32_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ExportMemoryWin32HandleInfoKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::ExportMemoryWin32HandleInfoKHR const & exportMemoryWin32HandleInfoKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, exportMemoryWin32HandleInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, exportMemoryWin32HandleInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, exportMemoryWin32HandleInfoKHR.pAttributes );
-+ VULKAN_HPP_HASH_COMBINE( seed, exportMemoryWin32HandleInfoKHR.dwAccess );
-+ VULKAN_HPP_HASH_COMBINE( seed, exportMemoryWin32HandleInfoKHR.name );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_WIN32_KHR*/
-+
-+# if defined( VK_USE_PLATFORM_WIN32_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ExportMemoryWin32HandleInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ExportMemoryWin32HandleInfoNV const & exportMemoryWin32HandleInfoNV )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, exportMemoryWin32HandleInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, exportMemoryWin32HandleInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, exportMemoryWin32HandleInfoNV.pAttributes );
-+ VULKAN_HPP_HASH_COMBINE( seed, exportMemoryWin32HandleInfoNV.dwAccess );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_WIN32_KHR*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ExportSemaphoreCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ExportSemaphoreCreateInfo const & exportSemaphoreCreateInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, exportSemaphoreCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, exportSemaphoreCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, exportSemaphoreCreateInfo.handleTypes );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_WIN32_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ExportSemaphoreWin32HandleInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ExportSemaphoreWin32HandleInfoKHR const &
-+ exportSemaphoreWin32HandleInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, exportSemaphoreWin32HandleInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, exportSemaphoreWin32HandleInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, exportSemaphoreWin32HandleInfoKHR.pAttributes );
-+ VULKAN_HPP_HASH_COMBINE( seed, exportSemaphoreWin32HandleInfoKHR.dwAccess );
-+ VULKAN_HPP_HASH_COMBINE( seed, exportSemaphoreWin32HandleInfoKHR.name );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_WIN32_KHR*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ExtensionProperties>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::ExtensionProperties const & extensionProperties ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ for ( size_t i = 0; i < VK_MAX_EXTENSION_NAME_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, extensionProperties.extensionName[i] );
-+ }
-+ VULKAN_HPP_HASH_COMBINE( seed, extensionProperties.specVersion );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ExternalMemoryProperties>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ExternalMemoryProperties const & externalMemoryProperties ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, externalMemoryProperties.externalMemoryFeatures );
-+ VULKAN_HPP_HASH_COMBINE( seed, externalMemoryProperties.exportFromImportedHandleTypes );
-+ VULKAN_HPP_HASH_COMBINE( seed, externalMemoryProperties.compatibleHandleTypes );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ExternalBufferProperties>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ExternalBufferProperties const & externalBufferProperties ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, externalBufferProperties.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, externalBufferProperties.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, externalBufferProperties.externalMemoryProperties );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ExternalFenceProperties>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ExternalFenceProperties const & externalFenceProperties ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, externalFenceProperties.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, externalFenceProperties.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, externalFenceProperties.exportFromImportedHandleTypes );
-+ VULKAN_HPP_HASH_COMBINE( seed, externalFenceProperties.compatibleHandleTypes );
-+ VULKAN_HPP_HASH_COMBINE( seed, externalFenceProperties.externalFenceFeatures );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_ANDROID_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ExternalFormatANDROID>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::ExternalFormatANDROID const & externalFormatANDROID ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, externalFormatANDROID.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, externalFormatANDROID.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, externalFormatANDROID.externalFormat );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ExternalImageFormatProperties>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ExternalImageFormatProperties const & externalImageFormatProperties )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, externalImageFormatProperties.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, externalImageFormatProperties.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, externalImageFormatProperties.externalMemoryProperties );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageFormatProperties>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::ImageFormatProperties const & imageFormatProperties ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageFormatProperties.maxExtent );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageFormatProperties.maxMipLevels );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageFormatProperties.maxArrayLayers );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageFormatProperties.sampleCounts );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageFormatProperties.maxResourceSize );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV const & externalImageFormatPropertiesNV ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, externalImageFormatPropertiesNV.imageFormatProperties );
-+ VULKAN_HPP_HASH_COMBINE( seed, externalImageFormatPropertiesNV.externalMemoryFeatures );
-+ VULKAN_HPP_HASH_COMBINE( seed, externalImageFormatPropertiesNV.exportFromImportedHandleTypes );
-+ VULKAN_HPP_HASH_COMBINE( seed, externalImageFormatPropertiesNV.compatibleHandleTypes );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ExternalMemoryBufferCreateInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::ExternalMemoryBufferCreateInfo const & externalMemoryBufferCreateInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, externalMemoryBufferCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, externalMemoryBufferCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, externalMemoryBufferCreateInfo.handleTypes );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ExternalMemoryImageCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ExternalMemoryImageCreateInfo const & externalMemoryImageCreateInfo )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, externalMemoryImageCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, externalMemoryImageCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, externalMemoryImageCreateInfo.handleTypes );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ExternalMemoryImageCreateInfoNV>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::ExternalMemoryImageCreateInfoNV const & externalMemoryImageCreateInfoNV ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, externalMemoryImageCreateInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, externalMemoryImageCreateInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, externalMemoryImageCreateInfoNV.handleTypes );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties>
-+ {
-+ std::size_t operator()(
-+ VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties const & externalSemaphoreProperties ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, externalSemaphoreProperties.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, externalSemaphoreProperties.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, externalSemaphoreProperties.exportFromImportedHandleTypes );
-+ VULKAN_HPP_HASH_COMBINE( seed, externalSemaphoreProperties.compatibleHandleTypes );
-+ VULKAN_HPP_HASH_COMBINE( seed, externalSemaphoreProperties.externalSemaphoreFeatures );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::FenceCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::FenceCreateInfo const & fenceCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, fenceCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, fenceCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, fenceCreateInfo.flags );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::FenceGetFdInfoKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::FenceGetFdInfoKHR const & fenceGetFdInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, fenceGetFdInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, fenceGetFdInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, fenceGetFdInfoKHR.fence );
-+ VULKAN_HPP_HASH_COMBINE( seed, fenceGetFdInfoKHR.handleType );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_WIN32_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::FenceGetWin32HandleInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::FenceGetWin32HandleInfoKHR const & fenceGetWin32HandleInfoKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, fenceGetWin32HandleInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, fenceGetWin32HandleInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, fenceGetWin32HandleInfoKHR.fence );
-+ VULKAN_HPP_HASH_COMBINE( seed, fenceGetWin32HandleInfoKHR.handleType );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_WIN32_KHR*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::FilterCubicImageViewImageFormatPropertiesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::FilterCubicImageViewImageFormatPropertiesEXT const &
-+ filterCubicImageViewImageFormatPropertiesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, filterCubicImageViewImageFormatPropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, filterCubicImageViewImageFormatPropertiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, filterCubicImageViewImageFormatPropertiesEXT.filterCubic );
-+ VULKAN_HPP_HASH_COMBINE( seed, filterCubicImageViewImageFormatPropertiesEXT.filterCubicMinmax );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::FormatProperties>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::FormatProperties const & formatProperties ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, formatProperties.linearTilingFeatures );
-+ VULKAN_HPP_HASH_COMBINE( seed, formatProperties.optimalTilingFeatures );
-+ VULKAN_HPP_HASH_COMBINE( seed, formatProperties.bufferFeatures );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::FormatProperties2>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::FormatProperties2 const & formatProperties2 ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, formatProperties2.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, formatProperties2.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, formatProperties2.formatProperties );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::FormatProperties3KHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::FormatProperties3KHR const & formatProperties3KHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, formatProperties3KHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, formatProperties3KHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, formatProperties3KHR.linearTilingFeatures );
-+ VULKAN_HPP_HASH_COMBINE( seed, formatProperties3KHR.optimalTilingFeatures );
-+ VULKAN_HPP_HASH_COMBINE( seed, formatProperties3KHR.bufferFeatures );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::FragmentShadingRateAttachmentInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::FragmentShadingRateAttachmentInfoKHR const &
-+ fragmentShadingRateAttachmentInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, fragmentShadingRateAttachmentInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, fragmentShadingRateAttachmentInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, fragmentShadingRateAttachmentInfoKHR.pFragmentShadingRateAttachment );
-+ VULKAN_HPP_HASH_COMBINE( seed, fragmentShadingRateAttachmentInfoKHR.shadingRateAttachmentTexelSize );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::FramebufferAttachmentImageInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::FramebufferAttachmentImageInfo const & framebufferAttachmentImageInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentImageInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentImageInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentImageInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentImageInfo.usage );
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentImageInfo.width );
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentImageInfo.height );
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentImageInfo.layerCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentImageInfo.viewFormatCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentImageInfo.pViewFormats );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::FramebufferAttachmentsCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::FramebufferAttachmentsCreateInfo const &
-+ framebufferAttachmentsCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentsCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentsCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentsCreateInfo.attachmentImageInfoCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentsCreateInfo.pAttachmentImageInfos );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::FramebufferCreateInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::FramebufferCreateInfo const & framebufferCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferCreateInfo.renderPass );
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferCreateInfo.attachmentCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferCreateInfo.pAttachments );
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferCreateInfo.width );
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferCreateInfo.height );
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferCreateInfo.layers );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV const &
-+ framebufferMixedSamplesCombinationNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferMixedSamplesCombinationNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferMixedSamplesCombinationNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferMixedSamplesCombinationNV.coverageReductionMode );
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferMixedSamplesCombinationNV.rasterizationSamples );
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferMixedSamplesCombinationNV.depthStencilSamples );
-+ VULKAN_HPP_HASH_COMBINE( seed, framebufferMixedSamplesCombinationNV.colorSamples );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::IndirectCommandsStreamNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::IndirectCommandsStreamNV const & indirectCommandsStreamNV ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsStreamNV.buffer );
-+ VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsStreamNV.offset );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV const & generatedCommandsInfoNV ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.pipelineBindPoint );
-+ VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.pipeline );
-+ VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.indirectCommandsLayout );
-+ VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.streamCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.pStreams );
-+ VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.sequencesCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.preprocessBuffer );
-+ VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.preprocessOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.preprocessSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.sequencesCountBuffer );
-+ VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.sequencesCountOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.sequencesIndexBuffer );
-+ VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.sequencesIndexOffset );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV const &
-+ generatedCommandsMemoryRequirementsInfoNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsMemoryRequirementsInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsMemoryRequirementsInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsMemoryRequirementsInfoNV.pipelineBindPoint );
-+ VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsMemoryRequirementsInfoNV.pipeline );
-+ VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsMemoryRequirementsInfoNV.indirectCommandsLayout );
-+ VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsMemoryRequirementsInfoNV.maxSequencesCount );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VertexInputBindingDescription>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VertexInputBindingDescription const & vertexInputBindingDescription )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, vertexInputBindingDescription.binding );
-+ VULKAN_HPP_HASH_COMBINE( seed, vertexInputBindingDescription.stride );
-+ VULKAN_HPP_HASH_COMBINE( seed, vertexInputBindingDescription.inputRate );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription const & vertexInputAttributeDescription ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, vertexInputAttributeDescription.location );
-+ VULKAN_HPP_HASH_COMBINE( seed, vertexInputAttributeDescription.binding );
-+ VULKAN_HPP_HASH_COMBINE( seed, vertexInputAttributeDescription.format );
-+ VULKAN_HPP_HASH_COMBINE( seed, vertexInputAttributeDescription.offset );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo const &
-+ pipelineVertexInputStateCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineVertexInputStateCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineVertexInputStateCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineVertexInputStateCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineVertexInputStateCreateInfo.vertexBindingDescriptionCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineVertexInputStateCreateInfo.pVertexBindingDescriptions );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineVertexInputStateCreateInfo.vertexAttributeDescriptionCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineVertexInputStateCreateInfo.pVertexAttributeDescriptions );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateInfo const &
-+ pipelineInputAssemblyStateCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineInputAssemblyStateCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineInputAssemblyStateCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineInputAssemblyStateCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineInputAssemblyStateCreateInfo.topology );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineInputAssemblyStateCreateInfo.primitiveRestartEnable );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo const &
-+ pipelineTessellationStateCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineTessellationStateCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineTessellationStateCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineTessellationStateCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineTessellationStateCreateInfo.patchControlPoints );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateInfo const & pipelineViewportStateCreateInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportStateCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportStateCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportStateCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportStateCreateInfo.viewportCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportStateCreateInfo.pViewports );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportStateCreateInfo.scissorCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportStateCreateInfo.pScissors );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateInfo const &
-+ pipelineRasterizationStateCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.depthClampEnable );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.rasterizerDiscardEnable );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.polygonMode );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.cullMode );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.frontFace );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.depthBiasEnable );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.depthBiasConstantFactor );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.depthBiasClamp );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.depthBiasSlopeFactor );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.lineWidth );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateInfo const &
-+ pipelineMultisampleStateCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineMultisampleStateCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineMultisampleStateCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineMultisampleStateCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineMultisampleStateCreateInfo.rasterizationSamples );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineMultisampleStateCreateInfo.sampleShadingEnable );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineMultisampleStateCreateInfo.minSampleShading );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineMultisampleStateCreateInfo.pSampleMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineMultisampleStateCreateInfo.alphaToCoverageEnable );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineMultisampleStateCreateInfo.alphaToOneEnable );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::StencilOpState>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::StencilOpState const & stencilOpState ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, stencilOpState.failOp );
-+ VULKAN_HPP_HASH_COMBINE( seed, stencilOpState.passOp );
-+ VULKAN_HPP_HASH_COMBINE( seed, stencilOpState.depthFailOp );
-+ VULKAN_HPP_HASH_COMBINE( seed, stencilOpState.compareOp );
-+ VULKAN_HPP_HASH_COMBINE( seed, stencilOpState.compareMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, stencilOpState.writeMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, stencilOpState.reference );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateInfo const &
-+ pipelineDepthStencilStateCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineDepthStencilStateCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineDepthStencilStateCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineDepthStencilStateCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineDepthStencilStateCreateInfo.depthTestEnable );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineDepthStencilStateCreateInfo.depthWriteEnable );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineDepthStencilStateCreateInfo.depthCompareOp );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineDepthStencilStateCreateInfo.depthBoundsTestEnable );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineDepthStencilStateCreateInfo.stencilTestEnable );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineDepthStencilStateCreateInfo.front );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineDepthStencilStateCreateInfo.back );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineDepthStencilStateCreateInfo.minDepthBounds );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineDepthStencilStateCreateInfo.maxDepthBounds );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineColorBlendAttachmentState>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineColorBlendAttachmentState const &
-+ pipelineColorBlendAttachmentState ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAttachmentState.blendEnable );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAttachmentState.srcColorBlendFactor );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAttachmentState.dstColorBlendFactor );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAttachmentState.colorBlendOp );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAttachmentState.srcAlphaBlendFactor );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAttachmentState.dstAlphaBlendFactor );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAttachmentState.alphaBlendOp );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAttachmentState.colorWriteMask );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateInfo const &
-+ pipelineColorBlendStateCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendStateCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendStateCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendStateCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendStateCreateInfo.logicOpEnable );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendStateCreateInfo.logicOp );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendStateCreateInfo.attachmentCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendStateCreateInfo.pAttachments );
-+ for ( size_t i = 0; i < 4; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendStateCreateInfo.blendConstants[i] );
-+ }
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo const & pipelineDynamicStateCreateInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineDynamicStateCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineDynamicStateCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineDynamicStateCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineDynamicStateCreateInfo.dynamicStateCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineDynamicStateCreateInfo.pDynamicStates );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo const & graphicsPipelineCreateInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.stageCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.pStages );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.pVertexInputState );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.pInputAssemblyState );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.pTessellationState );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.pViewportState );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.pRasterizationState );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.pMultisampleState );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.pDepthStencilState );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.pColorBlendState );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.pDynamicState );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.layout );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.renderPass );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.subpass );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.basePipelineHandle );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.basePipelineIndex );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::GraphicsShaderGroupCreateInfoNV>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::GraphicsShaderGroupCreateInfoNV const & graphicsShaderGroupCreateInfoNV ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsShaderGroupCreateInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsShaderGroupCreateInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsShaderGroupCreateInfoNV.stageCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsShaderGroupCreateInfoNV.pStages );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsShaderGroupCreateInfoNV.pVertexInputState );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsShaderGroupCreateInfoNV.pTessellationState );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::GraphicsPipelineShaderGroupsCreateInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::GraphicsPipelineShaderGroupsCreateInfoNV const &
-+ graphicsPipelineShaderGroupsCreateInfoNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineShaderGroupsCreateInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineShaderGroupsCreateInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineShaderGroupsCreateInfoNV.groupCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineShaderGroupsCreateInfoNV.pGroups );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineShaderGroupsCreateInfoNV.pipelineCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineShaderGroupsCreateInfoNV.pPipelines );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::XYColorEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::XYColorEXT const & xYColorEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, xYColorEXT.x );
-+ VULKAN_HPP_HASH_COMBINE( seed, xYColorEXT.y );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::HdrMetadataEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::HdrMetadataEXT const & hdrMetadataEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, hdrMetadataEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, hdrMetadataEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, hdrMetadataEXT.displayPrimaryRed );
-+ VULKAN_HPP_HASH_COMBINE( seed, hdrMetadataEXT.displayPrimaryGreen );
-+ VULKAN_HPP_HASH_COMBINE( seed, hdrMetadataEXT.displayPrimaryBlue );
-+ VULKAN_HPP_HASH_COMBINE( seed, hdrMetadataEXT.whitePoint );
-+ VULKAN_HPP_HASH_COMBINE( seed, hdrMetadataEXT.maxLuminance );
-+ VULKAN_HPP_HASH_COMBINE( seed, hdrMetadataEXT.minLuminance );
-+ VULKAN_HPP_HASH_COMBINE( seed, hdrMetadataEXT.maxContentLightLevel );
-+ VULKAN_HPP_HASH_COMBINE( seed, hdrMetadataEXT.maxFrameAverageLightLevel );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT const & headlessSurfaceCreateInfoEXT )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, headlessSurfaceCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, headlessSurfaceCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, headlessSurfaceCreateInfoEXT.flags );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_IOS_MVK )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK const & iOSSurfaceCreateInfoMVK ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, iOSSurfaceCreateInfoMVK.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, iOSSurfaceCreateInfoMVK.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, iOSSurfaceCreateInfoMVK.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, iOSSurfaceCreateInfoMVK.pView );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_IOS_MVK*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageBlit>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageBlit const & imageBlit ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageBlit.srcSubresource );
-+ for ( size_t i = 0; i < 2; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, imageBlit.srcOffsets[i] );
-+ }
-+ VULKAN_HPP_HASH_COMBINE( seed, imageBlit.dstSubresource );
-+ for ( size_t i = 0; i < 2; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, imageBlit.dstOffsets[i] );
-+ }
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_FUCHSIA )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIA>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIA const &
-+ imageFormatConstraintsInfoFUCHSIA ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageFormatConstraintsInfoFUCHSIA.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageFormatConstraintsInfoFUCHSIA.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageFormatConstraintsInfoFUCHSIA.imageCreateInfo );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageFormatConstraintsInfoFUCHSIA.requiredFormatFeatures );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageFormatConstraintsInfoFUCHSIA.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageFormatConstraintsInfoFUCHSIA.sysmemPixelFormat );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageFormatConstraintsInfoFUCHSIA.colorSpaceCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageFormatConstraintsInfoFUCHSIA.pColorSpaces );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_FUCHSIA*/
-+
-+# if defined( VK_USE_PLATFORM_FUCHSIA )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIA>
-+ {
-+ std::size_t operator()(
-+ VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIA const & imageConstraintsInfoFUCHSIA ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageConstraintsInfoFUCHSIA.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageConstraintsInfoFUCHSIA.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageConstraintsInfoFUCHSIA.formatConstraintsCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageConstraintsInfoFUCHSIA.pFormatConstraints );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageConstraintsInfoFUCHSIA.bufferCollectionConstraints );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageConstraintsInfoFUCHSIA.flags );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_FUCHSIA*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageCopy>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageCopy const & imageCopy ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCopy.srcSubresource );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCopy.srcOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCopy.dstSubresource );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCopy.dstOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageCopy.extent );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SubresourceLayout>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::SubresourceLayout const & subresourceLayout ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, subresourceLayout.offset );
-+ VULKAN_HPP_HASH_COMBINE( seed, subresourceLayout.size );
-+ VULKAN_HPP_HASH_COMBINE( seed, subresourceLayout.rowPitch );
-+ VULKAN_HPP_HASH_COMBINE( seed, subresourceLayout.arrayPitch );
-+ VULKAN_HPP_HASH_COMBINE( seed, subresourceLayout.depthPitch );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierExplicitCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierExplicitCreateInfoEXT const &
-+ imageDrmFormatModifierExplicitCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageDrmFormatModifierExplicitCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageDrmFormatModifierExplicitCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageDrmFormatModifierExplicitCreateInfoEXT.drmFormatModifier );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageDrmFormatModifierExplicitCreateInfoEXT.drmFormatModifierPlaneCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageDrmFormatModifierExplicitCreateInfoEXT.pPlaneLayouts );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierListCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierListCreateInfoEXT const &
-+ imageDrmFormatModifierListCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageDrmFormatModifierListCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageDrmFormatModifierListCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageDrmFormatModifierListCreateInfoEXT.drmFormatModifierCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageDrmFormatModifierListCreateInfoEXT.pDrmFormatModifiers );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT const &
-+ imageDrmFormatModifierPropertiesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageDrmFormatModifierPropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageDrmFormatModifierPropertiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageDrmFormatModifierPropertiesEXT.drmFormatModifier );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageFormatListCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageFormatListCreateInfo const & imageFormatListCreateInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageFormatListCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageFormatListCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageFormatListCreateInfo.viewFormatCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageFormatListCreateInfo.pViewFormats );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageFormatProperties2>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageFormatProperties2 const & imageFormatProperties2 ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageFormatProperties2.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageFormatProperties2.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageFormatProperties2.imageFormatProperties );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageMemoryBarrier>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::ImageMemoryBarrier const & imageMemoryBarrier ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier.srcAccessMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier.dstAccessMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier.oldLayout );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier.newLayout );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier.srcQueueFamilyIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier.dstQueueFamilyIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier.image );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier.subresourceRange );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 const & imageMemoryRequirementsInfo2 )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageMemoryRequirementsInfo2.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageMemoryRequirementsInfo2.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageMemoryRequirementsInfo2.image );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_FUCHSIA )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA const &
-+ imagePipeSurfaceCreateInfoFUCHSIA ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imagePipeSurfaceCreateInfoFUCHSIA.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imagePipeSurfaceCreateInfoFUCHSIA.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, imagePipeSurfaceCreateInfoFUCHSIA.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, imagePipeSurfaceCreateInfoFUCHSIA.imagePipeHandle );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_FUCHSIA*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImagePlaneMemoryRequirementsInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImagePlaneMemoryRequirementsInfo const &
-+ imagePlaneMemoryRequirementsInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imagePlaneMemoryRequirementsInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imagePlaneMemoryRequirementsInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, imagePlaneMemoryRequirementsInfo.planeAspect );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageResolve>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageResolve const & imageResolve ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageResolve.srcSubresource );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageResolve.srcOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageResolve.dstSubresource );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageResolve.dstOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageResolve.extent );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageResolve2KHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageResolve2KHR const & imageResolve2KHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageResolve2KHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageResolve2KHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageResolve2KHR.srcSubresource );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageResolve2KHR.srcOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageResolve2KHR.dstSubresource );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageResolve2KHR.dstOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageResolve2KHR.extent );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 const &
-+ imageSparseMemoryRequirementsInfo2 ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageSparseMemoryRequirementsInfo2.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageSparseMemoryRequirementsInfo2.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageSparseMemoryRequirementsInfo2.image );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageStencilUsageCreateInfo>
-+ {
-+ std::size_t operator()(
-+ VULKAN_HPP_NAMESPACE::ImageStencilUsageCreateInfo const & imageStencilUsageCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageStencilUsageCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageStencilUsageCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageStencilUsageCreateInfo.stencilUsage );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageSwapchainCreateInfoKHR>
-+ {
-+ std::size_t operator()(
-+ VULKAN_HPP_NAMESPACE::ImageSwapchainCreateInfoKHR const & imageSwapchainCreateInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageSwapchainCreateInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageSwapchainCreateInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageSwapchainCreateInfoKHR.swapchain );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageViewASTCDecodeModeEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageViewASTCDecodeModeEXT const & imageViewASTCDecodeModeEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewASTCDecodeModeEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewASTCDecodeModeEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewASTCDecodeModeEXT.decodeMode );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX const & imageViewAddressPropertiesNVX )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewAddressPropertiesNVX.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewAddressPropertiesNVX.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewAddressPropertiesNVX.deviceAddress );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewAddressPropertiesNVX.size );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageViewCreateInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::ImageViewCreateInfo const & imageViewCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewCreateInfo.image );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewCreateInfo.viewType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewCreateInfo.format );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewCreateInfo.components );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewCreateInfo.subresourceRange );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageViewHandleInfoNVX>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageViewHandleInfoNVX const & imageViewHandleInfoNVX ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewHandleInfoNVX.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewHandleInfoNVX.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewHandleInfoNVX.imageView );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewHandleInfoNVX.descriptorType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewHandleInfoNVX.sampler );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageViewMinLodCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageViewMinLodCreateInfoEXT const & imageViewMinLodCreateInfoEXT )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewMinLodCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewMinLodCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewMinLodCreateInfoEXT.minLod );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImageViewUsageCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageViewUsageCreateInfo const & imageViewUsageCreateInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewUsageCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewUsageCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, imageViewUsageCreateInfo.usage );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_ANDROID_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImportAndroidHardwareBufferInfoANDROID>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImportAndroidHardwareBufferInfoANDROID const &
-+ importAndroidHardwareBufferInfoANDROID ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, importAndroidHardwareBufferInfoANDROID.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, importAndroidHardwareBufferInfoANDROID.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, importAndroidHardwareBufferInfoANDROID.buffer );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImportFenceFdInfoKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::ImportFenceFdInfoKHR const & importFenceFdInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, importFenceFdInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, importFenceFdInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, importFenceFdInfoKHR.fence );
-+ VULKAN_HPP_HASH_COMBINE( seed, importFenceFdInfoKHR.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, importFenceFdInfoKHR.handleType );
-+ VULKAN_HPP_HASH_COMBINE( seed, importFenceFdInfoKHR.fd );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_WIN32_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImportFenceWin32HandleInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImportFenceWin32HandleInfoKHR const & importFenceWin32HandleInfoKHR )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, importFenceWin32HandleInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, importFenceWin32HandleInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, importFenceWin32HandleInfoKHR.fence );
-+ VULKAN_HPP_HASH_COMBINE( seed, importFenceWin32HandleInfoKHR.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, importFenceWin32HandleInfoKHR.handleType );
-+ VULKAN_HPP_HASH_COMBINE( seed, importFenceWin32HandleInfoKHR.handle );
-+ VULKAN_HPP_HASH_COMBINE( seed, importFenceWin32HandleInfoKHR.name );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_WIN32_KHR*/
-+
-+# if defined( VK_USE_PLATFORM_FUCHSIA )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImportMemoryBufferCollectionFUCHSIA>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImportMemoryBufferCollectionFUCHSIA const &
-+ importMemoryBufferCollectionFUCHSIA ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, importMemoryBufferCollectionFUCHSIA.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, importMemoryBufferCollectionFUCHSIA.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, importMemoryBufferCollectionFUCHSIA.collection );
-+ VULKAN_HPP_HASH_COMBINE( seed, importMemoryBufferCollectionFUCHSIA.index );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_FUCHSIA*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImportMemoryFdInfoKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::ImportMemoryFdInfoKHR const & importMemoryFdInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, importMemoryFdInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, importMemoryFdInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, importMemoryFdInfoKHR.handleType );
-+ VULKAN_HPP_HASH_COMBINE( seed, importMemoryFdInfoKHR.fd );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImportMemoryHostPointerInfoEXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::ImportMemoryHostPointerInfoEXT const & importMemoryHostPointerInfoEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, importMemoryHostPointerInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, importMemoryHostPointerInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, importMemoryHostPointerInfoEXT.handleType );
-+ VULKAN_HPP_HASH_COMBINE( seed, importMemoryHostPointerInfoEXT.pHostPointer );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_WIN32_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImportMemoryWin32HandleInfoKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::ImportMemoryWin32HandleInfoKHR const & importMemoryWin32HandleInfoKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, importMemoryWin32HandleInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, importMemoryWin32HandleInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, importMemoryWin32HandleInfoKHR.handleType );
-+ VULKAN_HPP_HASH_COMBINE( seed, importMemoryWin32HandleInfoKHR.handle );
-+ VULKAN_HPP_HASH_COMBINE( seed, importMemoryWin32HandleInfoKHR.name );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_WIN32_KHR*/
-+
-+# if defined( VK_USE_PLATFORM_WIN32_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImportMemoryWin32HandleInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImportMemoryWin32HandleInfoNV const & importMemoryWin32HandleInfoNV )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, importMemoryWin32HandleInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, importMemoryWin32HandleInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, importMemoryWin32HandleInfoNV.handleType );
-+ VULKAN_HPP_HASH_COMBINE( seed, importMemoryWin32HandleInfoNV.handle );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_WIN32_KHR*/
-+
-+# if defined( VK_USE_PLATFORM_FUCHSIA )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImportMemoryZirconHandleInfoFUCHSIA>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImportMemoryZirconHandleInfoFUCHSIA const &
-+ importMemoryZirconHandleInfoFUCHSIA ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, importMemoryZirconHandleInfoFUCHSIA.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, importMemoryZirconHandleInfoFUCHSIA.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, importMemoryZirconHandleInfoFUCHSIA.handleType );
-+ VULKAN_HPP_HASH_COMBINE( seed, importMemoryZirconHandleInfoFUCHSIA.handle );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_FUCHSIA*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImportSemaphoreFdInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImportSemaphoreFdInfoKHR const & importSemaphoreFdInfoKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreFdInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreFdInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreFdInfoKHR.semaphore );
-+ VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreFdInfoKHR.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreFdInfoKHR.handleType );
-+ VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreFdInfoKHR.fd );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_WIN32_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImportSemaphoreWin32HandleInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImportSemaphoreWin32HandleInfoKHR const &
-+ importSemaphoreWin32HandleInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreWin32HandleInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreWin32HandleInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreWin32HandleInfoKHR.semaphore );
-+ VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreWin32HandleInfoKHR.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreWin32HandleInfoKHR.handleType );
-+ VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreWin32HandleInfoKHR.handle );
-+ VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreWin32HandleInfoKHR.name );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_WIN32_KHR*/
-+
-+# if defined( VK_USE_PLATFORM_FUCHSIA )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ImportSemaphoreZirconHandleInfoFUCHSIA>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImportSemaphoreZirconHandleInfoFUCHSIA const &
-+ importSemaphoreZirconHandleInfoFUCHSIA ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreZirconHandleInfoFUCHSIA.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreZirconHandleInfoFUCHSIA.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreZirconHandleInfoFUCHSIA.semaphore );
-+ VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreZirconHandleInfoFUCHSIA.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreZirconHandleInfoFUCHSIA.handleType );
-+ VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreZirconHandleInfoFUCHSIA.zirconHandle );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_FUCHSIA*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutTokenNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutTokenNV const & indirectCommandsLayoutTokenNV )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.tokenType );
-+ VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.stream );
-+ VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.offset );
-+ VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.vertexBindingUnit );
-+ VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.vertexDynamicStride );
-+ VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.pushconstantPipelineLayout );
-+ VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.pushconstantShaderStageFlags );
-+ VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.pushconstantOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.pushconstantSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.indirectStateFlags );
-+ VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.indexTypeCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.pIndexTypes );
-+ VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.pIndexTypeValues );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV const &
-+ indirectCommandsLayoutCreateInfoNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutCreateInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutCreateInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutCreateInfoNV.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutCreateInfoNV.pipelineBindPoint );
-+ VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutCreateInfoNV.tokenCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutCreateInfoNV.pTokens );
-+ VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutCreateInfoNV.streamCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutCreateInfoNV.pStreamStrides );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::InitializePerformanceApiInfoINTEL>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::InitializePerformanceApiInfoINTEL const &
-+ initializePerformanceApiInfoINTEL ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, initializePerformanceApiInfoINTEL.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, initializePerformanceApiInfoINTEL.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, initializePerformanceApiInfoINTEL.pUserData );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::InputAttachmentAspectReference>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::InputAttachmentAspectReference const & inputAttachmentAspectReference ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, inputAttachmentAspectReference.subpass );
-+ VULKAN_HPP_HASH_COMBINE( seed, inputAttachmentAspectReference.inputAttachmentIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, inputAttachmentAspectReference.aspectMask );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::InstanceCreateInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::InstanceCreateInfo const & instanceCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, instanceCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, instanceCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, instanceCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, instanceCreateInfo.pApplicationInfo );
-+ VULKAN_HPP_HASH_COMBINE( seed, instanceCreateInfo.enabledLayerCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, instanceCreateInfo.ppEnabledLayerNames );
-+ VULKAN_HPP_HASH_COMBINE( seed, instanceCreateInfo.enabledExtensionCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, instanceCreateInfo.ppEnabledExtensionNames );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::LayerProperties>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::LayerProperties const & layerProperties ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ for ( size_t i = 0; i < VK_MAX_EXTENSION_NAME_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, layerProperties.layerName[i] );
-+ }
-+ VULKAN_HPP_HASH_COMBINE( seed, layerProperties.specVersion );
-+ VULKAN_HPP_HASH_COMBINE( seed, layerProperties.implementationVersion );
-+ for ( size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, layerProperties.description[i] );
-+ }
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_MACOS_MVK )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK const & macOSSurfaceCreateInfoMVK ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, macOSSurfaceCreateInfoMVK.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, macOSSurfaceCreateInfoMVK.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, macOSSurfaceCreateInfoMVK.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, macOSSurfaceCreateInfoMVK.pView );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_MACOS_MVK*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MappedMemoryRange>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::MappedMemoryRange const & mappedMemoryRange ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, mappedMemoryRange.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, mappedMemoryRange.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, mappedMemoryRange.memory );
-+ VULKAN_HPP_HASH_COMBINE( seed, mappedMemoryRange.offset );
-+ VULKAN_HPP_HASH_COMBINE( seed, mappedMemoryRange.size );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MemoryAllocateFlagsInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::MemoryAllocateFlagsInfo const & memoryAllocateFlagsInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryAllocateFlagsInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryAllocateFlagsInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryAllocateFlagsInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryAllocateFlagsInfo.deviceMask );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MemoryAllocateInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::MemoryAllocateInfo const & memoryAllocateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryAllocateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryAllocateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryAllocateInfo.allocationSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryAllocateInfo.memoryTypeIndex );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MemoryBarrier>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::MemoryBarrier const & memoryBarrier ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryBarrier.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryBarrier.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryBarrier.srcAccessMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryBarrier.dstAccessMask );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MemoryDedicatedAllocateInfo>
-+ {
-+ std::size_t operator()(
-+ VULKAN_HPP_NAMESPACE::MemoryDedicatedAllocateInfo const & memoryDedicatedAllocateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryDedicatedAllocateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryDedicatedAllocateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryDedicatedAllocateInfo.image );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryDedicatedAllocateInfo.buffer );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MemoryDedicatedRequirements>
-+ {
-+ std::size_t operator()(
-+ VULKAN_HPP_NAMESPACE::MemoryDedicatedRequirements const & memoryDedicatedRequirements ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryDedicatedRequirements.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryDedicatedRequirements.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryDedicatedRequirements.prefersDedicatedAllocation );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryDedicatedRequirements.requiresDedicatedAllocation );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR const & memoryFdPropertiesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryFdPropertiesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryFdPropertiesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryFdPropertiesKHR.memoryTypeBits );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_ANDROID_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MemoryGetAndroidHardwareBufferInfoANDROID>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::MemoryGetAndroidHardwareBufferInfoANDROID const &
-+ memoryGetAndroidHardwareBufferInfoANDROID ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryGetAndroidHardwareBufferInfoANDROID.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryGetAndroidHardwareBufferInfoANDROID.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryGetAndroidHardwareBufferInfoANDROID.memory );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MemoryGetFdInfoKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::MemoryGetFdInfoKHR const & memoryGetFdInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryGetFdInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryGetFdInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryGetFdInfoKHR.memory );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryGetFdInfoKHR.handleType );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MemoryGetRemoteAddressInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::MemoryGetRemoteAddressInfoNV const & memoryGetRemoteAddressInfoNV )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryGetRemoteAddressInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryGetRemoteAddressInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryGetRemoteAddressInfoNV.memory );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryGetRemoteAddressInfoNV.handleType );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_WIN32_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MemoryGetWin32HandleInfoKHR>
-+ {
-+ std::size_t operator()(
-+ VULKAN_HPP_NAMESPACE::MemoryGetWin32HandleInfoKHR const & memoryGetWin32HandleInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryGetWin32HandleInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryGetWin32HandleInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryGetWin32HandleInfoKHR.memory );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryGetWin32HandleInfoKHR.handleType );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_WIN32_KHR*/
-+
-+# if defined( VK_USE_PLATFORM_FUCHSIA )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MemoryGetZirconHandleInfoFUCHSIA>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::MemoryGetZirconHandleInfoFUCHSIA const &
-+ memoryGetZirconHandleInfoFUCHSIA ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryGetZirconHandleInfoFUCHSIA.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryGetZirconHandleInfoFUCHSIA.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryGetZirconHandleInfoFUCHSIA.memory );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryGetZirconHandleInfoFUCHSIA.handleType );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_FUCHSIA*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MemoryHeap>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::MemoryHeap const & memoryHeap ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryHeap.size );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryHeap.flags );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT const & memoryHostPointerPropertiesEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryHostPointerPropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryHostPointerPropertiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryHostPointerPropertiesEXT.memoryTypeBits );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MemoryOpaqueCaptureAddressAllocateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::MemoryOpaqueCaptureAddressAllocateInfo const &
-+ memoryOpaqueCaptureAddressAllocateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryOpaqueCaptureAddressAllocateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryOpaqueCaptureAddressAllocateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryOpaqueCaptureAddressAllocateInfo.opaqueCaptureAddress );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MemoryPriorityAllocateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::MemoryPriorityAllocateInfoEXT const & memoryPriorityAllocateInfoEXT )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryPriorityAllocateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryPriorityAllocateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryPriorityAllocateInfoEXT.priority );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MemoryRequirements>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::MemoryRequirements const & memoryRequirements ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryRequirements.size );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryRequirements.alignment );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryRequirements.memoryTypeBits );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MemoryRequirements2>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::MemoryRequirements2 const & memoryRequirements2 ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryRequirements2.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryRequirements2.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryRequirements2.memoryRequirements );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MemoryType>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::MemoryType const & memoryType ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryType.propertyFlags );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryType.heapIndex );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_WIN32_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR const & memoryWin32HandlePropertiesKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryWin32HandlePropertiesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryWin32HandlePropertiesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryWin32HandlePropertiesKHR.memoryTypeBits );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_WIN32_KHR*/
-+
-+# if defined( VK_USE_PLATFORM_FUCHSIA )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA const &
-+ memoryZirconHandlePropertiesFUCHSIA ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryZirconHandlePropertiesFUCHSIA.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryZirconHandlePropertiesFUCHSIA.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, memoryZirconHandlePropertiesFUCHSIA.memoryTypeBits );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_FUCHSIA*/
-+
-+# if defined( VK_USE_PLATFORM_METAL_EXT )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT const & metalSurfaceCreateInfoEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, metalSurfaceCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, metalSurfaceCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, metalSurfaceCreateInfoEXT.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, metalSurfaceCreateInfoEXT.pLayer );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_METAL_EXT*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MultiDrawIndexedInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::MultiDrawIndexedInfoEXT const & multiDrawIndexedInfoEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, multiDrawIndexedInfoEXT.firstIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, multiDrawIndexedInfoEXT.indexCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, multiDrawIndexedInfoEXT.vertexOffset );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MultiDrawInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::MultiDrawInfoEXT const & multiDrawInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, multiDrawInfoEXT.firstVertex );
-+ VULKAN_HPP_HASH_COMBINE( seed, multiDrawInfoEXT.vertexCount );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT const & multisamplePropertiesEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, multisamplePropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, multisamplePropertiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, multisamplePropertiesEXT.maxSampleLocationGridSize );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MultiviewPerViewAttributesInfoNVX>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::MultiviewPerViewAttributesInfoNVX const &
-+ multiviewPerViewAttributesInfoNVX ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, multiviewPerViewAttributesInfoNVX.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, multiviewPerViewAttributesInfoNVX.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, multiviewPerViewAttributesInfoNVX.perViewAttributes );
-+ VULKAN_HPP_HASH_COMBINE( seed, multiviewPerViewAttributesInfoNVX.perViewAttributesPositionXOnly );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MutableDescriptorTypeListVALVE>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::MutableDescriptorTypeListVALVE const & mutableDescriptorTypeListVALVE ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, mutableDescriptorTypeListVALVE.descriptorTypeCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, mutableDescriptorTypeListVALVE.pDescriptorTypes );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::MutableDescriptorTypeCreateInfoVALVE>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::MutableDescriptorTypeCreateInfoVALVE const &
-+ mutableDescriptorTypeCreateInfoVALVE ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, mutableDescriptorTypeCreateInfoVALVE.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, mutableDescriptorTypeCreateInfoVALVE.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, mutableDescriptorTypeCreateInfoVALVE.mutableDescriptorTypeListCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, mutableDescriptorTypeCreateInfoVALVE.pMutableDescriptorTypeLists );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE const & pastPresentationTimingGOOGLE )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pastPresentationTimingGOOGLE.presentID );
-+ VULKAN_HPP_HASH_COMBINE( seed, pastPresentationTimingGOOGLE.desiredPresentTime );
-+ VULKAN_HPP_HASH_COMBINE( seed, pastPresentationTimingGOOGLE.actualPresentTime );
-+ VULKAN_HPP_HASH_COMBINE( seed, pastPresentationTimingGOOGLE.earliestPresentTime );
-+ VULKAN_HPP_HASH_COMBINE( seed, pastPresentationTimingGOOGLE.presentMargin );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL const &
-+ performanceConfigurationAcquireInfoINTEL ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceConfigurationAcquireInfoINTEL.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceConfigurationAcquireInfoINTEL.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceConfigurationAcquireInfoINTEL.type );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR const &
-+ performanceCounterDescriptionKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceCounterDescriptionKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceCounterDescriptionKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceCounterDescriptionKHR.flags );
-+ for ( size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceCounterDescriptionKHR.name[i] );
-+ }
-+ for ( size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceCounterDescriptionKHR.category[i] );
-+ }
-+ for ( size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceCounterDescriptionKHR.description[i] );
-+ }
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PerformanceCounterKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::PerformanceCounterKHR const & performanceCounterKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceCounterKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceCounterKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceCounterKHR.unit );
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceCounterKHR.scope );
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceCounterKHR.storage );
-+ for ( size_t i = 0; i < VK_UUID_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceCounterKHR.uuid[i] );
-+ }
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PerformanceMarkerInfoINTEL>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PerformanceMarkerInfoINTEL const & performanceMarkerInfoINTEL ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceMarkerInfoINTEL.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceMarkerInfoINTEL.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceMarkerInfoINTEL.marker );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PerformanceOverrideInfoINTEL>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PerformanceOverrideInfoINTEL const & performanceOverrideInfoINTEL )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceOverrideInfoINTEL.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceOverrideInfoINTEL.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceOverrideInfoINTEL.type );
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceOverrideInfoINTEL.enable );
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceOverrideInfoINTEL.parameter );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PerformanceQuerySubmitInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PerformanceQuerySubmitInfoKHR const & performanceQuerySubmitInfoKHR )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceQuerySubmitInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceQuerySubmitInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceQuerySubmitInfoKHR.counterPassIndex );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PerformanceStreamMarkerInfoINTEL>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PerformanceStreamMarkerInfoINTEL const &
-+ performanceStreamMarkerInfoINTEL ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceStreamMarkerInfoINTEL.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceStreamMarkerInfoINTEL.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, performanceStreamMarkerInfoINTEL.marker );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevice16BitStorageFeatures>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevice16BitStorageFeatures const &
-+ physicalDevice16BitStorageFeatures ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevice16BitStorageFeatures.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevice16BitStorageFeatures.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevice16BitStorageFeatures.storageBuffer16BitAccess );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevice16BitStorageFeatures.uniformAndStorageBuffer16BitAccess );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevice16BitStorageFeatures.storagePushConstant16 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevice16BitStorageFeatures.storageInputOutput16 );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevice4444FormatsFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevice4444FormatsFeaturesEXT const &
-+ physicalDevice4444FormatsFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevice4444FormatsFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevice4444FormatsFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevice4444FormatsFeaturesEXT.formatA4R4G4B4 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevice4444FormatsFeaturesEXT.formatA4B4G4R4 );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevice8BitStorageFeatures>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevice8BitStorageFeatures const &
-+ physicalDevice8BitStorageFeatures ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevice8BitStorageFeatures.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevice8BitStorageFeatures.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevice8BitStorageFeatures.storageBuffer8BitAccess );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevice8BitStorageFeatures.uniformAndStorageBuffer8BitAccess );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevice8BitStorageFeatures.storagePushConstant8 );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceASTCDecodeFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceASTCDecodeFeaturesEXT const &
-+ physicalDeviceASTCDecodeFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceASTCDecodeFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceASTCDecodeFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceASTCDecodeFeaturesEXT.decodeModeSharedExponent );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceAccelerationStructureFeaturesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceAccelerationStructureFeaturesKHR const &
-+ physicalDeviceAccelerationStructureFeaturesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructureFeaturesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructureFeaturesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructureFeaturesKHR.accelerationStructure );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceAccelerationStructureFeaturesKHR.accelerationStructureCaptureReplay );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceAccelerationStructureFeaturesKHR.accelerationStructureIndirectBuild );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructureFeaturesKHR.accelerationStructureHostCommands );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceAccelerationStructureFeaturesKHR.descriptorBindingAccelerationStructureUpdateAfterBind );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceAccelerationStructurePropertiesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceAccelerationStructurePropertiesKHR const &
-+ physicalDeviceAccelerationStructurePropertiesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructurePropertiesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructurePropertiesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructurePropertiesKHR.maxGeometryCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructurePropertiesKHR.maxInstanceCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructurePropertiesKHR.maxPrimitiveCount );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceAccelerationStructurePropertiesKHR.maxPerStageDescriptorAccelerationStructures );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed,
-+ physicalDeviceAccelerationStructurePropertiesKHR.maxPerStageDescriptorUpdateAfterBindAccelerationStructures );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceAccelerationStructurePropertiesKHR.maxDescriptorSetAccelerationStructures );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceAccelerationStructurePropertiesKHR.maxDescriptorSetUpdateAfterBindAccelerationStructures );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceAccelerationStructurePropertiesKHR.minAccelerationStructureScratchOffsetAlignment );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceBlendOperationAdvancedFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceBlendOperationAdvancedFeaturesEXT const &
-+ physicalDeviceBlendOperationAdvancedFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBlendOperationAdvancedFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBlendOperationAdvancedFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBlendOperationAdvancedFeaturesEXT.advancedBlendCoherentOperations );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceBlendOperationAdvancedPropertiesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceBlendOperationAdvancedPropertiesEXT const &
-+ physicalDeviceBlendOperationAdvancedPropertiesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBlendOperationAdvancedPropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBlendOperationAdvancedPropertiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceBlendOperationAdvancedPropertiesEXT.advancedBlendMaxColorAttachments );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBlendOperationAdvancedPropertiesEXT.advancedBlendIndependentBlend );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceBlendOperationAdvancedPropertiesEXT.advancedBlendNonPremultipliedSrcColor );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceBlendOperationAdvancedPropertiesEXT.advancedBlendNonPremultipliedDstColor );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBlendOperationAdvancedPropertiesEXT.advancedBlendCorrelatedOverlap );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBlendOperationAdvancedPropertiesEXT.advancedBlendAllOperations );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceBorderColorSwizzleFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceBorderColorSwizzleFeaturesEXT const &
-+ physicalDeviceBorderColorSwizzleFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBorderColorSwizzleFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBorderColorSwizzleFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBorderColorSwizzleFeaturesEXT.borderColorSwizzle );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBorderColorSwizzleFeaturesEXT.borderColorSwizzleFromImage );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceBufferDeviceAddressFeatures>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceBufferDeviceAddressFeatures const &
-+ physicalDeviceBufferDeviceAddressFeatures ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressFeatures.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressFeatures.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressFeatures.bufferDeviceAddress );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressFeatures.bufferDeviceAddressCaptureReplay );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressFeatures.bufferDeviceAddressMultiDevice );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceBufferDeviceAddressFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceBufferDeviceAddressFeaturesEXT const &
-+ physicalDeviceBufferDeviceAddressFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressFeaturesEXT.bufferDeviceAddress );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressFeaturesEXT.bufferDeviceAddressCaptureReplay );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressFeaturesEXT.bufferDeviceAddressMultiDevice );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCoherentMemoryFeaturesAMD>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceCoherentMemoryFeaturesAMD const &
-+ physicalDeviceCoherentMemoryFeaturesAMD ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCoherentMemoryFeaturesAMD.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCoherentMemoryFeaturesAMD.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCoherentMemoryFeaturesAMD.deviceCoherentMemory );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceColorWriteEnableFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceColorWriteEnableFeaturesEXT const &
-+ physicalDeviceColorWriteEnableFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceColorWriteEnableFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceColorWriteEnableFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceColorWriteEnableFeaturesEXT.colorWriteEnable );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceComputeShaderDerivativesFeaturesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceComputeShaderDerivativesFeaturesNV const &
-+ physicalDeviceComputeShaderDerivativesFeaturesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceComputeShaderDerivativesFeaturesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceComputeShaderDerivativesFeaturesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceComputeShaderDerivativesFeaturesNV.computeDerivativeGroupQuads );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceComputeShaderDerivativesFeaturesNV.computeDerivativeGroupLinear );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceConditionalRenderingFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceConditionalRenderingFeaturesEXT const &
-+ physicalDeviceConditionalRenderingFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceConditionalRenderingFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceConditionalRenderingFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceConditionalRenderingFeaturesEXT.conditionalRendering );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceConditionalRenderingFeaturesEXT.inheritedConditionalRendering );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceConservativeRasterizationPropertiesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceConservativeRasterizationPropertiesEXT const &
-+ physicalDeviceConservativeRasterizationPropertiesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceConservativeRasterizationPropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceConservativeRasterizationPropertiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceConservativeRasterizationPropertiesEXT.primitiveOverestimationSize );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceConservativeRasterizationPropertiesEXT.maxExtraPrimitiveOverestimationSize );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceConservativeRasterizationPropertiesEXT.extraPrimitiveOverestimationSizeGranularity );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceConservativeRasterizationPropertiesEXT.primitiveUnderestimation );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceConservativeRasterizationPropertiesEXT.conservativePointAndLineRasterization );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceConservativeRasterizationPropertiesEXT.degenerateTrianglesRasterized );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceConservativeRasterizationPropertiesEXT.degenerateLinesRasterized );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceConservativeRasterizationPropertiesEXT.fullyCoveredFragmentShaderInputVariable );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceConservativeRasterizationPropertiesEXT.conservativeRasterizationPostDepthCoverage );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCooperativeMatrixFeaturesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceCooperativeMatrixFeaturesNV const &
-+ physicalDeviceCooperativeMatrixFeaturesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixFeaturesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixFeaturesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixFeaturesNV.cooperativeMatrix );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixFeaturesNV.cooperativeMatrixRobustBufferAccess );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCooperativeMatrixPropertiesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceCooperativeMatrixPropertiesNV const &
-+ physicalDeviceCooperativeMatrixPropertiesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixPropertiesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixPropertiesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixPropertiesNV.cooperativeMatrixSupportedStages );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCornerSampledImageFeaturesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceCornerSampledImageFeaturesNV const &
-+ physicalDeviceCornerSampledImageFeaturesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCornerSampledImageFeaturesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCornerSampledImageFeaturesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCornerSampledImageFeaturesNV.cornerSampledImage );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCoverageReductionModeFeaturesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceCoverageReductionModeFeaturesNV const &
-+ physicalDeviceCoverageReductionModeFeaturesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCoverageReductionModeFeaturesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCoverageReductionModeFeaturesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCoverageReductionModeFeaturesNV.coverageReductionMode );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomBorderColorFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomBorderColorFeaturesEXT const &
-+ physicalDeviceCustomBorderColorFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCustomBorderColorFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCustomBorderColorFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCustomBorderColorFeaturesEXT.customBorderColors );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCustomBorderColorFeaturesEXT.customBorderColorWithoutFormat );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomBorderColorPropertiesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomBorderColorPropertiesEXT const &
-+ physicalDeviceCustomBorderColorPropertiesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCustomBorderColorPropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCustomBorderColorPropertiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCustomBorderColorPropertiesEXT.maxCustomBorderColorSamplers );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const &
-+ physicalDeviceDedicatedAllocationImageAliasingFeaturesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDedicatedAllocationImageAliasingFeaturesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDedicatedAllocationImageAliasingFeaturesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDedicatedAllocationImageAliasingFeaturesNV.dedicatedAllocationImageAliasing );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClipControlFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClipControlFeaturesEXT const &
-+ physicalDeviceDepthClipControlFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthClipControlFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthClipControlFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthClipControlFeaturesEXT.depthClipControl );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClipEnableFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClipEnableFeaturesEXT const &
-+ physicalDeviceDepthClipEnableFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthClipEnableFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthClipEnableFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthClipEnableFeaturesEXT.depthClipEnable );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthStencilResolveProperties>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthStencilResolveProperties const &
-+ physicalDeviceDepthStencilResolveProperties ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthStencilResolveProperties.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthStencilResolveProperties.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthStencilResolveProperties.supportedDepthResolveModes );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthStencilResolveProperties.supportedStencilResolveModes );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthStencilResolveProperties.independentResolveNone );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthStencilResolveProperties.independentResolve );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorIndexingFeatures>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorIndexingFeatures const &
-+ physicalDeviceDescriptorIndexingFeatures ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceDescriptorIndexingFeatures.shaderInputAttachmentArrayDynamicIndexing );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceDescriptorIndexingFeatures.shaderUniformTexelBufferArrayDynamicIndexing );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceDescriptorIndexingFeatures.shaderStorageTexelBufferArrayDynamicIndexing );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceDescriptorIndexingFeatures.shaderUniformBufferArrayNonUniformIndexing );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceDescriptorIndexingFeatures.shaderSampledImageArrayNonUniformIndexing );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceDescriptorIndexingFeatures.shaderStorageBufferArrayNonUniformIndexing );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceDescriptorIndexingFeatures.shaderStorageImageArrayNonUniformIndexing );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceDescriptorIndexingFeatures.shaderInputAttachmentArrayNonUniformIndexing );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDescriptorIndexingFeatures.shaderUniformTexelBufferArrayNonUniformIndexing );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDescriptorIndexingFeatures.shaderStorageTexelBufferArrayNonUniformIndexing );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceDescriptorIndexingFeatures.descriptorBindingUniformBufferUpdateAfterBind );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceDescriptorIndexingFeatures.descriptorBindingSampledImageUpdateAfterBind );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceDescriptorIndexingFeatures.descriptorBindingStorageImageUpdateAfterBind );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceDescriptorIndexingFeatures.descriptorBindingStorageBufferUpdateAfterBind );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDescriptorIndexingFeatures.descriptorBindingUniformTexelBufferUpdateAfterBind );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDescriptorIndexingFeatures.descriptorBindingStorageTexelBufferUpdateAfterBind );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceDescriptorIndexingFeatures.descriptorBindingUpdateUnusedWhilePending );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.descriptorBindingPartiallyBound );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceDescriptorIndexingFeatures.descriptorBindingVariableDescriptorCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.runtimeDescriptorArray );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorIndexingProperties>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorIndexingProperties const &
-+ physicalDeviceDescriptorIndexingProperties ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceDescriptorIndexingProperties.maxUpdateAfterBindDescriptorsInAllPools );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDescriptorIndexingProperties.shaderUniformBufferArrayNonUniformIndexingNative );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDescriptorIndexingProperties.shaderSampledImageArrayNonUniformIndexingNative );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDescriptorIndexingProperties.shaderStorageBufferArrayNonUniformIndexingNative );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDescriptorIndexingProperties.shaderStorageImageArrayNonUniformIndexingNative );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDescriptorIndexingProperties.shaderInputAttachmentArrayNonUniformIndexingNative );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.robustBufferAccessUpdateAfterBind );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.quadDivergentImplicitLod );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDescriptorIndexingProperties.maxPerStageDescriptorUpdateAfterBindSamplers );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDescriptorIndexingProperties.maxPerStageDescriptorUpdateAfterBindUniformBuffers );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDescriptorIndexingProperties.maxPerStageDescriptorUpdateAfterBindStorageBuffers );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDescriptorIndexingProperties.maxPerStageDescriptorUpdateAfterBindSampledImages );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDescriptorIndexingProperties.maxPerStageDescriptorUpdateAfterBindStorageImages );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDescriptorIndexingProperties.maxPerStageDescriptorUpdateAfterBindInputAttachments );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.maxPerStageUpdateAfterBindResources );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceDescriptorIndexingProperties.maxDescriptorSetUpdateAfterBindSamplers );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDescriptorIndexingProperties.maxDescriptorSetUpdateAfterBindUniformBuffers );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDescriptorIndexingProperties.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDescriptorIndexingProperties.maxDescriptorSetUpdateAfterBindStorageBuffers );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDescriptorIndexingProperties.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDescriptorIndexingProperties.maxDescriptorSetUpdateAfterBindSampledImages );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDescriptorIndexingProperties.maxDescriptorSetUpdateAfterBindStorageImages );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDescriptorIndexingProperties.maxDescriptorSetUpdateAfterBindInputAttachments );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDeviceGeneratedCommandsFeaturesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceDeviceGeneratedCommandsFeaturesNV const &
-+ physicalDeviceDeviceGeneratedCommandsFeaturesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceGeneratedCommandsFeaturesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceGeneratedCommandsFeaturesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceGeneratedCommandsFeaturesNV.deviceGeneratedCommands );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDeviceGeneratedCommandsPropertiesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceDeviceGeneratedCommandsPropertiesNV const &
-+ physicalDeviceDeviceGeneratedCommandsPropertiesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.maxGraphicsShaderGroupCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.maxIndirectSequenceCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.maxIndirectCommandsTokenCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.maxIndirectCommandsStreamCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.maxIndirectCommandsTokenOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceDeviceGeneratedCommandsPropertiesNV.maxIndirectCommandsStreamStride );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.minSequencesCountBufferOffsetAlignment );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.minSequencesIndexBufferOffsetAlignment );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.minIndirectCommandsBufferOffsetAlignment );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDeviceMemoryReportFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceDeviceMemoryReportFeaturesEXT const &
-+ physicalDeviceDeviceMemoryReportFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceMemoryReportFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceMemoryReportFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceMemoryReportFeaturesEXT.deviceMemoryReport );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDiagnosticsConfigFeaturesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceDiagnosticsConfigFeaturesNV const &
-+ physicalDeviceDiagnosticsConfigFeaturesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDiagnosticsConfigFeaturesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDiagnosticsConfigFeaturesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDiagnosticsConfigFeaturesNV.diagnosticsConfig );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDiscardRectanglePropertiesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceDiscardRectanglePropertiesEXT const &
-+ physicalDeviceDiscardRectanglePropertiesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDiscardRectanglePropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDiscardRectanglePropertiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDiscardRectanglePropertiesEXT.maxDiscardRectangles );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDriverProperties>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceDriverProperties const & physicalDeviceDriverProperties ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDriverProperties.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDriverProperties.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDriverProperties.driverID );
-+ for ( size_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDriverProperties.driverName[i] );
-+ }
-+ for ( size_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDriverProperties.driverInfo[i] );
-+ }
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDriverProperties.conformanceVersion );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDrmPropertiesEXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceDrmPropertiesEXT const & physicalDeviceDrmPropertiesEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDrmPropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDrmPropertiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDrmPropertiesEXT.hasPrimary );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDrmPropertiesEXT.hasRender );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDrmPropertiesEXT.primaryMajor );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDrmPropertiesEXT.primaryMinor );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDrmPropertiesEXT.renderMajor );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDrmPropertiesEXT.renderMinor );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDynamicRenderingFeaturesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceDynamicRenderingFeaturesKHR const &
-+ physicalDeviceDynamicRenderingFeaturesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDynamicRenderingFeaturesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDynamicRenderingFeaturesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDynamicRenderingFeaturesKHR.dynamicRendering );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExclusiveScissorFeaturesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceExclusiveScissorFeaturesNV const &
-+ physicalDeviceExclusiveScissorFeaturesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExclusiveScissorFeaturesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExclusiveScissorFeaturesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExclusiveScissorFeaturesNV.exclusiveScissor );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExtendedDynamicState2FeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceExtendedDynamicState2FeaturesEXT const &
-+ physicalDeviceExtendedDynamicState2FeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState2FeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState2FeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState2FeaturesEXT.extendedDynamicState2 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState2FeaturesEXT.extendedDynamicState2LogicOp );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceExtendedDynamicState2FeaturesEXT.extendedDynamicState2PatchControlPoints );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExtendedDynamicStateFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceExtendedDynamicStateFeaturesEXT const &
-+ physicalDeviceExtendedDynamicStateFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicStateFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicStateFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicStateFeaturesEXT.extendedDynamicState );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo const &
-+ physicalDeviceExternalBufferInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalBufferInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalBufferInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalBufferInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalBufferInfo.usage );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalBufferInfo.handleType );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo const & physicalDeviceExternalFenceInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalFenceInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalFenceInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalFenceInfo.handleType );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalImageFormatInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalImageFormatInfo const &
-+ physicalDeviceExternalImageFormatInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalImageFormatInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalImageFormatInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalImageFormatInfo.handleType );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalMemoryHostPropertiesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalMemoryHostPropertiesEXT const &
-+ physicalDeviceExternalMemoryHostPropertiesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalMemoryHostPropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalMemoryHostPropertiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalMemoryHostPropertiesEXT.minImportedHostPointerAlignment );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalMemoryRDMAFeaturesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalMemoryRDMAFeaturesNV const &
-+ physicalDeviceExternalMemoryRDMAFeaturesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalMemoryRDMAFeaturesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalMemoryRDMAFeaturesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalMemoryRDMAFeaturesNV.externalMemoryRDMA );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo const &
-+ physicalDeviceExternalSemaphoreInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalSemaphoreInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalSemaphoreInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalSemaphoreInfo.handleType );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 const & physicalDeviceFeatures2 ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures2.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures2.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures2.features );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFloatControlsProperties>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceFloatControlsProperties const &
-+ physicalDeviceFloatControlsProperties ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.denormBehaviorIndependence );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.roundingModeIndependence );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderSignedZeroInfNanPreserveFloat16 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderSignedZeroInfNanPreserveFloat32 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderSignedZeroInfNanPreserveFloat64 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderDenormPreserveFloat16 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderDenormPreserveFloat32 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderDenormPreserveFloat64 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderDenormFlushToZeroFloat16 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderDenormFlushToZeroFloat32 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderDenormFlushToZeroFloat64 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderRoundingModeRTEFloat16 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderRoundingModeRTEFloat32 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderRoundingModeRTEFloat64 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderRoundingModeRTZFloat16 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderRoundingModeRTZFloat32 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderRoundingModeRTZFloat64 );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMap2FeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMap2FeaturesEXT const &
-+ physicalDeviceFragmentDensityMap2FeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMap2FeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMap2FeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMap2FeaturesEXT.fragmentDensityMapDeferred );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMap2PropertiesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMap2PropertiesEXT const &
-+ physicalDeviceFragmentDensityMap2PropertiesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMap2PropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMap2PropertiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMap2PropertiesEXT.subsampledLoads );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceFragmentDensityMap2PropertiesEXT.subsampledCoarseReconstructionEarlyAccess );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMap2PropertiesEXT.maxSubsampledArrayLayers );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceFragmentDensityMap2PropertiesEXT.maxDescriptorSetSubsampledSamplers );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapFeaturesEXT const &
-+ physicalDeviceFragmentDensityMapFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMapFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMapFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMapFeaturesEXT.fragmentDensityMap );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMapFeaturesEXT.fragmentDensityMapDynamic );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceFragmentDensityMapFeaturesEXT.fragmentDensityMapNonSubsampledImages );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapPropertiesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapPropertiesEXT const &
-+ physicalDeviceFragmentDensityMapPropertiesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMapPropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMapPropertiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMapPropertiesEXT.minFragmentDensityTexelSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMapPropertiesEXT.maxFragmentDensityTexelSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMapPropertiesEXT.fragmentDensityInvocations );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShaderBarycentricFeaturesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShaderBarycentricFeaturesNV const &
-+ physicalDeviceFragmentShaderBarycentricFeaturesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShaderBarycentricFeaturesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShaderBarycentricFeaturesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShaderBarycentricFeaturesNV.fragmentShaderBarycentric );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShaderInterlockFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShaderInterlockFeaturesEXT const &
-+ physicalDeviceFragmentShaderInterlockFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShaderInterlockFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShaderInterlockFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShaderInterlockFeaturesEXT.fragmentShaderSampleInterlock );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShaderInterlockFeaturesEXT.fragmentShaderPixelInterlock );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceFragmentShaderInterlockFeaturesEXT.fragmentShaderShadingRateInterlock );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateEnumsFeaturesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateEnumsFeaturesNV const &
-+ physicalDeviceFragmentShadingRateEnumsFeaturesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateEnumsFeaturesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateEnumsFeaturesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateEnumsFeaturesNV.fragmentShadingRateEnums );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateEnumsFeaturesNV.supersampleFragmentShadingRates );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceFragmentShadingRateEnumsFeaturesNV.noInvocationFragmentShadingRates );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateEnumsPropertiesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateEnumsPropertiesNV const &
-+ physicalDeviceFragmentShadingRateEnumsPropertiesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateEnumsPropertiesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateEnumsPropertiesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceFragmentShadingRateEnumsPropertiesNV.maxFragmentShadingRateInvocationCount );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateFeaturesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateFeaturesKHR const &
-+ physicalDeviceFragmentShadingRateFeaturesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateFeaturesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateFeaturesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateFeaturesKHR.pipelineFragmentShadingRate );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateFeaturesKHR.primitiveFragmentShadingRate );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateFeaturesKHR.attachmentFragmentShadingRate );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR const &
-+ physicalDeviceFragmentShadingRateKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateKHR.sampleCounts );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateKHR.fragmentSize );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRatePropertiesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRatePropertiesKHR const &
-+ physicalDeviceFragmentShadingRatePropertiesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRatePropertiesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRatePropertiesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceFragmentShadingRatePropertiesKHR.minFragmentShadingRateAttachmentTexelSize );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceFragmentShadingRatePropertiesKHR.maxFragmentShadingRateAttachmentTexelSize );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceFragmentShadingRatePropertiesKHR.maxFragmentShadingRateAttachmentTexelSizeAspectRatio );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceFragmentShadingRatePropertiesKHR.primitiveFragmentShadingRateWithMultipleViewports );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRatePropertiesKHR.layeredShadingRateAttachments );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceFragmentShadingRatePropertiesKHR.fragmentShadingRateNonTrivialCombinerOps );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRatePropertiesKHR.maxFragmentSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRatePropertiesKHR.maxFragmentSizeAspectRatio );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceFragmentShadingRatePropertiesKHR.maxFragmentShadingRateCoverageSamples );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceFragmentShadingRatePropertiesKHR.maxFragmentShadingRateRasterizationSamples );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceFragmentShadingRatePropertiesKHR.fragmentShadingRateWithShaderDepthStencilWrites );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRatePropertiesKHR.fragmentShadingRateWithSampleMask );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceFragmentShadingRatePropertiesKHR.fragmentShadingRateWithShaderSampleMask );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceFragmentShadingRatePropertiesKHR.fragmentShadingRateWithConservativeRasterization );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceFragmentShadingRatePropertiesKHR.fragmentShadingRateWithFragmentShaderInterlock );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceFragmentShadingRatePropertiesKHR.fragmentShadingRateWithCustomSampleLocations );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceFragmentShadingRatePropertiesKHR.fragmentShadingRateStrictMultiplyCombiner );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceGlobalPriorityQueryFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceGlobalPriorityQueryFeaturesEXT const &
-+ physicalDeviceGlobalPriorityQueryFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGlobalPriorityQueryFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGlobalPriorityQueryFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGlobalPriorityQueryFeaturesEXT.globalPriorityQuery );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties const & physicalDeviceGroupProperties )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGroupProperties.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGroupProperties.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGroupProperties.physicalDeviceCount );
-+ for ( size_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGroupProperties.physicalDevices[i] );
-+ }
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGroupProperties.subsetAllocation );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceHostQueryResetFeatures>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceHostQueryResetFeatures const &
-+ physicalDeviceHostQueryResetFeatures ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceHostQueryResetFeatures.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceHostQueryResetFeatures.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceHostQueryResetFeatures.hostQueryReset );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceIDProperties>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceIDProperties const & physicalDeviceIDProperties ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIDProperties.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIDProperties.pNext );
-+ for ( size_t i = 0; i < VK_UUID_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIDProperties.deviceUUID[i] );
-+ }
-+ for ( size_t i = 0; i < VK_UUID_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIDProperties.driverUUID[i] );
-+ }
-+ for ( size_t i = 0; i < VK_LUID_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIDProperties.deviceLUID[i] );
-+ }
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIDProperties.deviceNodeMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIDProperties.deviceLUIDValid );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageDrmFormatModifierInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceImageDrmFormatModifierInfoEXT const &
-+ physicalDeviceImageDrmFormatModifierInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageDrmFormatModifierInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageDrmFormatModifierInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageDrmFormatModifierInfoEXT.drmFormatModifier );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageDrmFormatModifierInfoEXT.sharingMode );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageDrmFormatModifierInfoEXT.queueFamilyIndexCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageDrmFormatModifierInfoEXT.pQueueFamilyIndices );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 const & physicalDeviceImageFormatInfo2 ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageFormatInfo2.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageFormatInfo2.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageFormatInfo2.format );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageFormatInfo2.type );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageFormatInfo2.tiling );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageFormatInfo2.usage );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageFormatInfo2.flags );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageRobustnessFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceImageRobustnessFeaturesEXT const &
-+ physicalDeviceImageRobustnessFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageRobustnessFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageRobustnessFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageRobustnessFeaturesEXT.robustImageAccess );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageViewImageFormatInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceImageViewImageFormatInfoEXT const &
-+ physicalDeviceImageViewImageFormatInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageViewImageFormatInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageViewImageFormatInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageViewImageFormatInfoEXT.imageViewType );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageViewMinLodFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceImageViewMinLodFeaturesEXT const &
-+ physicalDeviceImageViewMinLodFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageViewMinLodFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageViewMinLodFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageViewMinLodFeaturesEXT.minLod );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImagelessFramebufferFeatures>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceImagelessFramebufferFeatures const &
-+ physicalDeviceImagelessFramebufferFeatures ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImagelessFramebufferFeatures.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImagelessFramebufferFeatures.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImagelessFramebufferFeatures.imagelessFramebuffer );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceIndexTypeUint8FeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceIndexTypeUint8FeaturesEXT const &
-+ physicalDeviceIndexTypeUint8FeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIndexTypeUint8FeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIndexTypeUint8FeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIndexTypeUint8FeaturesEXT.indexTypeUint8 );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceInheritedViewportScissorFeaturesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceInheritedViewportScissorFeaturesNV const &
-+ physicalDeviceInheritedViewportScissorFeaturesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInheritedViewportScissorFeaturesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInheritedViewportScissorFeaturesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInheritedViewportScissorFeaturesNV.inheritedViewportScissor2D );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceInlineUniformBlockFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceInlineUniformBlockFeaturesEXT const &
-+ physicalDeviceInlineUniformBlockFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInlineUniformBlockFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInlineUniformBlockFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInlineUniformBlockFeaturesEXT.inlineUniformBlock );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceInlineUniformBlockFeaturesEXT.descriptorBindingInlineUniformBlockUpdateAfterBind );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceInlineUniformBlockPropertiesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceInlineUniformBlockPropertiesEXT const &
-+ physicalDeviceInlineUniformBlockPropertiesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInlineUniformBlockPropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInlineUniformBlockPropertiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInlineUniformBlockPropertiesEXT.maxInlineUniformBlockSize );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceInlineUniformBlockPropertiesEXT.maxPerStageDescriptorInlineUniformBlocks );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceInlineUniformBlockPropertiesEXT.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceInlineUniformBlockPropertiesEXT.maxDescriptorSetInlineUniformBlocks );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceInlineUniformBlockPropertiesEXT.maxDescriptorSetUpdateAfterBindInlineUniformBlocks );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceInvocationMaskFeaturesHUAWEI>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceInvocationMaskFeaturesHUAWEI const &
-+ physicalDeviceInvocationMaskFeaturesHUAWEI ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInvocationMaskFeaturesHUAWEI.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInvocationMaskFeaturesHUAWEI.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInvocationMaskFeaturesHUAWEI.invocationMask );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceLimits>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceLimits const & physicalDeviceLimits ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxImageDimension1D );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxImageDimension2D );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxImageDimension3D );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxImageDimensionCube );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxImageArrayLayers );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxTexelBufferElements );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxUniformBufferRange );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxStorageBufferRange );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxPushConstantsSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxMemoryAllocationCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxSamplerAllocationCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.bufferImageGranularity );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.sparseAddressSpaceSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxBoundDescriptorSets );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxPerStageDescriptorSamplers );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxPerStageDescriptorUniformBuffers );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxPerStageDescriptorStorageBuffers );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxPerStageDescriptorSampledImages );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxPerStageDescriptorStorageImages );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxPerStageDescriptorInputAttachments );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxPerStageResources );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxDescriptorSetSamplers );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxDescriptorSetUniformBuffers );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxDescriptorSetUniformBuffersDynamic );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxDescriptorSetStorageBuffers );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxDescriptorSetStorageBuffersDynamic );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxDescriptorSetSampledImages );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxDescriptorSetStorageImages );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxDescriptorSetInputAttachments );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxVertexInputAttributes );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxVertexInputBindings );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxVertexInputAttributeOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxVertexInputBindingStride );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxVertexOutputComponents );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxTessellationGenerationLevel );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxTessellationPatchSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxTessellationControlPerVertexInputComponents );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxTessellationControlPerVertexOutputComponents );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxTessellationControlPerPatchOutputComponents );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxTessellationControlTotalOutputComponents );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxTessellationEvaluationInputComponents );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxTessellationEvaluationOutputComponents );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxGeometryShaderInvocations );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxGeometryInputComponents );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxGeometryOutputComponents );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxGeometryOutputVertices );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxGeometryTotalOutputComponents );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxFragmentInputComponents );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxFragmentOutputAttachments );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxFragmentDualSrcAttachments );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxFragmentCombinedOutputResources );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxComputeSharedMemorySize );
-+ for ( size_t i = 0; i < 3; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxComputeWorkGroupCount[i] );
-+ }
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxComputeWorkGroupInvocations );
-+ for ( size_t i = 0; i < 3; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxComputeWorkGroupSize[i] );
-+ }
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.subPixelPrecisionBits );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.subTexelPrecisionBits );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.mipmapPrecisionBits );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxDrawIndexedIndexValue );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxDrawIndirectCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxSamplerLodBias );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxSamplerAnisotropy );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxViewports );
-+ for ( size_t i = 0; i < 2; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxViewportDimensions[i] );
-+ }
-+ for ( size_t i = 0; i < 2; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.viewportBoundsRange[i] );
-+ }
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.viewportSubPixelBits );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.minMemoryMapAlignment );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.minTexelBufferOffsetAlignment );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.minUniformBufferOffsetAlignment );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.minStorageBufferOffsetAlignment );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.minTexelOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxTexelOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.minTexelGatherOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxTexelGatherOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.minInterpolationOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxInterpolationOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.subPixelInterpolationOffsetBits );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxFramebufferWidth );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxFramebufferHeight );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxFramebufferLayers );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.framebufferColorSampleCounts );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.framebufferDepthSampleCounts );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.framebufferStencilSampleCounts );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.framebufferNoAttachmentsSampleCounts );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxColorAttachments );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.sampledImageColorSampleCounts );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.sampledImageIntegerSampleCounts );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.sampledImageDepthSampleCounts );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.sampledImageStencilSampleCounts );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.storageImageSampleCounts );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxSampleMaskWords );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.timestampComputeAndGraphics );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.timestampPeriod );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxClipDistances );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxCullDistances );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxCombinedClipAndCullDistances );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.discreteQueuePriorities );
-+ for ( size_t i = 0; i < 2; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.pointSizeRange[i] );
-+ }
-+ for ( size_t i = 0; i < 2; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.lineWidthRange[i] );
-+ }
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.pointSizeGranularity );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.lineWidthGranularity );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.strictLines );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.standardSampleLocations );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.optimalBufferCopyOffsetAlignment );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.optimalBufferCopyRowPitchAlignment );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.nonCoherentAtomSize );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationFeaturesEXT const &
-+ physicalDeviceLineRasterizationFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesEXT.rectangularLines );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesEXT.bresenhamLines );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesEXT.smoothLines );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesEXT.stippledRectangularLines );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesEXT.stippledBresenhamLines );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesEXT.stippledSmoothLines );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationPropertiesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationPropertiesEXT const &
-+ physicalDeviceLineRasterizationPropertiesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationPropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationPropertiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationPropertiesEXT.lineSubPixelPrecisionBits );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance3Properties>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance3Properties const &
-+ physicalDeviceMaintenance3Properties ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMaintenance3Properties.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMaintenance3Properties.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMaintenance3Properties.maxPerSetDescriptors );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMaintenance3Properties.maxMemoryAllocationSize );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance4FeaturesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance4FeaturesKHR const &
-+ physicalDeviceMaintenance4FeaturesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMaintenance4FeaturesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMaintenance4FeaturesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMaintenance4FeaturesKHR.maintenance4 );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance4PropertiesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance4PropertiesKHR const &
-+ physicalDeviceMaintenance4PropertiesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMaintenance4PropertiesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMaintenance4PropertiesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMaintenance4PropertiesKHR.maxBufferSize );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryBudgetPropertiesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryBudgetPropertiesEXT const &
-+ physicalDeviceMemoryBudgetPropertiesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryBudgetPropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryBudgetPropertiesEXT.pNext );
-+ for ( size_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryBudgetPropertiesEXT.heapBudget[i] );
-+ }
-+ for ( size_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryBudgetPropertiesEXT.heapUsage[i] );
-+ }
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryPriorityFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryPriorityFeaturesEXT const &
-+ physicalDeviceMemoryPriorityFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryPriorityFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryPriorityFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryPriorityFeaturesEXT.memoryPriority );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties const & physicalDeviceMemoryProperties ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryProperties.memoryTypeCount );
-+ for ( size_t i = 0; i < VK_MAX_MEMORY_TYPES; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryProperties.memoryTypes[i] );
-+ }
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryProperties.memoryHeapCount );
-+ for ( size_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryProperties.memoryHeaps[i] );
-+ }
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 const & physicalDeviceMemoryProperties2 ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryProperties2.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryProperties2.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryProperties2.memoryProperties );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMeshShaderFeaturesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceMeshShaderFeaturesNV const &
-+ physicalDeviceMeshShaderFeaturesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderFeaturesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderFeaturesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderFeaturesNV.taskShader );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderFeaturesNV.meshShader );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMeshShaderPropertiesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceMeshShaderPropertiesNV const &
-+ physicalDeviceMeshShaderPropertiesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.maxDrawMeshTasksCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.maxTaskWorkGroupInvocations );
-+ for ( size_t i = 0; i < 3; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.maxTaskWorkGroupSize[i] );
-+ }
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.maxTaskTotalMemorySize );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.maxTaskOutputCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.maxMeshWorkGroupInvocations );
-+ for ( size_t i = 0; i < 3; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.maxMeshWorkGroupSize[i] );
-+ }
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.maxMeshTotalMemorySize );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.maxMeshOutputVertices );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.maxMeshOutputPrimitives );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.maxMeshMultiviewViewCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.meshOutputPerVertexGranularity );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.meshOutputPerPrimitiveGranularity );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiDrawFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiDrawFeaturesEXT const &
-+ physicalDeviceMultiDrawFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiDrawFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiDrawFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiDrawFeaturesEXT.multiDraw );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiDrawPropertiesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiDrawPropertiesEXT const &
-+ physicalDeviceMultiDrawPropertiesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiDrawPropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiDrawPropertiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiDrawPropertiesEXT.maxMultiDrawCount );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewFeatures>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewFeatures const & physicalDeviceMultiviewFeatures ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewFeatures.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewFeatures.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewFeatures.multiview );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewFeatures.multiviewGeometryShader );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewFeatures.multiviewTessellationShader );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const &
-+ physicalDeviceMultiviewPerViewAttributesPropertiesNVX ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewPerViewAttributesPropertiesNVX.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewPerViewAttributesPropertiesNVX.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceMultiviewPerViewAttributesPropertiesNVX.perViewPositionAllComponents );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewProperties>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewProperties const &
-+ physicalDeviceMultiviewProperties ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewProperties.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewProperties.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewProperties.maxMultiviewViewCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewProperties.maxMultiviewInstanceIndex );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMutableDescriptorTypeFeaturesVALVE>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceMutableDescriptorTypeFeaturesVALVE const &
-+ physicalDeviceMutableDescriptorTypeFeaturesVALVE ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMutableDescriptorTypeFeaturesVALVE.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMutableDescriptorTypeFeaturesVALVE.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMutableDescriptorTypeFeaturesVALVE.mutableDescriptorType );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePCIBusInfoPropertiesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevicePCIBusInfoPropertiesEXT const &
-+ physicalDevicePCIBusInfoPropertiesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePCIBusInfoPropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePCIBusInfoPropertiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePCIBusInfoPropertiesEXT.pciDomain );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePCIBusInfoPropertiesEXT.pciBus );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePCIBusInfoPropertiesEXT.pciDevice );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePCIBusInfoPropertiesEXT.pciFunction );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT const &
-+ physicalDevicePageableDeviceLocalMemoryFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePageableDeviceLocalMemoryFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePageableDeviceLocalMemoryFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePageableDeviceLocalMemoryFeaturesEXT.pageableDeviceLocalMemory );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePerformanceQueryFeaturesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevicePerformanceQueryFeaturesKHR const &
-+ physicalDevicePerformanceQueryFeaturesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePerformanceQueryFeaturesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePerformanceQueryFeaturesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePerformanceQueryFeaturesKHR.performanceCounterQueryPools );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePerformanceQueryFeaturesKHR.performanceCounterMultipleQueryPools );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePerformanceQueryPropertiesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevicePerformanceQueryPropertiesKHR const &
-+ physicalDevicePerformanceQueryPropertiesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePerformanceQueryPropertiesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePerformanceQueryPropertiesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePerformanceQueryPropertiesKHR.allowCommandBufferQueryCopies );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineCreationCacheControlFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineCreationCacheControlFeaturesEXT const &
-+ physicalDevicePipelineCreationCacheControlFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineCreationCacheControlFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineCreationCacheControlFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDevicePipelineCreationCacheControlFeaturesEXT.pipelineCreationCacheControl );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineExecutablePropertiesFeaturesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineExecutablePropertiesFeaturesKHR const &
-+ physicalDevicePipelineExecutablePropertiesFeaturesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineExecutablePropertiesFeaturesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineExecutablePropertiesFeaturesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineExecutablePropertiesFeaturesKHR.pipelineExecutableInfo );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePointClippingProperties>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevicePointClippingProperties const &
-+ physicalDevicePointClippingProperties ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePointClippingProperties.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePointClippingProperties.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePointClippingProperties.pointClippingBehavior );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePortabilitySubsetFeaturesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevicePortabilitySubsetFeaturesKHR const &
-+ physicalDevicePortabilitySubsetFeaturesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.constantAlphaColorBlendFactors );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.events );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.imageViewFormatReinterpretation );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.imageViewFormatSwizzle );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.imageView2DOn3DImage );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.multisampleArrayImage );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.mutableComparisonSamplers );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.pointPolygons );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.samplerMipLodBias );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.separateStencilMaskRef );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDevicePortabilitySubsetFeaturesKHR.shaderSampleRateInterpolationFunctions );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.tessellationIsolines );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.tessellationPointMode );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.triangleFans );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.vertexAttributeAccessBeyondStride );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePortabilitySubsetPropertiesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevicePortabilitySubsetPropertiesKHR const &
-+ physicalDevicePortabilitySubsetPropertiesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetPropertiesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetPropertiesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDevicePortabilitySubsetPropertiesKHR.minVertexInputBindingStrideAlignment );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePresentIdFeaturesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevicePresentIdFeaturesKHR const &
-+ physicalDevicePresentIdFeaturesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePresentIdFeaturesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePresentIdFeaturesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePresentIdFeaturesKHR.presentId );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePresentWaitFeaturesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevicePresentWaitFeaturesKHR const &
-+ physicalDevicePresentWaitFeaturesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePresentWaitFeaturesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePresentWaitFeaturesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePresentWaitFeaturesKHR.presentWait );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT const &
-+ physicalDevicePrimitiveTopologyListRestartFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePrimitiveTopologyListRestartFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePrimitiveTopologyListRestartFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDevicePrimitiveTopologyListRestartFeaturesEXT.primitiveTopologyListRestart );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDevicePrimitiveTopologyListRestartFeaturesEXT.primitiveTopologyPatchListRestart );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePrivateDataFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevicePrivateDataFeaturesEXT const &
-+ physicalDevicePrivateDataFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePrivateDataFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePrivateDataFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePrivateDataFeaturesEXT.privateData );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseProperties>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseProperties const & physicalDeviceSparseProperties ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSparseProperties.residencyStandard2DBlockShape );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSparseProperties.residencyStandard2DMultisampleBlockShape );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSparseProperties.residencyStandard3DBlockShape );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSparseProperties.residencyAlignedMipSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSparseProperties.residencyNonResidentStrict );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties const & physicalDeviceProperties ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProperties.apiVersion );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProperties.driverVersion );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProperties.vendorID );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProperties.deviceID );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProperties.deviceType );
-+ for ( size_t i = 0; i < VK_MAX_PHYSICAL_DEVICE_NAME_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProperties.deviceName[i] );
-+ }
-+ for ( size_t i = 0; i < VK_UUID_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProperties.pipelineCacheUUID[i] );
-+ }
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProperties.limits );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProperties.sparseProperties );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 const & physicalDeviceProperties2 ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProperties2.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProperties2.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProperties2.properties );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceProtectedMemoryFeatures>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceProtectedMemoryFeatures const &
-+ physicalDeviceProtectedMemoryFeatures ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProtectedMemoryFeatures.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProtectedMemoryFeatures.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProtectedMemoryFeatures.protectedMemory );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceProtectedMemoryProperties>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceProtectedMemoryProperties const &
-+ physicalDeviceProtectedMemoryProperties ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProtectedMemoryProperties.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProtectedMemoryProperties.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProtectedMemoryProperties.protectedNoFault );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceProvokingVertexFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceProvokingVertexFeaturesEXT const &
-+ physicalDeviceProvokingVertexFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProvokingVertexFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProvokingVertexFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProvokingVertexFeaturesEXT.provokingVertexLast );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceProvokingVertexFeaturesEXT.transformFeedbackPreservesProvokingVertex );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceProvokingVertexPropertiesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceProvokingVertexPropertiesEXT const &
-+ physicalDeviceProvokingVertexPropertiesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProvokingVertexPropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProvokingVertexPropertiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProvokingVertexPropertiesEXT.provokingVertexModePerPipeline );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceProvokingVertexPropertiesEXT.transformFeedbackPreservesTriangleFanProvokingVertex );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePushDescriptorPropertiesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevicePushDescriptorPropertiesKHR const &
-+ physicalDevicePushDescriptorPropertiesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePushDescriptorPropertiesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePushDescriptorPropertiesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePushDescriptorPropertiesKHR.maxPushDescriptors );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRGBA10X6FormatsFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceRGBA10X6FormatsFeaturesEXT const &
-+ physicalDeviceRGBA10X6FormatsFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRGBA10X6FormatsFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRGBA10X6FormatsFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRGBA10X6FormatsFeaturesEXT.formatRgba10x6WithoutYCbCrSampler );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM const &
-+ physicalDeviceRasterizationOrderAttachmentAccessFeaturesARM ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRasterizationOrderAttachmentAccessFeaturesARM.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRasterizationOrderAttachmentAccessFeaturesARM.pNext );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceRasterizationOrderAttachmentAccessFeaturesARM.rasterizationOrderColorAttachmentAccess );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceRasterizationOrderAttachmentAccessFeaturesARM.rasterizationOrderDepthAttachmentAccess );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceRasterizationOrderAttachmentAccessFeaturesARM.rasterizationOrderStencilAttachmentAccess );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayQueryFeaturesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceRayQueryFeaturesKHR const &
-+ physicalDeviceRayQueryFeaturesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayQueryFeaturesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayQueryFeaturesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayQueryFeaturesKHR.rayQuery );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingMotionBlurFeaturesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingMotionBlurFeaturesNV const &
-+ physicalDeviceRayTracingMotionBlurFeaturesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingMotionBlurFeaturesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingMotionBlurFeaturesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingMotionBlurFeaturesNV.rayTracingMotionBlur );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceRayTracingMotionBlurFeaturesNV.rayTracingMotionBlurPipelineTraceRaysIndirect );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelineFeaturesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelineFeaturesKHR const &
-+ physicalDeviceRayTracingPipelineFeaturesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelineFeaturesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelineFeaturesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelineFeaturesKHR.rayTracingPipeline );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceRayTracingPipelineFeaturesKHR.rayTracingPipelineShaderGroupHandleCaptureReplay );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceRayTracingPipelineFeaturesKHR.rayTracingPipelineShaderGroupHandleCaptureReplayMixed );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelineFeaturesKHR.rayTracingPipelineTraceRaysIndirect );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelineFeaturesKHR.rayTraversalPrimitiveCulling );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelinePropertiesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelinePropertiesKHR const &
-+ physicalDeviceRayTracingPipelinePropertiesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelinePropertiesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelinePropertiesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelinePropertiesKHR.shaderGroupHandleSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelinePropertiesKHR.maxRayRecursionDepth );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelinePropertiesKHR.maxShaderGroupStride );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelinePropertiesKHR.shaderGroupBaseAlignment );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelinePropertiesKHR.shaderGroupHandleCaptureReplaySize );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelinePropertiesKHR.maxRayDispatchInvocationCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelinePropertiesKHR.shaderGroupHandleAlignment );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelinePropertiesKHR.maxRayHitAttributeSize );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPropertiesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPropertiesNV const &
-+ physicalDeviceRayTracingPropertiesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPropertiesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPropertiesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPropertiesNV.shaderGroupHandleSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPropertiesNV.maxRecursionDepth );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPropertiesNV.maxShaderGroupStride );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPropertiesNV.shaderGroupBaseAlignment );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPropertiesNV.maxGeometryCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPropertiesNV.maxInstanceCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPropertiesNV.maxTriangleCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPropertiesNV.maxDescriptorSetAccelerationStructures );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRepresentativeFragmentTestFeaturesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceRepresentativeFragmentTestFeaturesNV const &
-+ physicalDeviceRepresentativeFragmentTestFeaturesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRepresentativeFragmentTestFeaturesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRepresentativeFragmentTestFeaturesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRepresentativeFragmentTestFeaturesNV.representativeFragmentTest );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRobustness2FeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceRobustness2FeaturesEXT const &
-+ physicalDeviceRobustness2FeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRobustness2FeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRobustness2FeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRobustness2FeaturesEXT.robustBufferAccess2 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRobustness2FeaturesEXT.robustImageAccess2 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRobustness2FeaturesEXT.nullDescriptor );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRobustness2PropertiesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceRobustness2PropertiesEXT const &
-+ physicalDeviceRobustness2PropertiesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRobustness2PropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRobustness2PropertiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRobustness2PropertiesEXT.robustStorageBufferAccessSizeAlignment );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRobustness2PropertiesEXT.robustUniformBufferAccessSizeAlignment );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSampleLocationsPropertiesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceSampleLocationsPropertiesEXT const &
-+ physicalDeviceSampleLocationsPropertiesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSampleLocationsPropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSampleLocationsPropertiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSampleLocationsPropertiesEXT.sampleLocationSampleCounts );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSampleLocationsPropertiesEXT.maxSampleLocationGridSize );
-+ for ( size_t i = 0; i < 2; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSampleLocationsPropertiesEXT.sampleLocationCoordinateRange[i] );
-+ }
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSampleLocationsPropertiesEXT.sampleLocationSubPixelBits );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSampleLocationsPropertiesEXT.variableSampleLocations );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSamplerFilterMinmaxProperties>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceSamplerFilterMinmaxProperties const &
-+ physicalDeviceSamplerFilterMinmaxProperties ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSamplerFilterMinmaxProperties.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSamplerFilterMinmaxProperties.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSamplerFilterMinmaxProperties.filterMinmaxSingleComponentFormats );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSamplerFilterMinmaxProperties.filterMinmaxImageComponentMapping );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSamplerYcbcrConversionFeatures>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceSamplerYcbcrConversionFeatures const &
-+ physicalDeviceSamplerYcbcrConversionFeatures ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSamplerYcbcrConversionFeatures.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSamplerYcbcrConversionFeatures.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSamplerYcbcrConversionFeatures.samplerYcbcrConversion );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceScalarBlockLayoutFeatures>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceScalarBlockLayoutFeatures const &
-+ physicalDeviceScalarBlockLayoutFeatures ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceScalarBlockLayoutFeatures.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceScalarBlockLayoutFeatures.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceScalarBlockLayoutFeatures.scalarBlockLayout );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSeparateDepthStencilLayoutsFeatures>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceSeparateDepthStencilLayoutsFeatures const &
-+ physicalDeviceSeparateDepthStencilLayoutsFeatures ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSeparateDepthStencilLayoutsFeatures.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSeparateDepthStencilLayoutsFeatures.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSeparateDepthStencilLayoutsFeatures.separateDepthStencilLayouts );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicFloat2FeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicFloat2FeaturesEXT const &
-+ physicalDeviceShaderAtomicFloat2FeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderBufferFloat16Atomics );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderBufferFloat16AtomicAdd );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderBufferFloat16AtomicMinMax );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderBufferFloat32AtomicMinMax );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderBufferFloat64AtomicMinMax );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderSharedFloat16Atomics );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderSharedFloat16AtomicAdd );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderSharedFloat16AtomicMinMax );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderSharedFloat32AtomicMinMax );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderSharedFloat64AtomicMinMax );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderImageFloat32AtomicMinMax );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.sparseImageFloat32AtomicMinMax );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicFloatFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicFloatFeaturesEXT const &
-+ physicalDeviceShaderAtomicFloatFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderBufferFloat32Atomics );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderBufferFloat32AtomicAdd );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderBufferFloat64Atomics );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderBufferFloat64AtomicAdd );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderSharedFloat32Atomics );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderSharedFloat32AtomicAdd );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderSharedFloat64Atomics );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderSharedFloat64AtomicAdd );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderImageFloat32Atomics );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderImageFloat32AtomicAdd );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.sparseImageFloat32Atomics );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.sparseImageFloat32AtomicAdd );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicInt64Features>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicInt64Features const &
-+ physicalDeviceShaderAtomicInt64Features ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicInt64Features.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicInt64Features.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicInt64Features.shaderBufferInt64Atomics );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicInt64Features.shaderSharedInt64Atomics );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderClockFeaturesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderClockFeaturesKHR const &
-+ physicalDeviceShaderClockFeaturesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderClockFeaturesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderClockFeaturesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderClockFeaturesKHR.shaderSubgroupClock );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderClockFeaturesKHR.shaderDeviceClock );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCoreProperties2AMD>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCoreProperties2AMD const &
-+ physicalDeviceShaderCoreProperties2AMD ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCoreProperties2AMD.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCoreProperties2AMD.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCoreProperties2AMD.shaderCoreFeatures );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCoreProperties2AMD.activeComputeUnitCount );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCorePropertiesAMD>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCorePropertiesAMD const &
-+ physicalDeviceShaderCorePropertiesAMD ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.shaderEngineCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.shaderArraysPerEngineCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.computeUnitsPerShaderArray );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.simdPerComputeUnit );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.wavefrontsPerSimd );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.wavefrontSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.sgprsPerSimd );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.minSgprAllocation );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.maxSgprAllocation );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.sgprAllocationGranularity );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.vgprsPerSimd );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.minVgprAllocation );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.maxVgprAllocation );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.vgprAllocationGranularity );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT const &
-+ physicalDeviceShaderDemoteToHelperInvocationFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderDemoteToHelperInvocationFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderDemoteToHelperInvocationFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceShaderDemoteToHelperInvocationFeaturesEXT.shaderDemoteToHelperInvocation );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderDrawParametersFeatures>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderDrawParametersFeatures const &
-+ physicalDeviceShaderDrawParametersFeatures ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderDrawParametersFeatures.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderDrawParametersFeatures.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderDrawParametersFeatures.shaderDrawParameters );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderFloat16Int8Features>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderFloat16Int8Features const &
-+ physicalDeviceShaderFloat16Int8Features ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderFloat16Int8Features.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderFloat16Int8Features.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderFloat16Int8Features.shaderFloat16 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderFloat16Int8Features.shaderInt8 );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderImageAtomicInt64FeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderImageAtomicInt64FeaturesEXT const &
-+ physicalDeviceShaderImageAtomicInt64FeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderImageAtomicInt64FeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderImageAtomicInt64FeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderImageAtomicInt64FeaturesEXT.shaderImageInt64Atomics );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderImageAtomicInt64FeaturesEXT.sparseImageInt64Atomics );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderImageFootprintFeaturesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderImageFootprintFeaturesNV const &
-+ physicalDeviceShaderImageFootprintFeaturesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderImageFootprintFeaturesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderImageFootprintFeaturesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderImageFootprintFeaturesNV.imageFootprint );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderIntegerDotProductFeaturesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderIntegerDotProductFeaturesKHR const &
-+ physicalDeviceShaderIntegerDotProductFeaturesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductFeaturesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductFeaturesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductFeaturesKHR.shaderIntegerDotProduct );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderIntegerDotProductPropertiesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderIntegerDotProductPropertiesKHR const &
-+ physicalDeviceShaderIntegerDotProductPropertiesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductPropertiesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductPropertiesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceShaderIntegerDotProductPropertiesKHR.integerDotProduct8BitUnsignedAccelerated );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceShaderIntegerDotProductPropertiesKHR.integerDotProduct8BitSignedAccelerated );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceShaderIntegerDotProductPropertiesKHR.integerDotProduct8BitMixedSignednessAccelerated );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceShaderIntegerDotProductPropertiesKHR.integerDotProduct4x8BitPackedUnsignedAccelerated );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceShaderIntegerDotProductPropertiesKHR.integerDotProduct4x8BitPackedSignedAccelerated );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed,
-+ physicalDeviceShaderIntegerDotProductPropertiesKHR.integerDotProduct4x8BitPackedMixedSignednessAccelerated );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceShaderIntegerDotProductPropertiesKHR.integerDotProduct16BitUnsignedAccelerated );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceShaderIntegerDotProductPropertiesKHR.integerDotProduct16BitSignedAccelerated );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceShaderIntegerDotProductPropertiesKHR.integerDotProduct16BitMixedSignednessAccelerated );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceShaderIntegerDotProductPropertiesKHR.integerDotProduct32BitUnsignedAccelerated );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceShaderIntegerDotProductPropertiesKHR.integerDotProduct32BitSignedAccelerated );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceShaderIntegerDotProductPropertiesKHR.integerDotProduct32BitMixedSignednessAccelerated );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceShaderIntegerDotProductPropertiesKHR.integerDotProduct64BitUnsignedAccelerated );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceShaderIntegerDotProductPropertiesKHR.integerDotProduct64BitSignedAccelerated );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceShaderIntegerDotProductPropertiesKHR.integerDotProduct64BitMixedSignednessAccelerated );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceShaderIntegerDotProductPropertiesKHR
-+ .integerDotProductAccumulatingSaturating8BitUnsignedAccelerated );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceShaderIntegerDotProductPropertiesKHR
-+ .integerDotProductAccumulatingSaturating8BitSignedAccelerated );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceShaderIntegerDotProductPropertiesKHR
-+ .integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceShaderIntegerDotProductPropertiesKHR
-+ .integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceShaderIntegerDotProductPropertiesKHR
-+ .integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceShaderIntegerDotProductPropertiesKHR
-+ .integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceShaderIntegerDotProductPropertiesKHR
-+ .integerDotProductAccumulatingSaturating16BitUnsignedAccelerated );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceShaderIntegerDotProductPropertiesKHR
-+ .integerDotProductAccumulatingSaturating16BitSignedAccelerated );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceShaderIntegerDotProductPropertiesKHR
-+ .integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceShaderIntegerDotProductPropertiesKHR
-+ .integerDotProductAccumulatingSaturating32BitUnsignedAccelerated );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceShaderIntegerDotProductPropertiesKHR
-+ .integerDotProductAccumulatingSaturating32BitSignedAccelerated );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceShaderIntegerDotProductPropertiesKHR
-+ .integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceShaderIntegerDotProductPropertiesKHR
-+ .integerDotProductAccumulatingSaturating64BitUnsignedAccelerated );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceShaderIntegerDotProductPropertiesKHR
-+ .integerDotProductAccumulatingSaturating64BitSignedAccelerated );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceShaderIntegerDotProductPropertiesKHR
-+ .integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const &
-+ physicalDeviceShaderIntegerFunctions2FeaturesINTEL ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerFunctions2FeaturesINTEL.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerFunctions2FeaturesINTEL.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerFunctions2FeaturesINTEL.shaderIntegerFunctions2 );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSMBuiltinsFeaturesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSMBuiltinsFeaturesNV const &
-+ physicalDeviceShaderSMBuiltinsFeaturesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSMBuiltinsFeaturesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSMBuiltinsFeaturesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSMBuiltinsFeaturesNV.shaderSMBuiltins );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSMBuiltinsPropertiesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSMBuiltinsPropertiesNV const &
-+ physicalDeviceShaderSMBuiltinsPropertiesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSMBuiltinsPropertiesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSMBuiltinsPropertiesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSMBuiltinsPropertiesNV.shaderSMCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSMBuiltinsPropertiesNV.shaderWarpsPerSM );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSubgroupExtendedTypesFeatures>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSubgroupExtendedTypesFeatures const &
-+ physicalDeviceShaderSubgroupExtendedTypesFeatures ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSubgroupExtendedTypesFeatures.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSubgroupExtendedTypesFeatures.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSubgroupExtendedTypesFeatures.shaderSubgroupExtendedTypes );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR const &
-+ physicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR.shaderSubgroupUniformControlFlow );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderTerminateInvocationFeaturesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderTerminateInvocationFeaturesKHR const &
-+ physicalDeviceShaderTerminateInvocationFeaturesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderTerminateInvocationFeaturesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderTerminateInvocationFeaturesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderTerminateInvocationFeaturesKHR.shaderTerminateInvocation );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShadingRateImageFeaturesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShadingRateImageFeaturesNV const &
-+ physicalDeviceShadingRateImageFeaturesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShadingRateImageFeaturesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShadingRateImageFeaturesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShadingRateImageFeaturesNV.shadingRateImage );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShadingRateImageFeaturesNV.shadingRateCoarseSampleOrder );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShadingRateImagePropertiesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShadingRateImagePropertiesNV const &
-+ physicalDeviceShadingRateImagePropertiesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShadingRateImagePropertiesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShadingRateImagePropertiesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShadingRateImagePropertiesNV.shadingRateTexelSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShadingRateImagePropertiesNV.shadingRatePaletteSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShadingRateImagePropertiesNV.shadingRateMaxCoarseSamples );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 const &
-+ physicalDeviceSparseImageFormatInfo2 ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSparseImageFormatInfo2.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSparseImageFormatInfo2.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSparseImageFormatInfo2.format );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSparseImageFormatInfo2.type );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSparseImageFormatInfo2.samples );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSparseImageFormatInfo2.usage );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSparseImageFormatInfo2.tiling );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupProperties>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupProperties const &
-+ physicalDeviceSubgroupProperties ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupProperties.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupProperties.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupProperties.subgroupSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupProperties.supportedStages );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupProperties.supportedOperations );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupProperties.quadOperationsInAllStages );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupSizeControlFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupSizeControlFeaturesEXT const &
-+ physicalDeviceSubgroupSizeControlFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupSizeControlFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupSizeControlFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupSizeControlFeaturesEXT.subgroupSizeControl );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupSizeControlFeaturesEXT.computeFullSubgroups );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupSizeControlPropertiesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupSizeControlPropertiesEXT const &
-+ physicalDeviceSubgroupSizeControlPropertiesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupSizeControlPropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupSizeControlPropertiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupSizeControlPropertiesEXT.minSubgroupSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupSizeControlPropertiesEXT.maxSubgroupSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupSizeControlPropertiesEXT.maxComputeWorkgroupSubgroups );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupSizeControlPropertiesEXT.requiredSubgroupSizeStages );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSubpassShadingFeaturesHUAWEI>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceSubpassShadingFeaturesHUAWEI const &
-+ physicalDeviceSubpassShadingFeaturesHUAWEI ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubpassShadingFeaturesHUAWEI.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubpassShadingFeaturesHUAWEI.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubpassShadingFeaturesHUAWEI.subpassShading );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSubpassShadingPropertiesHUAWEI>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceSubpassShadingPropertiesHUAWEI const &
-+ physicalDeviceSubpassShadingPropertiesHUAWEI ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubpassShadingPropertiesHUAWEI.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubpassShadingPropertiesHUAWEI.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceSubpassShadingPropertiesHUAWEI.maxSubpassShadingWorkgroupSizeAspectRatio );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR const & physicalDeviceSurfaceInfo2KHR )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSurfaceInfo2KHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSurfaceInfo2KHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSurfaceInfo2KHR.surface );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSynchronization2FeaturesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceSynchronization2FeaturesKHR const &
-+ physicalDeviceSynchronization2FeaturesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSynchronization2FeaturesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSynchronization2FeaturesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSynchronization2FeaturesKHR.synchronization2 );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceTexelBufferAlignmentFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceTexelBufferAlignmentFeaturesEXT const &
-+ physicalDeviceTexelBufferAlignmentFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTexelBufferAlignmentFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTexelBufferAlignmentFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTexelBufferAlignmentFeaturesEXT.texelBufferAlignment );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceTexelBufferAlignmentPropertiesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceTexelBufferAlignmentPropertiesEXT const &
-+ physicalDeviceTexelBufferAlignmentPropertiesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTexelBufferAlignmentPropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTexelBufferAlignmentPropertiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceTexelBufferAlignmentPropertiesEXT.storageTexelBufferOffsetAlignmentBytes );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceTexelBufferAlignmentPropertiesEXT.storageTexelBufferOffsetSingleTexelAlignment );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceTexelBufferAlignmentPropertiesEXT.uniformTexelBufferOffsetAlignmentBytes );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceTexelBufferAlignmentPropertiesEXT.uniformTexelBufferOffsetSingleTexelAlignment );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT const &
-+ physicalDeviceTextureCompressionASTCHDRFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTextureCompressionASTCHDRFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTextureCompressionASTCHDRFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTextureCompressionASTCHDRFeaturesEXT.textureCompressionASTC_HDR );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceTimelineSemaphoreFeatures>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceTimelineSemaphoreFeatures const &
-+ physicalDeviceTimelineSemaphoreFeatures ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTimelineSemaphoreFeatures.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTimelineSemaphoreFeatures.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTimelineSemaphoreFeatures.timelineSemaphore );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceTimelineSemaphoreProperties>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceTimelineSemaphoreProperties const &
-+ physicalDeviceTimelineSemaphoreProperties ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTimelineSemaphoreProperties.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTimelineSemaphoreProperties.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTimelineSemaphoreProperties.maxTimelineSemaphoreValueDifference );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolPropertiesEXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceToolPropertiesEXT const & physicalDeviceToolPropertiesEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceToolPropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceToolPropertiesEXT.pNext );
-+ for ( size_t i = 0; i < VK_MAX_EXTENSION_NAME_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceToolPropertiesEXT.name[i] );
-+ }
-+ for ( size_t i = 0; i < VK_MAX_EXTENSION_NAME_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceToolPropertiesEXT.version[i] );
-+ }
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceToolPropertiesEXT.purposes );
-+ for ( size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceToolPropertiesEXT.description[i] );
-+ }
-+ for ( size_t i = 0; i < VK_MAX_EXTENSION_NAME_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceToolPropertiesEXT.layer[i] );
-+ }
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceTransformFeedbackFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceTransformFeedbackFeaturesEXT const &
-+ physicalDeviceTransformFeedbackFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackFeaturesEXT.transformFeedback );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackFeaturesEXT.geometryStreams );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceTransformFeedbackPropertiesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceTransformFeedbackPropertiesEXT const &
-+ physicalDeviceTransformFeedbackPropertiesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackPropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackPropertiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackPropertiesEXT.maxTransformFeedbackStreams );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackPropertiesEXT.maxTransformFeedbackBuffers );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackPropertiesEXT.maxTransformFeedbackBufferSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackPropertiesEXT.maxTransformFeedbackStreamDataSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackPropertiesEXT.maxTransformFeedbackBufferDataSize );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceTransformFeedbackPropertiesEXT.maxTransformFeedbackBufferDataStride );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackPropertiesEXT.transformFeedbackQueries );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceTransformFeedbackPropertiesEXT.transformFeedbackStreamsLinesTriangles );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceTransformFeedbackPropertiesEXT.transformFeedbackRasterizationStreamSelect );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackPropertiesEXT.transformFeedbackDraw );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceUniformBufferStandardLayoutFeatures>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceUniformBufferStandardLayoutFeatures const &
-+ physicalDeviceUniformBufferStandardLayoutFeatures ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceUniformBufferStandardLayoutFeatures.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceUniformBufferStandardLayoutFeatures.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceUniformBufferStandardLayoutFeatures.uniformBufferStandardLayout );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVariablePointersFeatures>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceVariablePointersFeatures const &
-+ physicalDeviceVariablePointersFeatures ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVariablePointersFeatures.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVariablePointersFeatures.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVariablePointersFeatures.variablePointersStorageBuffer );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVariablePointersFeatures.variablePointers );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVertexAttributeDivisorFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceVertexAttributeDivisorFeaturesEXT const &
-+ physicalDeviceVertexAttributeDivisorFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVertexAttributeDivisorFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVertexAttributeDivisorFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceVertexAttributeDivisorFeaturesEXT.vertexAttributeInstanceRateDivisor );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceVertexAttributeDivisorFeaturesEXT.vertexAttributeInstanceRateZeroDivisor );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVertexAttributeDivisorPropertiesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceVertexAttributeDivisorPropertiesEXT const &
-+ physicalDeviceVertexAttributeDivisorPropertiesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVertexAttributeDivisorPropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVertexAttributeDivisorPropertiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVertexAttributeDivisorPropertiesEXT.maxVertexAttribDivisor );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVertexInputDynamicStateFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceVertexInputDynamicStateFeaturesEXT const &
-+ physicalDeviceVertexInputDynamicStateFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVertexInputDynamicStateFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVertexInputDynamicStateFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVertexInputDynamicStateFeaturesEXT.vertexInputDynamicState );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoProfileKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoProfileKHR const & videoProfileKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.videoCodecOperation );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.chromaSubsampling );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.lumaBitDepth );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.chromaBitDepth );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoProfilesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoProfilesKHR const & videoProfilesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoProfilesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoProfilesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoProfilesKHR.profileCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoProfilesKHR.pProfiles );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR const &
-+ physicalDeviceVideoFormatInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVideoFormatInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVideoFormatInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVideoFormatInfoKHR.imageUsage );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVideoFormatInfoKHR.pVideoProfiles );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan11Features>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan11Features const & physicalDeviceVulkan11Features ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.storageBuffer16BitAccess );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.uniformAndStorageBuffer16BitAccess );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.storagePushConstant16 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.storageInputOutput16 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.multiview );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.multiviewGeometryShader );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.multiviewTessellationShader );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.variablePointersStorageBuffer );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.variablePointers );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.protectedMemory );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.samplerYcbcrConversion );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.shaderDrawParameters );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan11Properties>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan11Properties const &
-+ physicalDeviceVulkan11Properties ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.pNext );
-+ for ( size_t i = 0; i < VK_UUID_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.deviceUUID[i] );
-+ }
-+ for ( size_t i = 0; i < VK_UUID_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.driverUUID[i] );
-+ }
-+ for ( size_t i = 0; i < VK_LUID_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.deviceLUID[i] );
-+ }
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.deviceNodeMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.deviceLUIDValid );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.subgroupSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.subgroupSupportedStages );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.subgroupSupportedOperations );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.subgroupQuadOperationsInAllStages );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.pointClippingBehavior );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.maxMultiviewViewCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.maxMultiviewInstanceIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.protectedNoFault );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.maxPerSetDescriptors );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.maxMemoryAllocationSize );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan12Features>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan12Features const & physicalDeviceVulkan12Features ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.samplerMirrorClampToEdge );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.drawIndirectCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.storageBuffer8BitAccess );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.uniformAndStorageBuffer8BitAccess );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.storagePushConstant8 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderBufferInt64Atomics );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderSharedInt64Atomics );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderFloat16 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderInt8 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.descriptorIndexing );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderInputAttachmentArrayDynamicIndexing );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderUniformTexelBufferArrayDynamicIndexing );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderStorageTexelBufferArrayDynamicIndexing );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderUniformBufferArrayNonUniformIndexing );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderSampledImageArrayNonUniformIndexing );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderStorageBufferArrayNonUniformIndexing );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderStorageImageArrayNonUniformIndexing );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderInputAttachmentArrayNonUniformIndexing );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderUniformTexelBufferArrayNonUniformIndexing );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderStorageTexelBufferArrayNonUniformIndexing );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.descriptorBindingUniformBufferUpdateAfterBind );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.descriptorBindingSampledImageUpdateAfterBind );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.descriptorBindingStorageImageUpdateAfterBind );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.descriptorBindingStorageBufferUpdateAfterBind );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceVulkan12Features.descriptorBindingUniformTexelBufferUpdateAfterBind );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceVulkan12Features.descriptorBindingStorageTexelBufferUpdateAfterBind );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.descriptorBindingUpdateUnusedWhilePending );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.descriptorBindingPartiallyBound );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.descriptorBindingVariableDescriptorCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.runtimeDescriptorArray );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.samplerFilterMinmax );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.scalarBlockLayout );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.imagelessFramebuffer );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.uniformBufferStandardLayout );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderSubgroupExtendedTypes );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.separateDepthStencilLayouts );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.hostQueryReset );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.timelineSemaphore );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.bufferDeviceAddress );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.bufferDeviceAddressCaptureReplay );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.bufferDeviceAddressMultiDevice );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.vulkanMemoryModel );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.vulkanMemoryModelDeviceScope );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.vulkanMemoryModelAvailabilityVisibilityChains );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderOutputViewportIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderOutputLayer );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.subgroupBroadcastDynamicId );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan12Properties>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan12Properties const &
-+ physicalDeviceVulkan12Properties ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.driverID );
-+ for ( size_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.driverName[i] );
-+ }
-+ for ( size_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.driverInfo[i] );
-+ }
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.conformanceVersion );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.denormBehaviorIndependence );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.roundingModeIndependence );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderSignedZeroInfNanPreserveFloat16 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderSignedZeroInfNanPreserveFloat32 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderSignedZeroInfNanPreserveFloat64 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderDenormPreserveFloat16 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderDenormPreserveFloat32 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderDenormPreserveFloat64 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderDenormFlushToZeroFloat16 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderDenormFlushToZeroFloat32 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderDenormFlushToZeroFloat64 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderRoundingModeRTEFloat16 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderRoundingModeRTEFloat32 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderRoundingModeRTEFloat64 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderRoundingModeRTZFloat16 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderRoundingModeRTZFloat32 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderRoundingModeRTZFloat64 );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxUpdateAfterBindDescriptorsInAllPools );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceVulkan12Properties.shaderUniformBufferArrayNonUniformIndexingNative );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderSampledImageArrayNonUniformIndexingNative );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceVulkan12Properties.shaderStorageBufferArrayNonUniformIndexingNative );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderStorageImageArrayNonUniformIndexingNative );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceVulkan12Properties.shaderInputAttachmentArrayNonUniformIndexingNative );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.robustBufferAccessUpdateAfterBind );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.quadDivergentImplicitLod );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxPerStageDescriptorUpdateAfterBindSamplers );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceVulkan12Properties.maxPerStageDescriptorUpdateAfterBindUniformBuffers );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceVulkan12Properties.maxPerStageDescriptorUpdateAfterBindStorageBuffers );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceVulkan12Properties.maxPerStageDescriptorUpdateAfterBindSampledImages );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceVulkan12Properties.maxPerStageDescriptorUpdateAfterBindStorageImages );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceVulkan12Properties.maxPerStageDescriptorUpdateAfterBindInputAttachments );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxPerStageUpdateAfterBindResources );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxDescriptorSetUpdateAfterBindSamplers );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxDescriptorSetUpdateAfterBindUniformBuffers );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceVulkan12Properties.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxDescriptorSetUpdateAfterBindStorageBuffers );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceVulkan12Properties.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxDescriptorSetUpdateAfterBindSampledImages );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxDescriptorSetUpdateAfterBindStorageImages );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxDescriptorSetUpdateAfterBindInputAttachments );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.supportedDepthResolveModes );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.supportedStencilResolveModes );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.independentResolveNone );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.independentResolve );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.filterMinmaxSingleComponentFormats );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.filterMinmaxImageComponentMapping );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxTimelineSemaphoreValueDifference );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.framebufferIntegerColorSampleCounts );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkanMemoryModelFeatures>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkanMemoryModelFeatures const &
-+ physicalDeviceVulkanMemoryModelFeatures ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkanMemoryModelFeatures.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkanMemoryModelFeatures.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkanMemoryModelFeatures.vulkanMemoryModel );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkanMemoryModelFeatures.vulkanMemoryModelDeviceScope );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceVulkanMemoryModelFeatures.vulkanMemoryModelAvailabilityVisibilityChains );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR const &
-+ physicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ physicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR.workgroupMemoryExplicitLayout );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR.workgroupMemoryExplicitLayoutScalarBlockLayout );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR.workgroupMemoryExplicitLayout8BitAccess );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR.workgroupMemoryExplicitLayout16BitAccess );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT const &
-+ physicalDeviceYcbcr2Plane444FormatsFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceYcbcr2Plane444FormatsFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceYcbcr2Plane444FormatsFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceYcbcr2Plane444FormatsFeaturesEXT.ycbcr2plane444Formats );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceYcbcrImageArraysFeaturesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceYcbcrImageArraysFeaturesEXT const &
-+ physicalDeviceYcbcrImageArraysFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceYcbcrImageArraysFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceYcbcrImageArraysFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceYcbcrImageArraysFeaturesEXT.ycbcrImageArrays );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR const &
-+ physicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE(
-+ seed, physicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR.shaderZeroInitializeWorkgroupMemory );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo const & pipelineCacheCreateInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCacheCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCacheCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCacheCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCacheCreateInfo.initialDataSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCacheCreateInfo.pInitialData );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineCacheHeaderVersionOne>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineCacheHeaderVersionOne const & pipelineCacheHeaderVersionOne )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCacheHeaderVersionOne.headerSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCacheHeaderVersionOne.headerVersion );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCacheHeaderVersionOne.vendorID );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCacheHeaderVersionOne.deviceID );
-+ for ( size_t i = 0; i < VK_UUID_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCacheHeaderVersionOne.pipelineCacheUUID[i] );
-+ }
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineColorBlendAdvancedStateCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineColorBlendAdvancedStateCreateInfoEXT const &
-+ pipelineColorBlendAdvancedStateCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAdvancedStateCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAdvancedStateCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAdvancedStateCreateInfoEXT.srcPremultiplied );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAdvancedStateCreateInfoEXT.dstPremultiplied );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAdvancedStateCreateInfoEXT.blendOverlap );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineColorWriteCreateInfoEXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::PipelineColorWriteCreateInfoEXT const & pipelineColorWriteCreateInfoEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineColorWriteCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineColorWriteCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineColorWriteCreateInfoEXT.attachmentCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineColorWriteCreateInfoEXT.pColorWriteEnables );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineCompilerControlCreateInfoAMD>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineCompilerControlCreateInfoAMD const &
-+ pipelineCompilerControlCreateInfoAMD ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCompilerControlCreateInfoAMD.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCompilerControlCreateInfoAMD.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCompilerControlCreateInfoAMD.compilerControlFlags );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineCoverageModulationStateCreateInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineCoverageModulationStateCreateInfoNV const &
-+ pipelineCoverageModulationStateCreateInfoNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageModulationStateCreateInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageModulationStateCreateInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageModulationStateCreateInfoNV.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageModulationStateCreateInfoNV.coverageModulationMode );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageModulationStateCreateInfoNV.coverageModulationTableEnable );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageModulationStateCreateInfoNV.coverageModulationTableCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageModulationStateCreateInfoNV.pCoverageModulationTable );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineCoverageReductionStateCreateInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineCoverageReductionStateCreateInfoNV const &
-+ pipelineCoverageReductionStateCreateInfoNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageReductionStateCreateInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageReductionStateCreateInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageReductionStateCreateInfoNV.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageReductionStateCreateInfoNV.coverageReductionMode );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineCoverageToColorStateCreateInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineCoverageToColorStateCreateInfoNV const &
-+ pipelineCoverageToColorStateCreateInfoNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageToColorStateCreateInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageToColorStateCreateInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageToColorStateCreateInfoNV.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageToColorStateCreateInfoNV.coverageToColorEnable );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageToColorStateCreateInfoNV.coverageToColorLocation );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackEXT>
-+ {
-+ std::size_t operator()(
-+ VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackEXT const & pipelineCreationFeedbackEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCreationFeedbackEXT.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCreationFeedbackEXT.duration );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackCreateInfoEXT const &
-+ pipelineCreationFeedbackCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCreationFeedbackCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCreationFeedbackCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCreationFeedbackCreateInfoEXT.pPipelineCreationFeedback );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCreationFeedbackCreateInfoEXT.pipelineStageCreationFeedbackCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineCreationFeedbackCreateInfoEXT.pPipelineStageCreationFeedbacks );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineDiscardRectangleStateCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineDiscardRectangleStateCreateInfoEXT const &
-+ pipelineDiscardRectangleStateCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineDiscardRectangleStateCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineDiscardRectangleStateCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineDiscardRectangleStateCreateInfoEXT.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineDiscardRectangleStateCreateInfoEXT.discardRectangleMode );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineDiscardRectangleStateCreateInfoEXT.discardRectangleCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineDiscardRectangleStateCreateInfoEXT.pDiscardRectangles );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR const & pipelineExecutableInfoKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutableInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutableInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutableInfoKHR.pipeline );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutableInfoKHR.executableIndex );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR const &
-+ pipelineExecutableInternalRepresentationKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutableInternalRepresentationKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutableInternalRepresentationKHR.pNext );
-+ for ( size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutableInternalRepresentationKHR.name[i] );
-+ }
-+ for ( size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutableInternalRepresentationKHR.description[i] );
-+ }
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutableInternalRepresentationKHR.isText );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutableInternalRepresentationKHR.dataSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutableInternalRepresentationKHR.pData );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR const & pipelineExecutablePropertiesKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutablePropertiesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutablePropertiesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutablePropertiesKHR.stages );
-+ for ( size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutablePropertiesKHR.name[i] );
-+ }
-+ for ( size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutablePropertiesKHR.description[i] );
-+ }
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutablePropertiesKHR.subgroupSize );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineFragmentShadingRateEnumStateCreateInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineFragmentShadingRateEnumStateCreateInfoNV const &
-+ pipelineFragmentShadingRateEnumStateCreateInfoNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineFragmentShadingRateEnumStateCreateInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineFragmentShadingRateEnumStateCreateInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineFragmentShadingRateEnumStateCreateInfoNV.shadingRateType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineFragmentShadingRateEnumStateCreateInfoNV.shadingRate );
-+ for ( size_t i = 0; i < 2; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineFragmentShadingRateEnumStateCreateInfoNV.combinerOps[i] );
-+ }
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineFragmentShadingRateStateCreateInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineFragmentShadingRateStateCreateInfoKHR const &
-+ pipelineFragmentShadingRateStateCreateInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineFragmentShadingRateStateCreateInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineFragmentShadingRateStateCreateInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineFragmentShadingRateStateCreateInfoKHR.fragmentSize );
-+ for ( size_t i = 0; i < 2; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineFragmentShadingRateStateCreateInfoKHR.combinerOps[i] );
-+ }
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineInfoKHR const & pipelineInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineInfoKHR.pipeline );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PushConstantRange>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::PushConstantRange const & pushConstantRange ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pushConstantRange.stageFlags );
-+ VULKAN_HPP_HASH_COMBINE( seed, pushConstantRange.offset );
-+ VULKAN_HPP_HASH_COMBINE( seed, pushConstantRange.size );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo const & pipelineLayoutCreateInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineLayoutCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineLayoutCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineLayoutCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineLayoutCreateInfo.setLayoutCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineLayoutCreateInfo.pSetLayouts );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineLayoutCreateInfo.pushConstantRangeCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineLayoutCreateInfo.pPushConstantRanges );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineLibraryCreateInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineLibraryCreateInfoKHR const & pipelineLibraryCreateInfoKHR )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineLibraryCreateInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineLibraryCreateInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineLibraryCreateInfoKHR.libraryCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineLibraryCreateInfoKHR.pLibraries );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineRasterizationConservativeStateCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineRasterizationConservativeStateCreateInfoEXT const &
-+ pipelineRasterizationConservativeStateCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationConservativeStateCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationConservativeStateCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationConservativeStateCreateInfoEXT.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ pipelineRasterizationConservativeStateCreateInfoEXT.conservativeRasterizationMode );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ pipelineRasterizationConservativeStateCreateInfoEXT.extraPrimitiveOverestimationSize );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineRasterizationDepthClipStateCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineRasterizationDepthClipStateCreateInfoEXT const &
-+ pipelineRasterizationDepthClipStateCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationDepthClipStateCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationDepthClipStateCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationDepthClipStateCreateInfoEXT.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationDepthClipStateCreateInfoEXT.depthClipEnable );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineRasterizationLineStateCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineRasterizationLineStateCreateInfoEXT const &
-+ pipelineRasterizationLineStateCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationLineStateCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationLineStateCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationLineStateCreateInfoEXT.lineRasterizationMode );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationLineStateCreateInfoEXT.stippledLineEnable );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationLineStateCreateInfoEXT.lineStippleFactor );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationLineStateCreateInfoEXT.lineStipplePattern );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineRasterizationProvokingVertexStateCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineRasterizationProvokingVertexStateCreateInfoEXT const &
-+ pipelineRasterizationProvokingVertexStateCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationProvokingVertexStateCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationProvokingVertexStateCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationProvokingVertexStateCreateInfoEXT.provokingVertexMode );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineRasterizationStateRasterizationOrderAMD>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineRasterizationStateRasterizationOrderAMD const &
-+ pipelineRasterizationStateRasterizationOrderAMD ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateRasterizationOrderAMD.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateRasterizationOrderAMD.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateRasterizationOrderAMD.rasterizationOrder );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineRasterizationStateStreamCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineRasterizationStateStreamCreateInfoEXT const &
-+ pipelineRasterizationStateStreamCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateStreamCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateStreamCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateStreamCreateInfoEXT.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateStreamCreateInfoEXT.rasterizationStream );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineRenderingCreateInfoKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::PipelineRenderingCreateInfoKHR const & pipelineRenderingCreateInfoKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRenderingCreateInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRenderingCreateInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRenderingCreateInfoKHR.viewMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRenderingCreateInfoKHR.colorAttachmentCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRenderingCreateInfoKHR.pColorAttachmentFormats );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRenderingCreateInfoKHR.depthAttachmentFormat );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRenderingCreateInfoKHR.stencilAttachmentFormat );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineRepresentativeFragmentTestStateCreateInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineRepresentativeFragmentTestStateCreateInfoNV const &
-+ pipelineRepresentativeFragmentTestStateCreateInfoNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRepresentativeFragmentTestStateCreateInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineRepresentativeFragmentTestStateCreateInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed,
-+ pipelineRepresentativeFragmentTestStateCreateInfoNV.representativeFragmentTestEnable );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineSampleLocationsStateCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineSampleLocationsStateCreateInfoEXT const &
-+ pipelineSampleLocationsStateCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineSampleLocationsStateCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineSampleLocationsStateCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineSampleLocationsStateCreateInfoEXT.sampleLocationsEnable );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineSampleLocationsStateCreateInfoEXT.sampleLocationsInfo );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT const &
-+ pipelineShaderStageRequiredSubgroupSizeCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageRequiredSubgroupSizeCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageRequiredSubgroupSizeCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageRequiredSubgroupSizeCreateInfoEXT.requiredSubgroupSize );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineTessellationDomainOriginStateCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineTessellationDomainOriginStateCreateInfo const &
-+ pipelineTessellationDomainOriginStateCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineTessellationDomainOriginStateCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineTessellationDomainOriginStateCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineTessellationDomainOriginStateCreateInfo.domainOrigin );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VertexInputBindingDivisorDescriptionEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VertexInputBindingDivisorDescriptionEXT const &
-+ vertexInputBindingDivisorDescriptionEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, vertexInputBindingDivisorDescriptionEXT.binding );
-+ VULKAN_HPP_HASH_COMBINE( seed, vertexInputBindingDivisorDescriptionEXT.divisor );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineVertexInputDivisorStateCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineVertexInputDivisorStateCreateInfoEXT const &
-+ pipelineVertexInputDivisorStateCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineVertexInputDivisorStateCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineVertexInputDivisorStateCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineVertexInputDivisorStateCreateInfoEXT.vertexBindingDivisorCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineVertexInputDivisorStateCreateInfoEXT.pVertexBindingDivisors );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineViewportCoarseSampleOrderStateCreateInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineViewportCoarseSampleOrderStateCreateInfoNV const &
-+ pipelineViewportCoarseSampleOrderStateCreateInfoNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportCoarseSampleOrderStateCreateInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportCoarseSampleOrderStateCreateInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportCoarseSampleOrderStateCreateInfoNV.sampleOrderType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportCoarseSampleOrderStateCreateInfoNV.customSampleOrderCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportCoarseSampleOrderStateCreateInfoNV.pCustomSampleOrders );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineViewportDepthClipControlCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineViewportDepthClipControlCreateInfoEXT const &
-+ pipelineViewportDepthClipControlCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportDepthClipControlCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportDepthClipControlCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportDepthClipControlCreateInfoEXT.negativeOneToOne );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineViewportExclusiveScissorStateCreateInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineViewportExclusiveScissorStateCreateInfoNV const &
-+ pipelineViewportExclusiveScissorStateCreateInfoNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportExclusiveScissorStateCreateInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportExclusiveScissorStateCreateInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportExclusiveScissorStateCreateInfoNV.exclusiveScissorCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportExclusiveScissorStateCreateInfoNV.pExclusiveScissors );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV const & shadingRatePaletteNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, shadingRatePaletteNV.shadingRatePaletteEntryCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, shadingRatePaletteNV.pShadingRatePaletteEntries );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineViewportShadingRateImageStateCreateInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineViewportShadingRateImageStateCreateInfoNV const &
-+ pipelineViewportShadingRateImageStateCreateInfoNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportShadingRateImageStateCreateInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportShadingRateImageStateCreateInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportShadingRateImageStateCreateInfoNV.shadingRateImageEnable );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportShadingRateImageStateCreateInfoNV.viewportCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportShadingRateImageStateCreateInfoNV.pShadingRatePalettes );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ViewportSwizzleNV>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::ViewportSwizzleNV const & viewportSwizzleNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, viewportSwizzleNV.x );
-+ VULKAN_HPP_HASH_COMBINE( seed, viewportSwizzleNV.y );
-+ VULKAN_HPP_HASH_COMBINE( seed, viewportSwizzleNV.z );
-+ VULKAN_HPP_HASH_COMBINE( seed, viewportSwizzleNV.w );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineViewportSwizzleStateCreateInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineViewportSwizzleStateCreateInfoNV const &
-+ pipelineViewportSwizzleStateCreateInfoNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportSwizzleStateCreateInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportSwizzleStateCreateInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportSwizzleStateCreateInfoNV.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportSwizzleStateCreateInfoNV.viewportCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportSwizzleStateCreateInfoNV.pViewportSwizzles );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ViewportWScalingNV>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::ViewportWScalingNV const & viewportWScalingNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, viewportWScalingNV.xcoeff );
-+ VULKAN_HPP_HASH_COMBINE( seed, viewportWScalingNV.ycoeff );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PipelineViewportWScalingStateCreateInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineViewportWScalingStateCreateInfoNV const &
-+ pipelineViewportWScalingStateCreateInfoNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportWScalingStateCreateInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportWScalingStateCreateInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportWScalingStateCreateInfoNV.viewportWScalingEnable );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportWScalingStateCreateInfoNV.viewportCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportWScalingStateCreateInfoNV.pViewportWScalings );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_GGP )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PresentFrameTokenGGP>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::PresentFrameTokenGGP const & presentFrameTokenGGP ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, presentFrameTokenGGP.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, presentFrameTokenGGP.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, presentFrameTokenGGP.frameToken );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_GGP*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PresentIdKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PresentIdKHR const & presentIdKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, presentIdKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, presentIdKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, presentIdKHR.swapchainCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, presentIdKHR.pPresentIds );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PresentInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PresentInfoKHR const & presentInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, presentInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, presentInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, presentInfoKHR.waitSemaphoreCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, presentInfoKHR.pWaitSemaphores );
-+ VULKAN_HPP_HASH_COMBINE( seed, presentInfoKHR.swapchainCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, presentInfoKHR.pSwapchains );
-+ VULKAN_HPP_HASH_COMBINE( seed, presentInfoKHR.pImageIndices );
-+ VULKAN_HPP_HASH_COMBINE( seed, presentInfoKHR.pResults );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::RectLayerKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::RectLayerKHR const & rectLayerKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, rectLayerKHR.offset );
-+ VULKAN_HPP_HASH_COMBINE( seed, rectLayerKHR.extent );
-+ VULKAN_HPP_HASH_COMBINE( seed, rectLayerKHR.layer );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PresentRegionKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PresentRegionKHR const & presentRegionKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, presentRegionKHR.rectangleCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, presentRegionKHR.pRectangles );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PresentRegionsKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::PresentRegionsKHR const & presentRegionsKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, presentRegionsKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, presentRegionsKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, presentRegionsKHR.swapchainCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, presentRegionsKHR.pRegions );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PresentTimeGOOGLE>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::PresentTimeGOOGLE const & presentTimeGOOGLE ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, presentTimeGOOGLE.presentID );
-+ VULKAN_HPP_HASH_COMBINE( seed, presentTimeGOOGLE.desiredPresentTime );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PresentTimesInfoGOOGLE>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PresentTimesInfoGOOGLE const & presentTimesInfoGOOGLE ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, presentTimesInfoGOOGLE.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, presentTimesInfoGOOGLE.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, presentTimesInfoGOOGLE.swapchainCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, presentTimesInfoGOOGLE.pTimes );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfoEXT const & privateDataSlotCreateInfoEXT )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, privateDataSlotCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, privateDataSlotCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, privateDataSlotCreateInfoEXT.flags );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ProtectedSubmitInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::ProtectedSubmitInfo const & protectedSubmitInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, protectedSubmitInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, protectedSubmitInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, protectedSubmitInfo.protectedSubmit );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo const & queryPoolCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, queryPoolCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, queryPoolCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, queryPoolCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, queryPoolCreateInfo.queryType );
-+ VULKAN_HPP_HASH_COMBINE( seed, queryPoolCreateInfo.queryCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, queryPoolCreateInfo.pipelineStatistics );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::QueryPoolPerformanceCreateInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::QueryPoolPerformanceCreateInfoKHR const &
-+ queryPoolPerformanceCreateInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, queryPoolPerformanceCreateInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, queryPoolPerformanceCreateInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, queryPoolPerformanceCreateInfoKHR.queueFamilyIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, queryPoolPerformanceCreateInfoKHR.counterIndexCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, queryPoolPerformanceCreateInfoKHR.pCounterIndices );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::QueryPoolPerformanceQueryCreateInfoINTEL>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::QueryPoolPerformanceQueryCreateInfoINTEL const &
-+ queryPoolPerformanceQueryCreateInfoINTEL ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, queryPoolPerformanceQueryCreateInfoINTEL.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, queryPoolPerformanceQueryCreateInfoINTEL.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, queryPoolPerformanceQueryCreateInfoINTEL.performanceCountersSampling );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::QueueFamilyCheckpointProperties2NV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::QueueFamilyCheckpointProperties2NV const &
-+ queueFamilyCheckpointProperties2NV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, queueFamilyCheckpointProperties2NV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, queueFamilyCheckpointProperties2NV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, queueFamilyCheckpointProperties2NV.checkpointExecutionStageMask );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::QueueFamilyCheckpointPropertiesNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::QueueFamilyCheckpointPropertiesNV const &
-+ queueFamilyCheckpointPropertiesNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, queueFamilyCheckpointPropertiesNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, queueFamilyCheckpointPropertiesNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, queueFamilyCheckpointPropertiesNV.checkpointExecutionStageMask );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::QueueFamilyGlobalPriorityPropertiesEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::QueueFamilyGlobalPriorityPropertiesEXT const &
-+ queueFamilyGlobalPriorityPropertiesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, queueFamilyGlobalPriorityPropertiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, queueFamilyGlobalPriorityPropertiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, queueFamilyGlobalPriorityPropertiesEXT.priorityCount );
-+ for ( size_t i = 0; i < VK_MAX_GLOBAL_PRIORITY_SIZE_EXT; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, queueFamilyGlobalPriorityPropertiesEXT.priorities[i] );
-+ }
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::QueueFamilyProperties>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::QueueFamilyProperties const & queueFamilyProperties ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, queueFamilyProperties.queueFlags );
-+ VULKAN_HPP_HASH_COMBINE( seed, queueFamilyProperties.queueCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, queueFamilyProperties.timestampValidBits );
-+ VULKAN_HPP_HASH_COMBINE( seed, queueFamilyProperties.minImageTransferGranularity );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::QueueFamilyProperties2 const & queueFamilyProperties2 ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, queueFamilyProperties2.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, queueFamilyProperties2.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, queueFamilyProperties2.queueFamilyProperties );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR const &
-+ rayTracingShaderGroupCreateInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoKHR.type );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoKHR.generalShader );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoKHR.closestHitShader );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoKHR.anyHitShader );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoKHR.intersectionShader );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoKHR.pShaderGroupCaptureReplayHandle );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR const &
-+ rayTracingPipelineInterfaceCreateInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineInterfaceCreateInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineInterfaceCreateInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineInterfaceCreateInfoKHR.maxPipelineRayPayloadSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineInterfaceCreateInfoKHR.maxPipelineRayHitAttributeSize );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR const & rayTracingPipelineCreateInfoKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.stageCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.pStages );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.groupCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.pGroups );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.maxPipelineRayRecursionDepth );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.pLibraryInfo );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.pLibraryInterface );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.pDynamicState );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.layout );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.basePipelineHandle );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.basePipelineIndex );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoNV const &
-+ rayTracingShaderGroupCreateInfoNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoNV.type );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoNV.generalShader );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoNV.closestHitShader );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoNV.anyHitShader );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoNV.intersectionShader );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV const & rayTracingPipelineCreateInfoNV ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoNV.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoNV.stageCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoNV.pStages );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoNV.groupCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoNV.pGroups );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoNV.maxRecursionDepth );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoNV.layout );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoNV.basePipelineHandle );
-+ VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoNV.basePipelineIndex );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE const & refreshCycleDurationGOOGLE ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, refreshCycleDurationGOOGLE.refreshDuration );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::RenderPassAttachmentBeginInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::RenderPassAttachmentBeginInfo const & renderPassAttachmentBeginInfo )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassAttachmentBeginInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassAttachmentBeginInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassAttachmentBeginInfo.attachmentCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassAttachmentBeginInfo.pAttachments );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::RenderPassBeginInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::RenderPassBeginInfo const & renderPassBeginInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassBeginInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassBeginInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassBeginInfo.renderPass );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassBeginInfo.framebuffer );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassBeginInfo.renderArea );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassBeginInfo.clearValueCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassBeginInfo.pClearValues );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SubpassDescription>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::SubpassDescription const & subpassDescription ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescription.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescription.pipelineBindPoint );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescription.inputAttachmentCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescription.pInputAttachments );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescription.colorAttachmentCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescription.pColorAttachments );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescription.pResolveAttachments );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescription.pDepthStencilAttachment );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescription.preserveAttachmentCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescription.pPreserveAttachments );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SubpassDependency>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::SubpassDependency const & subpassDependency ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDependency.srcSubpass );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDependency.dstSubpass );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDependency.srcStageMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDependency.dstStageMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDependency.srcAccessMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDependency.dstAccessMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDependency.dependencyFlags );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::RenderPassCreateInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::RenderPassCreateInfo const & renderPassCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo.attachmentCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo.pAttachments );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo.subpassCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo.pSubpasses );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo.dependencyCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo.pDependencies );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SubpassDescription2>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::SubpassDescription2 const & subpassDescription2 ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.pipelineBindPoint );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.viewMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.inputAttachmentCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.pInputAttachments );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.colorAttachmentCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.pColorAttachments );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.pResolveAttachments );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.pDepthStencilAttachment );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.preserveAttachmentCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.pPreserveAttachments );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SubpassDependency2>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::SubpassDependency2 const & subpassDependency2 ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDependency2.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDependency2.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDependency2.srcSubpass );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDependency2.dstSubpass );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDependency2.srcStageMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDependency2.dstStageMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDependency2.srcAccessMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDependency2.dstAccessMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDependency2.dependencyFlags );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDependency2.viewOffset );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 const & renderPassCreateInfo2 ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo2.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo2.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo2.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo2.attachmentCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo2.pAttachments );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo2.subpassCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo2.pSubpasses );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo2.dependencyCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo2.pDependencies );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo2.correlatedViewMaskCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo2.pCorrelatedViewMasks );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::RenderPassFragmentDensityMapCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::RenderPassFragmentDensityMapCreateInfoEXT const &
-+ renderPassFragmentDensityMapCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassFragmentDensityMapCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassFragmentDensityMapCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassFragmentDensityMapCreateInfoEXT.fragmentDensityMapAttachment );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::RenderPassInputAttachmentAspectCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::RenderPassInputAttachmentAspectCreateInfo const &
-+ renderPassInputAttachmentAspectCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassInputAttachmentAspectCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassInputAttachmentAspectCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassInputAttachmentAspectCreateInfo.aspectReferenceCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassInputAttachmentAspectCreateInfo.pAspectReferences );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::RenderPassMultiviewCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::RenderPassMultiviewCreateInfo const & renderPassMultiviewCreateInfo )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassMultiviewCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassMultiviewCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassMultiviewCreateInfo.subpassCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassMultiviewCreateInfo.pViewMasks );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassMultiviewCreateInfo.dependencyCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassMultiviewCreateInfo.pViewOffsets );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassMultiviewCreateInfo.correlationMaskCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassMultiviewCreateInfo.pCorrelationMasks );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SubpassSampleLocationsEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SubpassSampleLocationsEXT const & subpassSampleLocationsEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassSampleLocationsEXT.subpassIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassSampleLocationsEXT.sampleLocationsInfo );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::RenderPassSampleLocationsBeginInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::RenderPassSampleLocationsBeginInfoEXT const &
-+ renderPassSampleLocationsBeginInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassSampleLocationsBeginInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassSampleLocationsBeginInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassSampleLocationsBeginInfoEXT.attachmentInitialSampleLocationsCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassSampleLocationsBeginInfoEXT.pAttachmentInitialSampleLocations );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassSampleLocationsBeginInfoEXT.postSubpassSampleLocationsCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassSampleLocationsBeginInfoEXT.pPostSubpassSampleLocations );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::RenderPassTransformBeginInfoQCOM>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::RenderPassTransformBeginInfoQCOM const &
-+ renderPassTransformBeginInfoQCOM ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassTransformBeginInfoQCOM.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassTransformBeginInfoQCOM.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderPassTransformBeginInfoQCOM.transform );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::RenderingFragmentDensityMapAttachmentInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::RenderingFragmentDensityMapAttachmentInfoEXT const &
-+ renderingFragmentDensityMapAttachmentInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, renderingFragmentDensityMapAttachmentInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderingFragmentDensityMapAttachmentInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderingFragmentDensityMapAttachmentInfoEXT.imageView );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderingFragmentDensityMapAttachmentInfoEXT.imageLayout );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::RenderingFragmentShadingRateAttachmentInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::RenderingFragmentShadingRateAttachmentInfoKHR const &
-+ renderingFragmentShadingRateAttachmentInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, renderingFragmentShadingRateAttachmentInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderingFragmentShadingRateAttachmentInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderingFragmentShadingRateAttachmentInfoKHR.imageView );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderingFragmentShadingRateAttachmentInfoKHR.imageLayout );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderingFragmentShadingRateAttachmentInfoKHR.shadingRateAttachmentTexelSize );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::RenderingInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::RenderingInfoKHR const & renderingInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, renderingInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderingInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderingInfoKHR.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderingInfoKHR.renderArea );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderingInfoKHR.layerCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderingInfoKHR.viewMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderingInfoKHR.colorAttachmentCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderingInfoKHR.pColorAttachments );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderingInfoKHR.pDepthAttachment );
-+ VULKAN_HPP_HASH_COMBINE( seed, renderingInfoKHR.pStencilAttachment );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ResolveImageInfo2KHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::ResolveImageInfo2KHR const & resolveImageInfo2KHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, resolveImageInfo2KHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, resolveImageInfo2KHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, resolveImageInfo2KHR.srcImage );
-+ VULKAN_HPP_HASH_COMBINE( seed, resolveImageInfo2KHR.srcImageLayout );
-+ VULKAN_HPP_HASH_COMBINE( seed, resolveImageInfo2KHR.dstImage );
-+ VULKAN_HPP_HASH_COMBINE( seed, resolveImageInfo2KHR.dstImageLayout );
-+ VULKAN_HPP_HASH_COMBINE( seed, resolveImageInfo2KHR.regionCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, resolveImageInfo2KHR.pRegions );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SamplerBorderColorComponentMappingCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SamplerBorderColorComponentMappingCreateInfoEXT const &
-+ samplerBorderColorComponentMappingCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerBorderColorComponentMappingCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerBorderColorComponentMappingCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerBorderColorComponentMappingCreateInfoEXT.components );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerBorderColorComponentMappingCreateInfoEXT.srgb );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SamplerCreateInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::SamplerCreateInfo const & samplerCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.magFilter );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.minFilter );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.mipmapMode );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.addressModeU );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.addressModeV );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.addressModeW );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.mipLodBias );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.anisotropyEnable );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.maxAnisotropy );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.compareEnable );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.compareOp );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.minLod );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.maxLod );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.borderColor );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.unnormalizedCoordinates );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SamplerReductionModeCreateInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::SamplerReductionModeCreateInfo const & samplerReductionModeCreateInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerReductionModeCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerReductionModeCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerReductionModeCreateInfo.reductionMode );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo const &
-+ samplerYcbcrConversionCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionCreateInfo.format );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionCreateInfo.ycbcrModel );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionCreateInfo.ycbcrRange );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionCreateInfo.components );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionCreateInfo.xChromaOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionCreateInfo.yChromaOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionCreateInfo.chromaFilter );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionCreateInfo.forceExplicitReconstruction );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionImageFormatProperties>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionImageFormatProperties const &
-+ samplerYcbcrConversionImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionImageFormatProperties.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionImageFormatProperties.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionImageFormatProperties.combinedImageSamplerDescriptorCount );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionInfo const & samplerYcbcrConversionInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionInfo.conversion );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_SCREEN_QNX )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX const & screenSurfaceCreateInfoQNX ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, screenSurfaceCreateInfoQNX.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, screenSurfaceCreateInfoQNX.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, screenSurfaceCreateInfoQNX.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, screenSurfaceCreateInfoQNX.context );
-+ VULKAN_HPP_HASH_COMBINE( seed, screenSurfaceCreateInfoQNX.window );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_SCREEN_QNX*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo const & semaphoreCreateInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreCreateInfo.flags );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SemaphoreGetFdInfoKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::SemaphoreGetFdInfoKHR const & semaphoreGetFdInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreGetFdInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreGetFdInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreGetFdInfoKHR.semaphore );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreGetFdInfoKHR.handleType );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_WIN32_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SemaphoreGetWin32HandleInfoKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::SemaphoreGetWin32HandleInfoKHR const & semaphoreGetWin32HandleInfoKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreGetWin32HandleInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreGetWin32HandleInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreGetWin32HandleInfoKHR.semaphore );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreGetWin32HandleInfoKHR.handleType );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_WIN32_KHR*/
-+
-+# if defined( VK_USE_PLATFORM_FUCHSIA )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SemaphoreGetZirconHandleInfoFUCHSIA>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SemaphoreGetZirconHandleInfoFUCHSIA const &
-+ semaphoreGetZirconHandleInfoFUCHSIA ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreGetZirconHandleInfoFUCHSIA.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreGetZirconHandleInfoFUCHSIA.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreGetZirconHandleInfoFUCHSIA.semaphore );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreGetZirconHandleInfoFUCHSIA.handleType );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_FUCHSIA*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo const & semaphoreSignalInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreSignalInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreSignalInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreSignalInfo.semaphore );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreSignalInfo.value );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfoKHR const & semaphoreSubmitInfoKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreSubmitInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreSubmitInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreSubmitInfoKHR.semaphore );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreSubmitInfoKHR.value );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreSubmitInfoKHR.stageMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreSubmitInfoKHR.deviceIndex );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SemaphoreTypeCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SemaphoreTypeCreateInfo const & semaphoreTypeCreateInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreTypeCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreTypeCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreTypeCreateInfo.semaphoreType );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreTypeCreateInfo.initialValue );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo const & semaphoreWaitInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreWaitInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreWaitInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreWaitInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreWaitInfo.semaphoreCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreWaitInfo.pSemaphores );
-+ VULKAN_HPP_HASH_COMBINE( seed, semaphoreWaitInfo.pValues );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SetStateFlagsIndirectCommandNV>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::SetStateFlagsIndirectCommandNV const & setStateFlagsIndirectCommandNV ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, setStateFlagsIndirectCommandNV.data );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo const & shaderModuleCreateInfo ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, shaderModuleCreateInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, shaderModuleCreateInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, shaderModuleCreateInfo.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, shaderModuleCreateInfo.codeSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, shaderModuleCreateInfo.pCode );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ShaderModuleValidationCacheCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ShaderModuleValidationCacheCreateInfoEXT const &
-+ shaderModuleValidationCacheCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, shaderModuleValidationCacheCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, shaderModuleValidationCacheCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, shaderModuleValidationCacheCreateInfoEXT.validationCache );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ShaderResourceUsageAMD>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ShaderResourceUsageAMD const & shaderResourceUsageAMD ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, shaderResourceUsageAMD.numUsedVgprs );
-+ VULKAN_HPP_HASH_COMBINE( seed, shaderResourceUsageAMD.numUsedSgprs );
-+ VULKAN_HPP_HASH_COMBINE( seed, shaderResourceUsageAMD.ldsSizePerLocalWorkGroup );
-+ VULKAN_HPP_HASH_COMBINE( seed, shaderResourceUsageAMD.ldsUsageSizeInBytes );
-+ VULKAN_HPP_HASH_COMBINE( seed, shaderResourceUsageAMD.scratchMemUsageInBytes );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ShaderStatisticsInfoAMD>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ShaderStatisticsInfoAMD const & shaderStatisticsInfoAMD ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, shaderStatisticsInfoAMD.shaderStageMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, shaderStatisticsInfoAMD.resourceUsage );
-+ VULKAN_HPP_HASH_COMBINE( seed, shaderStatisticsInfoAMD.numPhysicalVgprs );
-+ VULKAN_HPP_HASH_COMBINE( seed, shaderStatisticsInfoAMD.numPhysicalSgprs );
-+ VULKAN_HPP_HASH_COMBINE( seed, shaderStatisticsInfoAMD.numAvailableVgprs );
-+ VULKAN_HPP_HASH_COMBINE( seed, shaderStatisticsInfoAMD.numAvailableSgprs );
-+ for ( size_t i = 0; i < 3; ++i )
-+ {
-+ VULKAN_HPP_HASH_COMBINE( seed, shaderStatisticsInfoAMD.computeWorkGroupSize[i] );
-+ }
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SharedPresentSurfaceCapabilitiesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SharedPresentSurfaceCapabilitiesKHR const &
-+ sharedPresentSurfaceCapabilitiesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, sharedPresentSurfaceCapabilitiesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, sharedPresentSurfaceCapabilitiesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, sharedPresentSurfaceCapabilitiesKHR.sharedPresentSupportedUsageFlags );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties>
-+ {
-+ std::size_t operator()(
-+ VULKAN_HPP_NAMESPACE::SparseImageFormatProperties const & sparseImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageFormatProperties.aspectMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageFormatProperties.imageGranularity );
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageFormatProperties.flags );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2 const & sparseImageFormatProperties2 )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageFormatProperties2.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageFormatProperties2.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageFormatProperties2.properties );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements const & sparseImageMemoryRequirements )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryRequirements.formatProperties );
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryRequirements.imageMipTailFirstLod );
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryRequirements.imageMipTailSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryRequirements.imageMipTailOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryRequirements.imageMipTailStride );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2 const & sparseImageMemoryRequirements2 ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryRequirements2.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryRequirements2.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryRequirements2.memoryRequirements );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_GGP )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP const &
-+ streamDescriptorSurfaceCreateInfoGGP ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, streamDescriptorSurfaceCreateInfoGGP.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, streamDescriptorSurfaceCreateInfoGGP.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, streamDescriptorSurfaceCreateInfoGGP.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, streamDescriptorSurfaceCreateInfoGGP.streamDescriptor );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_GGP*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR const & stridedDeviceAddressRegionKHR )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, stridedDeviceAddressRegionKHR.deviceAddress );
-+ VULKAN_HPP_HASH_COMBINE( seed, stridedDeviceAddressRegionKHR.stride );
-+ VULKAN_HPP_HASH_COMBINE( seed, stridedDeviceAddressRegionKHR.size );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SubmitInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SubmitInfo const & submitInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, submitInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, submitInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, submitInfo.waitSemaphoreCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, submitInfo.pWaitSemaphores );
-+ VULKAN_HPP_HASH_COMBINE( seed, submitInfo.pWaitDstStageMask );
-+ VULKAN_HPP_HASH_COMBINE( seed, submitInfo.commandBufferCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, submitInfo.pCommandBuffers );
-+ VULKAN_HPP_HASH_COMBINE( seed, submitInfo.signalSemaphoreCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, submitInfo.pSignalSemaphores );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SubmitInfo2KHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SubmitInfo2KHR const & submitInfo2KHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, submitInfo2KHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, submitInfo2KHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, submitInfo2KHR.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, submitInfo2KHR.waitSemaphoreInfoCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, submitInfo2KHR.pWaitSemaphoreInfos );
-+ VULKAN_HPP_HASH_COMBINE( seed, submitInfo2KHR.commandBufferInfoCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, submitInfo2KHR.pCommandBufferInfos );
-+ VULKAN_HPP_HASH_COMBINE( seed, submitInfo2KHR.signalSemaphoreInfoCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, submitInfo2KHR.pSignalSemaphoreInfos );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SubpassBeginInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SubpassBeginInfo const & subpassBeginInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassBeginInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassBeginInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassBeginInfo.contents );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SubpassDescriptionDepthStencilResolve>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SubpassDescriptionDepthStencilResolve const &
-+ subpassDescriptionDepthStencilResolve ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescriptionDepthStencilResolve.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescriptionDepthStencilResolve.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescriptionDepthStencilResolve.depthResolveMode );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescriptionDepthStencilResolve.stencilResolveMode );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassDescriptionDepthStencilResolve.pDepthStencilResolveAttachment );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SubpassEndInfo>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SubpassEndInfo const & subpassEndInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassEndInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassEndInfo.pNext );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SubpassShadingPipelineCreateInfoHUAWEI>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SubpassShadingPipelineCreateInfoHUAWEI const &
-+ subpassShadingPipelineCreateInfoHUAWEI ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassShadingPipelineCreateInfoHUAWEI.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassShadingPipelineCreateInfoHUAWEI.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassShadingPipelineCreateInfoHUAWEI.renderPass );
-+ VULKAN_HPP_HASH_COMBINE( seed, subpassShadingPipelineCreateInfoHUAWEI.subpass );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT const & surfaceCapabilities2EXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.minImageCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.maxImageCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.currentExtent );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.minImageExtent );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.maxImageExtent );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.maxImageArrayLayers );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.supportedTransforms );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.currentTransform );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.supportedCompositeAlpha );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.supportedUsageFlags );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.supportedSurfaceCounters );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR const & surfaceCapabilitiesKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesKHR.minImageCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesKHR.maxImageCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesKHR.currentExtent );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesKHR.minImageExtent );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesKHR.maxImageExtent );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesKHR.maxImageArrayLayers );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesKHR.supportedTransforms );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesKHR.currentTransform );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesKHR.supportedCompositeAlpha );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesKHR.supportedUsageFlags );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR const & surfaceCapabilities2KHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2KHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2KHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2KHR.surfaceCapabilities );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_WIN32_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesFullScreenExclusiveEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesFullScreenExclusiveEXT const &
-+ surfaceCapabilitiesFullScreenExclusiveEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesFullScreenExclusiveEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesFullScreenExclusiveEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesFullScreenExclusiveEXT.fullScreenExclusiveSupported );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_WIN32_KHR*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SurfaceFormatKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SurfaceFormatKHR const & surfaceFormatKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceFormatKHR.format );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceFormatKHR.colorSpace );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR const & surfaceFormat2KHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceFormat2KHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceFormat2KHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceFormat2KHR.surfaceFormat );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_WIN32_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SurfaceFullScreenExclusiveInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SurfaceFullScreenExclusiveInfoEXT const &
-+ surfaceFullScreenExclusiveInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceFullScreenExclusiveInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceFullScreenExclusiveInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceFullScreenExclusiveInfoEXT.fullScreenExclusive );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_WIN32_KHR*/
-+
-+# if defined( VK_USE_PLATFORM_WIN32_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SurfaceFullScreenExclusiveWin32InfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SurfaceFullScreenExclusiveWin32InfoEXT const &
-+ surfaceFullScreenExclusiveWin32InfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceFullScreenExclusiveWin32InfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceFullScreenExclusiveWin32InfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceFullScreenExclusiveWin32InfoEXT.hmonitor );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_WIN32_KHR*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SurfaceProtectedCapabilitiesKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::SurfaceProtectedCapabilitiesKHR const & surfaceProtectedCapabilitiesKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceProtectedCapabilitiesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceProtectedCapabilitiesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, surfaceProtectedCapabilitiesKHR.supportsProtected );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SwapchainCounterCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SwapchainCounterCreateInfoEXT const & swapchainCounterCreateInfoEXT )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, swapchainCounterCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, swapchainCounterCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, swapchainCounterCreateInfoEXT.surfaceCounters );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR const & swapchainCreateInfoKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.surface );
-+ VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.minImageCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.imageFormat );
-+ VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.imageColorSpace );
-+ VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.imageExtent );
-+ VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.imageArrayLayers );
-+ VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.imageUsage );
-+ VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.imageSharingMode );
-+ VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.queueFamilyIndexCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.pQueueFamilyIndices );
-+ VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.preTransform );
-+ VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.compositeAlpha );
-+ VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.presentMode );
-+ VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.clipped );
-+ VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.oldSwapchain );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::SwapchainDisplayNativeHdrCreateInfoAMD>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SwapchainDisplayNativeHdrCreateInfoAMD const &
-+ swapchainDisplayNativeHdrCreateInfoAMD ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, swapchainDisplayNativeHdrCreateInfoAMD.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, swapchainDisplayNativeHdrCreateInfoAMD.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, swapchainDisplayNativeHdrCreateInfoAMD.localDimmingEnable );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::TextureLODGatherFormatPropertiesAMD>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::TextureLODGatherFormatPropertiesAMD const &
-+ textureLODGatherFormatPropertiesAMD ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, textureLODGatherFormatPropertiesAMD.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, textureLODGatherFormatPropertiesAMD.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, textureLODGatherFormatPropertiesAMD.supportsTextureGatherLODBiasAMD );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::TimelineSemaphoreSubmitInfo>
-+ {
-+ std::size_t operator()(
-+ VULKAN_HPP_NAMESPACE::TimelineSemaphoreSubmitInfo const & timelineSemaphoreSubmitInfo ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, timelineSemaphoreSubmitInfo.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, timelineSemaphoreSubmitInfo.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, timelineSemaphoreSubmitInfo.waitSemaphoreValueCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, timelineSemaphoreSubmitInfo.pWaitSemaphoreValues );
-+ VULKAN_HPP_HASH_COMBINE( seed, timelineSemaphoreSubmitInfo.signalSemaphoreValueCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, timelineSemaphoreSubmitInfo.pSignalSemaphoreValues );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::TraceRaysIndirectCommandKHR>
-+ {
-+ std::size_t operator()(
-+ VULKAN_HPP_NAMESPACE::TraceRaysIndirectCommandKHR const & traceRaysIndirectCommandKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, traceRaysIndirectCommandKHR.width );
-+ VULKAN_HPP_HASH_COMBINE( seed, traceRaysIndirectCommandKHR.height );
-+ VULKAN_HPP_HASH_COMBINE( seed, traceRaysIndirectCommandKHR.depth );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT const & validationCacheCreateInfoEXT )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, validationCacheCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, validationCacheCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, validationCacheCreateInfoEXT.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, validationCacheCreateInfoEXT.initialDataSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, validationCacheCreateInfoEXT.pInitialData );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ValidationFeaturesEXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::ValidationFeaturesEXT const & validationFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, validationFeaturesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, validationFeaturesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, validationFeaturesEXT.enabledValidationFeatureCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, validationFeaturesEXT.pEnabledValidationFeatures );
-+ VULKAN_HPP_HASH_COMBINE( seed, validationFeaturesEXT.disabledValidationFeatureCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, validationFeaturesEXT.pDisabledValidationFeatures );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ValidationFlagsEXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::ValidationFlagsEXT const & validationFlagsEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, validationFlagsEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, validationFlagsEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, validationFlagsEXT.disabledValidationCheckCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, validationFlagsEXT.pDisabledValidationChecks );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription2EXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription2EXT const &
-+ vertexInputAttributeDescription2EXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, vertexInputAttributeDescription2EXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, vertexInputAttributeDescription2EXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, vertexInputAttributeDescription2EXT.location );
-+ VULKAN_HPP_HASH_COMBINE( seed, vertexInputAttributeDescription2EXT.binding );
-+ VULKAN_HPP_HASH_COMBINE( seed, vertexInputAttributeDescription2EXT.format );
-+ VULKAN_HPP_HASH_COMBINE( seed, vertexInputAttributeDescription2EXT.offset );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VertexInputBindingDescription2EXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VertexInputBindingDescription2EXT const &
-+ vertexInputBindingDescription2EXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, vertexInputBindingDescription2EXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, vertexInputBindingDescription2EXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, vertexInputBindingDescription2EXT.binding );
-+ VULKAN_HPP_HASH_COMBINE( seed, vertexInputBindingDescription2EXT.stride );
-+ VULKAN_HPP_HASH_COMBINE( seed, vertexInputBindingDescription2EXT.inputRate );
-+ VULKAN_HPP_HASH_COMBINE( seed, vertexInputBindingDescription2EXT.divisor );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_VI_NN )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN const & viSurfaceCreateInfoNN ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, viSurfaceCreateInfoNN.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, viSurfaceCreateInfoNN.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, viSurfaceCreateInfoNN.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, viSurfaceCreateInfoNN.window );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_VI_NN*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoPictureResourceKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoPictureResourceKHR const & videoPictureResourceKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoPictureResourceKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoPictureResourceKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoPictureResourceKHR.codedOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoPictureResourceKHR.codedExtent );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoPictureResourceKHR.baseArrayLayer );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoPictureResourceKHR.imageViewBinding );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoReferenceSlotKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::VideoReferenceSlotKHR const & videoReferenceSlotKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoReferenceSlotKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoReferenceSlotKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoReferenceSlotKHR.slotIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoReferenceSlotKHR.pPictureResource );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoBeginCodingInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoBeginCodingInfoKHR const & videoBeginCodingInfoKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoBeginCodingInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoBeginCodingInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoBeginCodingInfoKHR.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoBeginCodingInfoKHR.codecQualityPreset );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoBeginCodingInfoKHR.videoSession );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoBeginCodingInfoKHR.videoSessionParameters );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoBeginCodingInfoKHR.referenceSlotCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoBeginCodingInfoKHR.pReferenceSlots );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoBindMemoryKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::VideoBindMemoryKHR const & videoBindMemoryKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoBindMemoryKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoBindMemoryKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoBindMemoryKHR.memoryBindIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoBindMemoryKHR.memory );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoBindMemoryKHR.memoryOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoBindMemoryKHR.memorySize );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR const & videoCapabilitiesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoCapabilitiesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoCapabilitiesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoCapabilitiesKHR.capabilityFlags );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoCapabilitiesKHR.minBitstreamBufferOffsetAlignment );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoCapabilitiesKHR.minBitstreamBufferSizeAlignment );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoCapabilitiesKHR.videoPictureExtentGranularity );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoCapabilitiesKHR.minExtent );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoCapabilitiesKHR.maxExtent );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoCapabilitiesKHR.maxReferencePicturesSlotsCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoCapabilitiesKHR.maxReferencePicturesActiveCount );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoCodingControlInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoCodingControlInfoKHR const & videoCodingControlInfoKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoCodingControlInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoCodingControlInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoCodingControlInfoKHR.flags );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH264CapabilitiesEXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::VideoDecodeH264CapabilitiesEXT const & videoDecodeH264CapabilitiesEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264CapabilitiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264CapabilitiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264CapabilitiesEXT.maxLevel );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264CapabilitiesEXT.fieldOffsetGranularity );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264CapabilitiesEXT.stdExtensionVersion );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH264DpbSlotInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoDecodeH264DpbSlotInfoEXT const & videoDecodeH264DpbSlotInfoEXT )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264DpbSlotInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264DpbSlotInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264DpbSlotInfoEXT.pStdReferenceInfo );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH264MvcEXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::VideoDecodeH264MvcEXT const & videoDecodeH264MvcEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264MvcEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264MvcEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264MvcEXT.pStdMvc );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH264PictureInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoDecodeH264PictureInfoEXT const & videoDecodeH264PictureInfoEXT )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264PictureInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264PictureInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264PictureInfoEXT.pStdPictureInfo );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264PictureInfoEXT.slicesCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264PictureInfoEXT.pSlicesDataOffsets );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH264ProfileEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoDecodeH264ProfileEXT const & videoDecodeH264ProfileEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264ProfileEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264ProfileEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264ProfileEXT.stdProfileIdc );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264ProfileEXT.pictureLayout );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH264SessionCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoDecodeH264SessionCreateInfoEXT const &
-+ videoDecodeH264SessionCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionCreateInfoEXT.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionCreateInfoEXT.pStdExtensionVersion );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH264SessionParametersAddInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoDecodeH264SessionParametersAddInfoEXT const &
-+ videoDecodeH264SessionParametersAddInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionParametersAddInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionParametersAddInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionParametersAddInfoEXT.spsStdCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionParametersAddInfoEXT.pSpsStd );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionParametersAddInfoEXT.ppsStdCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionParametersAddInfoEXT.pPpsStd );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH264SessionParametersCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoDecodeH264SessionParametersCreateInfoEXT const &
-+ videoDecodeH264SessionParametersCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionParametersCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionParametersCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionParametersCreateInfoEXT.maxSpsStdCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionParametersCreateInfoEXT.maxPpsStdCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionParametersCreateInfoEXT.pParametersAddInfo );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH265CapabilitiesEXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::VideoDecodeH265CapabilitiesEXT const & videoDecodeH265CapabilitiesEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265CapabilitiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265CapabilitiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265CapabilitiesEXT.maxLevel );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265CapabilitiesEXT.stdExtensionVersion );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH265DpbSlotInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoDecodeH265DpbSlotInfoEXT const & videoDecodeH265DpbSlotInfoEXT )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265DpbSlotInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265DpbSlotInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265DpbSlotInfoEXT.pStdReferenceInfo );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH265PictureInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoDecodeH265PictureInfoEXT const & videoDecodeH265PictureInfoEXT )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265PictureInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265PictureInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265PictureInfoEXT.pStdPictureInfo );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265PictureInfoEXT.slicesCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265PictureInfoEXT.pSlicesDataOffsets );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH265ProfileEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoDecodeH265ProfileEXT const & videoDecodeH265ProfileEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265ProfileEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265ProfileEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265ProfileEXT.stdProfileIdc );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH265SessionCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoDecodeH265SessionCreateInfoEXT const &
-+ videoDecodeH265SessionCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionCreateInfoEXT.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionCreateInfoEXT.pStdExtensionVersion );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH265SessionParametersAddInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoDecodeH265SessionParametersAddInfoEXT const &
-+ videoDecodeH265SessionParametersAddInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionParametersAddInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionParametersAddInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionParametersAddInfoEXT.spsStdCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionParametersAddInfoEXT.pSpsStd );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionParametersAddInfoEXT.ppsStdCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionParametersAddInfoEXT.pPpsStd );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH265SessionParametersCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoDecodeH265SessionParametersCreateInfoEXT const &
-+ videoDecodeH265SessionParametersCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionParametersCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionParametersCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionParametersCreateInfoEXT.maxSpsStdCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionParametersCreateInfoEXT.maxPpsStdCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionParametersCreateInfoEXT.pParametersAddInfo );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeInfoKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::VideoDecodeInfoKHR const & videoDecodeInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.codedOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.codedExtent );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.srcBuffer );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.srcBufferOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.srcBufferRange );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.dstPictureResource );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.pSetupReferenceSlot );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.referenceSlotCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.pReferenceSlots );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264CapabilitiesEXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::VideoEncodeH264CapabilitiesEXT const & videoEncodeH264CapabilitiesEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.inputModeFlags );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.outputModeFlags );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.minPictureSizeInMbs );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.maxPictureSizeInMbs );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.inputImageDataAlignment );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.maxNumL0ReferenceForP );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.maxNumL0ReferenceForB );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.maxNumL1Reference );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.qualityLevelCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.stdExtensionVersion );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264DpbSlotInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoEncodeH264DpbSlotInfoEXT const & videoEncodeH264DpbSlotInfoEXT )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264DpbSlotInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264DpbSlotInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264DpbSlotInfoEXT.slotIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264DpbSlotInfoEXT.pStdPictureInfo );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264EmitPictureParametersEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoEncodeH264EmitPictureParametersEXT const &
-+ videoEncodeH264EmitPictureParametersEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264EmitPictureParametersEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264EmitPictureParametersEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264EmitPictureParametersEXT.spsId );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264EmitPictureParametersEXT.emitSpsEnable );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264EmitPictureParametersEXT.ppsIdEntryCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264EmitPictureParametersEXT.ppsIdEntries );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264FrameSizeEXT>
-+ {
-+ std::size_t operator()(
-+ VULKAN_HPP_NAMESPACE::VideoEncodeH264FrameSizeEXT const & videoEncodeH264FrameSizeEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264FrameSizeEXT.frameISize );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264FrameSizeEXT.framePSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264FrameSizeEXT.frameBSize );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264NaluSliceEXT>
-+ {
-+ std::size_t operator()(
-+ VULKAN_HPP_NAMESPACE::VideoEncodeH264NaluSliceEXT const & videoEncodeH264NaluSliceEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264NaluSliceEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264NaluSliceEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264NaluSliceEXT.pSliceHeaderStd );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264NaluSliceEXT.mbCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264NaluSliceEXT.refFinalList0EntryCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264NaluSliceEXT.pRefFinalList0Entries );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264NaluSliceEXT.refFinalList1EntryCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264NaluSliceEXT.pRefFinalList1Entries );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264ProfileEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoEncodeH264ProfileEXT const & videoEncodeH264ProfileEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264ProfileEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264ProfileEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264ProfileEXT.stdProfileIdc );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264QpEXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::VideoEncodeH264QpEXT const & videoEncodeH264QpEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264QpEXT.qpI );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264QpEXT.qpP );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264QpEXT.qpB );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264RateControlInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoEncodeH264RateControlInfoEXT const &
-+ videoEncodeH264RateControlInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlInfoEXT.gopFrameCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlInfoEXT.idrPeriod );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlInfoEXT.consecutiveBFrameCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlInfoEXT.rateControlStructure );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264RateControlLayerInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoEncodeH264RateControlLayerInfoEXT const &
-+ videoEncodeH264RateControlLayerInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlLayerInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlLayerInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlLayerInfoEXT.temporalLayerId );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlLayerInfoEXT.useInitialRcQp );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlLayerInfoEXT.initialRcQp );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlLayerInfoEXT.useMinQp );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlLayerInfoEXT.minQp );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlLayerInfoEXT.useMaxQp );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlLayerInfoEXT.maxQp );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlLayerInfoEXT.useMaxFrameSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlLayerInfoEXT.maxFrameSize );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264SessionCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoEncodeH264SessionCreateInfoEXT const &
-+ videoEncodeH264SessionCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionCreateInfoEXT.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionCreateInfoEXT.maxPictureSizeInMbs );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionCreateInfoEXT.pStdExtensionVersion );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264SessionParametersAddInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoEncodeH264SessionParametersAddInfoEXT const &
-+ videoEncodeH264SessionParametersAddInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionParametersAddInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionParametersAddInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionParametersAddInfoEXT.spsStdCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionParametersAddInfoEXT.pSpsStd );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionParametersAddInfoEXT.ppsStdCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionParametersAddInfoEXT.pPpsStd );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264SessionParametersCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoEncodeH264SessionParametersCreateInfoEXT const &
-+ videoEncodeH264SessionParametersCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionParametersCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionParametersCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionParametersCreateInfoEXT.maxSpsStdCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionParametersCreateInfoEXT.maxPpsStdCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionParametersCreateInfoEXT.pParametersAddInfo );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264VclFrameInfoEXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::VideoEncodeH264VclFrameInfoEXT const & videoEncodeH264VclFrameInfoEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264VclFrameInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264VclFrameInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264VclFrameInfoEXT.refDefaultFinalList0EntryCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264VclFrameInfoEXT.pRefDefaultFinalList0Entries );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264VclFrameInfoEXT.refDefaultFinalList1EntryCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264VclFrameInfoEXT.pRefDefaultFinalList1Entries );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264VclFrameInfoEXT.naluSliceEntryCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264VclFrameInfoEXT.pNaluSliceEntries );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264VclFrameInfoEXT.pCurrentPictureInfo );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265CapabilitiesEXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::VideoEncodeH265CapabilitiesEXT const & videoEncodeH265CapabilitiesEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.inputModeFlags );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.outputModeFlags );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.ctbSizes );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.inputImageDataAlignment );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.maxNumL0ReferenceForP );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.maxNumL0ReferenceForB );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.maxNumL1Reference );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.maxNumSubLayers );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.qualityLevelCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.stdExtensionVersion );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265DpbSlotInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoEncodeH265DpbSlotInfoEXT const & videoEncodeH265DpbSlotInfoEXT )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265DpbSlotInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265DpbSlotInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265DpbSlotInfoEXT.slotIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265DpbSlotInfoEXT.pStdReferenceInfo );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265EmitPictureParametersEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoEncodeH265EmitPictureParametersEXT const &
-+ videoEncodeH265EmitPictureParametersEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265EmitPictureParametersEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265EmitPictureParametersEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265EmitPictureParametersEXT.vpsId );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265EmitPictureParametersEXT.spsId );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265EmitPictureParametersEXT.emitVpsEnable );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265EmitPictureParametersEXT.emitSpsEnable );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265EmitPictureParametersEXT.ppsIdEntryCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265EmitPictureParametersEXT.ppsIdEntries );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265FrameSizeEXT>
-+ {
-+ std::size_t operator()(
-+ VULKAN_HPP_NAMESPACE::VideoEncodeH265FrameSizeEXT const & videoEncodeH265FrameSizeEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265FrameSizeEXT.frameISize );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265FrameSizeEXT.framePSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265FrameSizeEXT.frameBSize );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265ReferenceListsEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoEncodeH265ReferenceListsEXT const &
-+ videoEncodeH265ReferenceListsEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265ReferenceListsEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265ReferenceListsEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265ReferenceListsEXT.referenceList0EntryCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265ReferenceListsEXT.pReferenceList0Entries );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265ReferenceListsEXT.referenceList1EntryCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265ReferenceListsEXT.pReferenceList1Entries );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265ReferenceListsEXT.pReferenceModifications );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265NaluSliceEXT>
-+ {
-+ std::size_t operator()(
-+ VULKAN_HPP_NAMESPACE::VideoEncodeH265NaluSliceEXT const & videoEncodeH265NaluSliceEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265NaluSliceEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265NaluSliceEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265NaluSliceEXT.ctbCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265NaluSliceEXT.pReferenceFinalLists );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265NaluSliceEXT.pSliceHeaderStd );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265ProfileEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoEncodeH265ProfileEXT const & videoEncodeH265ProfileEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265ProfileEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265ProfileEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265ProfileEXT.stdProfileIdc );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265QpEXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::VideoEncodeH265QpEXT const & videoEncodeH265QpEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265QpEXT.qpI );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265QpEXT.qpP );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265QpEXT.qpB );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265RateControlInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoEncodeH265RateControlInfoEXT const &
-+ videoEncodeH265RateControlInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlInfoEXT.gopFrameCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlInfoEXT.idrPeriod );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlInfoEXT.consecutiveBFrameCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlInfoEXT.rateControlStructure );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265RateControlLayerInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoEncodeH265RateControlLayerInfoEXT const &
-+ videoEncodeH265RateControlLayerInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlLayerInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlLayerInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlLayerInfoEXT.temporalId );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlLayerInfoEXT.useInitialRcQp );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlLayerInfoEXT.initialRcQp );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlLayerInfoEXT.useMinQp );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlLayerInfoEXT.minQp );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlLayerInfoEXT.useMaxQp );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlLayerInfoEXT.maxQp );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlLayerInfoEXT.useMaxFrameSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlLayerInfoEXT.maxFrameSize );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265SessionCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoEncodeH265SessionCreateInfoEXT const &
-+ videoEncodeH265SessionCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionCreateInfoEXT.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionCreateInfoEXT.pStdExtensionVersion );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265SessionParametersAddInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoEncodeH265SessionParametersAddInfoEXT const &
-+ videoEncodeH265SessionParametersAddInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersAddInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersAddInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersAddInfoEXT.vpsStdCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersAddInfoEXT.pVpsStd );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersAddInfoEXT.spsStdCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersAddInfoEXT.pSpsStd );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersAddInfoEXT.ppsStdCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersAddInfoEXT.pPpsStd );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265SessionParametersCreateInfoEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoEncodeH265SessionParametersCreateInfoEXT const &
-+ videoEncodeH265SessionParametersCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersCreateInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersCreateInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersCreateInfoEXT.maxVpsStdCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersCreateInfoEXT.maxSpsStdCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersCreateInfoEXT.maxPpsStdCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersCreateInfoEXT.pParametersAddInfo );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265VclFrameInfoEXT>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::VideoEncodeH265VclFrameInfoEXT const & videoEncodeH265VclFrameInfoEXT ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265VclFrameInfoEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265VclFrameInfoEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265VclFrameInfoEXT.pReferenceFinalLists );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265VclFrameInfoEXT.naluSliceEntryCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265VclFrameInfoEXT.pNaluSliceEntries );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265VclFrameInfoEXT.pCurrentPictureInfo );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeInfoKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::VideoEncodeInfoKHR const & videoEncodeInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.qualityLevel );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.codedExtent );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.dstBitstreamBuffer );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.dstBitstreamBufferOffset );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.dstBitstreamBufferMaxRange );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.srcPictureResource );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.pSetupReferenceSlot );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.referenceSlotCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.pReferenceSlots );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.precedingExternallyEncodedBytes );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeRateControlLayerInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoEncodeRateControlLayerInfoKHR const &
-+ videoEncodeRateControlLayerInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlLayerInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlLayerInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlLayerInfoKHR.averageBitrate );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlLayerInfoKHR.maxBitrate );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlLayerInfoKHR.frameRateNumerator );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlLayerInfoKHR.frameRateDenominator );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlLayerInfoKHR.virtualBufferSizeInMs );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlLayerInfoKHR.initialVirtualBufferSizeInMs );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeRateControlInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoEncodeRateControlInfoKHR const & videoEncodeRateControlInfoKHR )
-+ const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlInfoKHR.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlInfoKHR.rateControlMode );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlInfoKHR.layerCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlInfoKHR.pLayerConfigs );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoEndCodingInfoKHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::VideoEndCodingInfoKHR const & videoEndCodingInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEndCodingInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEndCodingInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoEndCodingInfoKHR.flags );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR const & videoFormatPropertiesKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.format );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoGetMemoryPropertiesKHR>
-+ {
-+ std::size_t operator()(
-+ VULKAN_HPP_NAMESPACE::VideoGetMemoryPropertiesKHR const & videoGetMemoryPropertiesKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoGetMemoryPropertiesKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoGetMemoryPropertiesKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoGetMemoryPropertiesKHR.memoryBindIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoGetMemoryPropertiesKHR.pMemoryRequirements );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoQueueFamilyProperties2KHR>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::VideoQueueFamilyProperties2KHR const & videoQueueFamilyProperties2KHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoQueueFamilyProperties2KHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoQueueFamilyProperties2KHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoQueueFamilyProperties2KHR.videoCodecOperations );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoSessionCreateInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoSessionCreateInfoKHR const & videoSessionCreateInfoKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoSessionCreateInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoSessionCreateInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoSessionCreateInfoKHR.queueFamilyIndex );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoSessionCreateInfoKHR.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoSessionCreateInfoKHR.pVideoProfile );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoSessionCreateInfoKHR.pictureFormat );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoSessionCreateInfoKHR.maxCodedExtent );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoSessionCreateInfoKHR.referencePicturesFormat );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoSessionCreateInfoKHR.maxReferencePicturesSlotsCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoSessionCreateInfoKHR.maxReferencePicturesActiveCount );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateInfoKHR const &
-+ videoSessionParametersCreateInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoSessionParametersCreateInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoSessionParametersCreateInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoSessionParametersCreateInfoKHR.videoSessionParametersTemplate );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoSessionParametersCreateInfoKHR.videoSession );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_ENABLE_BETA_EXTENSIONS )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::VideoSessionParametersUpdateInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoSessionParametersUpdateInfoKHR const &
-+ videoSessionParametersUpdateInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, videoSessionParametersUpdateInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoSessionParametersUpdateInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, videoSessionParametersUpdateInfoKHR.updateSequenceCount );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_ENABLE_BETA_EXTENSIONS*/
-+
-+# if defined( VK_USE_PLATFORM_WAYLAND_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR>
-+ {
-+ std::size_t operator()(
-+ VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR const & waylandSurfaceCreateInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, waylandSurfaceCreateInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, waylandSurfaceCreateInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, waylandSurfaceCreateInfoKHR.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, waylandSurfaceCreateInfoKHR.display );
-+ VULKAN_HPP_HASH_COMBINE( seed, waylandSurfaceCreateInfoKHR.surface );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
-+
-+# if defined( VK_USE_PLATFORM_WIN32_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::Win32KeyedMutexAcquireReleaseInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::Win32KeyedMutexAcquireReleaseInfoKHR const &
-+ win32KeyedMutexAcquireReleaseInfoKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoKHR.acquireCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoKHR.pAcquireSyncs );
-+ VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoKHR.pAcquireKeys );
-+ VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoKHR.pAcquireTimeouts );
-+ VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoKHR.releaseCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoKHR.pReleaseSyncs );
-+ VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoKHR.pReleaseKeys );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_WIN32_KHR*/
-+
-+# if defined( VK_USE_PLATFORM_WIN32_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::Win32KeyedMutexAcquireReleaseInfoNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::Win32KeyedMutexAcquireReleaseInfoNV const &
-+ win32KeyedMutexAcquireReleaseInfoNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoNV.acquireCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoNV.pAcquireSyncs );
-+ VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoNV.pAcquireKeys );
-+ VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoNV.pAcquireTimeoutMilliseconds );
-+ VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoNV.releaseCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoNV.pReleaseSyncs );
-+ VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoNV.pReleaseKeys );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_WIN32_KHR*/
-+
-+# if defined( VK_USE_PLATFORM_WIN32_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR const & win32SurfaceCreateInfoKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, win32SurfaceCreateInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, win32SurfaceCreateInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, win32SurfaceCreateInfoKHR.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, win32SurfaceCreateInfoKHR.hinstance );
-+ VULKAN_HPP_HASH_COMBINE( seed, win32SurfaceCreateInfoKHR.hwnd );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_WIN32_KHR*/
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::WriteDescriptorSet>
-+ {
-+ std::size_t
-+ operator()( VULKAN_HPP_NAMESPACE::WriteDescriptorSet const & writeDescriptorSet ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSet.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSet.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSet.dstSet );
-+ VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSet.dstBinding );
-+ VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSet.dstArrayElement );
-+ VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSet.descriptorCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSet.descriptorType );
-+ VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSet.pImageInfo );
-+ VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSet.pBufferInfo );
-+ VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSet.pTexelBufferView );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::WriteDescriptorSetAccelerationStructureKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::WriteDescriptorSetAccelerationStructureKHR const &
-+ writeDescriptorSetAccelerationStructureKHR ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSetAccelerationStructureKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSetAccelerationStructureKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSetAccelerationStructureKHR.accelerationStructureCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSetAccelerationStructureKHR.pAccelerationStructures );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::WriteDescriptorSetAccelerationStructureNV>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::WriteDescriptorSetAccelerationStructureNV const &
-+ writeDescriptorSetAccelerationStructureNV ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSetAccelerationStructureNV.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSetAccelerationStructureNV.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSetAccelerationStructureNV.accelerationStructureCount );
-+ VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSetAccelerationStructureNV.pAccelerationStructures );
-+ return seed;
-+ }
-+ };
-+
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::WriteDescriptorSetInlineUniformBlockEXT>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::WriteDescriptorSetInlineUniformBlockEXT const &
-+ writeDescriptorSetInlineUniformBlockEXT ) const VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSetInlineUniformBlockEXT.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSetInlineUniformBlockEXT.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSetInlineUniformBlockEXT.dataSize );
-+ VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSetInlineUniformBlockEXT.pData );
-+ return seed;
-+ }
-+ };
-+
-+# if defined( VK_USE_PLATFORM_XCB_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR const & xcbSurfaceCreateInfoKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, xcbSurfaceCreateInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, xcbSurfaceCreateInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, xcbSurfaceCreateInfoKHR.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, xcbSurfaceCreateInfoKHR.connection );
-+ VULKAN_HPP_HASH_COMBINE( seed, xcbSurfaceCreateInfoKHR.window );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_XCB_KHR*/
-+
-+# if defined( VK_USE_PLATFORM_XLIB_KHR )
-+ template <>
-+ struct hash<VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR>
-+ {
-+ std::size_t operator()( VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR const & xlibSurfaceCreateInfoKHR ) const
-+ VULKAN_HPP_NOEXCEPT
-+ {
-+ std::size_t seed = 0;
-+ VULKAN_HPP_HASH_COMBINE( seed, xlibSurfaceCreateInfoKHR.sType );
-+ VULKAN_HPP_HASH_COMBINE( seed, xlibSurfaceCreateInfoKHR.pNext );
-+ VULKAN_HPP_HASH_COMBINE( seed, xlibSurfaceCreateInfoKHR.flags );
-+ VULKAN_HPP_HASH_COMBINE( seed, xlibSurfaceCreateInfoKHR.dpy );
-+ VULKAN_HPP_HASH_COMBINE( seed, xlibSurfaceCreateInfoKHR.window );
-+ return seed;
-+ }
-+ };
-+# endif /*VK_USE_PLATFORM_XLIB_KHR*/
-+
-+#endif // 14 <= VULKAN_HPP_CPP_VERSION
-+
-+} // namespace std
-+#endif // VULKAN_HASH_HPP
---- include/vulkan/vulkan_structs.hpp.orig 2021-12-07 09:36:34 UTC
-+++ include/vulkan/vulkan_structs.hpp
-@@ -127,26 +127,6 @@ namespace VULKAN_HPP_NAMESPACE
- "AabbPositionsKHR is not nothrow_move_constructible!" );
- using AabbPositionsNV = AabbPositionsKHR;
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AabbPositionsKHR>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::AabbPositionsKHR const & aabbPositionsKHR ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( float, seed, aabbPositionsKHR.minX );
-- VULKAN_HPP_HASH_COMBINE( float, seed, aabbPositionsKHR.minY );
-- VULKAN_HPP_HASH_COMBINE( float, seed, aabbPositionsKHR.minZ );
-- VULKAN_HPP_HASH_COMBINE( float, seed, aabbPositionsKHR.maxX );
-- VULKAN_HPP_HASH_COMBINE( float, seed, aabbPositionsKHR.maxY );
-- VULKAN_HPP_HASH_COMBINE( float, seed, aabbPositionsKHR.maxZ );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- union DeviceOrHostAddressConstKHR
- {
- using NativeType = VkDeviceOrHostAddressConstKHR;
-@@ -1050,25 +1030,6 @@ namespace VULKAN_HPP_NAMESPACE
- std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR>::value,
- "AccelerationStructureBuildRangeInfoKHR is not nothrow_move_constructible!" );
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR const &
-- accelerationStructureBuildRangeInfoKHR ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, accelerationStructureBuildRangeInfoKHR.primitiveCount );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, accelerationStructureBuildRangeInfoKHR.primitiveOffset );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, accelerationStructureBuildRangeInfoKHR.firstVertex );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, accelerationStructureBuildRangeInfoKHR.transformOffset );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct AccelerationStructureBuildSizesInfoKHR
- {
- using NativeType = VkAccelerationStructureBuildSizesInfoKHR;
-@@ -1184,29 +1145,6 @@ namespace VULKAN_HPP_NAMESPACE
- using Type = AccelerationStructureBuildSizesInfoKHR;
- };
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR const &
-- accelerationStructureBuildSizesInfoKHR ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::StructureType, seed, accelerationStructureBuildSizesInfoKHR.sType );
-- VULKAN_HPP_HASH_COMBINE( const void *, seed, accelerationStructureBuildSizesInfoKHR.pNext );
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::DeviceSize, seed, accelerationStructureBuildSizesInfoKHR.accelerationStructureSize );
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::DeviceSize, seed, accelerationStructureBuildSizesInfoKHR.updateScratchSize );
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::DeviceSize, seed, accelerationStructureBuildSizesInfoKHR.buildScratchSize );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct AccelerationStructureCreateInfoKHR
- {
- using NativeType = VkAccelerationStructureCreateInfoKHR;
-@@ -1352,32 +1290,6 @@ namespace VULKAN_HPP_NAMESPACE
- using Type = AccelerationStructureCreateInfoKHR;
- };
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR const &
-- accelerationStructureCreateInfoKHR ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::StructureType, seed, accelerationStructureCreateInfoKHR.sType );
-- VULKAN_HPP_HASH_COMBINE( const void *, seed, accelerationStructureCreateInfoKHR.pNext );
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::AccelerationStructureCreateFlagsKHR, seed, accelerationStructureCreateInfoKHR.createFlags );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::Buffer, seed, accelerationStructureCreateInfoKHR.buffer );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::DeviceSize, seed, accelerationStructureCreateInfoKHR.offset );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::DeviceSize, seed, accelerationStructureCreateInfoKHR.size );
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR, seed, accelerationStructureCreateInfoKHR.type );
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::DeviceAddress, seed, accelerationStructureCreateInfoKHR.deviceAddress );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct GeometryTrianglesNV
- {
- using NativeType = VkGeometryTrianglesNV;
-@@ -1566,34 +1478,6 @@ namespace VULKAN_HPP_NAMESPACE
- using Type = GeometryTrianglesNV;
- };
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::GeometryTrianglesNV>
--{
-- std::size_t
-- operator()( VULKAN_HPP_NAMESPACE::GeometryTrianglesNV const & geometryTrianglesNV ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::StructureType, seed, geometryTrianglesNV.sType );
-- VULKAN_HPP_HASH_COMBINE( const void *, seed, geometryTrianglesNV.pNext );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::Buffer, seed, geometryTrianglesNV.vertexData );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::DeviceSize, seed, geometryTrianglesNV.vertexOffset );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, geometryTrianglesNV.vertexCount );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::DeviceSize, seed, geometryTrianglesNV.vertexStride );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::Format, seed, geometryTrianglesNV.vertexFormat );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::Buffer, seed, geometryTrianglesNV.indexData );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::DeviceSize, seed, geometryTrianglesNV.indexOffset );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, geometryTrianglesNV.indexCount );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::IndexType, seed, geometryTrianglesNV.indexType );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::Buffer, seed, geometryTrianglesNV.transformData );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::DeviceSize, seed, geometryTrianglesNV.transformOffset );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct GeometryAABBNV
- {
- using NativeType = VkGeometryAABBNV;
-@@ -1705,26 +1589,6 @@ namespace VULKAN_HPP_NAMESPACE
- using Type = GeometryAABBNV;
- };
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::GeometryAABBNV>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::GeometryAABBNV const & geometryAABBNV ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::StructureType, seed, geometryAABBNV.sType );
-- VULKAN_HPP_HASH_COMBINE( const void *, seed, geometryAABBNV.pNext );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::Buffer, seed, geometryAABBNV.aabbData );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, geometryAABBNV.numAABBs );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, geometryAABBNV.stride );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::DeviceSize, seed, geometryAABBNV.offset );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct GeometryDataNV
- {
- using NativeType = VkGeometryDataNV;
-@@ -1802,22 +1666,6 @@ namespace VULKAN_HPP_NAMESPACE
- VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::GeometryDataNV>::value,
- "GeometryDataNV is not nothrow_move_constructible!" );
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::GeometryDataNV>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::GeometryDataNV const & geometryDataNV ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::GeometryTrianglesNV, seed, geometryDataNV.triangles );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::GeometryAABBNV, seed, geometryDataNV.aabbs );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct GeometryNV
- {
- using NativeType = VkGeometryNV;
-@@ -1923,25 +1771,6 @@ namespace VULKAN_HPP_NAMESPACE
- using Type = GeometryNV;
- };
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::GeometryNV>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::GeometryNV const & geometryNV ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::StructureType, seed, geometryNV.sType );
-- VULKAN_HPP_HASH_COMBINE( const void *, seed, geometryNV.pNext );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::GeometryTypeKHR, seed, geometryNV.geometryType );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::GeometryDataNV, seed, geometryNV.geometry );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::GeometryFlagsKHR, seed, geometryNV.flags );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct AccelerationStructureInfoNV
- {
- using NativeType = VkAccelerationStructureInfoNV;
-@@ -2097,30 +1926,6 @@ namespace VULKAN_HPP_NAMESPACE
- using Type = AccelerationStructureInfoNV;
- };
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV const & accelerationStructureInfoNV ) const
-- VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::StructureType, seed, accelerationStructureInfoNV.sType );
-- VULKAN_HPP_HASH_COMBINE( const void *, seed, accelerationStructureInfoNV.pNext );
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::AccelerationStructureTypeNV, seed, accelerationStructureInfoNV.type );
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsNV, seed, accelerationStructureInfoNV.flags );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, accelerationStructureInfoNV.instanceCount );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, accelerationStructureInfoNV.geometryCount );
-- VULKAN_HPP_HASH_COMBINE( const VULKAN_HPP_NAMESPACE::GeometryNV *, seed, accelerationStructureInfoNV.pGeometries );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct AccelerationStructureCreateInfoNV
- {
- using NativeType = VkAccelerationStructureCreateInfoNV;
-@@ -2222,26 +2027,6 @@ namespace VULKAN_HPP_NAMESPACE
- using Type = AccelerationStructureCreateInfoNV;
- };
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV const &
-- accelerationStructureCreateInfoNV ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::StructureType, seed, accelerationStructureCreateInfoNV.sType );
-- VULKAN_HPP_HASH_COMBINE( const void *, seed, accelerationStructureCreateInfoNV.pNext );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::DeviceSize, seed, accelerationStructureCreateInfoNV.compactedSize );
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV, seed, accelerationStructureCreateInfoNV.info );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct AccelerationStructureDeviceAddressInfoKHR
- {
- using NativeType = VkAccelerationStructureDeviceAddressInfoKHR;
-@@ -2337,27 +2122,6 @@ namespace VULKAN_HPP_NAMESPACE
- using Type = AccelerationStructureDeviceAddressInfoKHR;
- };
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AccelerationStructureDeviceAddressInfoKHR>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureDeviceAddressInfoKHR const &
-- accelerationStructureDeviceAddressInfoKHR ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::StructureType, seed, accelerationStructureDeviceAddressInfoKHR.sType );
-- VULKAN_HPP_HASH_COMBINE( const void *, seed, accelerationStructureDeviceAddressInfoKHR.pNext );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR,
-- seed,
-- accelerationStructureDeviceAddressInfoKHR.accelerationStructure );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct AccelerationStructureGeometryMotionTrianglesDataNV
- {
- using NativeType = VkAccelerationStructureGeometryMotionTrianglesDataNV;
-@@ -2509,28 +2273,6 @@ namespace VULKAN_HPP_NAMESPACE
- "TransformMatrixKHR is not nothrow_move_constructible!" );
- using TransformMatrixNV = TransformMatrixKHR;
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::TransformMatrixKHR>
--{
-- std::size_t
-- operator()( VULKAN_HPP_NAMESPACE::TransformMatrixKHR const & transformMatrixKHR ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- for ( size_t i = 0; i < 3; ++i )
-- {
-- for ( size_t j = 0; j < 4; ++j )
-- {
-- VULKAN_HPP_HASH_COMBINE( float, seed, transformMatrixKHR.matrix[i][j] );
-- }
-- }
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct AccelerationStructureInstanceKHR
- {
- using NativeType = VkAccelerationStructureInstanceKHR;
-@@ -2656,29 +2398,6 @@ namespace VULKAN_HPP_NAMESPACE
- "AccelerationStructureInstanceKHR is not nothrow_move_constructible!" );
- using AccelerationStructureInstanceNV = AccelerationStructureInstanceKHR;
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AccelerationStructureInstanceKHR>
--{
-- std::size_t
-- operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureInstanceKHR const & accelerationStructureInstanceKHR ) const
-- VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::TransformMatrixKHR, seed, accelerationStructureInstanceKHR.transform );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, accelerationStructureInstanceKHR.instanceCustomIndex );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, accelerationStructureInstanceKHR.mask );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, accelerationStructureInstanceKHR.instanceShaderBindingTableRecordOffset );
-- VULKAN_HPP_HASH_COMBINE( VkGeometryInstanceFlagsKHR, seed, accelerationStructureInstanceKHR.flags );
-- VULKAN_HPP_HASH_COMBINE( uint64_t, seed, accelerationStructureInstanceKHR.accelerationStructureReference );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct AccelerationStructureMatrixMotionInstanceNV
- {
- using NativeType = VkAccelerationStructureMatrixMotionInstanceNV;
-@@ -2817,32 +2536,6 @@ namespace VULKAN_HPP_NAMESPACE
- std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::AccelerationStructureMatrixMotionInstanceNV>::value,
- "AccelerationStructureMatrixMotionInstanceNV is not nothrow_move_constructible!" );
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AccelerationStructureMatrixMotionInstanceNV>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureMatrixMotionInstanceNV const &
-- accelerationStructureMatrixMotionInstanceNV ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::TransformMatrixKHR, seed, accelerationStructureMatrixMotionInstanceNV.transformT0 );
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::TransformMatrixKHR, seed, accelerationStructureMatrixMotionInstanceNV.transformT1 );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, accelerationStructureMatrixMotionInstanceNV.instanceCustomIndex );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, accelerationStructureMatrixMotionInstanceNV.mask );
-- VULKAN_HPP_HASH_COMBINE(
-- uint32_t, seed, accelerationStructureMatrixMotionInstanceNV.instanceShaderBindingTableRecordOffset );
-- VULKAN_HPP_HASH_COMBINE( VkGeometryInstanceFlagsKHR, seed, accelerationStructureMatrixMotionInstanceNV.flags );
-- VULKAN_HPP_HASH_COMBINE(
-- uint64_t, seed, accelerationStructureMatrixMotionInstanceNV.accelerationStructureReference );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct AccelerationStructureMemoryRequirementsInfoNV
- {
- using NativeType = VkAccelerationStructureMemoryRequirementsInfoNV;
-@@ -2951,30 +2644,6 @@ namespace VULKAN_HPP_NAMESPACE
- using Type = AccelerationStructureMemoryRequirementsInfoNV;
- };
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV const &
-- accelerationStructureMemoryRequirementsInfoNV ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::StructureType, seed, accelerationStructureMemoryRequirementsInfoNV.sType );
-- VULKAN_HPP_HASH_COMBINE( const void *, seed, accelerationStructureMemoryRequirementsInfoNV.pNext );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsTypeNV,
-- seed,
-- accelerationStructureMemoryRequirementsInfoNV.type );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::AccelerationStructureNV,
-- seed,
-- accelerationStructureMemoryRequirementsInfoNV.accelerationStructure );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct AccelerationStructureMotionInfoNV
- {
- using NativeType = VkAccelerationStructureMotionInfoNV;
-@@ -3076,26 +2745,6 @@ namespace VULKAN_HPP_NAMESPACE
- using Type = AccelerationStructureMotionInfoNV;
- };
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AccelerationStructureMotionInfoNV>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureMotionInfoNV const &
-- accelerationStructureMotionInfoNV ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::StructureType, seed, accelerationStructureMotionInfoNV.sType );
-- VULKAN_HPP_HASH_COMBINE( const void *, seed, accelerationStructureMotionInfoNV.pNext );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, accelerationStructureMotionInfoNV.maxInstances );
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::AccelerationStructureMotionInfoFlagsNV, seed, accelerationStructureMotionInfoNV.flags );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct SRTDataNV
- {
- using NativeType = VkSRTDataNV;
-@@ -3299,36 +2948,6 @@ namespace VULKAN_HPP_NAMESPACE
- VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::SRTDataNV>::value,
- "SRTDataNV is not nothrow_move_constructible!" );
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::SRTDataNV>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::SRTDataNV const & sRTDataNV ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( float, seed, sRTDataNV.sx );
-- VULKAN_HPP_HASH_COMBINE( float, seed, sRTDataNV.a );
-- VULKAN_HPP_HASH_COMBINE( float, seed, sRTDataNV.b );
-- VULKAN_HPP_HASH_COMBINE( float, seed, sRTDataNV.pvx );
-- VULKAN_HPP_HASH_COMBINE( float, seed, sRTDataNV.sy );
-- VULKAN_HPP_HASH_COMBINE( float, seed, sRTDataNV.c );
-- VULKAN_HPP_HASH_COMBINE( float, seed, sRTDataNV.pvy );
-- VULKAN_HPP_HASH_COMBINE( float, seed, sRTDataNV.sz );
-- VULKAN_HPP_HASH_COMBINE( float, seed, sRTDataNV.pvz );
-- VULKAN_HPP_HASH_COMBINE( float, seed, sRTDataNV.qx );
-- VULKAN_HPP_HASH_COMBINE( float, seed, sRTDataNV.qy );
-- VULKAN_HPP_HASH_COMBINE( float, seed, sRTDataNV.qz );
-- VULKAN_HPP_HASH_COMBINE( float, seed, sRTDataNV.qw );
-- VULKAN_HPP_HASH_COMBINE( float, seed, sRTDataNV.tx );
-- VULKAN_HPP_HASH_COMBINE( float, seed, sRTDataNV.ty );
-- VULKAN_HPP_HASH_COMBINE( float, seed, sRTDataNV.tz );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct AccelerationStructureSRTMotionInstanceNV
- {
- using NativeType = VkAccelerationStructureSRTMotionInstanceNV;
-@@ -3467,31 +3086,6 @@ namespace VULKAN_HPP_NAMESPACE
- std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::AccelerationStructureSRTMotionInstanceNV>::value,
- "AccelerationStructureSRTMotionInstanceNV is not nothrow_move_constructible!" );
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AccelerationStructureSRTMotionInstanceNV>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureSRTMotionInstanceNV const &
-- accelerationStructureSRTMotionInstanceNV ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::SRTDataNV, seed, accelerationStructureSRTMotionInstanceNV.transformT0 );
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::SRTDataNV, seed, accelerationStructureSRTMotionInstanceNV.transformT1 );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, accelerationStructureSRTMotionInstanceNV.instanceCustomIndex );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, accelerationStructureSRTMotionInstanceNV.mask );
-- VULKAN_HPP_HASH_COMBINE(
-- uint32_t, seed, accelerationStructureSRTMotionInstanceNV.instanceShaderBindingTableRecordOffset );
-- VULKAN_HPP_HASH_COMBINE( VkGeometryInstanceFlagsKHR, seed, accelerationStructureSRTMotionInstanceNV.flags );
-- VULKAN_HPP_HASH_COMBINE( uint64_t, seed, accelerationStructureSRTMotionInstanceNV.accelerationStructureReference );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- union AccelerationStructureMotionInstanceDataNV
- {
- using NativeType = VkAccelerationStructureMotionInstanceDataNV;
-@@ -3730,24 +3324,6 @@ namespace VULKAN_HPP_NAMESPACE
- using Type = AccelerationStructureVersionInfoKHR;
- };
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AccelerationStructureVersionInfoKHR>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureVersionInfoKHR const &
-- accelerationStructureVersionInfoKHR ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::StructureType, seed, accelerationStructureVersionInfoKHR.sType );
-- VULKAN_HPP_HASH_COMBINE( const void *, seed, accelerationStructureVersionInfoKHR.pNext );
-- VULKAN_HPP_HASH_COMBINE( const uint8_t *, seed, accelerationStructureVersionInfoKHR.pVersionData );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct AcquireNextImageInfoKHR
- {
- using NativeType = VkAcquireNextImageInfoKHR;
-@@ -3872,28 +3448,6 @@ namespace VULKAN_HPP_NAMESPACE
- using Type = AcquireNextImageInfoKHR;
- };
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR const & acquireNextImageInfoKHR ) const
-- VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::StructureType, seed, acquireNextImageInfoKHR.sType );
-- VULKAN_HPP_HASH_COMBINE( const void *, seed, acquireNextImageInfoKHR.pNext );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::SwapchainKHR, seed, acquireNextImageInfoKHR.swapchain );
-- VULKAN_HPP_HASH_COMBINE( uint64_t, seed, acquireNextImageInfoKHR.timeout );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::Semaphore, seed, acquireNextImageInfoKHR.semaphore );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::Fence, seed, acquireNextImageInfoKHR.fence );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, acquireNextImageInfoKHR.deviceMask );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct AcquireProfilingLockInfoKHR
- {
- using NativeType = VkAcquireProfilingLockInfoKHR;
-@@ -3990,26 +3544,6 @@ namespace VULKAN_HPP_NAMESPACE
- using Type = AcquireProfilingLockInfoKHR;
- };
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AcquireProfilingLockInfoKHR>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::AcquireProfilingLockInfoKHR const & acquireProfilingLockInfoKHR ) const
-- VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::StructureType, seed, acquireProfilingLockInfoKHR.sType );
-- VULKAN_HPP_HASH_COMBINE( const void *, seed, acquireProfilingLockInfoKHR.pNext );
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::AcquireProfilingLockFlagsKHR, seed, acquireProfilingLockInfoKHR.flags );
-- VULKAN_HPP_HASH_COMBINE( uint64_t, seed, acquireProfilingLockInfoKHR.timeout );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct AllocationCallbacks
- {
- using NativeType = VkAllocationCallbacks;
-@@ -4127,27 +3661,6 @@ namespace VULKAN_HPP_NAMESPACE
- VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::AllocationCallbacks>::value,
- "AllocationCallbacks is not nothrow_move_constructible!" );
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AllocationCallbacks>
--{
-- std::size_t
-- operator()( VULKAN_HPP_NAMESPACE::AllocationCallbacks const & allocationCallbacks ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( void *, seed, allocationCallbacks.pUserData );
-- VULKAN_HPP_HASH_COMBINE( PFN_vkAllocationFunction, seed, allocationCallbacks.pfnAllocation );
-- VULKAN_HPP_HASH_COMBINE( PFN_vkReallocationFunction, seed, allocationCallbacks.pfnReallocation );
-- VULKAN_HPP_HASH_COMBINE( PFN_vkFreeFunction, seed, allocationCallbacks.pfnFree );
-- VULKAN_HPP_HASH_COMBINE( PFN_vkInternalAllocationNotification, seed, allocationCallbacks.pfnInternalAllocation );
-- VULKAN_HPP_HASH_COMBINE( PFN_vkInternalFreeNotification, seed, allocationCallbacks.pfnInternalFree );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct ComponentMapping
- {
- using NativeType = VkComponentMapping;
-@@ -4243,24 +3756,6 @@ namespace VULKAN_HPP_NAMESPACE
- VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::ComponentMapping>::value,
- "ComponentMapping is not nothrow_move_constructible!" );
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::ComponentMapping>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::ComponentMapping const & componentMapping ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::ComponentSwizzle, seed, componentMapping.r );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::ComponentSwizzle, seed, componentMapping.g );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::ComponentSwizzle, seed, componentMapping.b );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::ComponentSwizzle, seed, componentMapping.a );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- #if defined( VK_USE_PLATFORM_ANDROID_KHR )
- struct AndroidHardwareBufferFormatProperties2ANDROID
- {
-@@ -4369,45 +3864,6 @@ namespace VULKAN_HPP_NAMESPACE
- {
- using Type = AndroidHardwareBufferFormatProperties2ANDROID;
- };
--
--} // VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferFormatProperties2ANDROID>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::AndroidHardwareBufferFormatProperties2ANDROID const &
-- androidHardwareBufferFormatProperties2ANDROID ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::StructureType, seed, androidHardwareBufferFormatProperties2ANDROID.sType );
-- VULKAN_HPP_HASH_COMBINE( void *, seed, androidHardwareBufferFormatProperties2ANDROID.pNext );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::Format, seed, androidHardwareBufferFormatProperties2ANDROID.format );
-- VULKAN_HPP_HASH_COMBINE( uint64_t, seed, androidHardwareBufferFormatProperties2ANDROID.externalFormat );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::FormatFeatureFlags2KHR,
-- seed,
-- androidHardwareBufferFormatProperties2ANDROID.formatFeatures );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::ComponentMapping,
-- seed,
-- androidHardwareBufferFormatProperties2ANDROID.samplerYcbcrConversionComponents );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::SamplerYcbcrModelConversion,
-- seed,
-- androidHardwareBufferFormatProperties2ANDROID.suggestedYcbcrModel );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::SamplerYcbcrRange,
-- seed,
-- androidHardwareBufferFormatProperties2ANDROID.suggestedYcbcrRange );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::ChromaLocation,
-- seed,
-- androidHardwareBufferFormatProperties2ANDROID.suggestedXChromaOffset );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::ChromaLocation,
-- seed,
-- androidHardwareBufferFormatProperties2ANDROID.suggestedYChromaOffset );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-
- #if defined( VK_USE_PLATFORM_ANDROID_KHR )
-@@ -4518,41 +3974,6 @@ namespace VULKAN_HPP_NAMESPACE
- {
- using Type = AndroidHardwareBufferFormatPropertiesANDROID;
- };
--
--} // VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferFormatPropertiesANDROID>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::AndroidHardwareBufferFormatPropertiesANDROID const &
-- androidHardwareBufferFormatPropertiesANDROID ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::StructureType, seed, androidHardwareBufferFormatPropertiesANDROID.sType );
-- VULKAN_HPP_HASH_COMBINE( void *, seed, androidHardwareBufferFormatPropertiesANDROID.pNext );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::Format, seed, androidHardwareBufferFormatPropertiesANDROID.format );
-- VULKAN_HPP_HASH_COMBINE( uint64_t, seed, androidHardwareBufferFormatPropertiesANDROID.externalFormat );
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::FormatFeatureFlags, seed, androidHardwareBufferFormatPropertiesANDROID.formatFeatures );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::ComponentMapping,
-- seed,
-- androidHardwareBufferFormatPropertiesANDROID.samplerYcbcrConversionComponents );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::SamplerYcbcrModelConversion,
-- seed,
-- androidHardwareBufferFormatPropertiesANDROID.suggestedYcbcrModel );
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::SamplerYcbcrRange, seed, androidHardwareBufferFormatPropertiesANDROID.suggestedYcbcrRange );
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::ChromaLocation, seed, androidHardwareBufferFormatPropertiesANDROID.suggestedXChromaOffset );
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::ChromaLocation, seed, androidHardwareBufferFormatPropertiesANDROID.suggestedYChromaOffset );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-
- #if defined( VK_USE_PLATFORM_ANDROID_KHR )
-@@ -4636,27 +4057,6 @@ namespace VULKAN_HPP_NAMESPACE
- {
- using Type = AndroidHardwareBufferPropertiesANDROID;
- };
--
--} // VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID const &
-- androidHardwareBufferPropertiesANDROID ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::StructureType, seed, androidHardwareBufferPropertiesANDROID.sType );
-- VULKAN_HPP_HASH_COMBINE( void *, seed, androidHardwareBufferPropertiesANDROID.pNext );
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::DeviceSize, seed, androidHardwareBufferPropertiesANDROID.allocationSize );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, androidHardwareBufferPropertiesANDROID.memoryTypeBits );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-
- #if defined( VK_USE_PLATFORM_ANDROID_KHR )
-@@ -4735,25 +4135,6 @@ namespace VULKAN_HPP_NAMESPACE
- {
- using Type = AndroidHardwareBufferUsageANDROID;
- };
--
--} // VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferUsageANDROID>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::AndroidHardwareBufferUsageANDROID const &
-- androidHardwareBufferUsageANDROID ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::StructureType, seed, androidHardwareBufferUsageANDROID.sType );
-- VULKAN_HPP_HASH_COMBINE( void *, seed, androidHardwareBufferUsageANDROID.pNext );
-- VULKAN_HPP_HASH_COMBINE( uint64_t, seed, androidHardwareBufferUsageANDROID.androidHardwareBufferUsage );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-
- #if defined( VK_USE_PLATFORM_ANDROID_KHR )
-@@ -4853,27 +4234,6 @@ namespace VULKAN_HPP_NAMESPACE
- {
- using Type = AndroidSurfaceCreateInfoKHR;
- };
--
--} // VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR const & androidSurfaceCreateInfoKHR ) const
-- VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::StructureType, seed, androidSurfaceCreateInfoKHR.sType );
-- VULKAN_HPP_HASH_COMBINE( const void *, seed, androidSurfaceCreateInfoKHR.pNext );
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateFlagsKHR, seed, androidSurfaceCreateInfoKHR.flags );
-- VULKAN_HPP_HASH_COMBINE( struct ANativeWindow *, seed, androidSurfaceCreateInfoKHR.window );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-
- struct ApplicationInfo
-@@ -4997,27 +4357,6 @@ namespace VULKAN_HPP_NAMESPACE
- using Type = ApplicationInfo;
- };
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::ApplicationInfo>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::ApplicationInfo const & applicationInfo ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::StructureType, seed, applicationInfo.sType );
-- VULKAN_HPP_HASH_COMBINE( const void *, seed, applicationInfo.pNext );
-- VULKAN_HPP_HASH_COMBINE( const char *, seed, applicationInfo.pApplicationName );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, applicationInfo.applicationVersion );
-- VULKAN_HPP_HASH_COMBINE( const char *, seed, applicationInfo.pEngineName );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, applicationInfo.engineVersion );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, applicationInfo.apiVersion );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct AttachmentDescription
- {
- using NativeType = VkAttachmentDescription;
-@@ -5170,30 +4509,6 @@ namespace VULKAN_HPP_NAMESPACE
- VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::AttachmentDescription>::value,
- "AttachmentDescription is not nothrow_move_constructible!" );
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AttachmentDescription>
--{
-- std::size_t
-- operator()( VULKAN_HPP_NAMESPACE::AttachmentDescription const & attachmentDescription ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::AttachmentDescriptionFlags, seed, attachmentDescription.flags );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::Format, seed, attachmentDescription.format );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::SampleCountFlagBits, seed, attachmentDescription.samples );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::AttachmentLoadOp, seed, attachmentDescription.loadOp );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::AttachmentStoreOp, seed, attachmentDescription.storeOp );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::AttachmentLoadOp, seed, attachmentDescription.stencilLoadOp );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::AttachmentStoreOp, seed, attachmentDescription.stencilStoreOp );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::ImageLayout, seed, attachmentDescription.initialLayout );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::ImageLayout, seed, attachmentDescription.finalLayout );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct AttachmentDescription2
- {
- using NativeType = VkAttachmentDescription2;
-@@ -5365,32 +4680,6 @@ namespace VULKAN_HPP_NAMESPACE
- };
- using AttachmentDescription2KHR = AttachmentDescription2;
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AttachmentDescription2>
--{
-- std::size_t
-- operator()( VULKAN_HPP_NAMESPACE::AttachmentDescription2 const & attachmentDescription2 ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::StructureType, seed, attachmentDescription2.sType );
-- VULKAN_HPP_HASH_COMBINE( const void *, seed, attachmentDescription2.pNext );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::AttachmentDescriptionFlags, seed, attachmentDescription2.flags );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::Format, seed, attachmentDescription2.format );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::SampleCountFlagBits, seed, attachmentDescription2.samples );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::AttachmentLoadOp, seed, attachmentDescription2.loadOp );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::AttachmentStoreOp, seed, attachmentDescription2.storeOp );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::AttachmentLoadOp, seed, attachmentDescription2.stencilLoadOp );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::AttachmentStoreOp, seed, attachmentDescription2.stencilStoreOp );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::ImageLayout, seed, attachmentDescription2.initialLayout );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::ImageLayout, seed, attachmentDescription2.finalLayout );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct AttachmentDescriptionStencilLayout
- {
- using NativeType = VkAttachmentDescriptionStencilLayout;
-@@ -5495,27 +4784,6 @@ namespace VULKAN_HPP_NAMESPACE
- };
- using AttachmentDescriptionStencilLayoutKHR = AttachmentDescriptionStencilLayout;
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AttachmentDescriptionStencilLayout>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::AttachmentDescriptionStencilLayout const &
-- attachmentDescriptionStencilLayout ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::StructureType, seed, attachmentDescriptionStencilLayout.sType );
-- VULKAN_HPP_HASH_COMBINE( void *, seed, attachmentDescriptionStencilLayout.pNext );
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::ImageLayout, seed, attachmentDescriptionStencilLayout.stencilInitialLayout );
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::ImageLayout, seed, attachmentDescriptionStencilLayout.stencilFinalLayout );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct AttachmentReference
- {
- using NativeType = VkAttachmentReference;
-@@ -5593,23 +4861,6 @@ namespace VULKAN_HPP_NAMESPACE
- VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::AttachmentReference>::value,
- "AttachmentReference is not nothrow_move_constructible!" );
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AttachmentReference>
--{
-- std::size_t
-- operator()( VULKAN_HPP_NAMESPACE::AttachmentReference const & attachmentReference ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, attachmentReference.attachment );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::ImageLayout, seed, attachmentReference.layout );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct AttachmentReference2
- {
- using NativeType = VkAttachmentReference2;
-@@ -5716,26 +4967,6 @@ namespace VULKAN_HPP_NAMESPACE
- };
- using AttachmentReference2KHR = AttachmentReference2;
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AttachmentReference2>
--{
-- std::size_t
-- operator()( VULKAN_HPP_NAMESPACE::AttachmentReference2 const & attachmentReference2 ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::StructureType, seed, attachmentReference2.sType );
-- VULKAN_HPP_HASH_COMBINE( const void *, seed, attachmentReference2.pNext );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, attachmentReference2.attachment );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::ImageLayout, seed, attachmentReference2.layout );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::ImageAspectFlags, seed, attachmentReference2.aspectMask );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct AttachmentReferenceStencilLayout
- {
- using NativeType = VkAttachmentReferenceStencilLayout;
-@@ -5827,25 +5058,6 @@ namespace VULKAN_HPP_NAMESPACE
- };
- using AttachmentReferenceStencilLayoutKHR = AttachmentReferenceStencilLayout;
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AttachmentReferenceStencilLayout>
--{
-- std::size_t
-- operator()( VULKAN_HPP_NAMESPACE::AttachmentReferenceStencilLayout const & attachmentReferenceStencilLayout ) const
-- VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::StructureType, seed, attachmentReferenceStencilLayout.sType );
-- VULKAN_HPP_HASH_COMBINE( void *, seed, attachmentReferenceStencilLayout.pNext );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::ImageLayout, seed, attachmentReferenceStencilLayout.stencilLayout );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct AttachmentSampleCountInfoAMD
- {
- using NativeType = VkAttachmentSampleCountInfoAMD;
-@@ -5981,28 +5193,6 @@ namespace VULKAN_HPP_NAMESPACE
- };
- using AttachmentSampleCountInfoNV = AttachmentSampleCountInfoAMD;
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AttachmentSampleCountInfoAMD>
--{
-- std::size_t operator()(
-- VULKAN_HPP_NAMESPACE::AttachmentSampleCountInfoAMD const & attachmentSampleCountInfoAMD ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::StructureType, seed, attachmentSampleCountInfoAMD.sType );
-- VULKAN_HPP_HASH_COMBINE( const void *, seed, attachmentSampleCountInfoAMD.pNext );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, attachmentSampleCountInfoAMD.colorAttachmentCount );
-- VULKAN_HPP_HASH_COMBINE(
-- const VULKAN_HPP_NAMESPACE::SampleCountFlagBits *, seed, attachmentSampleCountInfoAMD.pColorAttachmentSamples );
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::SampleCountFlagBits, seed, attachmentSampleCountInfoAMD.depthStencilAttachmentSamples );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct Extent2D
- {
- using NativeType = VkExtent2D;
-@@ -6075,22 +5265,6 @@ namespace VULKAN_HPP_NAMESPACE
- VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::Extent2D>::value,
- "Extent2D is not nothrow_move_constructible!" );
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::Extent2D>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::Extent2D const & extent2D ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, extent2D.width );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, extent2D.height );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct SampleLocationEXT
- {
- using NativeType = VkSampleLocationEXT;
-@@ -6165,22 +5339,6 @@ namespace VULKAN_HPP_NAMESPACE
- VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::SampleLocationEXT>::value,
- "SampleLocationEXT is not nothrow_move_constructible!" );
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::SampleLocationEXT>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::SampleLocationEXT const & sampleLocationEXT ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( float, seed, sampleLocationEXT.x );
-- VULKAN_HPP_HASH_COMBINE( float, seed, sampleLocationEXT.y );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct SampleLocationsInfoEXT
- {
- using NativeType = VkSampleLocationsInfoEXT;
-@@ -6325,29 +5483,6 @@ namespace VULKAN_HPP_NAMESPACE
- using Type = SampleLocationsInfoEXT;
- };
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT>
--{
-- std::size_t
-- operator()( VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT const & sampleLocationsInfoEXT ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::StructureType, seed, sampleLocationsInfoEXT.sType );
-- VULKAN_HPP_HASH_COMBINE( const void *, seed, sampleLocationsInfoEXT.pNext );
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::SampleCountFlagBits, seed, sampleLocationsInfoEXT.sampleLocationsPerPixel );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::Extent2D, seed, sampleLocationsInfoEXT.sampleLocationGridSize );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, sampleLocationsInfoEXT.sampleLocationsCount );
-- VULKAN_HPP_HASH_COMBINE(
-- const VULKAN_HPP_NAMESPACE::SampleLocationEXT *, seed, sampleLocationsInfoEXT.pSampleLocations );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct AttachmentSampleLocationsEXT
- {
- using NativeType = VkAttachmentSampleLocationsEXT;
-@@ -6429,24 +5564,6 @@ namespace VULKAN_HPP_NAMESPACE
- std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT>::value,
- "AttachmentSampleLocationsEXT is not nothrow_move_constructible!" );
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT>
--{
-- std::size_t operator()(
-- VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT const & attachmentSampleLocationsEXT ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, attachmentSampleLocationsEXT.attachmentIndex );
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT, seed, attachmentSampleLocationsEXT.sampleLocationsInfo );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct BaseInStructure
- {
- using NativeType = VkBaseInStructure;
-@@ -6515,22 +5632,6 @@ namespace VULKAN_HPP_NAMESPACE
- VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::BaseInStructure>::value,
- "BaseInStructure is not nothrow_move_constructible!" );
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::BaseInStructure>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::BaseInStructure const & baseInStructure ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::StructureType, seed, baseInStructure.sType );
-- VULKAN_HPP_HASH_COMBINE( const struct VULKAN_HPP_NAMESPACE::BaseInStructure *, seed, baseInStructure.pNext );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct BaseOutStructure
- {
- using NativeType = VkBaseOutStructure;
-@@ -6599,22 +5700,6 @@ namespace VULKAN_HPP_NAMESPACE
- VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::BaseOutStructure>::value,
- "BaseOutStructure is not nothrow_move_constructible!" );
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::BaseOutStructure>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::BaseOutStructure const & baseOutStructure ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::StructureType, seed, baseOutStructure.sType );
-- VULKAN_HPP_HASH_COMBINE( struct VULKAN_HPP_NAMESPACE::BaseOutStructure *, seed, baseOutStructure.pNext );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct BindAccelerationStructureMemoryInfoNV
- {
- using NativeType = VkBindAccelerationStructureMemoryInfoNV;
-@@ -6774,31 +5859,6 @@ namespace VULKAN_HPP_NAMESPACE
- using Type = BindAccelerationStructureMemoryInfoNV;
- };
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV>
--{
-- std::size_t operator()( VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV const &
-- bindAccelerationStructureMemoryInfoNV ) const VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::StructureType, seed, bindAccelerationStructureMemoryInfoNV.sType );
-- VULKAN_HPP_HASH_COMBINE( const void *, seed, bindAccelerationStructureMemoryInfoNV.pNext );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::AccelerationStructureNV,
-- seed,
-- bindAccelerationStructureMemoryInfoNV.accelerationStructure );
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::DeviceMemory, seed, bindAccelerationStructureMemoryInfoNV.memory );
-- VULKAN_HPP_HASH_COMBINE(
-- VULKAN_HPP_NAMESPACE::DeviceSize, seed, bindAccelerationStructureMemoryInfoNV.memoryOffset );
-- VULKAN_HPP_HASH_COMBINE( uint32_t, seed, bindAccelerationStructureMemoryInfoNV.deviceIndexCount );
-- VULKAN_HPP_HASH_COMBINE( const uint32_t *, seed, bindAccelerationStructureMemoryInfoNV.pDeviceIndices );
-- return seed;
-- }
--};
--
--namespace VULKAN_HPP_NAMESPACE
--{
- struct BindBufferMemoryDeviceGroupInfo
- {
- using NativeType = VkBindBufferMemoryDeviceGroupInfo;
-@@ -6916,26 +5976,6 @@ namespace VULKAN_HPP_NAMESPACE
- };
- using BindBufferMemoryDeviceGroupInfoKHR = BindBufferMemoryDeviceGroupInfo;
-
--} // namespace VULKAN_HPP_NAMESPACE
--
--template <>
--struct std::hash<VULKAN_HPP_NAMESPACE::BindBufferMemoryDeviceGroupInfo>
--{
-- std::size_t
-- operator()( VULKAN_HPP_NAMESPACE::BindBufferMemoryDeviceGroupInfo const & bindBufferMemoryDeviceGroupInfo ) const
-- VULKAN_HPP_NOEXCEPT
-- {
-- std::size_t seed = 0;
-- VULKAN_HPP_HASH_COMBINE( VULKAN_HPP_NAMESPACE::StructureType, seed, bindBufferMemoryDeviceGroupInfo.sType );
-- VULKAN_HPP_HASH_COMBINE( const void *, seed, bindBufferMemoryDeviceGroupIn