1 // Copyright 2015-2022 The Khronos Group Inc. 2 // 3 // SPDX-License-Identifier: Apache-2.0 OR MIT 4 // 5 6 // This header is generated from the Khronos Vulkan XML API Registry. 7 8 #ifndef VULKAN_HASH_HPP 9 # define VULKAN_HASH_HPP 10 11 #include <vulkan/vulkan.hpp> 12 13 namespace std 14 { 15 //======================================= 16 //=== HASH structures for Flags types === 17 //======================================= 18 19 template <typename BitType> 20 struct hash<VULKAN_HPP_NAMESPACE::Flags<BitType>> 21 { operator ()std::hash22 std::size_t operator()( VULKAN_HPP_NAMESPACE::Flags<BitType> const & flags ) const VULKAN_HPP_NOEXCEPT 23 { 24 return std::hash<typename std::underlying_type<BitType>::type>{}( 25 static_cast<typename std::underlying_type<BitType>::type>( flags ) ); 26 } 27 }; 28 29 30 //=================================== 31 //=== HASH structures for handles === 32 //=================================== 33 34 35 //=== VK_VERSION_1_0 === 36 37 template <> struct hash<VULKAN_HPP_NAMESPACE::Instance> 38 { operator ()std::hash39 std::size_t operator()(VULKAN_HPP_NAMESPACE::Instance const & instance) const VULKAN_HPP_NOEXCEPT 40 { 41 return std::hash<VkInstance>{}(static_cast<VkInstance>(instance)); 42 } 43 }; 44 45 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevice> 46 { operator ()std::hash47 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevice const & physicalDevice) const VULKAN_HPP_NOEXCEPT 48 { 49 return std::hash<VkPhysicalDevice>{}(static_cast<VkPhysicalDevice>(physicalDevice)); 50 } 51 }; 52 53 template <> struct hash<VULKAN_HPP_NAMESPACE::Device> 54 { operator ()std::hash55 std::size_t operator()(VULKAN_HPP_NAMESPACE::Device const & device) const VULKAN_HPP_NOEXCEPT 56 { 57 return std::hash<VkDevice>{}(static_cast<VkDevice>(device)); 58 } 59 }; 60 61 template <> struct hash<VULKAN_HPP_NAMESPACE::Queue> 62 { operator ()std::hash63 std::size_t operator()(VULKAN_HPP_NAMESPACE::Queue const & queue) const VULKAN_HPP_NOEXCEPT 64 { 65 return std::hash<VkQueue>{}(static_cast<VkQueue>(queue)); 66 } 67 }; 68 69 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceMemory> 70 { operator ()std::hash71 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceMemory const & deviceMemory) const VULKAN_HPP_NOEXCEPT 72 { 73 return std::hash<VkDeviceMemory>{}(static_cast<VkDeviceMemory>(deviceMemory)); 74 } 75 }; 76 77 template <> struct hash<VULKAN_HPP_NAMESPACE::Fence> 78 { operator ()std::hash79 std::size_t operator()(VULKAN_HPP_NAMESPACE::Fence const & fence) const VULKAN_HPP_NOEXCEPT 80 { 81 return std::hash<VkFence>{}(static_cast<VkFence>(fence)); 82 } 83 }; 84 85 template <> struct hash<VULKAN_HPP_NAMESPACE::Semaphore> 86 { operator ()std::hash87 std::size_t operator()(VULKAN_HPP_NAMESPACE::Semaphore const & semaphore) const VULKAN_HPP_NOEXCEPT 88 { 89 return std::hash<VkSemaphore>{}(static_cast<VkSemaphore>(semaphore)); 90 } 91 }; 92 93 template <> struct hash<VULKAN_HPP_NAMESPACE::Event> 94 { operator ()std::hash95 std::size_t operator()(VULKAN_HPP_NAMESPACE::Event const & event) const VULKAN_HPP_NOEXCEPT 96 { 97 return std::hash<VkEvent>{}(static_cast<VkEvent>(event)); 98 } 99 }; 100 101 template <> struct hash<VULKAN_HPP_NAMESPACE::QueryPool> 102 { operator ()std::hash103 std::size_t operator()(VULKAN_HPP_NAMESPACE::QueryPool const & queryPool) const VULKAN_HPP_NOEXCEPT 104 { 105 return std::hash<VkQueryPool>{}(static_cast<VkQueryPool>(queryPool)); 106 } 107 }; 108 109 template <> struct hash<VULKAN_HPP_NAMESPACE::Buffer> 110 { operator ()std::hash111 std::size_t operator()(VULKAN_HPP_NAMESPACE::Buffer const & buffer) const VULKAN_HPP_NOEXCEPT 112 { 113 return std::hash<VkBuffer>{}(static_cast<VkBuffer>(buffer)); 114 } 115 }; 116 117 template <> struct hash<VULKAN_HPP_NAMESPACE::BufferView> 118 { operator ()std::hash119 std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferView const & bufferView) const VULKAN_HPP_NOEXCEPT 120 { 121 return std::hash<VkBufferView>{}(static_cast<VkBufferView>(bufferView)); 122 } 123 }; 124 125 template <> struct hash<VULKAN_HPP_NAMESPACE::Image> 126 { operator ()std::hash127 std::size_t operator()(VULKAN_HPP_NAMESPACE::Image const & image) const VULKAN_HPP_NOEXCEPT 128 { 129 return std::hash<VkImage>{}(static_cast<VkImage>(image)); 130 } 131 }; 132 133 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageView> 134 { operator ()std::hash135 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageView const & imageView) const VULKAN_HPP_NOEXCEPT 136 { 137 return std::hash<VkImageView>{}(static_cast<VkImageView>(imageView)); 138 } 139 }; 140 141 template <> struct hash<VULKAN_HPP_NAMESPACE::ShaderModule> 142 { operator ()std::hash143 std::size_t operator()(VULKAN_HPP_NAMESPACE::ShaderModule const & shaderModule) const VULKAN_HPP_NOEXCEPT 144 { 145 return std::hash<VkShaderModule>{}(static_cast<VkShaderModule>(shaderModule)); 146 } 147 }; 148 149 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineCache> 150 { operator ()std::hash151 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineCache const & pipelineCache) const VULKAN_HPP_NOEXCEPT 152 { 153 return std::hash<VkPipelineCache>{}(static_cast<VkPipelineCache>(pipelineCache)); 154 } 155 }; 156 157 template <> struct hash<VULKAN_HPP_NAMESPACE::Pipeline> 158 { operator ()std::hash159 std::size_t operator()(VULKAN_HPP_NAMESPACE::Pipeline const & pipeline) const VULKAN_HPP_NOEXCEPT 160 { 161 return std::hash<VkPipeline>{}(static_cast<VkPipeline>(pipeline)); 162 } 163 }; 164 165 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineLayout> 166 { operator ()std::hash167 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineLayout const & pipelineLayout) const VULKAN_HPP_NOEXCEPT 168 { 169 return std::hash<VkPipelineLayout>{}(static_cast<VkPipelineLayout>(pipelineLayout)); 170 } 171 }; 172 173 template <> struct hash<VULKAN_HPP_NAMESPACE::Sampler> 174 { operator ()std::hash175 std::size_t operator()(VULKAN_HPP_NAMESPACE::Sampler const & sampler) const VULKAN_HPP_NOEXCEPT 176 { 177 return std::hash<VkSampler>{}(static_cast<VkSampler>(sampler)); 178 } 179 }; 180 181 template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorPool> 182 { operator ()std::hash183 std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorPool const & descriptorPool) const VULKAN_HPP_NOEXCEPT 184 { 185 return std::hash<VkDescriptorPool>{}(static_cast<VkDescriptorPool>(descriptorPool)); 186 } 187 }; 188 189 template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorSet> 190 { operator ()std::hash191 std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorSet const & descriptorSet) const VULKAN_HPP_NOEXCEPT 192 { 193 return std::hash<VkDescriptorSet>{}(static_cast<VkDescriptorSet>(descriptorSet)); 194 } 195 }; 196 197 template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetLayout> 198 { operator ()std::hash199 std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorSetLayout const & descriptorSetLayout) const VULKAN_HPP_NOEXCEPT 200 { 201 return std::hash<VkDescriptorSetLayout>{}(static_cast<VkDescriptorSetLayout>(descriptorSetLayout)); 202 } 203 }; 204 205 template <> struct hash<VULKAN_HPP_NAMESPACE::Framebuffer> 206 { operator ()std::hash207 std::size_t operator()(VULKAN_HPP_NAMESPACE::Framebuffer const & framebuffer) const VULKAN_HPP_NOEXCEPT 208 { 209 return std::hash<VkFramebuffer>{}(static_cast<VkFramebuffer>(framebuffer)); 210 } 211 }; 212 213 template <> struct hash<VULKAN_HPP_NAMESPACE::RenderPass> 214 { operator ()std::hash215 std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderPass const & renderPass) const VULKAN_HPP_NOEXCEPT 216 { 217 return std::hash<VkRenderPass>{}(static_cast<VkRenderPass>(renderPass)); 218 } 219 }; 220 221 template <> struct hash<VULKAN_HPP_NAMESPACE::CommandPool> 222 { operator ()std::hash223 std::size_t operator()(VULKAN_HPP_NAMESPACE::CommandPool const & commandPool) const VULKAN_HPP_NOEXCEPT 224 { 225 return std::hash<VkCommandPool>{}(static_cast<VkCommandPool>(commandPool)); 226 } 227 }; 228 229 template <> struct hash<VULKAN_HPP_NAMESPACE::CommandBuffer> 230 { operator ()std::hash231 std::size_t operator()(VULKAN_HPP_NAMESPACE::CommandBuffer const & commandBuffer) const VULKAN_HPP_NOEXCEPT 232 { 233 return std::hash<VkCommandBuffer>{}(static_cast<VkCommandBuffer>(commandBuffer)); 234 } 235 }; 236 237 //=== VK_VERSION_1_1 === 238 239 template <> struct hash<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion> 240 { operator ()std::hash241 std::size_t operator()(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion const & samplerYcbcrConversion) const VULKAN_HPP_NOEXCEPT 242 { 243 return std::hash<VkSamplerYcbcrConversion>{}(static_cast<VkSamplerYcbcrConversion>(samplerYcbcrConversion)); 244 } 245 }; 246 247 template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate> 248 { operator ()std::hash249 std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate const & descriptorUpdateTemplate) const VULKAN_HPP_NOEXCEPT 250 { 251 return std::hash<VkDescriptorUpdateTemplate>{}(static_cast<VkDescriptorUpdateTemplate>(descriptorUpdateTemplate)); 252 } 253 }; 254 255 //=== VK_VERSION_1_3 === 256 257 template <> struct hash<VULKAN_HPP_NAMESPACE::PrivateDataSlot> 258 { operator ()std::hash259 std::size_t operator()(VULKAN_HPP_NAMESPACE::PrivateDataSlot const & privateDataSlot) const VULKAN_HPP_NOEXCEPT 260 { 261 return std::hash<VkPrivateDataSlot>{}(static_cast<VkPrivateDataSlot>(privateDataSlot)); 262 } 263 }; 264 265 //=== VK_KHR_surface === 266 267 template <> struct hash<VULKAN_HPP_NAMESPACE::SurfaceKHR> 268 { operator ()std::hash269 std::size_t operator()(VULKAN_HPP_NAMESPACE::SurfaceKHR const & surfaceKHR) const VULKAN_HPP_NOEXCEPT 270 { 271 return std::hash<VkSurfaceKHR>{}(static_cast<VkSurfaceKHR>(surfaceKHR)); 272 } 273 }; 274 275 //=== VK_KHR_swapchain === 276 277 template <> struct hash<VULKAN_HPP_NAMESPACE::SwapchainKHR> 278 { operator ()std::hash279 std::size_t operator()(VULKAN_HPP_NAMESPACE::SwapchainKHR const & swapchainKHR) const VULKAN_HPP_NOEXCEPT 280 { 281 return std::hash<VkSwapchainKHR>{}(static_cast<VkSwapchainKHR>(swapchainKHR)); 282 } 283 }; 284 285 //=== VK_KHR_display === 286 287 template <> struct hash<VULKAN_HPP_NAMESPACE::DisplayKHR> 288 { operator ()std::hash289 std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayKHR const & displayKHR) const VULKAN_HPP_NOEXCEPT 290 { 291 return std::hash<VkDisplayKHR>{}(static_cast<VkDisplayKHR>(displayKHR)); 292 } 293 }; 294 295 template <> struct hash<VULKAN_HPP_NAMESPACE::DisplayModeKHR> 296 { operator ()std::hash297 std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayModeKHR const & displayModeKHR) const VULKAN_HPP_NOEXCEPT 298 { 299 return std::hash<VkDisplayModeKHR>{}(static_cast<VkDisplayModeKHR>(displayModeKHR)); 300 } 301 }; 302 303 //=== VK_EXT_debug_report === 304 305 template <> struct hash<VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT> 306 { operator ()std::hash307 std::size_t operator()(VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT const & debugReportCallbackEXT) const VULKAN_HPP_NOEXCEPT 308 { 309 return std::hash<VkDebugReportCallbackEXT>{}(static_cast<VkDebugReportCallbackEXT>(debugReportCallbackEXT)); 310 } 311 }; 312 313 //=== VK_KHR_video_queue === 314 315 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoSessionKHR> 316 { operator ()std::hash317 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoSessionKHR const & videoSessionKHR) const VULKAN_HPP_NOEXCEPT 318 { 319 return std::hash<VkVideoSessionKHR>{}(static_cast<VkVideoSessionKHR>(videoSessionKHR)); 320 } 321 }; 322 323 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR> 324 { operator ()std::hash325 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR const & videoSessionParametersKHR) const VULKAN_HPP_NOEXCEPT 326 { 327 return std::hash<VkVideoSessionParametersKHR>{}(static_cast<VkVideoSessionParametersKHR>(videoSessionParametersKHR)); 328 } 329 }; 330 331 //=== VK_NVX_binary_import === 332 333 template <> struct hash<VULKAN_HPP_NAMESPACE::CuModuleNVX> 334 { operator ()std::hash335 std::size_t operator()(VULKAN_HPP_NAMESPACE::CuModuleNVX const & cuModuleNVX) const VULKAN_HPP_NOEXCEPT 336 { 337 return std::hash<VkCuModuleNVX>{}(static_cast<VkCuModuleNVX>(cuModuleNVX)); 338 } 339 }; 340 341 template <> struct hash<VULKAN_HPP_NAMESPACE::CuFunctionNVX> 342 { operator ()std::hash343 std::size_t operator()(VULKAN_HPP_NAMESPACE::CuFunctionNVX const & cuFunctionNVX) const VULKAN_HPP_NOEXCEPT 344 { 345 return std::hash<VkCuFunctionNVX>{}(static_cast<VkCuFunctionNVX>(cuFunctionNVX)); 346 } 347 }; 348 349 //=== VK_EXT_debug_utils === 350 351 template <> struct hash<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT> 352 { operator ()std::hash353 std::size_t operator()(VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT const & debugUtilsMessengerEXT) const VULKAN_HPP_NOEXCEPT 354 { 355 return std::hash<VkDebugUtilsMessengerEXT>{}(static_cast<VkDebugUtilsMessengerEXT>(debugUtilsMessengerEXT)); 356 } 357 }; 358 359 //=== VK_KHR_acceleration_structure === 360 361 template <> struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> 362 { operator ()std::hash363 std::size_t operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureKHR const & accelerationStructureKHR) const VULKAN_HPP_NOEXCEPT 364 { 365 return std::hash<VkAccelerationStructureKHR>{}(static_cast<VkAccelerationStructureKHR>(accelerationStructureKHR)); 366 } 367 }; 368 369 //=== VK_EXT_validation_cache === 370 371 template <> struct hash<VULKAN_HPP_NAMESPACE::ValidationCacheEXT> 372 { operator ()std::hash373 std::size_t operator()(VULKAN_HPP_NAMESPACE::ValidationCacheEXT const & validationCacheEXT) const VULKAN_HPP_NOEXCEPT 374 { 375 return std::hash<VkValidationCacheEXT>{}(static_cast<VkValidationCacheEXT>(validationCacheEXT)); 376 } 377 }; 378 379 //=== VK_NV_ray_tracing === 380 381 template <> struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureNV> 382 { operator ()std::hash383 std::size_t operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureNV const & accelerationStructureNV) const VULKAN_HPP_NOEXCEPT 384 { 385 return std::hash<VkAccelerationStructureNV>{}(static_cast<VkAccelerationStructureNV>(accelerationStructureNV)); 386 } 387 }; 388 389 //=== VK_INTEL_performance_query === 390 391 template <> struct hash<VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL> 392 { operator ()std::hash393 std::size_t operator()(VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL const & performanceConfigurationINTEL) const VULKAN_HPP_NOEXCEPT 394 { 395 return std::hash<VkPerformanceConfigurationINTEL>{}(static_cast<VkPerformanceConfigurationINTEL>(performanceConfigurationINTEL)); 396 } 397 }; 398 399 //=== VK_KHR_deferred_host_operations === 400 401 template <> struct hash<VULKAN_HPP_NAMESPACE::DeferredOperationKHR> 402 { operator ()std::hash403 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeferredOperationKHR const & deferredOperationKHR) const VULKAN_HPP_NOEXCEPT 404 { 405 return std::hash<VkDeferredOperationKHR>{}(static_cast<VkDeferredOperationKHR>(deferredOperationKHR)); 406 } 407 }; 408 409 //=== VK_NV_device_generated_commands === 410 411 template <> struct hash<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV> 412 { operator ()std::hash413 std::size_t operator()(VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV const & indirectCommandsLayoutNV) const VULKAN_HPP_NOEXCEPT 414 { 415 return std::hash<VkIndirectCommandsLayoutNV>{}(static_cast<VkIndirectCommandsLayoutNV>(indirectCommandsLayoutNV)); 416 } 417 }; 418 419 #if defined( VK_USE_PLATFORM_FUCHSIA ) 420 //=== VK_FUCHSIA_buffer_collection === 421 422 template <> struct hash<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA> 423 { operator ()std::hash424 std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA const & bufferCollectionFUCHSIA) const VULKAN_HPP_NOEXCEPT 425 { 426 return std::hash<VkBufferCollectionFUCHSIA>{}(static_cast<VkBufferCollectionFUCHSIA>(bufferCollectionFUCHSIA)); 427 } 428 }; 429 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 430 431 //=== VK_EXT_opacity_micromap === 432 433 template <> struct hash<VULKAN_HPP_NAMESPACE::MicromapEXT> 434 { operator ()std::hash435 std::size_t operator()(VULKAN_HPP_NAMESPACE::MicromapEXT const & micromapEXT) const VULKAN_HPP_NOEXCEPT 436 { 437 return std::hash<VkMicromapEXT>{}(static_cast<VkMicromapEXT>(micromapEXT)); 438 } 439 }; 440 441 //=== VK_NV_optical_flow === 442 443 template <> struct hash<VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV> 444 { operator ()std::hash445 std::size_t operator()(VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV const & opticalFlowSessionNV) const VULKAN_HPP_NOEXCEPT 446 { 447 return std::hash<VkOpticalFlowSessionNV>{}(static_cast<VkOpticalFlowSessionNV>(opticalFlowSessionNV)); 448 } 449 }; 450 451 452 453 #if 14 <= VULKAN_HPP_CPP_VERSION 454 //====================================== 455 //=== HASH structures for structures === 456 //====================================== 457 458 # if !defined( VULKAN_HPP_HASH_COMBINE ) 459 # define VULKAN_HPP_HASH_COMBINE( seed, value ) \ 460 seed ^= std::hash<std::decay<decltype( value )>::type>{}( value ) + 0x9e3779b9 + ( seed << 6 ) + ( seed >> 2 ) 461 # endif 462 463 464 template <> struct hash<VULKAN_HPP_NAMESPACE::AabbPositionsKHR> 465 { operator ()std::hash466 std::size_t operator()(VULKAN_HPP_NAMESPACE::AabbPositionsKHR const & aabbPositionsKHR) const VULKAN_HPP_NOEXCEPT 467 { 468 std::size_t seed = 0; 469 VULKAN_HPP_HASH_COMBINE( seed, aabbPositionsKHR.minX ); 470 VULKAN_HPP_HASH_COMBINE( seed, aabbPositionsKHR.minY ); 471 VULKAN_HPP_HASH_COMBINE( seed, aabbPositionsKHR.minZ ); 472 VULKAN_HPP_HASH_COMBINE( seed, aabbPositionsKHR.maxX ); 473 VULKAN_HPP_HASH_COMBINE( seed, aabbPositionsKHR.maxY ); 474 VULKAN_HPP_HASH_COMBINE( seed, aabbPositionsKHR.maxZ ); 475 return seed; 476 } 477 }; 478 479 template <> struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR> 480 { operator ()std::hash481 std::size_t operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR const & accelerationStructureBuildRangeInfoKHR) const VULKAN_HPP_NOEXCEPT 482 { 483 std::size_t seed = 0; 484 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureBuildRangeInfoKHR.primitiveCount ); 485 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureBuildRangeInfoKHR.primitiveOffset ); 486 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureBuildRangeInfoKHR.firstVertex ); 487 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureBuildRangeInfoKHR.transformOffset ); 488 return seed; 489 } 490 }; 491 492 template <> struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR> 493 { operator ()std::hash494 std::size_t operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR const & accelerationStructureBuildSizesInfoKHR) const VULKAN_HPP_NOEXCEPT 495 { 496 std::size_t seed = 0; 497 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureBuildSizesInfoKHR.sType ); 498 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureBuildSizesInfoKHR.pNext ); 499 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureBuildSizesInfoKHR.accelerationStructureSize ); 500 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureBuildSizesInfoKHR.updateScratchSize ); 501 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureBuildSizesInfoKHR.buildScratchSize ); 502 return seed; 503 } 504 }; 505 506 template <> struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureCaptureDescriptorDataInfoEXT> 507 { operator ()std::hash508 std::size_t operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureCaptureDescriptorDataInfoEXT const & accelerationStructureCaptureDescriptorDataInfoEXT) const VULKAN_HPP_NOEXCEPT 509 { 510 std::size_t seed = 0; 511 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCaptureDescriptorDataInfoEXT.sType ); 512 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCaptureDescriptorDataInfoEXT.pNext ); 513 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCaptureDescriptorDataInfoEXT.accelerationStructure ); 514 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCaptureDescriptorDataInfoEXT.accelerationStructureNV ); 515 return seed; 516 } 517 }; 518 519 template <> struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR> 520 { operator ()std::hash521 std::size_t operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR const & accelerationStructureCreateInfoKHR) const VULKAN_HPP_NOEXCEPT 522 { 523 std::size_t seed = 0; 524 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCreateInfoKHR.sType ); 525 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCreateInfoKHR.pNext ); 526 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCreateInfoKHR.createFlags ); 527 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCreateInfoKHR.buffer ); 528 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCreateInfoKHR.offset ); 529 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCreateInfoKHR.size ); 530 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCreateInfoKHR.type ); 531 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCreateInfoKHR.deviceAddress ); 532 return seed; 533 } 534 }; 535 536 template <> struct hash<VULKAN_HPP_NAMESPACE::GeometryTrianglesNV> 537 { operator ()std::hash538 std::size_t operator()(VULKAN_HPP_NAMESPACE::GeometryTrianglesNV const & geometryTrianglesNV) const VULKAN_HPP_NOEXCEPT 539 { 540 std::size_t seed = 0; 541 VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.sType ); 542 VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.pNext ); 543 VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.vertexData ); 544 VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.vertexOffset ); 545 VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.vertexCount ); 546 VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.vertexStride ); 547 VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.vertexFormat ); 548 VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.indexData ); 549 VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.indexOffset ); 550 VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.indexCount ); 551 VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.indexType ); 552 VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.transformData ); 553 VULKAN_HPP_HASH_COMBINE( seed, geometryTrianglesNV.transformOffset ); 554 return seed; 555 } 556 }; 557 558 template <> struct hash<VULKAN_HPP_NAMESPACE::GeometryAABBNV> 559 { operator ()std::hash560 std::size_t operator()(VULKAN_HPP_NAMESPACE::GeometryAABBNV const & geometryAABBNV) const VULKAN_HPP_NOEXCEPT 561 { 562 std::size_t seed = 0; 563 VULKAN_HPP_HASH_COMBINE( seed, geometryAABBNV.sType ); 564 VULKAN_HPP_HASH_COMBINE( seed, geometryAABBNV.pNext ); 565 VULKAN_HPP_HASH_COMBINE( seed, geometryAABBNV.aabbData ); 566 VULKAN_HPP_HASH_COMBINE( seed, geometryAABBNV.numAABBs ); 567 VULKAN_HPP_HASH_COMBINE( seed, geometryAABBNV.stride ); 568 VULKAN_HPP_HASH_COMBINE( seed, geometryAABBNV.offset ); 569 return seed; 570 } 571 }; 572 573 template <> struct hash<VULKAN_HPP_NAMESPACE::GeometryDataNV> 574 { operator ()std::hash575 std::size_t operator()(VULKAN_HPP_NAMESPACE::GeometryDataNV const & geometryDataNV) const VULKAN_HPP_NOEXCEPT 576 { 577 std::size_t seed = 0; 578 VULKAN_HPP_HASH_COMBINE( seed, geometryDataNV.triangles ); 579 VULKAN_HPP_HASH_COMBINE( seed, geometryDataNV.aabbs ); 580 return seed; 581 } 582 }; 583 584 template <> struct hash<VULKAN_HPP_NAMESPACE::GeometryNV> 585 { operator ()std::hash586 std::size_t operator()(VULKAN_HPP_NAMESPACE::GeometryNV const & geometryNV) const VULKAN_HPP_NOEXCEPT 587 { 588 std::size_t seed = 0; 589 VULKAN_HPP_HASH_COMBINE( seed, geometryNV.sType ); 590 VULKAN_HPP_HASH_COMBINE( seed, geometryNV.pNext ); 591 VULKAN_HPP_HASH_COMBINE( seed, geometryNV.geometryType ); 592 VULKAN_HPP_HASH_COMBINE( seed, geometryNV.geometry ); 593 VULKAN_HPP_HASH_COMBINE( seed, geometryNV.flags ); 594 return seed; 595 } 596 }; 597 598 template <> struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV> 599 { operator ()std::hash600 std::size_t operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV const & accelerationStructureInfoNV) const VULKAN_HPP_NOEXCEPT 601 { 602 std::size_t seed = 0; 603 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInfoNV.sType ); 604 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInfoNV.pNext ); 605 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInfoNV.type ); 606 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInfoNV.flags ); 607 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInfoNV.instanceCount ); 608 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInfoNV.geometryCount ); 609 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInfoNV.pGeometries ); 610 return seed; 611 } 612 }; 613 614 template <> struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV> 615 { operator ()std::hash616 std::size_t operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV const & accelerationStructureCreateInfoNV) const VULKAN_HPP_NOEXCEPT 617 { 618 std::size_t seed = 0; 619 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCreateInfoNV.sType ); 620 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCreateInfoNV.pNext ); 621 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCreateInfoNV.compactedSize ); 622 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCreateInfoNV.info ); 623 return seed; 624 } 625 }; 626 627 template <> struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureDeviceAddressInfoKHR> 628 { operator ()std::hash629 std::size_t operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureDeviceAddressInfoKHR const & accelerationStructureDeviceAddressInfoKHR) const VULKAN_HPP_NOEXCEPT 630 { 631 std::size_t seed = 0; 632 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureDeviceAddressInfoKHR.sType ); 633 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureDeviceAddressInfoKHR.pNext ); 634 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureDeviceAddressInfoKHR.accelerationStructure ); 635 return seed; 636 } 637 }; 638 639 template <> struct hash<VULKAN_HPP_NAMESPACE::TransformMatrixKHR> 640 { operator ()std::hash641 std::size_t operator()(VULKAN_HPP_NAMESPACE::TransformMatrixKHR const & transformMatrixKHR) const VULKAN_HPP_NOEXCEPT 642 { 643 std::size_t seed = 0; 644 for ( size_t i = 0; i < 3; ++i ) 645 { 646 for ( size_t j=0; j < 4; ++j ) 647 { 648 VULKAN_HPP_HASH_COMBINE( seed, transformMatrixKHR.matrix[i][j] ); 649 } 650 } 651 return seed; 652 } 653 }; 654 655 template <> struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureInstanceKHR> 656 { operator ()std::hash657 std::size_t operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureInstanceKHR const & accelerationStructureInstanceKHR) const VULKAN_HPP_NOEXCEPT 658 { 659 std::size_t seed = 0; 660 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInstanceKHR.transform ); 661 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInstanceKHR.instanceCustomIndex ); 662 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInstanceKHR.mask ); 663 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInstanceKHR.instanceShaderBindingTableRecordOffset ); 664 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInstanceKHR.flags ); 665 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureInstanceKHR.accelerationStructureReference ); 666 return seed; 667 } 668 }; 669 670 template <> struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureMatrixMotionInstanceNV> 671 { operator ()std::hash672 std::size_t operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureMatrixMotionInstanceNV const & accelerationStructureMatrixMotionInstanceNV) const VULKAN_HPP_NOEXCEPT 673 { 674 std::size_t seed = 0; 675 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMatrixMotionInstanceNV.transformT0 ); 676 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMatrixMotionInstanceNV.transformT1 ); 677 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMatrixMotionInstanceNV.instanceCustomIndex ); 678 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMatrixMotionInstanceNV.mask ); 679 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMatrixMotionInstanceNV.instanceShaderBindingTableRecordOffset ); 680 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMatrixMotionInstanceNV.flags ); 681 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMatrixMotionInstanceNV.accelerationStructureReference ); 682 return seed; 683 } 684 }; 685 686 template <> struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV> 687 { operator ()std::hash688 std::size_t operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV const & accelerationStructureMemoryRequirementsInfoNV) const VULKAN_HPP_NOEXCEPT 689 { 690 std::size_t seed = 0; 691 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMemoryRequirementsInfoNV.sType ); 692 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMemoryRequirementsInfoNV.pNext ); 693 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMemoryRequirementsInfoNV.type ); 694 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMemoryRequirementsInfoNV.accelerationStructure ); 695 return seed; 696 } 697 }; 698 699 template <> struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureMotionInfoNV> 700 { operator ()std::hash701 std::size_t operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureMotionInfoNV const & accelerationStructureMotionInfoNV) const VULKAN_HPP_NOEXCEPT 702 { 703 std::size_t seed = 0; 704 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMotionInfoNV.sType ); 705 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMotionInfoNV.pNext ); 706 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMotionInfoNV.maxInstances ); 707 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureMotionInfoNV.flags ); 708 return seed; 709 } 710 }; 711 712 template <> struct hash<VULKAN_HPP_NAMESPACE::SRTDataNV> 713 { operator ()std::hash714 std::size_t operator()(VULKAN_HPP_NAMESPACE::SRTDataNV const & sRTDataNV) const VULKAN_HPP_NOEXCEPT 715 { 716 std::size_t seed = 0; 717 VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.sx ); 718 VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.a ); 719 VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.b ); 720 VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.pvx ); 721 VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.sy ); 722 VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.c ); 723 VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.pvy ); 724 VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.sz ); 725 VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.pvz ); 726 VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.qx ); 727 VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.qy ); 728 VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.qz ); 729 VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.qw ); 730 VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.tx ); 731 VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.ty ); 732 VULKAN_HPP_HASH_COMBINE( seed, sRTDataNV.tz ); 733 return seed; 734 } 735 }; 736 737 template <> struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureSRTMotionInstanceNV> 738 { operator ()std::hash739 std::size_t operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureSRTMotionInstanceNV const & accelerationStructureSRTMotionInstanceNV) const VULKAN_HPP_NOEXCEPT 740 { 741 std::size_t seed = 0; 742 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureSRTMotionInstanceNV.transformT0 ); 743 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureSRTMotionInstanceNV.transformT1 ); 744 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureSRTMotionInstanceNV.instanceCustomIndex ); 745 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureSRTMotionInstanceNV.mask ); 746 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureSRTMotionInstanceNV.instanceShaderBindingTableRecordOffset ); 747 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureSRTMotionInstanceNV.flags ); 748 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureSRTMotionInstanceNV.accelerationStructureReference ); 749 return seed; 750 } 751 }; 752 753 template <> struct hash<VULKAN_HPP_NAMESPACE::MicromapUsageEXT> 754 { operator ()std::hash755 std::size_t operator()(VULKAN_HPP_NAMESPACE::MicromapUsageEXT const & micromapUsageEXT) const VULKAN_HPP_NOEXCEPT 756 { 757 std::size_t seed = 0; 758 VULKAN_HPP_HASH_COMBINE( seed, micromapUsageEXT.count ); 759 VULKAN_HPP_HASH_COMBINE( seed, micromapUsageEXT.subdivisionLevel ); 760 VULKAN_HPP_HASH_COMBINE( seed, micromapUsageEXT.format ); 761 return seed; 762 } 763 }; 764 765 template <> struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureVersionInfoKHR> 766 { operator ()std::hash767 std::size_t operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureVersionInfoKHR const & accelerationStructureVersionInfoKHR) const VULKAN_HPP_NOEXCEPT 768 { 769 std::size_t seed = 0; 770 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureVersionInfoKHR.sType ); 771 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureVersionInfoKHR.pNext ); 772 VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureVersionInfoKHR.pVersionData ); 773 return seed; 774 } 775 }; 776 777 template <> struct hash<VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR> 778 { operator ()std::hash779 std::size_t operator()(VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR const & acquireNextImageInfoKHR) const VULKAN_HPP_NOEXCEPT 780 { 781 std::size_t seed = 0; 782 VULKAN_HPP_HASH_COMBINE( seed, acquireNextImageInfoKHR.sType ); 783 VULKAN_HPP_HASH_COMBINE( seed, acquireNextImageInfoKHR.pNext ); 784 VULKAN_HPP_HASH_COMBINE( seed, acquireNextImageInfoKHR.swapchain ); 785 VULKAN_HPP_HASH_COMBINE( seed, acquireNextImageInfoKHR.timeout ); 786 VULKAN_HPP_HASH_COMBINE( seed, acquireNextImageInfoKHR.semaphore ); 787 VULKAN_HPP_HASH_COMBINE( seed, acquireNextImageInfoKHR.fence ); 788 VULKAN_HPP_HASH_COMBINE( seed, acquireNextImageInfoKHR.deviceMask ); 789 return seed; 790 } 791 }; 792 793 template <> struct hash<VULKAN_HPP_NAMESPACE::AcquireProfilingLockInfoKHR> 794 { operator ()std::hash795 std::size_t operator()(VULKAN_HPP_NAMESPACE::AcquireProfilingLockInfoKHR const & acquireProfilingLockInfoKHR) const VULKAN_HPP_NOEXCEPT 796 { 797 std::size_t seed = 0; 798 VULKAN_HPP_HASH_COMBINE( seed, acquireProfilingLockInfoKHR.sType ); 799 VULKAN_HPP_HASH_COMBINE( seed, acquireProfilingLockInfoKHR.pNext ); 800 VULKAN_HPP_HASH_COMBINE( seed, acquireProfilingLockInfoKHR.flags ); 801 VULKAN_HPP_HASH_COMBINE( seed, acquireProfilingLockInfoKHR.timeout ); 802 return seed; 803 } 804 }; 805 806 template <> struct hash<VULKAN_HPP_NAMESPACE::AllocationCallbacks> 807 { operator ()std::hash808 std::size_t operator()(VULKAN_HPP_NAMESPACE::AllocationCallbacks const & allocationCallbacks) const VULKAN_HPP_NOEXCEPT 809 { 810 std::size_t seed = 0; 811 VULKAN_HPP_HASH_COMBINE( seed, allocationCallbacks.pUserData ); 812 VULKAN_HPP_HASH_COMBINE( seed, allocationCallbacks.pfnAllocation ); 813 VULKAN_HPP_HASH_COMBINE( seed, allocationCallbacks.pfnReallocation ); 814 VULKAN_HPP_HASH_COMBINE( seed, allocationCallbacks.pfnFree ); 815 VULKAN_HPP_HASH_COMBINE( seed, allocationCallbacks.pfnInternalAllocation ); 816 VULKAN_HPP_HASH_COMBINE( seed, allocationCallbacks.pfnInternalFree ); 817 return seed; 818 } 819 }; 820 821 template <> struct hash<VULKAN_HPP_NAMESPACE::AmigoProfilingSubmitInfoSEC> 822 { operator ()std::hash823 std::size_t operator()(VULKAN_HPP_NAMESPACE::AmigoProfilingSubmitInfoSEC const & amigoProfilingSubmitInfoSEC) const VULKAN_HPP_NOEXCEPT 824 { 825 std::size_t seed = 0; 826 VULKAN_HPP_HASH_COMBINE( seed, amigoProfilingSubmitInfoSEC.sType ); 827 VULKAN_HPP_HASH_COMBINE( seed, amigoProfilingSubmitInfoSEC.pNext ); 828 VULKAN_HPP_HASH_COMBINE( seed, amigoProfilingSubmitInfoSEC.firstDrawTimestamp ); 829 VULKAN_HPP_HASH_COMBINE( seed, amigoProfilingSubmitInfoSEC.swapBufferTimestamp ); 830 return seed; 831 } 832 }; 833 834 template <> struct hash<VULKAN_HPP_NAMESPACE::ComponentMapping> 835 { operator ()std::hash836 std::size_t operator()(VULKAN_HPP_NAMESPACE::ComponentMapping const & componentMapping) const VULKAN_HPP_NOEXCEPT 837 { 838 std::size_t seed = 0; 839 VULKAN_HPP_HASH_COMBINE( seed, componentMapping.r ); 840 VULKAN_HPP_HASH_COMBINE( seed, componentMapping.g ); 841 VULKAN_HPP_HASH_COMBINE( seed, componentMapping.b ); 842 VULKAN_HPP_HASH_COMBINE( seed, componentMapping.a ); 843 return seed; 844 } 845 }; 846 847 #if defined( VK_USE_PLATFORM_ANDROID_KHR ) 848 template <> struct hash<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferFormatProperties2ANDROID> 849 { operator ()std::hash850 std::size_t operator()(VULKAN_HPP_NAMESPACE::AndroidHardwareBufferFormatProperties2ANDROID const & androidHardwareBufferFormatProperties2ANDROID) const VULKAN_HPP_NOEXCEPT 851 { 852 std::size_t seed = 0; 853 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatProperties2ANDROID.sType ); 854 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatProperties2ANDROID.pNext ); 855 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatProperties2ANDROID.format ); 856 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatProperties2ANDROID.externalFormat ); 857 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatProperties2ANDROID.formatFeatures ); 858 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatProperties2ANDROID.samplerYcbcrConversionComponents ); 859 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatProperties2ANDROID.suggestedYcbcrModel ); 860 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatProperties2ANDROID.suggestedYcbcrRange ); 861 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatProperties2ANDROID.suggestedXChromaOffset ); 862 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatProperties2ANDROID.suggestedYChromaOffset ); 863 return seed; 864 } 865 }; 866 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ 867 868 #if defined( VK_USE_PLATFORM_ANDROID_KHR ) 869 template <> struct hash<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferFormatPropertiesANDROID> 870 { operator ()std::hash871 std::size_t operator()(VULKAN_HPP_NAMESPACE::AndroidHardwareBufferFormatPropertiesANDROID const & androidHardwareBufferFormatPropertiesANDROID) const VULKAN_HPP_NOEXCEPT 872 { 873 std::size_t seed = 0; 874 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatPropertiesANDROID.sType ); 875 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatPropertiesANDROID.pNext ); 876 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatPropertiesANDROID.format ); 877 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatPropertiesANDROID.externalFormat ); 878 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatPropertiesANDROID.formatFeatures ); 879 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatPropertiesANDROID.samplerYcbcrConversionComponents ); 880 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatPropertiesANDROID.suggestedYcbcrModel ); 881 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatPropertiesANDROID.suggestedYcbcrRange ); 882 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatPropertiesANDROID.suggestedXChromaOffset ); 883 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferFormatPropertiesANDROID.suggestedYChromaOffset ); 884 return seed; 885 } 886 }; 887 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ 888 889 #if defined( VK_USE_PLATFORM_ANDROID_KHR ) 890 template <> struct hash<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID> 891 { operator ()std::hash892 std::size_t operator()(VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID const & androidHardwareBufferPropertiesANDROID) const VULKAN_HPP_NOEXCEPT 893 { 894 std::size_t seed = 0; 895 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferPropertiesANDROID.sType ); 896 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferPropertiesANDROID.pNext ); 897 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferPropertiesANDROID.allocationSize ); 898 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferPropertiesANDROID.memoryTypeBits ); 899 return seed; 900 } 901 }; 902 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ 903 904 #if defined( VK_USE_PLATFORM_ANDROID_KHR ) 905 template <> struct hash<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferUsageANDROID> 906 { operator ()std::hash907 std::size_t operator()(VULKAN_HPP_NAMESPACE::AndroidHardwareBufferUsageANDROID const & androidHardwareBufferUsageANDROID) const VULKAN_HPP_NOEXCEPT 908 { 909 std::size_t seed = 0; 910 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferUsageANDROID.sType ); 911 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferUsageANDROID.pNext ); 912 VULKAN_HPP_HASH_COMBINE( seed, androidHardwareBufferUsageANDROID.androidHardwareBufferUsage ); 913 return seed; 914 } 915 }; 916 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ 917 918 #if defined( VK_USE_PLATFORM_ANDROID_KHR ) 919 template <> struct hash<VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR> 920 { operator ()std::hash921 std::size_t operator()(VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR const & androidSurfaceCreateInfoKHR) const VULKAN_HPP_NOEXCEPT 922 { 923 std::size_t seed = 0; 924 VULKAN_HPP_HASH_COMBINE( seed, androidSurfaceCreateInfoKHR.sType ); 925 VULKAN_HPP_HASH_COMBINE( seed, androidSurfaceCreateInfoKHR.pNext ); 926 VULKAN_HPP_HASH_COMBINE( seed, androidSurfaceCreateInfoKHR.flags ); 927 VULKAN_HPP_HASH_COMBINE( seed, androidSurfaceCreateInfoKHR.window ); 928 return seed; 929 } 930 }; 931 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ 932 933 template <> struct hash<VULKAN_HPP_NAMESPACE::ApplicationInfo> 934 { operator ()std::hash935 std::size_t operator()(VULKAN_HPP_NAMESPACE::ApplicationInfo const & applicationInfo) const VULKAN_HPP_NOEXCEPT 936 { 937 std::size_t seed = 0; 938 VULKAN_HPP_HASH_COMBINE( seed, applicationInfo.sType ); 939 VULKAN_HPP_HASH_COMBINE( seed, applicationInfo.pNext ); 940 for ( const char* p = applicationInfo.pApplicationName; *p != '\0'; ++p ) 941 { 942 VULKAN_HPP_HASH_COMBINE( seed, *p ); 943 } 944 VULKAN_HPP_HASH_COMBINE( seed, applicationInfo.applicationVersion ); 945 for ( const char* p = applicationInfo.pEngineName; *p != '\0'; ++p ) 946 { 947 VULKAN_HPP_HASH_COMBINE( seed, *p ); 948 } 949 VULKAN_HPP_HASH_COMBINE( seed, applicationInfo.engineVersion ); 950 VULKAN_HPP_HASH_COMBINE( seed, applicationInfo.apiVersion ); 951 return seed; 952 } 953 }; 954 955 template <> struct hash<VULKAN_HPP_NAMESPACE::AttachmentDescription> 956 { operator ()std::hash957 std::size_t operator()(VULKAN_HPP_NAMESPACE::AttachmentDescription const & attachmentDescription) const VULKAN_HPP_NOEXCEPT 958 { 959 std::size_t seed = 0; 960 VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription.flags ); 961 VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription.format ); 962 VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription.samples ); 963 VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription.loadOp ); 964 VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription.storeOp ); 965 VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription.stencilLoadOp ); 966 VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription.stencilStoreOp ); 967 VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription.initialLayout ); 968 VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription.finalLayout ); 969 return seed; 970 } 971 }; 972 973 template <> struct hash<VULKAN_HPP_NAMESPACE::AttachmentDescription2> 974 { operator ()std::hash975 std::size_t operator()(VULKAN_HPP_NAMESPACE::AttachmentDescription2 const & attachmentDescription2) const VULKAN_HPP_NOEXCEPT 976 { 977 std::size_t seed = 0; 978 VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription2.sType ); 979 VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription2.pNext ); 980 VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription2.flags ); 981 VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription2.format ); 982 VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription2.samples ); 983 VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription2.loadOp ); 984 VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription2.storeOp ); 985 VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription2.stencilLoadOp ); 986 VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription2.stencilStoreOp ); 987 VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription2.initialLayout ); 988 VULKAN_HPP_HASH_COMBINE( seed, attachmentDescription2.finalLayout ); 989 return seed; 990 } 991 }; 992 993 template <> struct hash<VULKAN_HPP_NAMESPACE::AttachmentDescriptionStencilLayout> 994 { operator ()std::hash995 std::size_t operator()(VULKAN_HPP_NAMESPACE::AttachmentDescriptionStencilLayout const & attachmentDescriptionStencilLayout) const VULKAN_HPP_NOEXCEPT 996 { 997 std::size_t seed = 0; 998 VULKAN_HPP_HASH_COMBINE( seed, attachmentDescriptionStencilLayout.sType ); 999 VULKAN_HPP_HASH_COMBINE( seed, attachmentDescriptionStencilLayout.pNext ); 1000 VULKAN_HPP_HASH_COMBINE( seed, attachmentDescriptionStencilLayout.stencilInitialLayout ); 1001 VULKAN_HPP_HASH_COMBINE( seed, attachmentDescriptionStencilLayout.stencilFinalLayout ); 1002 return seed; 1003 } 1004 }; 1005 1006 template <> struct hash<VULKAN_HPP_NAMESPACE::AttachmentReference> 1007 { operator ()std::hash1008 std::size_t operator()(VULKAN_HPP_NAMESPACE::AttachmentReference const & attachmentReference) const VULKAN_HPP_NOEXCEPT 1009 { 1010 std::size_t seed = 0; 1011 VULKAN_HPP_HASH_COMBINE( seed, attachmentReference.attachment ); 1012 VULKAN_HPP_HASH_COMBINE( seed, attachmentReference.layout ); 1013 return seed; 1014 } 1015 }; 1016 1017 template <> struct hash<VULKAN_HPP_NAMESPACE::AttachmentReference2> 1018 { operator ()std::hash1019 std::size_t operator()(VULKAN_HPP_NAMESPACE::AttachmentReference2 const & attachmentReference2) const VULKAN_HPP_NOEXCEPT 1020 { 1021 std::size_t seed = 0; 1022 VULKAN_HPP_HASH_COMBINE( seed, attachmentReference2.sType ); 1023 VULKAN_HPP_HASH_COMBINE( seed, attachmentReference2.pNext ); 1024 VULKAN_HPP_HASH_COMBINE( seed, attachmentReference2.attachment ); 1025 VULKAN_HPP_HASH_COMBINE( seed, attachmentReference2.layout ); 1026 VULKAN_HPP_HASH_COMBINE( seed, attachmentReference2.aspectMask ); 1027 return seed; 1028 } 1029 }; 1030 1031 template <> struct hash<VULKAN_HPP_NAMESPACE::AttachmentReferenceStencilLayout> 1032 { operator ()std::hash1033 std::size_t operator()(VULKAN_HPP_NAMESPACE::AttachmentReferenceStencilLayout const & attachmentReferenceStencilLayout) const VULKAN_HPP_NOEXCEPT 1034 { 1035 std::size_t seed = 0; 1036 VULKAN_HPP_HASH_COMBINE( seed, attachmentReferenceStencilLayout.sType ); 1037 VULKAN_HPP_HASH_COMBINE( seed, attachmentReferenceStencilLayout.pNext ); 1038 VULKAN_HPP_HASH_COMBINE( seed, attachmentReferenceStencilLayout.stencilLayout ); 1039 return seed; 1040 } 1041 }; 1042 1043 template <> struct hash<VULKAN_HPP_NAMESPACE::AttachmentSampleCountInfoAMD> 1044 { operator ()std::hash1045 std::size_t operator()(VULKAN_HPP_NAMESPACE::AttachmentSampleCountInfoAMD const & attachmentSampleCountInfoAMD) const VULKAN_HPP_NOEXCEPT 1046 { 1047 std::size_t seed = 0; 1048 VULKAN_HPP_HASH_COMBINE( seed, attachmentSampleCountInfoAMD.sType ); 1049 VULKAN_HPP_HASH_COMBINE( seed, attachmentSampleCountInfoAMD.pNext ); 1050 VULKAN_HPP_HASH_COMBINE( seed, attachmentSampleCountInfoAMD.colorAttachmentCount ); 1051 VULKAN_HPP_HASH_COMBINE( seed, attachmentSampleCountInfoAMD.pColorAttachmentSamples ); 1052 VULKAN_HPP_HASH_COMBINE( seed, attachmentSampleCountInfoAMD.depthStencilAttachmentSamples ); 1053 return seed; 1054 } 1055 }; 1056 1057 template <> struct hash<VULKAN_HPP_NAMESPACE::Extent2D> 1058 { operator ()std::hash1059 std::size_t operator()(VULKAN_HPP_NAMESPACE::Extent2D const & extent2D) const VULKAN_HPP_NOEXCEPT 1060 { 1061 std::size_t seed = 0; 1062 VULKAN_HPP_HASH_COMBINE( seed, extent2D.width ); 1063 VULKAN_HPP_HASH_COMBINE( seed, extent2D.height ); 1064 return seed; 1065 } 1066 }; 1067 1068 template <> struct hash<VULKAN_HPP_NAMESPACE::SampleLocationEXT> 1069 { operator ()std::hash1070 std::size_t operator()(VULKAN_HPP_NAMESPACE::SampleLocationEXT const & sampleLocationEXT) const VULKAN_HPP_NOEXCEPT 1071 { 1072 std::size_t seed = 0; 1073 VULKAN_HPP_HASH_COMBINE( seed, sampleLocationEXT.x ); 1074 VULKAN_HPP_HASH_COMBINE( seed, sampleLocationEXT.y ); 1075 return seed; 1076 } 1077 }; 1078 1079 template <> struct hash<VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT> 1080 { operator ()std::hash1081 std::size_t operator()(VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT const & sampleLocationsInfoEXT) const VULKAN_HPP_NOEXCEPT 1082 { 1083 std::size_t seed = 0; 1084 VULKAN_HPP_HASH_COMBINE( seed, sampleLocationsInfoEXT.sType ); 1085 VULKAN_HPP_HASH_COMBINE( seed, sampleLocationsInfoEXT.pNext ); 1086 VULKAN_HPP_HASH_COMBINE( seed, sampleLocationsInfoEXT.sampleLocationsPerPixel ); 1087 VULKAN_HPP_HASH_COMBINE( seed, sampleLocationsInfoEXT.sampleLocationGridSize ); 1088 VULKAN_HPP_HASH_COMBINE( seed, sampleLocationsInfoEXT.sampleLocationsCount ); 1089 VULKAN_HPP_HASH_COMBINE( seed, sampleLocationsInfoEXT.pSampleLocations ); 1090 return seed; 1091 } 1092 }; 1093 1094 template <> struct hash<VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT> 1095 { operator ()std::hash1096 std::size_t operator()(VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT const & attachmentSampleLocationsEXT) const VULKAN_HPP_NOEXCEPT 1097 { 1098 std::size_t seed = 0; 1099 VULKAN_HPP_HASH_COMBINE( seed, attachmentSampleLocationsEXT.attachmentIndex ); 1100 VULKAN_HPP_HASH_COMBINE( seed, attachmentSampleLocationsEXT.sampleLocationsInfo ); 1101 return seed; 1102 } 1103 }; 1104 1105 template <> struct hash<VULKAN_HPP_NAMESPACE::BaseInStructure> 1106 { operator ()std::hash1107 std::size_t operator()(VULKAN_HPP_NAMESPACE::BaseInStructure const & baseInStructure) const VULKAN_HPP_NOEXCEPT 1108 { 1109 std::size_t seed = 0; 1110 VULKAN_HPP_HASH_COMBINE( seed, baseInStructure.sType ); 1111 VULKAN_HPP_HASH_COMBINE( seed, baseInStructure.pNext ); 1112 return seed; 1113 } 1114 }; 1115 1116 template <> struct hash<VULKAN_HPP_NAMESPACE::BaseOutStructure> 1117 { operator ()std::hash1118 std::size_t operator()(VULKAN_HPP_NAMESPACE::BaseOutStructure const & baseOutStructure) const VULKAN_HPP_NOEXCEPT 1119 { 1120 std::size_t seed = 0; 1121 VULKAN_HPP_HASH_COMBINE( seed, baseOutStructure.sType ); 1122 VULKAN_HPP_HASH_COMBINE( seed, baseOutStructure.pNext ); 1123 return seed; 1124 } 1125 }; 1126 1127 template <> struct hash<VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV> 1128 { operator ()std::hash1129 std::size_t operator()(VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV const & bindAccelerationStructureMemoryInfoNV) const VULKAN_HPP_NOEXCEPT 1130 { 1131 std::size_t seed = 0; 1132 VULKAN_HPP_HASH_COMBINE( seed, bindAccelerationStructureMemoryInfoNV.sType ); 1133 VULKAN_HPP_HASH_COMBINE( seed, bindAccelerationStructureMemoryInfoNV.pNext ); 1134 VULKAN_HPP_HASH_COMBINE( seed, bindAccelerationStructureMemoryInfoNV.accelerationStructure ); 1135 VULKAN_HPP_HASH_COMBINE( seed, bindAccelerationStructureMemoryInfoNV.memory ); 1136 VULKAN_HPP_HASH_COMBINE( seed, bindAccelerationStructureMemoryInfoNV.memoryOffset ); 1137 VULKAN_HPP_HASH_COMBINE( seed, bindAccelerationStructureMemoryInfoNV.deviceIndexCount ); 1138 VULKAN_HPP_HASH_COMBINE( seed, bindAccelerationStructureMemoryInfoNV.pDeviceIndices ); 1139 return seed; 1140 } 1141 }; 1142 1143 template <> struct hash<VULKAN_HPP_NAMESPACE::BindBufferMemoryDeviceGroupInfo> 1144 { operator ()std::hash1145 std::size_t operator()(VULKAN_HPP_NAMESPACE::BindBufferMemoryDeviceGroupInfo const & bindBufferMemoryDeviceGroupInfo) const VULKAN_HPP_NOEXCEPT 1146 { 1147 std::size_t seed = 0; 1148 VULKAN_HPP_HASH_COMBINE( seed, bindBufferMemoryDeviceGroupInfo.sType ); 1149 VULKAN_HPP_HASH_COMBINE( seed, bindBufferMemoryDeviceGroupInfo.pNext ); 1150 VULKAN_HPP_HASH_COMBINE( seed, bindBufferMemoryDeviceGroupInfo.deviceIndexCount ); 1151 VULKAN_HPP_HASH_COMBINE( seed, bindBufferMemoryDeviceGroupInfo.pDeviceIndices ); 1152 return seed; 1153 } 1154 }; 1155 1156 template <> struct hash<VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> 1157 { operator ()std::hash1158 std::size_t operator()(VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo const & bindBufferMemoryInfo) const VULKAN_HPP_NOEXCEPT 1159 { 1160 std::size_t seed = 0; 1161 VULKAN_HPP_HASH_COMBINE( seed, bindBufferMemoryInfo.sType ); 1162 VULKAN_HPP_HASH_COMBINE( seed, bindBufferMemoryInfo.pNext ); 1163 VULKAN_HPP_HASH_COMBINE( seed, bindBufferMemoryInfo.buffer ); 1164 VULKAN_HPP_HASH_COMBINE( seed, bindBufferMemoryInfo.memory ); 1165 VULKAN_HPP_HASH_COMBINE( seed, bindBufferMemoryInfo.memoryOffset ); 1166 return seed; 1167 } 1168 }; 1169 1170 template <> struct hash<VULKAN_HPP_NAMESPACE::Offset2D> 1171 { operator ()std::hash1172 std::size_t operator()(VULKAN_HPP_NAMESPACE::Offset2D const & offset2D) const VULKAN_HPP_NOEXCEPT 1173 { 1174 std::size_t seed = 0; 1175 VULKAN_HPP_HASH_COMBINE( seed, offset2D.x ); 1176 VULKAN_HPP_HASH_COMBINE( seed, offset2D.y ); 1177 return seed; 1178 } 1179 }; 1180 1181 template <> struct hash<VULKAN_HPP_NAMESPACE::Rect2D> 1182 { operator ()std::hash1183 std::size_t operator()(VULKAN_HPP_NAMESPACE::Rect2D const & rect2D) const VULKAN_HPP_NOEXCEPT 1184 { 1185 std::size_t seed = 0; 1186 VULKAN_HPP_HASH_COMBINE( seed, rect2D.offset ); 1187 VULKAN_HPP_HASH_COMBINE( seed, rect2D.extent ); 1188 return seed; 1189 } 1190 }; 1191 1192 template <> struct hash<VULKAN_HPP_NAMESPACE::BindImageMemoryDeviceGroupInfo> 1193 { operator ()std::hash1194 std::size_t operator()(VULKAN_HPP_NAMESPACE::BindImageMemoryDeviceGroupInfo const & bindImageMemoryDeviceGroupInfo) const VULKAN_HPP_NOEXCEPT 1195 { 1196 std::size_t seed = 0; 1197 VULKAN_HPP_HASH_COMBINE( seed, bindImageMemoryDeviceGroupInfo.sType ); 1198 VULKAN_HPP_HASH_COMBINE( seed, bindImageMemoryDeviceGroupInfo.pNext ); 1199 VULKAN_HPP_HASH_COMBINE( seed, bindImageMemoryDeviceGroupInfo.deviceIndexCount ); 1200 VULKAN_HPP_HASH_COMBINE( seed, bindImageMemoryDeviceGroupInfo.pDeviceIndices ); 1201 VULKAN_HPP_HASH_COMBINE( seed, bindImageMemoryDeviceGroupInfo.splitInstanceBindRegionCount ); 1202 VULKAN_HPP_HASH_COMBINE( seed, bindImageMemoryDeviceGroupInfo.pSplitInstanceBindRegions ); 1203 return seed; 1204 } 1205 }; 1206 1207 template <> struct hash<VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> 1208 { operator ()std::hash1209 std::size_t operator()(VULKAN_HPP_NAMESPACE::BindImageMemoryInfo const & bindImageMemoryInfo) const VULKAN_HPP_NOEXCEPT 1210 { 1211 std::size_t seed = 0; 1212 VULKAN_HPP_HASH_COMBINE( seed, bindImageMemoryInfo.sType ); 1213 VULKAN_HPP_HASH_COMBINE( seed, bindImageMemoryInfo.pNext ); 1214 VULKAN_HPP_HASH_COMBINE( seed, bindImageMemoryInfo.image ); 1215 VULKAN_HPP_HASH_COMBINE( seed, bindImageMemoryInfo.memory ); 1216 VULKAN_HPP_HASH_COMBINE( seed, bindImageMemoryInfo.memoryOffset ); 1217 return seed; 1218 } 1219 }; 1220 1221 template <> struct hash<VULKAN_HPP_NAMESPACE::BindImageMemorySwapchainInfoKHR> 1222 { operator ()std::hash1223 std::size_t operator()(VULKAN_HPP_NAMESPACE::BindImageMemorySwapchainInfoKHR const & bindImageMemorySwapchainInfoKHR) const VULKAN_HPP_NOEXCEPT 1224 { 1225 std::size_t seed = 0; 1226 VULKAN_HPP_HASH_COMBINE( seed, bindImageMemorySwapchainInfoKHR.sType ); 1227 VULKAN_HPP_HASH_COMBINE( seed, bindImageMemorySwapchainInfoKHR.pNext ); 1228 VULKAN_HPP_HASH_COMBINE( seed, bindImageMemorySwapchainInfoKHR.swapchain ); 1229 VULKAN_HPP_HASH_COMBINE( seed, bindImageMemorySwapchainInfoKHR.imageIndex ); 1230 return seed; 1231 } 1232 }; 1233 1234 template <> struct hash<VULKAN_HPP_NAMESPACE::BindImagePlaneMemoryInfo> 1235 { operator ()std::hash1236 std::size_t operator()(VULKAN_HPP_NAMESPACE::BindImagePlaneMemoryInfo const & bindImagePlaneMemoryInfo) const VULKAN_HPP_NOEXCEPT 1237 { 1238 std::size_t seed = 0; 1239 VULKAN_HPP_HASH_COMBINE( seed, bindImagePlaneMemoryInfo.sType ); 1240 VULKAN_HPP_HASH_COMBINE( seed, bindImagePlaneMemoryInfo.pNext ); 1241 VULKAN_HPP_HASH_COMBINE( seed, bindImagePlaneMemoryInfo.planeAspect ); 1242 return seed; 1243 } 1244 }; 1245 1246 template <> struct hash<VULKAN_HPP_NAMESPACE::BindIndexBufferIndirectCommandNV> 1247 { operator ()std::hash1248 std::size_t operator()(VULKAN_HPP_NAMESPACE::BindIndexBufferIndirectCommandNV const & bindIndexBufferIndirectCommandNV) const VULKAN_HPP_NOEXCEPT 1249 { 1250 std::size_t seed = 0; 1251 VULKAN_HPP_HASH_COMBINE( seed, bindIndexBufferIndirectCommandNV.bufferAddress ); 1252 VULKAN_HPP_HASH_COMBINE( seed, bindIndexBufferIndirectCommandNV.size ); 1253 VULKAN_HPP_HASH_COMBINE( seed, bindIndexBufferIndirectCommandNV.indexType ); 1254 return seed; 1255 } 1256 }; 1257 1258 template <> struct hash<VULKAN_HPP_NAMESPACE::BindShaderGroupIndirectCommandNV> 1259 { operator ()std::hash1260 std::size_t operator()(VULKAN_HPP_NAMESPACE::BindShaderGroupIndirectCommandNV const & bindShaderGroupIndirectCommandNV) const VULKAN_HPP_NOEXCEPT 1261 { 1262 std::size_t seed = 0; 1263 VULKAN_HPP_HASH_COMBINE( seed, bindShaderGroupIndirectCommandNV.groupIndex ); 1264 return seed; 1265 } 1266 }; 1267 1268 template <> struct hash<VULKAN_HPP_NAMESPACE::SparseMemoryBind> 1269 { operator ()std::hash1270 std::size_t operator()(VULKAN_HPP_NAMESPACE::SparseMemoryBind const & sparseMemoryBind) const VULKAN_HPP_NOEXCEPT 1271 { 1272 std::size_t seed = 0; 1273 VULKAN_HPP_HASH_COMBINE( seed, sparseMemoryBind.resourceOffset ); 1274 VULKAN_HPP_HASH_COMBINE( seed, sparseMemoryBind.size ); 1275 VULKAN_HPP_HASH_COMBINE( seed, sparseMemoryBind.memory ); 1276 VULKAN_HPP_HASH_COMBINE( seed, sparseMemoryBind.memoryOffset ); 1277 VULKAN_HPP_HASH_COMBINE( seed, sparseMemoryBind.flags ); 1278 return seed; 1279 } 1280 }; 1281 1282 template <> struct hash<VULKAN_HPP_NAMESPACE::SparseBufferMemoryBindInfo> 1283 { operator ()std::hash1284 std::size_t operator()(VULKAN_HPP_NAMESPACE::SparseBufferMemoryBindInfo const & sparseBufferMemoryBindInfo) const VULKAN_HPP_NOEXCEPT 1285 { 1286 std::size_t seed = 0; 1287 VULKAN_HPP_HASH_COMBINE( seed, sparseBufferMemoryBindInfo.buffer ); 1288 VULKAN_HPP_HASH_COMBINE( seed, sparseBufferMemoryBindInfo.bindCount ); 1289 VULKAN_HPP_HASH_COMBINE( seed, sparseBufferMemoryBindInfo.pBinds ); 1290 return seed; 1291 } 1292 }; 1293 1294 template <> struct hash<VULKAN_HPP_NAMESPACE::SparseImageOpaqueMemoryBindInfo> 1295 { operator ()std::hash1296 std::size_t operator()(VULKAN_HPP_NAMESPACE::SparseImageOpaqueMemoryBindInfo const & sparseImageOpaqueMemoryBindInfo) const VULKAN_HPP_NOEXCEPT 1297 { 1298 std::size_t seed = 0; 1299 VULKAN_HPP_HASH_COMBINE( seed, sparseImageOpaqueMemoryBindInfo.image ); 1300 VULKAN_HPP_HASH_COMBINE( seed, sparseImageOpaqueMemoryBindInfo.bindCount ); 1301 VULKAN_HPP_HASH_COMBINE( seed, sparseImageOpaqueMemoryBindInfo.pBinds ); 1302 return seed; 1303 } 1304 }; 1305 1306 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageSubresource> 1307 { operator ()std::hash1308 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageSubresource const & imageSubresource) const VULKAN_HPP_NOEXCEPT 1309 { 1310 std::size_t seed = 0; 1311 VULKAN_HPP_HASH_COMBINE( seed, imageSubresource.aspectMask ); 1312 VULKAN_HPP_HASH_COMBINE( seed, imageSubresource.mipLevel ); 1313 VULKAN_HPP_HASH_COMBINE( seed, imageSubresource.arrayLayer ); 1314 return seed; 1315 } 1316 }; 1317 1318 template <> struct hash<VULKAN_HPP_NAMESPACE::Offset3D> 1319 { operator ()std::hash1320 std::size_t operator()(VULKAN_HPP_NAMESPACE::Offset3D const & offset3D) const VULKAN_HPP_NOEXCEPT 1321 { 1322 std::size_t seed = 0; 1323 VULKAN_HPP_HASH_COMBINE( seed, offset3D.x ); 1324 VULKAN_HPP_HASH_COMBINE( seed, offset3D.y ); 1325 VULKAN_HPP_HASH_COMBINE( seed, offset3D.z ); 1326 return seed; 1327 } 1328 }; 1329 1330 template <> struct hash<VULKAN_HPP_NAMESPACE::Extent3D> 1331 { operator ()std::hash1332 std::size_t operator()(VULKAN_HPP_NAMESPACE::Extent3D const & extent3D) const VULKAN_HPP_NOEXCEPT 1333 { 1334 std::size_t seed = 0; 1335 VULKAN_HPP_HASH_COMBINE( seed, extent3D.width ); 1336 VULKAN_HPP_HASH_COMBINE( seed, extent3D.height ); 1337 VULKAN_HPP_HASH_COMBINE( seed, extent3D.depth ); 1338 return seed; 1339 } 1340 }; 1341 1342 template <> struct hash<VULKAN_HPP_NAMESPACE::SparseImageMemoryBind> 1343 { operator ()std::hash1344 std::size_t operator()(VULKAN_HPP_NAMESPACE::SparseImageMemoryBind const & sparseImageMemoryBind) const VULKAN_HPP_NOEXCEPT 1345 { 1346 std::size_t seed = 0; 1347 VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryBind.subresource ); 1348 VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryBind.offset ); 1349 VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryBind.extent ); 1350 VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryBind.memory ); 1351 VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryBind.memoryOffset ); 1352 VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryBind.flags ); 1353 return seed; 1354 } 1355 }; 1356 1357 template <> struct hash<VULKAN_HPP_NAMESPACE::SparseImageMemoryBindInfo> 1358 { operator ()std::hash1359 std::size_t operator()(VULKAN_HPP_NAMESPACE::SparseImageMemoryBindInfo const & sparseImageMemoryBindInfo) const VULKAN_HPP_NOEXCEPT 1360 { 1361 std::size_t seed = 0; 1362 VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryBindInfo.image ); 1363 VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryBindInfo.bindCount ); 1364 VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryBindInfo.pBinds ); 1365 return seed; 1366 } 1367 }; 1368 1369 template <> struct hash<VULKAN_HPP_NAMESPACE::BindSparseInfo> 1370 { operator ()std::hash1371 std::size_t operator()(VULKAN_HPP_NAMESPACE::BindSparseInfo const & bindSparseInfo) const VULKAN_HPP_NOEXCEPT 1372 { 1373 std::size_t seed = 0; 1374 VULKAN_HPP_HASH_COMBINE( seed, bindSparseInfo.sType ); 1375 VULKAN_HPP_HASH_COMBINE( seed, bindSparseInfo.pNext ); 1376 VULKAN_HPP_HASH_COMBINE( seed, bindSparseInfo.waitSemaphoreCount ); 1377 VULKAN_HPP_HASH_COMBINE( seed, bindSparseInfo.pWaitSemaphores ); 1378 VULKAN_HPP_HASH_COMBINE( seed, bindSparseInfo.bufferBindCount ); 1379 VULKAN_HPP_HASH_COMBINE( seed, bindSparseInfo.pBufferBinds ); 1380 VULKAN_HPP_HASH_COMBINE( seed, bindSparseInfo.imageOpaqueBindCount ); 1381 VULKAN_HPP_HASH_COMBINE( seed, bindSparseInfo.pImageOpaqueBinds ); 1382 VULKAN_HPP_HASH_COMBINE( seed, bindSparseInfo.imageBindCount ); 1383 VULKAN_HPP_HASH_COMBINE( seed, bindSparseInfo.pImageBinds ); 1384 VULKAN_HPP_HASH_COMBINE( seed, bindSparseInfo.signalSemaphoreCount ); 1385 VULKAN_HPP_HASH_COMBINE( seed, bindSparseInfo.pSignalSemaphores ); 1386 return seed; 1387 } 1388 }; 1389 1390 template <> struct hash<VULKAN_HPP_NAMESPACE::BindVertexBufferIndirectCommandNV> 1391 { operator ()std::hash1392 std::size_t operator()(VULKAN_HPP_NAMESPACE::BindVertexBufferIndirectCommandNV const & bindVertexBufferIndirectCommandNV) const VULKAN_HPP_NOEXCEPT 1393 { 1394 std::size_t seed = 0; 1395 VULKAN_HPP_HASH_COMBINE( seed, bindVertexBufferIndirectCommandNV.bufferAddress ); 1396 VULKAN_HPP_HASH_COMBINE( seed, bindVertexBufferIndirectCommandNV.size ); 1397 VULKAN_HPP_HASH_COMBINE( seed, bindVertexBufferIndirectCommandNV.stride ); 1398 return seed; 1399 } 1400 }; 1401 1402 template <> struct hash<VULKAN_HPP_NAMESPACE::BindVideoSessionMemoryInfoKHR> 1403 { operator ()std::hash1404 std::size_t operator()(VULKAN_HPP_NAMESPACE::BindVideoSessionMemoryInfoKHR const & bindVideoSessionMemoryInfoKHR) const VULKAN_HPP_NOEXCEPT 1405 { 1406 std::size_t seed = 0; 1407 VULKAN_HPP_HASH_COMBINE( seed, bindVideoSessionMemoryInfoKHR.sType ); 1408 VULKAN_HPP_HASH_COMBINE( seed, bindVideoSessionMemoryInfoKHR.pNext ); 1409 VULKAN_HPP_HASH_COMBINE( seed, bindVideoSessionMemoryInfoKHR.memoryBindIndex ); 1410 VULKAN_HPP_HASH_COMBINE( seed, bindVideoSessionMemoryInfoKHR.memory ); 1411 VULKAN_HPP_HASH_COMBINE( seed, bindVideoSessionMemoryInfoKHR.memoryOffset ); 1412 VULKAN_HPP_HASH_COMBINE( seed, bindVideoSessionMemoryInfoKHR.memorySize ); 1413 return seed; 1414 } 1415 }; 1416 1417 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageSubresourceLayers> 1418 { operator ()std::hash1419 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const & imageSubresourceLayers) const VULKAN_HPP_NOEXCEPT 1420 { 1421 std::size_t seed = 0; 1422 VULKAN_HPP_HASH_COMBINE( seed, imageSubresourceLayers.aspectMask ); 1423 VULKAN_HPP_HASH_COMBINE( seed, imageSubresourceLayers.mipLevel ); 1424 VULKAN_HPP_HASH_COMBINE( seed, imageSubresourceLayers.baseArrayLayer ); 1425 VULKAN_HPP_HASH_COMBINE( seed, imageSubresourceLayers.layerCount ); 1426 return seed; 1427 } 1428 }; 1429 1430 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageBlit2> 1431 { operator ()std::hash1432 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageBlit2 const & imageBlit2) const VULKAN_HPP_NOEXCEPT 1433 { 1434 std::size_t seed = 0; 1435 VULKAN_HPP_HASH_COMBINE( seed, imageBlit2.sType ); 1436 VULKAN_HPP_HASH_COMBINE( seed, imageBlit2.pNext ); 1437 VULKAN_HPP_HASH_COMBINE( seed, imageBlit2.srcSubresource ); 1438 for ( size_t i = 0; i < 2; ++i ) 1439 { 1440 VULKAN_HPP_HASH_COMBINE( seed, imageBlit2.srcOffsets[i] ); 1441 } 1442 VULKAN_HPP_HASH_COMBINE( seed, imageBlit2.dstSubresource ); 1443 for ( size_t i = 0; i < 2; ++i ) 1444 { 1445 VULKAN_HPP_HASH_COMBINE( seed, imageBlit2.dstOffsets[i] ); 1446 } 1447 return seed; 1448 } 1449 }; 1450 1451 template <> struct hash<VULKAN_HPP_NAMESPACE::BlitImageInfo2> 1452 { operator ()std::hash1453 std::size_t operator()(VULKAN_HPP_NAMESPACE::BlitImageInfo2 const & blitImageInfo2) const VULKAN_HPP_NOEXCEPT 1454 { 1455 std::size_t seed = 0; 1456 VULKAN_HPP_HASH_COMBINE( seed, blitImageInfo2.sType ); 1457 VULKAN_HPP_HASH_COMBINE( seed, blitImageInfo2.pNext ); 1458 VULKAN_HPP_HASH_COMBINE( seed, blitImageInfo2.srcImage ); 1459 VULKAN_HPP_HASH_COMBINE( seed, blitImageInfo2.srcImageLayout ); 1460 VULKAN_HPP_HASH_COMBINE( seed, blitImageInfo2.dstImage ); 1461 VULKAN_HPP_HASH_COMBINE( seed, blitImageInfo2.dstImageLayout ); 1462 VULKAN_HPP_HASH_COMBINE( seed, blitImageInfo2.regionCount ); 1463 VULKAN_HPP_HASH_COMBINE( seed, blitImageInfo2.pRegions ); 1464 VULKAN_HPP_HASH_COMBINE( seed, blitImageInfo2.filter ); 1465 return seed; 1466 } 1467 }; 1468 1469 template <> struct hash<VULKAN_HPP_NAMESPACE::BufferCaptureDescriptorDataInfoEXT> 1470 { operator ()std::hash1471 std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferCaptureDescriptorDataInfoEXT const & bufferCaptureDescriptorDataInfoEXT) const VULKAN_HPP_NOEXCEPT 1472 { 1473 std::size_t seed = 0; 1474 VULKAN_HPP_HASH_COMBINE( seed, bufferCaptureDescriptorDataInfoEXT.sType ); 1475 VULKAN_HPP_HASH_COMBINE( seed, bufferCaptureDescriptorDataInfoEXT.pNext ); 1476 VULKAN_HPP_HASH_COMBINE( seed, bufferCaptureDescriptorDataInfoEXT.buffer ); 1477 return seed; 1478 } 1479 }; 1480 1481 #if defined( VK_USE_PLATFORM_FUCHSIA ) 1482 template <> struct hash<VULKAN_HPP_NAMESPACE::BufferCollectionBufferCreateInfoFUCHSIA> 1483 { operator ()std::hash1484 std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferCollectionBufferCreateInfoFUCHSIA const & bufferCollectionBufferCreateInfoFUCHSIA) const VULKAN_HPP_NOEXCEPT 1485 { 1486 std::size_t seed = 0; 1487 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionBufferCreateInfoFUCHSIA.sType ); 1488 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionBufferCreateInfoFUCHSIA.pNext ); 1489 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionBufferCreateInfoFUCHSIA.collection ); 1490 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionBufferCreateInfoFUCHSIA.index ); 1491 return seed; 1492 } 1493 }; 1494 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 1495 1496 #if defined( VK_USE_PLATFORM_FUCHSIA ) 1497 template <> struct hash<VULKAN_HPP_NAMESPACE::BufferCollectionConstraintsInfoFUCHSIA> 1498 { operator ()std::hash1499 std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferCollectionConstraintsInfoFUCHSIA const & bufferCollectionConstraintsInfoFUCHSIA) const VULKAN_HPP_NOEXCEPT 1500 { 1501 std::size_t seed = 0; 1502 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionConstraintsInfoFUCHSIA.sType ); 1503 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionConstraintsInfoFUCHSIA.pNext ); 1504 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionConstraintsInfoFUCHSIA.minBufferCount ); 1505 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionConstraintsInfoFUCHSIA.maxBufferCount ); 1506 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionConstraintsInfoFUCHSIA.minBufferCountForCamping ); 1507 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionConstraintsInfoFUCHSIA.minBufferCountForDedicatedSlack ); 1508 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionConstraintsInfoFUCHSIA.minBufferCountForSharedSlack ); 1509 return seed; 1510 } 1511 }; 1512 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 1513 1514 #if defined( VK_USE_PLATFORM_FUCHSIA ) 1515 template <> struct hash<VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA> 1516 { operator ()std::hash1517 std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA const & bufferCollectionCreateInfoFUCHSIA) const VULKAN_HPP_NOEXCEPT 1518 { 1519 std::size_t seed = 0; 1520 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionCreateInfoFUCHSIA.sType ); 1521 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionCreateInfoFUCHSIA.pNext ); 1522 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionCreateInfoFUCHSIA.collectionToken ); 1523 return seed; 1524 } 1525 }; 1526 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 1527 1528 #if defined( VK_USE_PLATFORM_FUCHSIA ) 1529 template <> struct hash<VULKAN_HPP_NAMESPACE::BufferCollectionImageCreateInfoFUCHSIA> 1530 { operator ()std::hash1531 std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferCollectionImageCreateInfoFUCHSIA const & bufferCollectionImageCreateInfoFUCHSIA) const VULKAN_HPP_NOEXCEPT 1532 { 1533 std::size_t seed = 0; 1534 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionImageCreateInfoFUCHSIA.sType ); 1535 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionImageCreateInfoFUCHSIA.pNext ); 1536 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionImageCreateInfoFUCHSIA.collection ); 1537 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionImageCreateInfoFUCHSIA.index ); 1538 return seed; 1539 } 1540 }; 1541 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 1542 1543 #if defined( VK_USE_PLATFORM_FUCHSIA ) 1544 template <> struct hash<VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA> 1545 { operator ()std::hash1546 std::size_t operator()(VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA const & sysmemColorSpaceFUCHSIA) const VULKAN_HPP_NOEXCEPT 1547 { 1548 std::size_t seed = 0; 1549 VULKAN_HPP_HASH_COMBINE( seed, sysmemColorSpaceFUCHSIA.sType ); 1550 VULKAN_HPP_HASH_COMBINE( seed, sysmemColorSpaceFUCHSIA.pNext ); 1551 VULKAN_HPP_HASH_COMBINE( seed, sysmemColorSpaceFUCHSIA.colorSpace ); 1552 return seed; 1553 } 1554 }; 1555 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 1556 1557 #if defined( VK_USE_PLATFORM_FUCHSIA ) 1558 template <> struct hash<VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA> 1559 { operator ()std::hash1560 std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA const & bufferCollectionPropertiesFUCHSIA) const VULKAN_HPP_NOEXCEPT 1561 { 1562 std::size_t seed = 0; 1563 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.sType ); 1564 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.pNext ); 1565 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.memoryTypeBits ); 1566 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.bufferCount ); 1567 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.createInfoIndex ); 1568 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.sysmemPixelFormat ); 1569 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.formatFeatures ); 1570 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.sysmemColorSpaceIndex ); 1571 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.samplerYcbcrConversionComponents ); 1572 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.suggestedYcbcrModel ); 1573 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.suggestedYcbcrRange ); 1574 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.suggestedXChromaOffset ); 1575 VULKAN_HPP_HASH_COMBINE( seed, bufferCollectionPropertiesFUCHSIA.suggestedYChromaOffset ); 1576 return seed; 1577 } 1578 }; 1579 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 1580 1581 template <> struct hash<VULKAN_HPP_NAMESPACE::BufferCreateInfo> 1582 { operator ()std::hash1583 std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferCreateInfo const & bufferCreateInfo) const VULKAN_HPP_NOEXCEPT 1584 { 1585 std::size_t seed = 0; 1586 VULKAN_HPP_HASH_COMBINE( seed, bufferCreateInfo.sType ); 1587 VULKAN_HPP_HASH_COMBINE( seed, bufferCreateInfo.pNext ); 1588 VULKAN_HPP_HASH_COMBINE( seed, bufferCreateInfo.flags ); 1589 VULKAN_HPP_HASH_COMBINE( seed, bufferCreateInfo.size ); 1590 VULKAN_HPP_HASH_COMBINE( seed, bufferCreateInfo.usage ); 1591 VULKAN_HPP_HASH_COMBINE( seed, bufferCreateInfo.sharingMode ); 1592 VULKAN_HPP_HASH_COMBINE( seed, bufferCreateInfo.queueFamilyIndexCount ); 1593 VULKAN_HPP_HASH_COMBINE( seed, bufferCreateInfo.pQueueFamilyIndices ); 1594 return seed; 1595 } 1596 }; 1597 1598 #if defined( VK_USE_PLATFORM_FUCHSIA ) 1599 template <> struct hash<VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIA> 1600 { operator ()std::hash1601 std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIA const & bufferConstraintsInfoFUCHSIA) const VULKAN_HPP_NOEXCEPT 1602 { 1603 std::size_t seed = 0; 1604 VULKAN_HPP_HASH_COMBINE( seed, bufferConstraintsInfoFUCHSIA.sType ); 1605 VULKAN_HPP_HASH_COMBINE( seed, bufferConstraintsInfoFUCHSIA.pNext ); 1606 VULKAN_HPP_HASH_COMBINE( seed, bufferConstraintsInfoFUCHSIA.createInfo ); 1607 VULKAN_HPP_HASH_COMBINE( seed, bufferConstraintsInfoFUCHSIA.requiredFormatFeatures ); 1608 VULKAN_HPP_HASH_COMBINE( seed, bufferConstraintsInfoFUCHSIA.bufferCollectionConstraints ); 1609 return seed; 1610 } 1611 }; 1612 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 1613 1614 template <> struct hash<VULKAN_HPP_NAMESPACE::BufferCopy> 1615 { operator ()std::hash1616 std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferCopy const & bufferCopy) const VULKAN_HPP_NOEXCEPT 1617 { 1618 std::size_t seed = 0; 1619 VULKAN_HPP_HASH_COMBINE( seed, bufferCopy.srcOffset ); 1620 VULKAN_HPP_HASH_COMBINE( seed, bufferCopy.dstOffset ); 1621 VULKAN_HPP_HASH_COMBINE( seed, bufferCopy.size ); 1622 return seed; 1623 } 1624 }; 1625 1626 template <> struct hash<VULKAN_HPP_NAMESPACE::BufferCopy2> 1627 { operator ()std::hash1628 std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferCopy2 const & bufferCopy2) const VULKAN_HPP_NOEXCEPT 1629 { 1630 std::size_t seed = 0; 1631 VULKAN_HPP_HASH_COMBINE( seed, bufferCopy2.sType ); 1632 VULKAN_HPP_HASH_COMBINE( seed, bufferCopy2.pNext ); 1633 VULKAN_HPP_HASH_COMBINE( seed, bufferCopy2.srcOffset ); 1634 VULKAN_HPP_HASH_COMBINE( seed, bufferCopy2.dstOffset ); 1635 VULKAN_HPP_HASH_COMBINE( seed, bufferCopy2.size ); 1636 return seed; 1637 } 1638 }; 1639 1640 template <> struct hash<VULKAN_HPP_NAMESPACE::BufferDeviceAddressCreateInfoEXT> 1641 { operator ()std::hash1642 std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferDeviceAddressCreateInfoEXT const & bufferDeviceAddressCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 1643 { 1644 std::size_t seed = 0; 1645 VULKAN_HPP_HASH_COMBINE( seed, bufferDeviceAddressCreateInfoEXT.sType ); 1646 VULKAN_HPP_HASH_COMBINE( seed, bufferDeviceAddressCreateInfoEXT.pNext ); 1647 VULKAN_HPP_HASH_COMBINE( seed, bufferDeviceAddressCreateInfoEXT.deviceAddress ); 1648 return seed; 1649 } 1650 }; 1651 1652 template <> struct hash<VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo> 1653 { operator ()std::hash1654 std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo const & bufferDeviceAddressInfo) const VULKAN_HPP_NOEXCEPT 1655 { 1656 std::size_t seed = 0; 1657 VULKAN_HPP_HASH_COMBINE( seed, bufferDeviceAddressInfo.sType ); 1658 VULKAN_HPP_HASH_COMBINE( seed, bufferDeviceAddressInfo.pNext ); 1659 VULKAN_HPP_HASH_COMBINE( seed, bufferDeviceAddressInfo.buffer ); 1660 return seed; 1661 } 1662 }; 1663 1664 template <> struct hash<VULKAN_HPP_NAMESPACE::BufferImageCopy> 1665 { operator ()std::hash1666 std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferImageCopy const & bufferImageCopy) const VULKAN_HPP_NOEXCEPT 1667 { 1668 std::size_t seed = 0; 1669 VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy.bufferOffset ); 1670 VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy.bufferRowLength ); 1671 VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy.bufferImageHeight ); 1672 VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy.imageSubresource ); 1673 VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy.imageOffset ); 1674 VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy.imageExtent ); 1675 return seed; 1676 } 1677 }; 1678 1679 template <> struct hash<VULKAN_HPP_NAMESPACE::BufferImageCopy2> 1680 { operator ()std::hash1681 std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferImageCopy2 const & bufferImageCopy2) const VULKAN_HPP_NOEXCEPT 1682 { 1683 std::size_t seed = 0; 1684 VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy2.sType ); 1685 VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy2.pNext ); 1686 VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy2.bufferOffset ); 1687 VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy2.bufferRowLength ); 1688 VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy2.bufferImageHeight ); 1689 VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy2.imageSubresource ); 1690 VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy2.imageOffset ); 1691 VULKAN_HPP_HASH_COMBINE( seed, bufferImageCopy2.imageExtent ); 1692 return seed; 1693 } 1694 }; 1695 1696 template <> struct hash<VULKAN_HPP_NAMESPACE::BufferMemoryBarrier> 1697 { operator ()std::hash1698 std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferMemoryBarrier const & bufferMemoryBarrier) const VULKAN_HPP_NOEXCEPT 1699 { 1700 std::size_t seed = 0; 1701 VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier.sType ); 1702 VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier.pNext ); 1703 VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier.srcAccessMask ); 1704 VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier.dstAccessMask ); 1705 VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier.srcQueueFamilyIndex ); 1706 VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier.dstQueueFamilyIndex ); 1707 VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier.buffer ); 1708 VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier.offset ); 1709 VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier.size ); 1710 return seed; 1711 } 1712 }; 1713 1714 template <> struct hash<VULKAN_HPP_NAMESPACE::BufferMemoryBarrier2> 1715 { operator ()std::hash1716 std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferMemoryBarrier2 const & bufferMemoryBarrier2) const VULKAN_HPP_NOEXCEPT 1717 { 1718 std::size_t seed = 0; 1719 VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier2.sType ); 1720 VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier2.pNext ); 1721 VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier2.srcStageMask ); 1722 VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier2.srcAccessMask ); 1723 VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier2.dstStageMask ); 1724 VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier2.dstAccessMask ); 1725 VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier2.srcQueueFamilyIndex ); 1726 VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier2.dstQueueFamilyIndex ); 1727 VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier2.buffer ); 1728 VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier2.offset ); 1729 VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryBarrier2.size ); 1730 return seed; 1731 } 1732 }; 1733 1734 template <> struct hash<VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2> 1735 { operator ()std::hash1736 std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 const & bufferMemoryRequirementsInfo2) const VULKAN_HPP_NOEXCEPT 1737 { 1738 std::size_t seed = 0; 1739 VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryRequirementsInfo2.sType ); 1740 VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryRequirementsInfo2.pNext ); 1741 VULKAN_HPP_HASH_COMBINE( seed, bufferMemoryRequirementsInfo2.buffer ); 1742 return seed; 1743 } 1744 }; 1745 1746 template <> struct hash<VULKAN_HPP_NAMESPACE::BufferOpaqueCaptureAddressCreateInfo> 1747 { operator ()std::hash1748 std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferOpaqueCaptureAddressCreateInfo const & bufferOpaqueCaptureAddressCreateInfo) const VULKAN_HPP_NOEXCEPT 1749 { 1750 std::size_t seed = 0; 1751 VULKAN_HPP_HASH_COMBINE( seed, bufferOpaqueCaptureAddressCreateInfo.sType ); 1752 VULKAN_HPP_HASH_COMBINE( seed, bufferOpaqueCaptureAddressCreateInfo.pNext ); 1753 VULKAN_HPP_HASH_COMBINE( seed, bufferOpaqueCaptureAddressCreateInfo.opaqueCaptureAddress ); 1754 return seed; 1755 } 1756 }; 1757 1758 template <> struct hash<VULKAN_HPP_NAMESPACE::BufferViewCreateInfo> 1759 { operator ()std::hash1760 std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferViewCreateInfo const & bufferViewCreateInfo) const VULKAN_HPP_NOEXCEPT 1761 { 1762 std::size_t seed = 0; 1763 VULKAN_HPP_HASH_COMBINE( seed, bufferViewCreateInfo.sType ); 1764 VULKAN_HPP_HASH_COMBINE( seed, bufferViewCreateInfo.pNext ); 1765 VULKAN_HPP_HASH_COMBINE( seed, bufferViewCreateInfo.flags ); 1766 VULKAN_HPP_HASH_COMBINE( seed, bufferViewCreateInfo.buffer ); 1767 VULKAN_HPP_HASH_COMBINE( seed, bufferViewCreateInfo.format ); 1768 VULKAN_HPP_HASH_COMBINE( seed, bufferViewCreateInfo.offset ); 1769 VULKAN_HPP_HASH_COMBINE( seed, bufferViewCreateInfo.range ); 1770 return seed; 1771 } 1772 }; 1773 1774 template <> struct hash<VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT> 1775 { operator ()std::hash1776 std::size_t operator()(VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT const & calibratedTimestampInfoEXT) const VULKAN_HPP_NOEXCEPT 1777 { 1778 std::size_t seed = 0; 1779 VULKAN_HPP_HASH_COMBINE( seed, calibratedTimestampInfoEXT.sType ); 1780 VULKAN_HPP_HASH_COMBINE( seed, calibratedTimestampInfoEXT.pNext ); 1781 VULKAN_HPP_HASH_COMBINE( seed, calibratedTimestampInfoEXT.timeDomain ); 1782 return seed; 1783 } 1784 }; 1785 1786 template <> struct hash<VULKAN_HPP_NAMESPACE::CheckpointData2NV> 1787 { operator ()std::hash1788 std::size_t operator()(VULKAN_HPP_NAMESPACE::CheckpointData2NV const & checkpointData2NV) const VULKAN_HPP_NOEXCEPT 1789 { 1790 std::size_t seed = 0; 1791 VULKAN_HPP_HASH_COMBINE( seed, checkpointData2NV.sType ); 1792 VULKAN_HPP_HASH_COMBINE( seed, checkpointData2NV.pNext ); 1793 VULKAN_HPP_HASH_COMBINE( seed, checkpointData2NV.stage ); 1794 VULKAN_HPP_HASH_COMBINE( seed, checkpointData2NV.pCheckpointMarker ); 1795 return seed; 1796 } 1797 }; 1798 1799 template <> struct hash<VULKAN_HPP_NAMESPACE::CheckpointDataNV> 1800 { operator ()std::hash1801 std::size_t operator()(VULKAN_HPP_NAMESPACE::CheckpointDataNV const & checkpointDataNV) const VULKAN_HPP_NOEXCEPT 1802 { 1803 std::size_t seed = 0; 1804 VULKAN_HPP_HASH_COMBINE( seed, checkpointDataNV.sType ); 1805 VULKAN_HPP_HASH_COMBINE( seed, checkpointDataNV.pNext ); 1806 VULKAN_HPP_HASH_COMBINE( seed, checkpointDataNV.stage ); 1807 VULKAN_HPP_HASH_COMBINE( seed, checkpointDataNV.pCheckpointMarker ); 1808 return seed; 1809 } 1810 }; 1811 1812 template <> struct hash<VULKAN_HPP_NAMESPACE::ClearDepthStencilValue> 1813 { operator ()std::hash1814 std::size_t operator()(VULKAN_HPP_NAMESPACE::ClearDepthStencilValue const & clearDepthStencilValue) const VULKAN_HPP_NOEXCEPT 1815 { 1816 std::size_t seed = 0; 1817 VULKAN_HPP_HASH_COMBINE( seed, clearDepthStencilValue.depth ); 1818 VULKAN_HPP_HASH_COMBINE( seed, clearDepthStencilValue.stencil ); 1819 return seed; 1820 } 1821 }; 1822 1823 template <> struct hash<VULKAN_HPP_NAMESPACE::ClearRect> 1824 { operator ()std::hash1825 std::size_t operator()(VULKAN_HPP_NAMESPACE::ClearRect const & clearRect) const VULKAN_HPP_NOEXCEPT 1826 { 1827 std::size_t seed = 0; 1828 VULKAN_HPP_HASH_COMBINE( seed, clearRect.rect ); 1829 VULKAN_HPP_HASH_COMBINE( seed, clearRect.baseArrayLayer ); 1830 VULKAN_HPP_HASH_COMBINE( seed, clearRect.layerCount ); 1831 return seed; 1832 } 1833 }; 1834 1835 template <> struct hash<VULKAN_HPP_NAMESPACE::CoarseSampleLocationNV> 1836 { operator ()std::hash1837 std::size_t operator()(VULKAN_HPP_NAMESPACE::CoarseSampleLocationNV const & coarseSampleLocationNV) const VULKAN_HPP_NOEXCEPT 1838 { 1839 std::size_t seed = 0; 1840 VULKAN_HPP_HASH_COMBINE( seed, coarseSampleLocationNV.pixelX ); 1841 VULKAN_HPP_HASH_COMBINE( seed, coarseSampleLocationNV.pixelY ); 1842 VULKAN_HPP_HASH_COMBINE( seed, coarseSampleLocationNV.sample ); 1843 return seed; 1844 } 1845 }; 1846 1847 template <> struct hash<VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV> 1848 { operator ()std::hash1849 std::size_t operator()(VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV const & coarseSampleOrderCustomNV) const VULKAN_HPP_NOEXCEPT 1850 { 1851 std::size_t seed = 0; 1852 VULKAN_HPP_HASH_COMBINE( seed, coarseSampleOrderCustomNV.shadingRate ); 1853 VULKAN_HPP_HASH_COMBINE( seed, coarseSampleOrderCustomNV.sampleCount ); 1854 VULKAN_HPP_HASH_COMBINE( seed, coarseSampleOrderCustomNV.sampleLocationCount ); 1855 VULKAN_HPP_HASH_COMBINE( seed, coarseSampleOrderCustomNV.pSampleLocations ); 1856 return seed; 1857 } 1858 }; 1859 1860 template <> struct hash<VULKAN_HPP_NAMESPACE::ColorBlendAdvancedEXT> 1861 { operator ()std::hash1862 std::size_t operator()(VULKAN_HPP_NAMESPACE::ColorBlendAdvancedEXT const & colorBlendAdvancedEXT) const VULKAN_HPP_NOEXCEPT 1863 { 1864 std::size_t seed = 0; 1865 VULKAN_HPP_HASH_COMBINE( seed, colorBlendAdvancedEXT.advancedBlendOp ); 1866 VULKAN_HPP_HASH_COMBINE( seed, colorBlendAdvancedEXT.srcPremultiplied ); 1867 VULKAN_HPP_HASH_COMBINE( seed, colorBlendAdvancedEXT.dstPremultiplied ); 1868 VULKAN_HPP_HASH_COMBINE( seed, colorBlendAdvancedEXT.blendOverlap ); 1869 VULKAN_HPP_HASH_COMBINE( seed, colorBlendAdvancedEXT.clampResults ); 1870 return seed; 1871 } 1872 }; 1873 1874 template <> struct hash<VULKAN_HPP_NAMESPACE::ColorBlendEquationEXT> 1875 { operator ()std::hash1876 std::size_t operator()(VULKAN_HPP_NAMESPACE::ColorBlendEquationEXT const & colorBlendEquationEXT) const VULKAN_HPP_NOEXCEPT 1877 { 1878 std::size_t seed = 0; 1879 VULKAN_HPP_HASH_COMBINE( seed, colorBlendEquationEXT.srcColorBlendFactor ); 1880 VULKAN_HPP_HASH_COMBINE( seed, colorBlendEquationEXT.dstColorBlendFactor ); 1881 VULKAN_HPP_HASH_COMBINE( seed, colorBlendEquationEXT.colorBlendOp ); 1882 VULKAN_HPP_HASH_COMBINE( seed, colorBlendEquationEXT.srcAlphaBlendFactor ); 1883 VULKAN_HPP_HASH_COMBINE( seed, colorBlendEquationEXT.dstAlphaBlendFactor ); 1884 VULKAN_HPP_HASH_COMBINE( seed, colorBlendEquationEXT.alphaBlendOp ); 1885 return seed; 1886 } 1887 }; 1888 1889 template <> struct hash<VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo> 1890 { operator ()std::hash1891 std::size_t operator()(VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo const & commandBufferAllocateInfo) const VULKAN_HPP_NOEXCEPT 1892 { 1893 std::size_t seed = 0; 1894 VULKAN_HPP_HASH_COMBINE( seed, commandBufferAllocateInfo.sType ); 1895 VULKAN_HPP_HASH_COMBINE( seed, commandBufferAllocateInfo.pNext ); 1896 VULKAN_HPP_HASH_COMBINE( seed, commandBufferAllocateInfo.commandPool ); 1897 VULKAN_HPP_HASH_COMBINE( seed, commandBufferAllocateInfo.level ); 1898 VULKAN_HPP_HASH_COMBINE( seed, commandBufferAllocateInfo.commandBufferCount ); 1899 return seed; 1900 } 1901 }; 1902 1903 template <> struct hash<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceInfo> 1904 { operator ()std::hash1905 std::size_t operator()(VULKAN_HPP_NAMESPACE::CommandBufferInheritanceInfo const & commandBufferInheritanceInfo) const VULKAN_HPP_NOEXCEPT 1906 { 1907 std::size_t seed = 0; 1908 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceInfo.sType ); 1909 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceInfo.pNext ); 1910 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceInfo.renderPass ); 1911 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceInfo.subpass ); 1912 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceInfo.framebuffer ); 1913 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceInfo.occlusionQueryEnable ); 1914 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceInfo.queryFlags ); 1915 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceInfo.pipelineStatistics ); 1916 return seed; 1917 } 1918 }; 1919 1920 template <> struct hash<VULKAN_HPP_NAMESPACE::CommandBufferBeginInfo> 1921 { operator ()std::hash1922 std::size_t operator()(VULKAN_HPP_NAMESPACE::CommandBufferBeginInfo const & commandBufferBeginInfo) const VULKAN_HPP_NOEXCEPT 1923 { 1924 std::size_t seed = 0; 1925 VULKAN_HPP_HASH_COMBINE( seed, commandBufferBeginInfo.sType ); 1926 VULKAN_HPP_HASH_COMBINE( seed, commandBufferBeginInfo.pNext ); 1927 VULKAN_HPP_HASH_COMBINE( seed, commandBufferBeginInfo.flags ); 1928 VULKAN_HPP_HASH_COMBINE( seed, commandBufferBeginInfo.pInheritanceInfo ); 1929 return seed; 1930 } 1931 }; 1932 1933 template <> struct hash<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceConditionalRenderingInfoEXT> 1934 { operator ()std::hash1935 std::size_t operator()(VULKAN_HPP_NAMESPACE::CommandBufferInheritanceConditionalRenderingInfoEXT const & commandBufferInheritanceConditionalRenderingInfoEXT) const VULKAN_HPP_NOEXCEPT 1936 { 1937 std::size_t seed = 0; 1938 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceConditionalRenderingInfoEXT.sType ); 1939 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceConditionalRenderingInfoEXT.pNext ); 1940 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceConditionalRenderingInfoEXT.conditionalRenderingEnable ); 1941 return seed; 1942 } 1943 }; 1944 1945 template <> struct hash<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceRenderPassTransformInfoQCOM> 1946 { operator ()std::hash1947 std::size_t operator()(VULKAN_HPP_NAMESPACE::CommandBufferInheritanceRenderPassTransformInfoQCOM const & commandBufferInheritanceRenderPassTransformInfoQCOM) const VULKAN_HPP_NOEXCEPT 1948 { 1949 std::size_t seed = 0; 1950 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderPassTransformInfoQCOM.sType ); 1951 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderPassTransformInfoQCOM.pNext ); 1952 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderPassTransformInfoQCOM.transform ); 1953 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderPassTransformInfoQCOM.renderArea ); 1954 return seed; 1955 } 1956 }; 1957 1958 template <> struct hash<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceRenderingInfo> 1959 { operator ()std::hash1960 std::size_t operator()(VULKAN_HPP_NAMESPACE::CommandBufferInheritanceRenderingInfo const & commandBufferInheritanceRenderingInfo) const VULKAN_HPP_NOEXCEPT 1961 { 1962 std::size_t seed = 0; 1963 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderingInfo.sType ); 1964 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderingInfo.pNext ); 1965 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderingInfo.flags ); 1966 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderingInfo.viewMask ); 1967 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderingInfo.colorAttachmentCount ); 1968 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderingInfo.pColorAttachmentFormats ); 1969 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderingInfo.depthAttachmentFormat ); 1970 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderingInfo.stencilAttachmentFormat ); 1971 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceRenderingInfo.rasterizationSamples ); 1972 return seed; 1973 } 1974 }; 1975 1976 template <> struct hash<VULKAN_HPP_NAMESPACE::Viewport> 1977 { operator ()std::hash1978 std::size_t operator()(VULKAN_HPP_NAMESPACE::Viewport const & viewport) const VULKAN_HPP_NOEXCEPT 1979 { 1980 std::size_t seed = 0; 1981 VULKAN_HPP_HASH_COMBINE( seed, viewport.x ); 1982 VULKAN_HPP_HASH_COMBINE( seed, viewport.y ); 1983 VULKAN_HPP_HASH_COMBINE( seed, viewport.width ); 1984 VULKAN_HPP_HASH_COMBINE( seed, viewport.height ); 1985 VULKAN_HPP_HASH_COMBINE( seed, viewport.minDepth ); 1986 VULKAN_HPP_HASH_COMBINE( seed, viewport.maxDepth ); 1987 return seed; 1988 } 1989 }; 1990 1991 template <> struct hash<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceViewportScissorInfoNV> 1992 { operator ()std::hash1993 std::size_t operator()(VULKAN_HPP_NAMESPACE::CommandBufferInheritanceViewportScissorInfoNV const & commandBufferInheritanceViewportScissorInfoNV) const VULKAN_HPP_NOEXCEPT 1994 { 1995 std::size_t seed = 0; 1996 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceViewportScissorInfoNV.sType ); 1997 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceViewportScissorInfoNV.pNext ); 1998 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceViewportScissorInfoNV.viewportScissor2D ); 1999 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceViewportScissorInfoNV.viewportDepthCount ); 2000 VULKAN_HPP_HASH_COMBINE( seed, commandBufferInheritanceViewportScissorInfoNV.pViewportDepths ); 2001 return seed; 2002 } 2003 }; 2004 2005 template <> struct hash<VULKAN_HPP_NAMESPACE::CommandBufferSubmitInfo> 2006 { operator ()std::hash2007 std::size_t operator()(VULKAN_HPP_NAMESPACE::CommandBufferSubmitInfo const & commandBufferSubmitInfo) const VULKAN_HPP_NOEXCEPT 2008 { 2009 std::size_t seed = 0; 2010 VULKAN_HPP_HASH_COMBINE( seed, commandBufferSubmitInfo.sType ); 2011 VULKAN_HPP_HASH_COMBINE( seed, commandBufferSubmitInfo.pNext ); 2012 VULKAN_HPP_HASH_COMBINE( seed, commandBufferSubmitInfo.commandBuffer ); 2013 VULKAN_HPP_HASH_COMBINE( seed, commandBufferSubmitInfo.deviceMask ); 2014 return seed; 2015 } 2016 }; 2017 2018 template <> struct hash<VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo> 2019 { operator ()std::hash2020 std::size_t operator()(VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo const & commandPoolCreateInfo) const VULKAN_HPP_NOEXCEPT 2021 { 2022 std::size_t seed = 0; 2023 VULKAN_HPP_HASH_COMBINE( seed, commandPoolCreateInfo.sType ); 2024 VULKAN_HPP_HASH_COMBINE( seed, commandPoolCreateInfo.pNext ); 2025 VULKAN_HPP_HASH_COMBINE( seed, commandPoolCreateInfo.flags ); 2026 VULKAN_HPP_HASH_COMBINE( seed, commandPoolCreateInfo.queueFamilyIndex ); 2027 return seed; 2028 } 2029 }; 2030 2031 template <> struct hash<VULKAN_HPP_NAMESPACE::SpecializationMapEntry> 2032 { operator ()std::hash2033 std::size_t operator()(VULKAN_HPP_NAMESPACE::SpecializationMapEntry const & specializationMapEntry) const VULKAN_HPP_NOEXCEPT 2034 { 2035 std::size_t seed = 0; 2036 VULKAN_HPP_HASH_COMBINE( seed, specializationMapEntry.constantID ); 2037 VULKAN_HPP_HASH_COMBINE( seed, specializationMapEntry.offset ); 2038 VULKAN_HPP_HASH_COMBINE( seed, specializationMapEntry.size ); 2039 return seed; 2040 } 2041 }; 2042 2043 template <> struct hash<VULKAN_HPP_NAMESPACE::SpecializationInfo> 2044 { operator ()std::hash2045 std::size_t operator()(VULKAN_HPP_NAMESPACE::SpecializationInfo const & specializationInfo) const VULKAN_HPP_NOEXCEPT 2046 { 2047 std::size_t seed = 0; 2048 VULKAN_HPP_HASH_COMBINE( seed, specializationInfo.mapEntryCount ); 2049 VULKAN_HPP_HASH_COMBINE( seed, specializationInfo.pMapEntries ); 2050 VULKAN_HPP_HASH_COMBINE( seed, specializationInfo.dataSize ); 2051 VULKAN_HPP_HASH_COMBINE( seed, specializationInfo.pData ); 2052 return seed; 2053 } 2054 }; 2055 2056 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo> 2057 { operator ()std::hash2058 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo const & pipelineShaderStageCreateInfo) const VULKAN_HPP_NOEXCEPT 2059 { 2060 std::size_t seed = 0; 2061 VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageCreateInfo.sType ); 2062 VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageCreateInfo.pNext ); 2063 VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageCreateInfo.flags ); 2064 VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageCreateInfo.stage ); 2065 VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageCreateInfo.module ); 2066 for ( const char* p = pipelineShaderStageCreateInfo.pName; *p != '\0'; ++p ) 2067 { 2068 VULKAN_HPP_HASH_COMBINE( seed, *p ); 2069 } 2070 VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageCreateInfo.pSpecializationInfo ); 2071 return seed; 2072 } 2073 }; 2074 2075 template <> struct hash<VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> 2076 { operator ()std::hash2077 std::size_t operator()(VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo const & computePipelineCreateInfo) const VULKAN_HPP_NOEXCEPT 2078 { 2079 std::size_t seed = 0; 2080 VULKAN_HPP_HASH_COMBINE( seed, computePipelineCreateInfo.sType ); 2081 VULKAN_HPP_HASH_COMBINE( seed, computePipelineCreateInfo.pNext ); 2082 VULKAN_HPP_HASH_COMBINE( seed, computePipelineCreateInfo.flags ); 2083 VULKAN_HPP_HASH_COMBINE( seed, computePipelineCreateInfo.stage ); 2084 VULKAN_HPP_HASH_COMBINE( seed, computePipelineCreateInfo.layout ); 2085 VULKAN_HPP_HASH_COMBINE( seed, computePipelineCreateInfo.basePipelineHandle ); 2086 VULKAN_HPP_HASH_COMBINE( seed, computePipelineCreateInfo.basePipelineIndex ); 2087 return seed; 2088 } 2089 }; 2090 2091 template <> struct hash<VULKAN_HPP_NAMESPACE::ConditionalRenderingBeginInfoEXT> 2092 { operator ()std::hash2093 std::size_t operator()(VULKAN_HPP_NAMESPACE::ConditionalRenderingBeginInfoEXT const & conditionalRenderingBeginInfoEXT) const VULKAN_HPP_NOEXCEPT 2094 { 2095 std::size_t seed = 0; 2096 VULKAN_HPP_HASH_COMBINE( seed, conditionalRenderingBeginInfoEXT.sType ); 2097 VULKAN_HPP_HASH_COMBINE( seed, conditionalRenderingBeginInfoEXT.pNext ); 2098 VULKAN_HPP_HASH_COMBINE( seed, conditionalRenderingBeginInfoEXT.buffer ); 2099 VULKAN_HPP_HASH_COMBINE( seed, conditionalRenderingBeginInfoEXT.offset ); 2100 VULKAN_HPP_HASH_COMBINE( seed, conditionalRenderingBeginInfoEXT.flags ); 2101 return seed; 2102 } 2103 }; 2104 2105 template <> struct hash<VULKAN_HPP_NAMESPACE::ConformanceVersion> 2106 { operator ()std::hash2107 std::size_t operator()(VULKAN_HPP_NAMESPACE::ConformanceVersion const & conformanceVersion) const VULKAN_HPP_NOEXCEPT 2108 { 2109 std::size_t seed = 0; 2110 VULKAN_HPP_HASH_COMBINE( seed, conformanceVersion.major ); 2111 VULKAN_HPP_HASH_COMBINE( seed, conformanceVersion.minor ); 2112 VULKAN_HPP_HASH_COMBINE( seed, conformanceVersion.subminor ); 2113 VULKAN_HPP_HASH_COMBINE( seed, conformanceVersion.patch ); 2114 return seed; 2115 } 2116 }; 2117 2118 template <> struct hash<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV> 2119 { operator ()std::hash2120 std::size_t operator()(VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV const & cooperativeMatrixPropertiesNV) const VULKAN_HPP_NOEXCEPT 2121 { 2122 std::size_t seed = 0; 2123 VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixPropertiesNV.sType ); 2124 VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixPropertiesNV.pNext ); 2125 VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixPropertiesNV.MSize ); 2126 VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixPropertiesNV.NSize ); 2127 VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixPropertiesNV.KSize ); 2128 VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixPropertiesNV.AType ); 2129 VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixPropertiesNV.BType ); 2130 VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixPropertiesNV.CType ); 2131 VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixPropertiesNV.DType ); 2132 VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixPropertiesNV.scope ); 2133 return seed; 2134 } 2135 }; 2136 2137 template <> struct hash<VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR> 2138 { operator ()std::hash2139 std::size_t operator()(VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR const & copyAccelerationStructureInfoKHR) const VULKAN_HPP_NOEXCEPT 2140 { 2141 std::size_t seed = 0; 2142 VULKAN_HPP_HASH_COMBINE( seed, copyAccelerationStructureInfoKHR.sType ); 2143 VULKAN_HPP_HASH_COMBINE( seed, copyAccelerationStructureInfoKHR.pNext ); 2144 VULKAN_HPP_HASH_COMBINE( seed, copyAccelerationStructureInfoKHR.src ); 2145 VULKAN_HPP_HASH_COMBINE( seed, copyAccelerationStructureInfoKHR.dst ); 2146 VULKAN_HPP_HASH_COMBINE( seed, copyAccelerationStructureInfoKHR.mode ); 2147 return seed; 2148 } 2149 }; 2150 2151 template <> struct hash<VULKAN_HPP_NAMESPACE::CopyBufferInfo2> 2152 { operator ()std::hash2153 std::size_t operator()(VULKAN_HPP_NAMESPACE::CopyBufferInfo2 const & copyBufferInfo2) const VULKAN_HPP_NOEXCEPT 2154 { 2155 std::size_t seed = 0; 2156 VULKAN_HPP_HASH_COMBINE( seed, copyBufferInfo2.sType ); 2157 VULKAN_HPP_HASH_COMBINE( seed, copyBufferInfo2.pNext ); 2158 VULKAN_HPP_HASH_COMBINE( seed, copyBufferInfo2.srcBuffer ); 2159 VULKAN_HPP_HASH_COMBINE( seed, copyBufferInfo2.dstBuffer ); 2160 VULKAN_HPP_HASH_COMBINE( seed, copyBufferInfo2.regionCount ); 2161 VULKAN_HPP_HASH_COMBINE( seed, copyBufferInfo2.pRegions ); 2162 return seed; 2163 } 2164 }; 2165 2166 template <> struct hash<VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2> 2167 { operator ()std::hash2168 std::size_t operator()(VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2 const & copyBufferToImageInfo2) const VULKAN_HPP_NOEXCEPT 2169 { 2170 std::size_t seed = 0; 2171 VULKAN_HPP_HASH_COMBINE( seed, copyBufferToImageInfo2.sType ); 2172 VULKAN_HPP_HASH_COMBINE( seed, copyBufferToImageInfo2.pNext ); 2173 VULKAN_HPP_HASH_COMBINE( seed, copyBufferToImageInfo2.srcBuffer ); 2174 VULKAN_HPP_HASH_COMBINE( seed, copyBufferToImageInfo2.dstImage ); 2175 VULKAN_HPP_HASH_COMBINE( seed, copyBufferToImageInfo2.dstImageLayout ); 2176 VULKAN_HPP_HASH_COMBINE( seed, copyBufferToImageInfo2.regionCount ); 2177 VULKAN_HPP_HASH_COMBINE( seed, copyBufferToImageInfo2.pRegions ); 2178 return seed; 2179 } 2180 }; 2181 2182 template <> struct hash<VULKAN_HPP_NAMESPACE::CopyCommandTransformInfoQCOM> 2183 { operator ()std::hash2184 std::size_t operator()(VULKAN_HPP_NAMESPACE::CopyCommandTransformInfoQCOM const & copyCommandTransformInfoQCOM) const VULKAN_HPP_NOEXCEPT 2185 { 2186 std::size_t seed = 0; 2187 VULKAN_HPP_HASH_COMBINE( seed, copyCommandTransformInfoQCOM.sType ); 2188 VULKAN_HPP_HASH_COMBINE( seed, copyCommandTransformInfoQCOM.pNext ); 2189 VULKAN_HPP_HASH_COMBINE( seed, copyCommandTransformInfoQCOM.transform ); 2190 return seed; 2191 } 2192 }; 2193 2194 template <> struct hash<VULKAN_HPP_NAMESPACE::CopyDescriptorSet> 2195 { operator ()std::hash2196 std::size_t operator()(VULKAN_HPP_NAMESPACE::CopyDescriptorSet const & copyDescriptorSet) const VULKAN_HPP_NOEXCEPT 2197 { 2198 std::size_t seed = 0; 2199 VULKAN_HPP_HASH_COMBINE( seed, copyDescriptorSet.sType ); 2200 VULKAN_HPP_HASH_COMBINE( seed, copyDescriptorSet.pNext ); 2201 VULKAN_HPP_HASH_COMBINE( seed, copyDescriptorSet.srcSet ); 2202 VULKAN_HPP_HASH_COMBINE( seed, copyDescriptorSet.srcBinding ); 2203 VULKAN_HPP_HASH_COMBINE( seed, copyDescriptorSet.srcArrayElement ); 2204 VULKAN_HPP_HASH_COMBINE( seed, copyDescriptorSet.dstSet ); 2205 VULKAN_HPP_HASH_COMBINE( seed, copyDescriptorSet.dstBinding ); 2206 VULKAN_HPP_HASH_COMBINE( seed, copyDescriptorSet.dstArrayElement ); 2207 VULKAN_HPP_HASH_COMBINE( seed, copyDescriptorSet.descriptorCount ); 2208 return seed; 2209 } 2210 }; 2211 2212 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageCopy2> 2213 { operator ()std::hash2214 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageCopy2 const & imageCopy2) const VULKAN_HPP_NOEXCEPT 2215 { 2216 std::size_t seed = 0; 2217 VULKAN_HPP_HASH_COMBINE( seed, imageCopy2.sType ); 2218 VULKAN_HPP_HASH_COMBINE( seed, imageCopy2.pNext ); 2219 VULKAN_HPP_HASH_COMBINE( seed, imageCopy2.srcSubresource ); 2220 VULKAN_HPP_HASH_COMBINE( seed, imageCopy2.srcOffset ); 2221 VULKAN_HPP_HASH_COMBINE( seed, imageCopy2.dstSubresource ); 2222 VULKAN_HPP_HASH_COMBINE( seed, imageCopy2.dstOffset ); 2223 VULKAN_HPP_HASH_COMBINE( seed, imageCopy2.extent ); 2224 return seed; 2225 } 2226 }; 2227 2228 template <> struct hash<VULKAN_HPP_NAMESPACE::CopyImageInfo2> 2229 { operator ()std::hash2230 std::size_t operator()(VULKAN_HPP_NAMESPACE::CopyImageInfo2 const & copyImageInfo2) const VULKAN_HPP_NOEXCEPT 2231 { 2232 std::size_t seed = 0; 2233 VULKAN_HPP_HASH_COMBINE( seed, copyImageInfo2.sType ); 2234 VULKAN_HPP_HASH_COMBINE( seed, copyImageInfo2.pNext ); 2235 VULKAN_HPP_HASH_COMBINE( seed, copyImageInfo2.srcImage ); 2236 VULKAN_HPP_HASH_COMBINE( seed, copyImageInfo2.srcImageLayout ); 2237 VULKAN_HPP_HASH_COMBINE( seed, copyImageInfo2.dstImage ); 2238 VULKAN_HPP_HASH_COMBINE( seed, copyImageInfo2.dstImageLayout ); 2239 VULKAN_HPP_HASH_COMBINE( seed, copyImageInfo2.regionCount ); 2240 VULKAN_HPP_HASH_COMBINE( seed, copyImageInfo2.pRegions ); 2241 return seed; 2242 } 2243 }; 2244 2245 template <> struct hash<VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2> 2246 { operator ()std::hash2247 std::size_t operator()(VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2 const & copyImageToBufferInfo2) const VULKAN_HPP_NOEXCEPT 2248 { 2249 std::size_t seed = 0; 2250 VULKAN_HPP_HASH_COMBINE( seed, copyImageToBufferInfo2.sType ); 2251 VULKAN_HPP_HASH_COMBINE( seed, copyImageToBufferInfo2.pNext ); 2252 VULKAN_HPP_HASH_COMBINE( seed, copyImageToBufferInfo2.srcImage ); 2253 VULKAN_HPP_HASH_COMBINE( seed, copyImageToBufferInfo2.srcImageLayout ); 2254 VULKAN_HPP_HASH_COMBINE( seed, copyImageToBufferInfo2.dstBuffer ); 2255 VULKAN_HPP_HASH_COMBINE( seed, copyImageToBufferInfo2.regionCount ); 2256 VULKAN_HPP_HASH_COMBINE( seed, copyImageToBufferInfo2.pRegions ); 2257 return seed; 2258 } 2259 }; 2260 2261 template <> struct hash<VULKAN_HPP_NAMESPACE::CopyMemoryIndirectCommandNV> 2262 { operator ()std::hash2263 std::size_t operator()(VULKAN_HPP_NAMESPACE::CopyMemoryIndirectCommandNV const & copyMemoryIndirectCommandNV) const VULKAN_HPP_NOEXCEPT 2264 { 2265 std::size_t seed = 0; 2266 VULKAN_HPP_HASH_COMBINE( seed, copyMemoryIndirectCommandNV.srcAddress ); 2267 VULKAN_HPP_HASH_COMBINE( seed, copyMemoryIndirectCommandNV.dstAddress ); 2268 VULKAN_HPP_HASH_COMBINE( seed, copyMemoryIndirectCommandNV.size ); 2269 return seed; 2270 } 2271 }; 2272 2273 template <> struct hash<VULKAN_HPP_NAMESPACE::CopyMemoryToImageIndirectCommandNV> 2274 { operator ()std::hash2275 std::size_t operator()(VULKAN_HPP_NAMESPACE::CopyMemoryToImageIndirectCommandNV const & copyMemoryToImageIndirectCommandNV) const VULKAN_HPP_NOEXCEPT 2276 { 2277 std::size_t seed = 0; 2278 VULKAN_HPP_HASH_COMBINE( seed, copyMemoryToImageIndirectCommandNV.srcAddress ); 2279 VULKAN_HPP_HASH_COMBINE( seed, copyMemoryToImageIndirectCommandNV.bufferRowLength ); 2280 VULKAN_HPP_HASH_COMBINE( seed, copyMemoryToImageIndirectCommandNV.bufferImageHeight ); 2281 VULKAN_HPP_HASH_COMBINE( seed, copyMemoryToImageIndirectCommandNV.imageSubresource ); 2282 VULKAN_HPP_HASH_COMBINE( seed, copyMemoryToImageIndirectCommandNV.imageOffset ); 2283 VULKAN_HPP_HASH_COMBINE( seed, copyMemoryToImageIndirectCommandNV.imageExtent ); 2284 return seed; 2285 } 2286 }; 2287 2288 template <> struct hash<VULKAN_HPP_NAMESPACE::CopyMicromapInfoEXT> 2289 { operator ()std::hash2290 std::size_t operator()(VULKAN_HPP_NAMESPACE::CopyMicromapInfoEXT const & copyMicromapInfoEXT) const VULKAN_HPP_NOEXCEPT 2291 { 2292 std::size_t seed = 0; 2293 VULKAN_HPP_HASH_COMBINE( seed, copyMicromapInfoEXT.sType ); 2294 VULKAN_HPP_HASH_COMBINE( seed, copyMicromapInfoEXT.pNext ); 2295 VULKAN_HPP_HASH_COMBINE( seed, copyMicromapInfoEXT.src ); 2296 VULKAN_HPP_HASH_COMBINE( seed, copyMicromapInfoEXT.dst ); 2297 VULKAN_HPP_HASH_COMBINE( seed, copyMicromapInfoEXT.mode ); 2298 return seed; 2299 } 2300 }; 2301 2302 template <> struct hash<VULKAN_HPP_NAMESPACE::CuFunctionCreateInfoNVX> 2303 { operator ()std::hash2304 std::size_t operator()(VULKAN_HPP_NAMESPACE::CuFunctionCreateInfoNVX const & cuFunctionCreateInfoNVX) const VULKAN_HPP_NOEXCEPT 2305 { 2306 std::size_t seed = 0; 2307 VULKAN_HPP_HASH_COMBINE( seed, cuFunctionCreateInfoNVX.sType ); 2308 VULKAN_HPP_HASH_COMBINE( seed, cuFunctionCreateInfoNVX.pNext ); 2309 VULKAN_HPP_HASH_COMBINE( seed, cuFunctionCreateInfoNVX.module ); 2310 for ( const char* p = cuFunctionCreateInfoNVX.pName; *p != '\0'; ++p ) 2311 { 2312 VULKAN_HPP_HASH_COMBINE( seed, *p ); 2313 } 2314 return seed; 2315 } 2316 }; 2317 2318 template <> struct hash<VULKAN_HPP_NAMESPACE::CuLaunchInfoNVX> 2319 { operator ()std::hash2320 std::size_t operator()(VULKAN_HPP_NAMESPACE::CuLaunchInfoNVX const & cuLaunchInfoNVX) const VULKAN_HPP_NOEXCEPT 2321 { 2322 std::size_t seed = 0; 2323 VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.sType ); 2324 VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.pNext ); 2325 VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.function ); 2326 VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.gridDimX ); 2327 VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.gridDimY ); 2328 VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.gridDimZ ); 2329 VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.blockDimX ); 2330 VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.blockDimY ); 2331 VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.blockDimZ ); 2332 VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.sharedMemBytes ); 2333 VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.paramCount ); 2334 VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.pParams ); 2335 VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.extraCount ); 2336 VULKAN_HPP_HASH_COMBINE( seed, cuLaunchInfoNVX.pExtras ); 2337 return seed; 2338 } 2339 }; 2340 2341 template <> struct hash<VULKAN_HPP_NAMESPACE::CuModuleCreateInfoNVX> 2342 { operator ()std::hash2343 std::size_t operator()(VULKAN_HPP_NAMESPACE::CuModuleCreateInfoNVX const & cuModuleCreateInfoNVX) const VULKAN_HPP_NOEXCEPT 2344 { 2345 std::size_t seed = 0; 2346 VULKAN_HPP_HASH_COMBINE( seed, cuModuleCreateInfoNVX.sType ); 2347 VULKAN_HPP_HASH_COMBINE( seed, cuModuleCreateInfoNVX.pNext ); 2348 VULKAN_HPP_HASH_COMBINE( seed, cuModuleCreateInfoNVX.dataSize ); 2349 VULKAN_HPP_HASH_COMBINE( seed, cuModuleCreateInfoNVX.pData ); 2350 return seed; 2351 } 2352 }; 2353 2354 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 2355 template <> struct hash<VULKAN_HPP_NAMESPACE::D3D12FenceSubmitInfoKHR> 2356 { operator ()std::hash2357 std::size_t operator()(VULKAN_HPP_NAMESPACE::D3D12FenceSubmitInfoKHR const & d3D12FenceSubmitInfoKHR) const VULKAN_HPP_NOEXCEPT 2358 { 2359 std::size_t seed = 0; 2360 VULKAN_HPP_HASH_COMBINE( seed, d3D12FenceSubmitInfoKHR.sType ); 2361 VULKAN_HPP_HASH_COMBINE( seed, d3D12FenceSubmitInfoKHR.pNext ); 2362 VULKAN_HPP_HASH_COMBINE( seed, d3D12FenceSubmitInfoKHR.waitSemaphoreValuesCount ); 2363 VULKAN_HPP_HASH_COMBINE( seed, d3D12FenceSubmitInfoKHR.pWaitSemaphoreValues ); 2364 VULKAN_HPP_HASH_COMBINE( seed, d3D12FenceSubmitInfoKHR.signalSemaphoreValuesCount ); 2365 VULKAN_HPP_HASH_COMBINE( seed, d3D12FenceSubmitInfoKHR.pSignalSemaphoreValues ); 2366 return seed; 2367 } 2368 }; 2369 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 2370 2371 template <> struct hash<VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT> 2372 { operator ()std::hash2373 std::size_t operator()(VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT const & debugMarkerMarkerInfoEXT) const VULKAN_HPP_NOEXCEPT 2374 { 2375 std::size_t seed = 0; 2376 VULKAN_HPP_HASH_COMBINE( seed, debugMarkerMarkerInfoEXT.sType ); 2377 VULKAN_HPP_HASH_COMBINE( seed, debugMarkerMarkerInfoEXT.pNext ); 2378 for ( const char* p = debugMarkerMarkerInfoEXT.pMarkerName; *p != '\0'; ++p ) 2379 { 2380 VULKAN_HPP_HASH_COMBINE( seed, *p ); 2381 } 2382 for ( size_t i = 0; i < 4; ++i ) 2383 { 2384 VULKAN_HPP_HASH_COMBINE( seed, debugMarkerMarkerInfoEXT.color[i] ); 2385 } 2386 return seed; 2387 } 2388 }; 2389 2390 template <> struct hash<VULKAN_HPP_NAMESPACE::DebugMarkerObjectNameInfoEXT> 2391 { operator ()std::hash2392 std::size_t operator()(VULKAN_HPP_NAMESPACE::DebugMarkerObjectNameInfoEXT const & debugMarkerObjectNameInfoEXT) const VULKAN_HPP_NOEXCEPT 2393 { 2394 std::size_t seed = 0; 2395 VULKAN_HPP_HASH_COMBINE( seed, debugMarkerObjectNameInfoEXT.sType ); 2396 VULKAN_HPP_HASH_COMBINE( seed, debugMarkerObjectNameInfoEXT.pNext ); 2397 VULKAN_HPP_HASH_COMBINE( seed, debugMarkerObjectNameInfoEXT.objectType ); 2398 VULKAN_HPP_HASH_COMBINE( seed, debugMarkerObjectNameInfoEXT.object ); 2399 for ( const char* p = debugMarkerObjectNameInfoEXT.pObjectName; *p != '\0'; ++p ) 2400 { 2401 VULKAN_HPP_HASH_COMBINE( seed, *p ); 2402 } 2403 return seed; 2404 } 2405 }; 2406 2407 template <> struct hash<VULKAN_HPP_NAMESPACE::DebugMarkerObjectTagInfoEXT> 2408 { operator ()std::hash2409 std::size_t operator()(VULKAN_HPP_NAMESPACE::DebugMarkerObjectTagInfoEXT const & debugMarkerObjectTagInfoEXT) const VULKAN_HPP_NOEXCEPT 2410 { 2411 std::size_t seed = 0; 2412 VULKAN_HPP_HASH_COMBINE( seed, debugMarkerObjectTagInfoEXT.sType ); 2413 VULKAN_HPP_HASH_COMBINE( seed, debugMarkerObjectTagInfoEXT.pNext ); 2414 VULKAN_HPP_HASH_COMBINE( seed, debugMarkerObjectTagInfoEXT.objectType ); 2415 VULKAN_HPP_HASH_COMBINE( seed, debugMarkerObjectTagInfoEXT.object ); 2416 VULKAN_HPP_HASH_COMBINE( seed, debugMarkerObjectTagInfoEXT.tagName ); 2417 VULKAN_HPP_HASH_COMBINE( seed, debugMarkerObjectTagInfoEXT.tagSize ); 2418 VULKAN_HPP_HASH_COMBINE( seed, debugMarkerObjectTagInfoEXT.pTag ); 2419 return seed; 2420 } 2421 }; 2422 2423 template <> struct hash<VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT> 2424 { operator ()std::hash2425 std::size_t operator()(VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT const & debugReportCallbackCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 2426 { 2427 std::size_t seed = 0; 2428 VULKAN_HPP_HASH_COMBINE( seed, debugReportCallbackCreateInfoEXT.sType ); 2429 VULKAN_HPP_HASH_COMBINE( seed, debugReportCallbackCreateInfoEXT.pNext ); 2430 VULKAN_HPP_HASH_COMBINE( seed, debugReportCallbackCreateInfoEXT.flags ); 2431 VULKAN_HPP_HASH_COMBINE( seed, debugReportCallbackCreateInfoEXT.pfnCallback ); 2432 VULKAN_HPP_HASH_COMBINE( seed, debugReportCallbackCreateInfoEXT.pUserData ); 2433 return seed; 2434 } 2435 }; 2436 2437 template <> struct hash<VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT> 2438 { operator ()std::hash2439 std::size_t operator()(VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT const & debugUtilsLabelEXT) const VULKAN_HPP_NOEXCEPT 2440 { 2441 std::size_t seed = 0; 2442 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsLabelEXT.sType ); 2443 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsLabelEXT.pNext ); 2444 for ( const char* p = debugUtilsLabelEXT.pLabelName; *p != '\0'; ++p ) 2445 { 2446 VULKAN_HPP_HASH_COMBINE( seed, *p ); 2447 } 2448 for ( size_t i = 0; i < 4; ++i ) 2449 { 2450 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsLabelEXT.color[i] ); 2451 } 2452 return seed; 2453 } 2454 }; 2455 2456 template <> struct hash<VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT> 2457 { operator ()std::hash2458 std::size_t operator()(VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT const & debugUtilsObjectNameInfoEXT) const VULKAN_HPP_NOEXCEPT 2459 { 2460 std::size_t seed = 0; 2461 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsObjectNameInfoEXT.sType ); 2462 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsObjectNameInfoEXT.pNext ); 2463 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsObjectNameInfoEXT.objectType ); 2464 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsObjectNameInfoEXT.objectHandle ); 2465 for ( const char* p = debugUtilsObjectNameInfoEXT.pObjectName; *p != '\0'; ++p ) 2466 { 2467 VULKAN_HPP_HASH_COMBINE( seed, *p ); 2468 } 2469 return seed; 2470 } 2471 }; 2472 2473 template <> struct hash<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataEXT> 2474 { operator ()std::hash2475 std::size_t operator()(VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataEXT const & debugUtilsMessengerCallbackDataEXT) const VULKAN_HPP_NOEXCEPT 2476 { 2477 std::size_t seed = 0; 2478 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCallbackDataEXT.sType ); 2479 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCallbackDataEXT.pNext ); 2480 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCallbackDataEXT.flags ); 2481 for ( const char* p = debugUtilsMessengerCallbackDataEXT.pMessageIdName; *p != '\0'; ++p ) 2482 { 2483 VULKAN_HPP_HASH_COMBINE( seed, *p ); 2484 } 2485 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCallbackDataEXT.messageIdNumber ); 2486 for ( const char* p = debugUtilsMessengerCallbackDataEXT.pMessage; *p != '\0'; ++p ) 2487 { 2488 VULKAN_HPP_HASH_COMBINE( seed, *p ); 2489 } 2490 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCallbackDataEXT.queueLabelCount ); 2491 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCallbackDataEXT.pQueueLabels ); 2492 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCallbackDataEXT.cmdBufLabelCount ); 2493 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCallbackDataEXT.pCmdBufLabels ); 2494 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCallbackDataEXT.objectCount ); 2495 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCallbackDataEXT.pObjects ); 2496 return seed; 2497 } 2498 }; 2499 2500 template <> struct hash<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT> 2501 { operator ()std::hash2502 std::size_t operator()(VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT const & debugUtilsMessengerCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 2503 { 2504 std::size_t seed = 0; 2505 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCreateInfoEXT.sType ); 2506 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCreateInfoEXT.pNext ); 2507 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCreateInfoEXT.flags ); 2508 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCreateInfoEXT.messageSeverity ); 2509 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCreateInfoEXT.messageType ); 2510 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCreateInfoEXT.pfnUserCallback ); 2511 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsMessengerCreateInfoEXT.pUserData ); 2512 return seed; 2513 } 2514 }; 2515 2516 template <> struct hash<VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT> 2517 { operator ()std::hash2518 std::size_t operator()(VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT const & debugUtilsObjectTagInfoEXT) const VULKAN_HPP_NOEXCEPT 2519 { 2520 std::size_t seed = 0; 2521 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsObjectTagInfoEXT.sType ); 2522 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsObjectTagInfoEXT.pNext ); 2523 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsObjectTagInfoEXT.objectType ); 2524 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsObjectTagInfoEXT.objectHandle ); 2525 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsObjectTagInfoEXT.tagName ); 2526 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsObjectTagInfoEXT.tagSize ); 2527 VULKAN_HPP_HASH_COMBINE( seed, debugUtilsObjectTagInfoEXT.pTag ); 2528 return seed; 2529 } 2530 }; 2531 2532 template <> struct hash<VULKAN_HPP_NAMESPACE::DecompressMemoryRegionNV> 2533 { operator ()std::hash2534 std::size_t operator()(VULKAN_HPP_NAMESPACE::DecompressMemoryRegionNV const & decompressMemoryRegionNV) const VULKAN_HPP_NOEXCEPT 2535 { 2536 std::size_t seed = 0; 2537 VULKAN_HPP_HASH_COMBINE( seed, decompressMemoryRegionNV.srcAddress ); 2538 VULKAN_HPP_HASH_COMBINE( seed, decompressMemoryRegionNV.dstAddress ); 2539 VULKAN_HPP_HASH_COMBINE( seed, decompressMemoryRegionNV.compressedSize ); 2540 VULKAN_HPP_HASH_COMBINE( seed, decompressMemoryRegionNV.decompressedSize ); 2541 VULKAN_HPP_HASH_COMBINE( seed, decompressMemoryRegionNV.decompressionMethod ); 2542 return seed; 2543 } 2544 }; 2545 2546 template <> struct hash<VULKAN_HPP_NAMESPACE::DedicatedAllocationBufferCreateInfoNV> 2547 { operator ()std::hash2548 std::size_t operator()(VULKAN_HPP_NAMESPACE::DedicatedAllocationBufferCreateInfoNV const & dedicatedAllocationBufferCreateInfoNV) const VULKAN_HPP_NOEXCEPT 2549 { 2550 std::size_t seed = 0; 2551 VULKAN_HPP_HASH_COMBINE( seed, dedicatedAllocationBufferCreateInfoNV.sType ); 2552 VULKAN_HPP_HASH_COMBINE( seed, dedicatedAllocationBufferCreateInfoNV.pNext ); 2553 VULKAN_HPP_HASH_COMBINE( seed, dedicatedAllocationBufferCreateInfoNV.dedicatedAllocation ); 2554 return seed; 2555 } 2556 }; 2557 2558 template <> struct hash<VULKAN_HPP_NAMESPACE::DedicatedAllocationImageCreateInfoNV> 2559 { operator ()std::hash2560 std::size_t operator()(VULKAN_HPP_NAMESPACE::DedicatedAllocationImageCreateInfoNV const & dedicatedAllocationImageCreateInfoNV) const VULKAN_HPP_NOEXCEPT 2561 { 2562 std::size_t seed = 0; 2563 VULKAN_HPP_HASH_COMBINE( seed, dedicatedAllocationImageCreateInfoNV.sType ); 2564 VULKAN_HPP_HASH_COMBINE( seed, dedicatedAllocationImageCreateInfoNV.pNext ); 2565 VULKAN_HPP_HASH_COMBINE( seed, dedicatedAllocationImageCreateInfoNV.dedicatedAllocation ); 2566 return seed; 2567 } 2568 }; 2569 2570 template <> struct hash<VULKAN_HPP_NAMESPACE::DedicatedAllocationMemoryAllocateInfoNV> 2571 { operator ()std::hash2572 std::size_t operator()(VULKAN_HPP_NAMESPACE::DedicatedAllocationMemoryAllocateInfoNV const & dedicatedAllocationMemoryAllocateInfoNV) const VULKAN_HPP_NOEXCEPT 2573 { 2574 std::size_t seed = 0; 2575 VULKAN_HPP_HASH_COMBINE( seed, dedicatedAllocationMemoryAllocateInfoNV.sType ); 2576 VULKAN_HPP_HASH_COMBINE( seed, dedicatedAllocationMemoryAllocateInfoNV.pNext ); 2577 VULKAN_HPP_HASH_COMBINE( seed, dedicatedAllocationMemoryAllocateInfoNV.image ); 2578 VULKAN_HPP_HASH_COMBINE( seed, dedicatedAllocationMemoryAllocateInfoNV.buffer ); 2579 return seed; 2580 } 2581 }; 2582 2583 template <> struct hash<VULKAN_HPP_NAMESPACE::MemoryBarrier2> 2584 { operator ()std::hash2585 std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryBarrier2 const & memoryBarrier2) const VULKAN_HPP_NOEXCEPT 2586 { 2587 std::size_t seed = 0; 2588 VULKAN_HPP_HASH_COMBINE( seed, memoryBarrier2.sType ); 2589 VULKAN_HPP_HASH_COMBINE( seed, memoryBarrier2.pNext ); 2590 VULKAN_HPP_HASH_COMBINE( seed, memoryBarrier2.srcStageMask ); 2591 VULKAN_HPP_HASH_COMBINE( seed, memoryBarrier2.srcAccessMask ); 2592 VULKAN_HPP_HASH_COMBINE( seed, memoryBarrier2.dstStageMask ); 2593 VULKAN_HPP_HASH_COMBINE( seed, memoryBarrier2.dstAccessMask ); 2594 return seed; 2595 } 2596 }; 2597 2598 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageSubresourceRange> 2599 { operator ()std::hash2600 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageSubresourceRange const & imageSubresourceRange) const VULKAN_HPP_NOEXCEPT 2601 { 2602 std::size_t seed = 0; 2603 VULKAN_HPP_HASH_COMBINE( seed, imageSubresourceRange.aspectMask ); 2604 VULKAN_HPP_HASH_COMBINE( seed, imageSubresourceRange.baseMipLevel ); 2605 VULKAN_HPP_HASH_COMBINE( seed, imageSubresourceRange.levelCount ); 2606 VULKAN_HPP_HASH_COMBINE( seed, imageSubresourceRange.baseArrayLayer ); 2607 VULKAN_HPP_HASH_COMBINE( seed, imageSubresourceRange.layerCount ); 2608 return seed; 2609 } 2610 }; 2611 2612 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageMemoryBarrier2> 2613 { operator ()std::hash2614 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageMemoryBarrier2 const & imageMemoryBarrier2) const VULKAN_HPP_NOEXCEPT 2615 { 2616 std::size_t seed = 0; 2617 VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier2.sType ); 2618 VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier2.pNext ); 2619 VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier2.srcStageMask ); 2620 VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier2.srcAccessMask ); 2621 VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier2.dstStageMask ); 2622 VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier2.dstAccessMask ); 2623 VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier2.oldLayout ); 2624 VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier2.newLayout ); 2625 VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier2.srcQueueFamilyIndex ); 2626 VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier2.dstQueueFamilyIndex ); 2627 VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier2.image ); 2628 VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier2.subresourceRange ); 2629 return seed; 2630 } 2631 }; 2632 2633 template <> struct hash<VULKAN_HPP_NAMESPACE::DependencyInfo> 2634 { operator ()std::hash2635 std::size_t operator()(VULKAN_HPP_NAMESPACE::DependencyInfo const & dependencyInfo) const VULKAN_HPP_NOEXCEPT 2636 { 2637 std::size_t seed = 0; 2638 VULKAN_HPP_HASH_COMBINE( seed, dependencyInfo.sType ); 2639 VULKAN_HPP_HASH_COMBINE( seed, dependencyInfo.pNext ); 2640 VULKAN_HPP_HASH_COMBINE( seed, dependencyInfo.dependencyFlags ); 2641 VULKAN_HPP_HASH_COMBINE( seed, dependencyInfo.memoryBarrierCount ); 2642 VULKAN_HPP_HASH_COMBINE( seed, dependencyInfo.pMemoryBarriers ); 2643 VULKAN_HPP_HASH_COMBINE( seed, dependencyInfo.bufferMemoryBarrierCount ); 2644 VULKAN_HPP_HASH_COMBINE( seed, dependencyInfo.pBufferMemoryBarriers ); 2645 VULKAN_HPP_HASH_COMBINE( seed, dependencyInfo.imageMemoryBarrierCount ); 2646 VULKAN_HPP_HASH_COMBINE( seed, dependencyInfo.pImageMemoryBarriers ); 2647 return seed; 2648 } 2649 }; 2650 2651 template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorAddressInfoEXT> 2652 { operator ()std::hash2653 std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorAddressInfoEXT const & descriptorAddressInfoEXT) const VULKAN_HPP_NOEXCEPT 2654 { 2655 std::size_t seed = 0; 2656 VULKAN_HPP_HASH_COMBINE( seed, descriptorAddressInfoEXT.sType ); 2657 VULKAN_HPP_HASH_COMBINE( seed, descriptorAddressInfoEXT.pNext ); 2658 VULKAN_HPP_HASH_COMBINE( seed, descriptorAddressInfoEXT.address ); 2659 VULKAN_HPP_HASH_COMBINE( seed, descriptorAddressInfoEXT.range ); 2660 VULKAN_HPP_HASH_COMBINE( seed, descriptorAddressInfoEXT.format ); 2661 return seed; 2662 } 2663 }; 2664 2665 template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorBufferBindingInfoEXT> 2666 { operator ()std::hash2667 std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorBufferBindingInfoEXT const & descriptorBufferBindingInfoEXT) const VULKAN_HPP_NOEXCEPT 2668 { 2669 std::size_t seed = 0; 2670 VULKAN_HPP_HASH_COMBINE( seed, descriptorBufferBindingInfoEXT.sType ); 2671 VULKAN_HPP_HASH_COMBINE( seed, descriptorBufferBindingInfoEXT.pNext ); 2672 VULKAN_HPP_HASH_COMBINE( seed, descriptorBufferBindingInfoEXT.address ); 2673 VULKAN_HPP_HASH_COMBINE( seed, descriptorBufferBindingInfoEXT.usage ); 2674 return seed; 2675 } 2676 }; 2677 2678 template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorBufferBindingPushDescriptorBufferHandleEXT> 2679 { operator ()std::hash2680 std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorBufferBindingPushDescriptorBufferHandleEXT const & descriptorBufferBindingPushDescriptorBufferHandleEXT) const VULKAN_HPP_NOEXCEPT 2681 { 2682 std::size_t seed = 0; 2683 VULKAN_HPP_HASH_COMBINE( seed, descriptorBufferBindingPushDescriptorBufferHandleEXT.sType ); 2684 VULKAN_HPP_HASH_COMBINE( seed, descriptorBufferBindingPushDescriptorBufferHandleEXT.pNext ); 2685 VULKAN_HPP_HASH_COMBINE( seed, descriptorBufferBindingPushDescriptorBufferHandleEXT.buffer ); 2686 return seed; 2687 } 2688 }; 2689 2690 template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorBufferInfo> 2691 { operator ()std::hash2692 std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorBufferInfo const & descriptorBufferInfo) const VULKAN_HPP_NOEXCEPT 2693 { 2694 std::size_t seed = 0; 2695 VULKAN_HPP_HASH_COMBINE( seed, descriptorBufferInfo.buffer ); 2696 VULKAN_HPP_HASH_COMBINE( seed, descriptorBufferInfo.offset ); 2697 VULKAN_HPP_HASH_COMBINE( seed, descriptorBufferInfo.range ); 2698 return seed; 2699 } 2700 }; 2701 2702 template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorImageInfo> 2703 { operator ()std::hash2704 std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorImageInfo const & descriptorImageInfo) const VULKAN_HPP_NOEXCEPT 2705 { 2706 std::size_t seed = 0; 2707 VULKAN_HPP_HASH_COMBINE( seed, descriptorImageInfo.sampler ); 2708 VULKAN_HPP_HASH_COMBINE( seed, descriptorImageInfo.imageView ); 2709 VULKAN_HPP_HASH_COMBINE( seed, descriptorImageInfo.imageLayout ); 2710 return seed; 2711 } 2712 }; 2713 2714 template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorPoolSize> 2715 { operator ()std::hash2716 std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorPoolSize const & descriptorPoolSize) const VULKAN_HPP_NOEXCEPT 2717 { 2718 std::size_t seed = 0; 2719 VULKAN_HPP_HASH_COMBINE( seed, descriptorPoolSize.type ); 2720 VULKAN_HPP_HASH_COMBINE( seed, descriptorPoolSize.descriptorCount ); 2721 return seed; 2722 } 2723 }; 2724 2725 template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo> 2726 { operator ()std::hash2727 std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo const & descriptorPoolCreateInfo) const VULKAN_HPP_NOEXCEPT 2728 { 2729 std::size_t seed = 0; 2730 VULKAN_HPP_HASH_COMBINE( seed, descriptorPoolCreateInfo.sType ); 2731 VULKAN_HPP_HASH_COMBINE( seed, descriptorPoolCreateInfo.pNext ); 2732 VULKAN_HPP_HASH_COMBINE( seed, descriptorPoolCreateInfo.flags ); 2733 VULKAN_HPP_HASH_COMBINE( seed, descriptorPoolCreateInfo.maxSets ); 2734 VULKAN_HPP_HASH_COMBINE( seed, descriptorPoolCreateInfo.poolSizeCount ); 2735 VULKAN_HPP_HASH_COMBINE( seed, descriptorPoolCreateInfo.pPoolSizes ); 2736 return seed; 2737 } 2738 }; 2739 2740 template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorPoolInlineUniformBlockCreateInfo> 2741 { operator ()std::hash2742 std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorPoolInlineUniformBlockCreateInfo const & descriptorPoolInlineUniformBlockCreateInfo) const VULKAN_HPP_NOEXCEPT 2743 { 2744 std::size_t seed = 0; 2745 VULKAN_HPP_HASH_COMBINE( seed, descriptorPoolInlineUniformBlockCreateInfo.sType ); 2746 VULKAN_HPP_HASH_COMBINE( seed, descriptorPoolInlineUniformBlockCreateInfo.pNext ); 2747 VULKAN_HPP_HASH_COMBINE( seed, descriptorPoolInlineUniformBlockCreateInfo.maxInlineUniformBlockBindings ); 2748 return seed; 2749 } 2750 }; 2751 2752 template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo> 2753 { operator ()std::hash2754 std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo const & descriptorSetAllocateInfo) const VULKAN_HPP_NOEXCEPT 2755 { 2756 std::size_t seed = 0; 2757 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetAllocateInfo.sType ); 2758 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetAllocateInfo.pNext ); 2759 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetAllocateInfo.descriptorPool ); 2760 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetAllocateInfo.descriptorSetCount ); 2761 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetAllocateInfo.pSetLayouts ); 2762 return seed; 2763 } 2764 }; 2765 2766 template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetBindingReferenceVALVE> 2767 { operator ()std::hash2768 std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorSetBindingReferenceVALVE const & descriptorSetBindingReferenceVALVE) const VULKAN_HPP_NOEXCEPT 2769 { 2770 std::size_t seed = 0; 2771 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetBindingReferenceVALVE.sType ); 2772 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetBindingReferenceVALVE.pNext ); 2773 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetBindingReferenceVALVE.descriptorSetLayout ); 2774 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetBindingReferenceVALVE.binding ); 2775 return seed; 2776 } 2777 }; 2778 2779 template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBinding> 2780 { operator ()std::hash2781 std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBinding const & descriptorSetLayoutBinding) const VULKAN_HPP_NOEXCEPT 2782 { 2783 std::size_t seed = 0; 2784 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutBinding.binding ); 2785 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutBinding.descriptorType ); 2786 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutBinding.descriptorCount ); 2787 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutBinding.stageFlags ); 2788 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutBinding.pImmutableSamplers ); 2789 return seed; 2790 } 2791 }; 2792 2793 template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBindingFlagsCreateInfo> 2794 { operator ()std::hash2795 std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBindingFlagsCreateInfo const & descriptorSetLayoutBindingFlagsCreateInfo) const VULKAN_HPP_NOEXCEPT 2796 { 2797 std::size_t seed = 0; 2798 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutBindingFlagsCreateInfo.sType ); 2799 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutBindingFlagsCreateInfo.pNext ); 2800 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutBindingFlagsCreateInfo.bindingCount ); 2801 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutBindingFlagsCreateInfo.pBindingFlags ); 2802 return seed; 2803 } 2804 }; 2805 2806 template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo> 2807 { operator ()std::hash2808 std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo const & descriptorSetLayoutCreateInfo) const VULKAN_HPP_NOEXCEPT 2809 { 2810 std::size_t seed = 0; 2811 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutCreateInfo.sType ); 2812 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutCreateInfo.pNext ); 2813 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutCreateInfo.flags ); 2814 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutCreateInfo.bindingCount ); 2815 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutCreateInfo.pBindings ); 2816 return seed; 2817 } 2818 }; 2819 2820 template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutHostMappingInfoVALVE> 2821 { operator ()std::hash2822 std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorSetLayoutHostMappingInfoVALVE const & descriptorSetLayoutHostMappingInfoVALVE) const VULKAN_HPP_NOEXCEPT 2823 { 2824 std::size_t seed = 0; 2825 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutHostMappingInfoVALVE.sType ); 2826 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutHostMappingInfoVALVE.pNext ); 2827 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutHostMappingInfoVALVE.descriptorOffset ); 2828 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutHostMappingInfoVALVE.descriptorSize ); 2829 return seed; 2830 } 2831 }; 2832 2833 template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport> 2834 { operator ()std::hash2835 std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport const & descriptorSetLayoutSupport) const VULKAN_HPP_NOEXCEPT 2836 { 2837 std::size_t seed = 0; 2838 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutSupport.sType ); 2839 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutSupport.pNext ); 2840 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetLayoutSupport.supported ); 2841 return seed; 2842 } 2843 }; 2844 2845 template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetVariableDescriptorCountAllocateInfo> 2846 { operator ()std::hash2847 std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorSetVariableDescriptorCountAllocateInfo const & descriptorSetVariableDescriptorCountAllocateInfo) const VULKAN_HPP_NOEXCEPT 2848 { 2849 std::size_t seed = 0; 2850 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetVariableDescriptorCountAllocateInfo.sType ); 2851 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetVariableDescriptorCountAllocateInfo.pNext ); 2852 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetVariableDescriptorCountAllocateInfo.descriptorSetCount ); 2853 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetVariableDescriptorCountAllocateInfo.pDescriptorCounts ); 2854 return seed; 2855 } 2856 }; 2857 2858 template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetVariableDescriptorCountLayoutSupport> 2859 { operator ()std::hash2860 std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorSetVariableDescriptorCountLayoutSupport const & descriptorSetVariableDescriptorCountLayoutSupport) const VULKAN_HPP_NOEXCEPT 2861 { 2862 std::size_t seed = 0; 2863 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetVariableDescriptorCountLayoutSupport.sType ); 2864 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetVariableDescriptorCountLayoutSupport.pNext ); 2865 VULKAN_HPP_HASH_COMBINE( seed, descriptorSetVariableDescriptorCountLayoutSupport.maxVariableDescriptorCount ); 2866 return seed; 2867 } 2868 }; 2869 2870 template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateEntry> 2871 { operator ()std::hash2872 std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateEntry const & descriptorUpdateTemplateEntry) const VULKAN_HPP_NOEXCEPT 2873 { 2874 std::size_t seed = 0; 2875 VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateEntry.dstBinding ); 2876 VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateEntry.dstArrayElement ); 2877 VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateEntry.descriptorCount ); 2878 VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateEntry.descriptorType ); 2879 VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateEntry.offset ); 2880 VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateEntry.stride ); 2881 return seed; 2882 } 2883 }; 2884 2885 template <> struct hash<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo> 2886 { operator ()std::hash2887 std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo const & descriptorUpdateTemplateCreateInfo) const VULKAN_HPP_NOEXCEPT 2888 { 2889 std::size_t seed = 0; 2890 VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateCreateInfo.sType ); 2891 VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateCreateInfo.pNext ); 2892 VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateCreateInfo.flags ); 2893 VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateCreateInfo.descriptorUpdateEntryCount ); 2894 VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateCreateInfo.pDescriptorUpdateEntries ); 2895 VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateCreateInfo.templateType ); 2896 VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateCreateInfo.descriptorSetLayout ); 2897 VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateCreateInfo.pipelineBindPoint ); 2898 VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateCreateInfo.pipelineLayout ); 2899 VULKAN_HPP_HASH_COMBINE( seed, descriptorUpdateTemplateCreateInfo.set ); 2900 return seed; 2901 } 2902 }; 2903 2904 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceAddressBindingCallbackDataEXT> 2905 { operator ()std::hash2906 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceAddressBindingCallbackDataEXT const & deviceAddressBindingCallbackDataEXT) const VULKAN_HPP_NOEXCEPT 2907 { 2908 std::size_t seed = 0; 2909 VULKAN_HPP_HASH_COMBINE( seed, deviceAddressBindingCallbackDataEXT.sType ); 2910 VULKAN_HPP_HASH_COMBINE( seed, deviceAddressBindingCallbackDataEXT.pNext ); 2911 VULKAN_HPP_HASH_COMBINE( seed, deviceAddressBindingCallbackDataEXT.flags ); 2912 VULKAN_HPP_HASH_COMBINE( seed, deviceAddressBindingCallbackDataEXT.baseAddress ); 2913 VULKAN_HPP_HASH_COMBINE( seed, deviceAddressBindingCallbackDataEXT.size ); 2914 VULKAN_HPP_HASH_COMBINE( seed, deviceAddressBindingCallbackDataEXT.bindingType ); 2915 return seed; 2916 } 2917 }; 2918 2919 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements> 2920 { operator ()std::hash2921 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements const & deviceBufferMemoryRequirements) const VULKAN_HPP_NOEXCEPT 2922 { 2923 std::size_t seed = 0; 2924 VULKAN_HPP_HASH_COMBINE( seed, deviceBufferMemoryRequirements.sType ); 2925 VULKAN_HPP_HASH_COMBINE( seed, deviceBufferMemoryRequirements.pNext ); 2926 VULKAN_HPP_HASH_COMBINE( seed, deviceBufferMemoryRequirements.pCreateInfo ); 2927 return seed; 2928 } 2929 }; 2930 2931 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo> 2932 { operator ()std::hash2933 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo const & deviceQueueCreateInfo) const VULKAN_HPP_NOEXCEPT 2934 { 2935 std::size_t seed = 0; 2936 VULKAN_HPP_HASH_COMBINE( seed, deviceQueueCreateInfo.sType ); 2937 VULKAN_HPP_HASH_COMBINE( seed, deviceQueueCreateInfo.pNext ); 2938 VULKAN_HPP_HASH_COMBINE( seed, deviceQueueCreateInfo.flags ); 2939 VULKAN_HPP_HASH_COMBINE( seed, deviceQueueCreateInfo.queueFamilyIndex ); 2940 VULKAN_HPP_HASH_COMBINE( seed, deviceQueueCreateInfo.queueCount ); 2941 VULKAN_HPP_HASH_COMBINE( seed, deviceQueueCreateInfo.pQueuePriorities ); 2942 return seed; 2943 } 2944 }; 2945 2946 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures> 2947 { operator ()std::hash2948 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures const & physicalDeviceFeatures) const VULKAN_HPP_NOEXCEPT 2949 { 2950 std::size_t seed = 0; 2951 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.robustBufferAccess ); 2952 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.fullDrawIndexUint32 ); 2953 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.imageCubeArray ); 2954 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.independentBlend ); 2955 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.geometryShader ); 2956 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.tessellationShader ); 2957 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.sampleRateShading ); 2958 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.dualSrcBlend ); 2959 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.logicOp ); 2960 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.multiDrawIndirect ); 2961 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.drawIndirectFirstInstance ); 2962 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.depthClamp ); 2963 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.depthBiasClamp ); 2964 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.fillModeNonSolid ); 2965 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.depthBounds ); 2966 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.wideLines ); 2967 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.largePoints ); 2968 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.alphaToOne ); 2969 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.multiViewport ); 2970 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.samplerAnisotropy ); 2971 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.textureCompressionETC2 ); 2972 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.textureCompressionASTC_LDR ); 2973 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.textureCompressionBC ); 2974 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.occlusionQueryPrecise ); 2975 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.pipelineStatisticsQuery ); 2976 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.vertexPipelineStoresAndAtomics ); 2977 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.fragmentStoresAndAtomics ); 2978 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderTessellationAndGeometryPointSize ); 2979 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderImageGatherExtended ); 2980 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderStorageImageExtendedFormats ); 2981 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderStorageImageMultisample ); 2982 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderStorageImageReadWithoutFormat ); 2983 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderStorageImageWriteWithoutFormat ); 2984 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderUniformBufferArrayDynamicIndexing ); 2985 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderSampledImageArrayDynamicIndexing ); 2986 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderStorageBufferArrayDynamicIndexing ); 2987 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderStorageImageArrayDynamicIndexing ); 2988 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderClipDistance ); 2989 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderCullDistance ); 2990 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderFloat64 ); 2991 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderInt64 ); 2992 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderInt16 ); 2993 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderResourceResidency ); 2994 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.shaderResourceMinLod ); 2995 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.sparseBinding ); 2996 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.sparseResidencyBuffer ); 2997 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.sparseResidencyImage2D ); 2998 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.sparseResidencyImage3D ); 2999 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.sparseResidency2Samples ); 3000 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.sparseResidency4Samples ); 3001 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.sparseResidency8Samples ); 3002 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.sparseResidency16Samples ); 3003 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.sparseResidencyAliased ); 3004 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.variableMultisampleRate ); 3005 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures.inheritedQueries ); 3006 return seed; 3007 } 3008 }; 3009 3010 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceCreateInfo> 3011 { operator ()std::hash3012 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceCreateInfo const & deviceCreateInfo) const VULKAN_HPP_NOEXCEPT 3013 { 3014 std::size_t seed = 0; 3015 VULKAN_HPP_HASH_COMBINE( seed, deviceCreateInfo.sType ); 3016 VULKAN_HPP_HASH_COMBINE( seed, deviceCreateInfo.pNext ); 3017 VULKAN_HPP_HASH_COMBINE( seed, deviceCreateInfo.flags ); 3018 VULKAN_HPP_HASH_COMBINE( seed, deviceCreateInfo.queueCreateInfoCount ); 3019 VULKAN_HPP_HASH_COMBINE( seed, deviceCreateInfo.pQueueCreateInfos ); 3020 VULKAN_HPP_HASH_COMBINE( seed, deviceCreateInfo.enabledLayerCount ); 3021 for ( size_t i = 0; i < deviceCreateInfo.enabledLayerCount; ++i ) 3022 { 3023 for ( const char* p = deviceCreateInfo.ppEnabledLayerNames[i]; *p != '\0'; ++p ) 3024 { 3025 VULKAN_HPP_HASH_COMBINE( seed, *p ); 3026 } 3027 } 3028 VULKAN_HPP_HASH_COMBINE( seed, deviceCreateInfo.enabledExtensionCount ); 3029 for ( size_t i = 0; i < deviceCreateInfo.enabledExtensionCount; ++i ) 3030 { 3031 for ( const char* p = deviceCreateInfo.ppEnabledExtensionNames[i]; *p != '\0'; ++p ) 3032 { 3033 VULKAN_HPP_HASH_COMBINE( seed, *p ); 3034 } 3035 } 3036 VULKAN_HPP_HASH_COMBINE( seed, deviceCreateInfo.pEnabledFeatures ); 3037 return seed; 3038 } 3039 }; 3040 3041 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceDeviceMemoryReportCreateInfoEXT> 3042 { operator ()std::hash3043 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceDeviceMemoryReportCreateInfoEXT const & deviceDeviceMemoryReportCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 3044 { 3045 std::size_t seed = 0; 3046 VULKAN_HPP_HASH_COMBINE( seed, deviceDeviceMemoryReportCreateInfoEXT.sType ); 3047 VULKAN_HPP_HASH_COMBINE( seed, deviceDeviceMemoryReportCreateInfoEXT.pNext ); 3048 VULKAN_HPP_HASH_COMBINE( seed, deviceDeviceMemoryReportCreateInfoEXT.flags ); 3049 VULKAN_HPP_HASH_COMBINE( seed, deviceDeviceMemoryReportCreateInfoEXT.pfnUserCallback ); 3050 VULKAN_HPP_HASH_COMBINE( seed, deviceDeviceMemoryReportCreateInfoEXT.pUserData ); 3051 return seed; 3052 } 3053 }; 3054 3055 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceDiagnosticsConfigCreateInfoNV> 3056 { operator ()std::hash3057 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceDiagnosticsConfigCreateInfoNV const & deviceDiagnosticsConfigCreateInfoNV) const VULKAN_HPP_NOEXCEPT 3058 { 3059 std::size_t seed = 0; 3060 VULKAN_HPP_HASH_COMBINE( seed, deviceDiagnosticsConfigCreateInfoNV.sType ); 3061 VULKAN_HPP_HASH_COMBINE( seed, deviceDiagnosticsConfigCreateInfoNV.pNext ); 3062 VULKAN_HPP_HASH_COMBINE( seed, deviceDiagnosticsConfigCreateInfoNV.flags ); 3063 return seed; 3064 } 3065 }; 3066 3067 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT> 3068 { operator ()std::hash3069 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT const & deviceEventInfoEXT) const VULKAN_HPP_NOEXCEPT 3070 { 3071 std::size_t seed = 0; 3072 VULKAN_HPP_HASH_COMBINE( seed, deviceEventInfoEXT.sType ); 3073 VULKAN_HPP_HASH_COMBINE( seed, deviceEventInfoEXT.pNext ); 3074 VULKAN_HPP_HASH_COMBINE( seed, deviceEventInfoEXT.deviceEvent ); 3075 return seed; 3076 } 3077 }; 3078 3079 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceFaultAddressInfoEXT> 3080 { operator ()std::hash3081 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceFaultAddressInfoEXT const & deviceFaultAddressInfoEXT) const VULKAN_HPP_NOEXCEPT 3082 { 3083 std::size_t seed = 0; 3084 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultAddressInfoEXT.addressType ); 3085 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultAddressInfoEXT.reportedAddress ); 3086 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultAddressInfoEXT.addressPrecision ); 3087 return seed; 3088 } 3089 }; 3090 3091 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceFaultCountsEXT> 3092 { operator ()std::hash3093 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceFaultCountsEXT const & deviceFaultCountsEXT) const VULKAN_HPP_NOEXCEPT 3094 { 3095 std::size_t seed = 0; 3096 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultCountsEXT.sType ); 3097 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultCountsEXT.pNext ); 3098 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultCountsEXT.addressInfoCount ); 3099 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultCountsEXT.vendorInfoCount ); 3100 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultCountsEXT.vendorBinarySize ); 3101 return seed; 3102 } 3103 }; 3104 3105 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceFaultVendorInfoEXT> 3106 { operator ()std::hash3107 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceFaultVendorInfoEXT const & deviceFaultVendorInfoEXT) const VULKAN_HPP_NOEXCEPT 3108 { 3109 std::size_t seed = 0; 3110 for ( size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i ) 3111 { 3112 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultVendorInfoEXT.description[i] ); 3113 } 3114 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultVendorInfoEXT.vendorFaultCode ); 3115 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultVendorInfoEXT.vendorFaultData ); 3116 return seed; 3117 } 3118 }; 3119 3120 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceFaultInfoEXT> 3121 { operator ()std::hash3122 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceFaultInfoEXT const & deviceFaultInfoEXT) const VULKAN_HPP_NOEXCEPT 3123 { 3124 std::size_t seed = 0; 3125 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultInfoEXT.sType ); 3126 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultInfoEXT.pNext ); 3127 for ( size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i ) 3128 { 3129 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultInfoEXT.description[i] ); 3130 } 3131 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultInfoEXT.pAddressInfos ); 3132 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultInfoEXT.pVendorInfos ); 3133 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultInfoEXT.pVendorBinaryData ); 3134 return seed; 3135 } 3136 }; 3137 3138 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceFaultVendorBinaryHeaderVersionOneEXT> 3139 { operator ()std::hash3140 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceFaultVendorBinaryHeaderVersionOneEXT const & deviceFaultVendorBinaryHeaderVersionOneEXT) const VULKAN_HPP_NOEXCEPT 3141 { 3142 std::size_t seed = 0; 3143 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultVendorBinaryHeaderVersionOneEXT.headerSize ); 3144 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultVendorBinaryHeaderVersionOneEXT.headerVersion ); 3145 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultVendorBinaryHeaderVersionOneEXT.vendorID ); 3146 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultVendorBinaryHeaderVersionOneEXT.deviceID ); 3147 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultVendorBinaryHeaderVersionOneEXT.driverVersion ); 3148 for ( size_t i = 0; i < VK_UUID_SIZE; ++i ) 3149 { 3150 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultVendorBinaryHeaderVersionOneEXT.pipelineCacheUUID[i] ); 3151 } 3152 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultVendorBinaryHeaderVersionOneEXT.applicationNameOffset ); 3153 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultVendorBinaryHeaderVersionOneEXT.applicationVersion ); 3154 VULKAN_HPP_HASH_COMBINE( seed, deviceFaultVendorBinaryHeaderVersionOneEXT.engineNameOffset ); 3155 return seed; 3156 } 3157 }; 3158 3159 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceGroupBindSparseInfo> 3160 { operator ()std::hash3161 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceGroupBindSparseInfo const & deviceGroupBindSparseInfo) const VULKAN_HPP_NOEXCEPT 3162 { 3163 std::size_t seed = 0; 3164 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupBindSparseInfo.sType ); 3165 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupBindSparseInfo.pNext ); 3166 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupBindSparseInfo.resourceDeviceIndex ); 3167 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupBindSparseInfo.memoryDeviceIndex ); 3168 return seed; 3169 } 3170 }; 3171 3172 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceGroupCommandBufferBeginInfo> 3173 { operator ()std::hash3174 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceGroupCommandBufferBeginInfo const & deviceGroupCommandBufferBeginInfo) const VULKAN_HPP_NOEXCEPT 3175 { 3176 std::size_t seed = 0; 3177 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupCommandBufferBeginInfo.sType ); 3178 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupCommandBufferBeginInfo.pNext ); 3179 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupCommandBufferBeginInfo.deviceMask ); 3180 return seed; 3181 } 3182 }; 3183 3184 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceGroupDeviceCreateInfo> 3185 { operator ()std::hash3186 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceGroupDeviceCreateInfo const & deviceGroupDeviceCreateInfo) const VULKAN_HPP_NOEXCEPT 3187 { 3188 std::size_t seed = 0; 3189 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupDeviceCreateInfo.sType ); 3190 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupDeviceCreateInfo.pNext ); 3191 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupDeviceCreateInfo.physicalDeviceCount ); 3192 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupDeviceCreateInfo.pPhysicalDevices ); 3193 return seed; 3194 } 3195 }; 3196 3197 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR> 3198 { operator ()std::hash3199 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR const & deviceGroupPresentCapabilitiesKHR) const VULKAN_HPP_NOEXCEPT 3200 { 3201 std::size_t seed = 0; 3202 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupPresentCapabilitiesKHR.sType ); 3203 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupPresentCapabilitiesKHR.pNext ); 3204 for ( size_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i ) 3205 { 3206 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupPresentCapabilitiesKHR.presentMask[i] ); 3207 } 3208 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupPresentCapabilitiesKHR.modes ); 3209 return seed; 3210 } 3211 }; 3212 3213 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceGroupPresentInfoKHR> 3214 { operator ()std::hash3215 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceGroupPresentInfoKHR const & deviceGroupPresentInfoKHR) const VULKAN_HPP_NOEXCEPT 3216 { 3217 std::size_t seed = 0; 3218 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupPresentInfoKHR.sType ); 3219 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupPresentInfoKHR.pNext ); 3220 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupPresentInfoKHR.swapchainCount ); 3221 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupPresentInfoKHR.pDeviceMasks ); 3222 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupPresentInfoKHR.mode ); 3223 return seed; 3224 } 3225 }; 3226 3227 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceGroupRenderPassBeginInfo> 3228 { operator ()std::hash3229 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceGroupRenderPassBeginInfo const & deviceGroupRenderPassBeginInfo) const VULKAN_HPP_NOEXCEPT 3230 { 3231 std::size_t seed = 0; 3232 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupRenderPassBeginInfo.sType ); 3233 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupRenderPassBeginInfo.pNext ); 3234 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupRenderPassBeginInfo.deviceMask ); 3235 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupRenderPassBeginInfo.deviceRenderAreaCount ); 3236 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupRenderPassBeginInfo.pDeviceRenderAreas ); 3237 return seed; 3238 } 3239 }; 3240 3241 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceGroupSubmitInfo> 3242 { operator ()std::hash3243 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceGroupSubmitInfo const & deviceGroupSubmitInfo) const VULKAN_HPP_NOEXCEPT 3244 { 3245 std::size_t seed = 0; 3246 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupSubmitInfo.sType ); 3247 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupSubmitInfo.pNext ); 3248 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupSubmitInfo.waitSemaphoreCount ); 3249 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupSubmitInfo.pWaitSemaphoreDeviceIndices ); 3250 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupSubmitInfo.commandBufferCount ); 3251 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupSubmitInfo.pCommandBufferDeviceMasks ); 3252 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupSubmitInfo.signalSemaphoreCount ); 3253 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupSubmitInfo.pSignalSemaphoreDeviceIndices ); 3254 return seed; 3255 } 3256 }; 3257 3258 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceGroupSwapchainCreateInfoKHR> 3259 { operator ()std::hash3260 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceGroupSwapchainCreateInfoKHR const & deviceGroupSwapchainCreateInfoKHR) const VULKAN_HPP_NOEXCEPT 3261 { 3262 std::size_t seed = 0; 3263 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupSwapchainCreateInfoKHR.sType ); 3264 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupSwapchainCreateInfoKHR.pNext ); 3265 VULKAN_HPP_HASH_COMBINE( seed, deviceGroupSwapchainCreateInfoKHR.modes ); 3266 return seed; 3267 } 3268 }; 3269 3270 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageCreateInfo> 3271 { operator ()std::hash3272 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageCreateInfo const & imageCreateInfo) const VULKAN_HPP_NOEXCEPT 3273 { 3274 std::size_t seed = 0; 3275 VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.sType ); 3276 VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.pNext ); 3277 VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.flags ); 3278 VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.imageType ); 3279 VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.format ); 3280 VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.extent ); 3281 VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.mipLevels ); 3282 VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.arrayLayers ); 3283 VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.samples ); 3284 VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.tiling ); 3285 VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.usage ); 3286 VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.sharingMode ); 3287 VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.queueFamilyIndexCount ); 3288 VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.pQueueFamilyIndices ); 3289 VULKAN_HPP_HASH_COMBINE( seed, imageCreateInfo.initialLayout ); 3290 return seed; 3291 } 3292 }; 3293 3294 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements> 3295 { operator ()std::hash3296 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements const & deviceImageMemoryRequirements) const VULKAN_HPP_NOEXCEPT 3297 { 3298 std::size_t seed = 0; 3299 VULKAN_HPP_HASH_COMBINE( seed, deviceImageMemoryRequirements.sType ); 3300 VULKAN_HPP_HASH_COMBINE( seed, deviceImageMemoryRequirements.pNext ); 3301 VULKAN_HPP_HASH_COMBINE( seed, deviceImageMemoryRequirements.pCreateInfo ); 3302 VULKAN_HPP_HASH_COMBINE( seed, deviceImageMemoryRequirements.planeAspect ); 3303 return seed; 3304 } 3305 }; 3306 3307 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo> 3308 { operator ()std::hash3309 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo const & deviceMemoryOpaqueCaptureAddressInfo) const VULKAN_HPP_NOEXCEPT 3310 { 3311 std::size_t seed = 0; 3312 VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryOpaqueCaptureAddressInfo.sType ); 3313 VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryOpaqueCaptureAddressInfo.pNext ); 3314 VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryOpaqueCaptureAddressInfo.memory ); 3315 return seed; 3316 } 3317 }; 3318 3319 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceMemoryOverallocationCreateInfoAMD> 3320 { operator ()std::hash3321 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceMemoryOverallocationCreateInfoAMD const & deviceMemoryOverallocationCreateInfoAMD) const VULKAN_HPP_NOEXCEPT 3322 { 3323 std::size_t seed = 0; 3324 VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryOverallocationCreateInfoAMD.sType ); 3325 VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryOverallocationCreateInfoAMD.pNext ); 3326 VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryOverallocationCreateInfoAMD.overallocationBehavior ); 3327 return seed; 3328 } 3329 }; 3330 3331 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceMemoryReportCallbackDataEXT> 3332 { operator ()std::hash3333 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceMemoryReportCallbackDataEXT const & deviceMemoryReportCallbackDataEXT) const VULKAN_HPP_NOEXCEPT 3334 { 3335 std::size_t seed = 0; 3336 VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryReportCallbackDataEXT.sType ); 3337 VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryReportCallbackDataEXT.pNext ); 3338 VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryReportCallbackDataEXT.flags ); 3339 VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryReportCallbackDataEXT.type ); 3340 VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryReportCallbackDataEXT.memoryObjectId ); 3341 VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryReportCallbackDataEXT.size ); 3342 VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryReportCallbackDataEXT.objectType ); 3343 VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryReportCallbackDataEXT.objectHandle ); 3344 VULKAN_HPP_HASH_COMBINE( seed, deviceMemoryReportCallbackDataEXT.heapIndex ); 3345 return seed; 3346 } 3347 }; 3348 3349 template <> struct hash<VULKAN_HPP_NAMESPACE::DevicePrivateDataCreateInfo> 3350 { operator ()std::hash3351 std::size_t operator()(VULKAN_HPP_NAMESPACE::DevicePrivateDataCreateInfo const & devicePrivateDataCreateInfo) const VULKAN_HPP_NOEXCEPT 3352 { 3353 std::size_t seed = 0; 3354 VULKAN_HPP_HASH_COMBINE( seed, devicePrivateDataCreateInfo.sType ); 3355 VULKAN_HPP_HASH_COMBINE( seed, devicePrivateDataCreateInfo.pNext ); 3356 VULKAN_HPP_HASH_COMBINE( seed, devicePrivateDataCreateInfo.privateDataSlotRequestCount ); 3357 return seed; 3358 } 3359 }; 3360 3361 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceQueueGlobalPriorityCreateInfoKHR> 3362 { operator ()std::hash3363 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceQueueGlobalPriorityCreateInfoKHR const & deviceQueueGlobalPriorityCreateInfoKHR) const VULKAN_HPP_NOEXCEPT 3364 { 3365 std::size_t seed = 0; 3366 VULKAN_HPP_HASH_COMBINE( seed, deviceQueueGlobalPriorityCreateInfoKHR.sType ); 3367 VULKAN_HPP_HASH_COMBINE( seed, deviceQueueGlobalPriorityCreateInfoKHR.pNext ); 3368 VULKAN_HPP_HASH_COMBINE( seed, deviceQueueGlobalPriorityCreateInfoKHR.globalPriority ); 3369 return seed; 3370 } 3371 }; 3372 3373 template <> struct hash<VULKAN_HPP_NAMESPACE::DeviceQueueInfo2> 3374 { operator ()std::hash3375 std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 const & deviceQueueInfo2) const VULKAN_HPP_NOEXCEPT 3376 { 3377 std::size_t seed = 0; 3378 VULKAN_HPP_HASH_COMBINE( seed, deviceQueueInfo2.sType ); 3379 VULKAN_HPP_HASH_COMBINE( seed, deviceQueueInfo2.pNext ); 3380 VULKAN_HPP_HASH_COMBINE( seed, deviceQueueInfo2.flags ); 3381 VULKAN_HPP_HASH_COMBINE( seed, deviceQueueInfo2.queueFamilyIndex ); 3382 VULKAN_HPP_HASH_COMBINE( seed, deviceQueueInfo2.queueIndex ); 3383 return seed; 3384 } 3385 }; 3386 3387 template <> struct hash<VULKAN_HPP_NAMESPACE::DirectDriverLoadingInfoLUNARG> 3388 { operator ()std::hash3389 std::size_t operator()(VULKAN_HPP_NAMESPACE::DirectDriverLoadingInfoLUNARG const & directDriverLoadingInfoLUNARG) const VULKAN_HPP_NOEXCEPT 3390 { 3391 std::size_t seed = 0; 3392 VULKAN_HPP_HASH_COMBINE( seed, directDriverLoadingInfoLUNARG.sType ); 3393 VULKAN_HPP_HASH_COMBINE( seed, directDriverLoadingInfoLUNARG.pNext ); 3394 VULKAN_HPP_HASH_COMBINE( seed, directDriverLoadingInfoLUNARG.flags ); 3395 VULKAN_HPP_HASH_COMBINE( seed, directDriverLoadingInfoLUNARG.pfnGetInstanceProcAddr ); 3396 return seed; 3397 } 3398 }; 3399 3400 template <> struct hash<VULKAN_HPP_NAMESPACE::DirectDriverLoadingListLUNARG> 3401 { operator ()std::hash3402 std::size_t operator()(VULKAN_HPP_NAMESPACE::DirectDriverLoadingListLUNARG const & directDriverLoadingListLUNARG) const VULKAN_HPP_NOEXCEPT 3403 { 3404 std::size_t seed = 0; 3405 VULKAN_HPP_HASH_COMBINE( seed, directDriverLoadingListLUNARG.sType ); 3406 VULKAN_HPP_HASH_COMBINE( seed, directDriverLoadingListLUNARG.pNext ); 3407 VULKAN_HPP_HASH_COMBINE( seed, directDriverLoadingListLUNARG.mode ); 3408 VULKAN_HPP_HASH_COMBINE( seed, directDriverLoadingListLUNARG.driverCount ); 3409 VULKAN_HPP_HASH_COMBINE( seed, directDriverLoadingListLUNARG.pDrivers ); 3410 return seed; 3411 } 3412 }; 3413 3414 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT ) 3415 template <> struct hash<VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT> 3416 { operator ()std::hash3417 std::size_t operator()(VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT const & directFBSurfaceCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 3418 { 3419 std::size_t seed = 0; 3420 VULKAN_HPP_HASH_COMBINE( seed, directFBSurfaceCreateInfoEXT.sType ); 3421 VULKAN_HPP_HASH_COMBINE( seed, directFBSurfaceCreateInfoEXT.pNext ); 3422 VULKAN_HPP_HASH_COMBINE( seed, directFBSurfaceCreateInfoEXT.flags ); 3423 VULKAN_HPP_HASH_COMBINE( seed, directFBSurfaceCreateInfoEXT.dfb ); 3424 VULKAN_HPP_HASH_COMBINE( seed, directFBSurfaceCreateInfoEXT.surface ); 3425 return seed; 3426 } 3427 }; 3428 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/ 3429 3430 template <> struct hash<VULKAN_HPP_NAMESPACE::DispatchIndirectCommand> 3431 { operator ()std::hash3432 std::size_t operator()(VULKAN_HPP_NAMESPACE::DispatchIndirectCommand const & dispatchIndirectCommand) const VULKAN_HPP_NOEXCEPT 3433 { 3434 std::size_t seed = 0; 3435 VULKAN_HPP_HASH_COMBINE( seed, dispatchIndirectCommand.x ); 3436 VULKAN_HPP_HASH_COMBINE( seed, dispatchIndirectCommand.y ); 3437 VULKAN_HPP_HASH_COMBINE( seed, dispatchIndirectCommand.z ); 3438 return seed; 3439 } 3440 }; 3441 3442 template <> struct hash<VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT> 3443 { operator ()std::hash3444 std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT const & displayEventInfoEXT) const VULKAN_HPP_NOEXCEPT 3445 { 3446 std::size_t seed = 0; 3447 VULKAN_HPP_HASH_COMBINE( seed, displayEventInfoEXT.sType ); 3448 VULKAN_HPP_HASH_COMBINE( seed, displayEventInfoEXT.pNext ); 3449 VULKAN_HPP_HASH_COMBINE( seed, displayEventInfoEXT.displayEvent ); 3450 return seed; 3451 } 3452 }; 3453 3454 template <> struct hash<VULKAN_HPP_NAMESPACE::DisplayModeParametersKHR> 3455 { operator ()std::hash3456 std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayModeParametersKHR const & displayModeParametersKHR) const VULKAN_HPP_NOEXCEPT 3457 { 3458 std::size_t seed = 0; 3459 VULKAN_HPP_HASH_COMBINE( seed, displayModeParametersKHR.visibleRegion ); 3460 VULKAN_HPP_HASH_COMBINE( seed, displayModeParametersKHR.refreshRate ); 3461 return seed; 3462 } 3463 }; 3464 3465 template <> struct hash<VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR> 3466 { operator ()std::hash3467 std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR const & displayModeCreateInfoKHR) const VULKAN_HPP_NOEXCEPT 3468 { 3469 std::size_t seed = 0; 3470 VULKAN_HPP_HASH_COMBINE( seed, displayModeCreateInfoKHR.sType ); 3471 VULKAN_HPP_HASH_COMBINE( seed, displayModeCreateInfoKHR.pNext ); 3472 VULKAN_HPP_HASH_COMBINE( seed, displayModeCreateInfoKHR.flags ); 3473 VULKAN_HPP_HASH_COMBINE( seed, displayModeCreateInfoKHR.parameters ); 3474 return seed; 3475 } 3476 }; 3477 3478 template <> struct hash<VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR> 3479 { operator ()std::hash3480 std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR const & displayModePropertiesKHR) const VULKAN_HPP_NOEXCEPT 3481 { 3482 std::size_t seed = 0; 3483 VULKAN_HPP_HASH_COMBINE( seed, displayModePropertiesKHR.displayMode ); 3484 VULKAN_HPP_HASH_COMBINE( seed, displayModePropertiesKHR.parameters ); 3485 return seed; 3486 } 3487 }; 3488 3489 template <> struct hash<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR> 3490 { operator ()std::hash3491 std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR const & displayModeProperties2KHR) const VULKAN_HPP_NOEXCEPT 3492 { 3493 std::size_t seed = 0; 3494 VULKAN_HPP_HASH_COMBINE( seed, displayModeProperties2KHR.sType ); 3495 VULKAN_HPP_HASH_COMBINE( seed, displayModeProperties2KHR.pNext ); 3496 VULKAN_HPP_HASH_COMBINE( seed, displayModeProperties2KHR.displayModeProperties ); 3497 return seed; 3498 } 3499 }; 3500 3501 template <> struct hash<VULKAN_HPP_NAMESPACE::DisplayNativeHdrSurfaceCapabilitiesAMD> 3502 { operator ()std::hash3503 std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayNativeHdrSurfaceCapabilitiesAMD const & displayNativeHdrSurfaceCapabilitiesAMD) const VULKAN_HPP_NOEXCEPT 3504 { 3505 std::size_t seed = 0; 3506 VULKAN_HPP_HASH_COMBINE( seed, displayNativeHdrSurfaceCapabilitiesAMD.sType ); 3507 VULKAN_HPP_HASH_COMBINE( seed, displayNativeHdrSurfaceCapabilitiesAMD.pNext ); 3508 VULKAN_HPP_HASH_COMBINE( seed, displayNativeHdrSurfaceCapabilitiesAMD.localDimmingSupport ); 3509 return seed; 3510 } 3511 }; 3512 3513 template <> struct hash<VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR> 3514 { operator ()std::hash3515 std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR const & displayPlaneCapabilitiesKHR) const VULKAN_HPP_NOEXCEPT 3516 { 3517 std::size_t seed = 0; 3518 VULKAN_HPP_HASH_COMBINE( seed, displayPlaneCapabilitiesKHR.supportedAlpha ); 3519 VULKAN_HPP_HASH_COMBINE( seed, displayPlaneCapabilitiesKHR.minSrcPosition ); 3520 VULKAN_HPP_HASH_COMBINE( seed, displayPlaneCapabilitiesKHR.maxSrcPosition ); 3521 VULKAN_HPP_HASH_COMBINE( seed, displayPlaneCapabilitiesKHR.minSrcExtent ); 3522 VULKAN_HPP_HASH_COMBINE( seed, displayPlaneCapabilitiesKHR.maxSrcExtent ); 3523 VULKAN_HPP_HASH_COMBINE( seed, displayPlaneCapabilitiesKHR.minDstPosition ); 3524 VULKAN_HPP_HASH_COMBINE( seed, displayPlaneCapabilitiesKHR.maxDstPosition ); 3525 VULKAN_HPP_HASH_COMBINE( seed, displayPlaneCapabilitiesKHR.minDstExtent ); 3526 VULKAN_HPP_HASH_COMBINE( seed, displayPlaneCapabilitiesKHR.maxDstExtent ); 3527 return seed; 3528 } 3529 }; 3530 3531 template <> struct hash<VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR> 3532 { operator ()std::hash3533 std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR const & displayPlaneCapabilities2KHR) const VULKAN_HPP_NOEXCEPT 3534 { 3535 std::size_t seed = 0; 3536 VULKAN_HPP_HASH_COMBINE( seed, displayPlaneCapabilities2KHR.sType ); 3537 VULKAN_HPP_HASH_COMBINE( seed, displayPlaneCapabilities2KHR.pNext ); 3538 VULKAN_HPP_HASH_COMBINE( seed, displayPlaneCapabilities2KHR.capabilities ); 3539 return seed; 3540 } 3541 }; 3542 3543 template <> struct hash<VULKAN_HPP_NAMESPACE::DisplayPlaneInfo2KHR> 3544 { operator ()std::hash3545 std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayPlaneInfo2KHR const & displayPlaneInfo2KHR) const VULKAN_HPP_NOEXCEPT 3546 { 3547 std::size_t seed = 0; 3548 VULKAN_HPP_HASH_COMBINE( seed, displayPlaneInfo2KHR.sType ); 3549 VULKAN_HPP_HASH_COMBINE( seed, displayPlaneInfo2KHR.pNext ); 3550 VULKAN_HPP_HASH_COMBINE( seed, displayPlaneInfo2KHR.mode ); 3551 VULKAN_HPP_HASH_COMBINE( seed, displayPlaneInfo2KHR.planeIndex ); 3552 return seed; 3553 } 3554 }; 3555 3556 template <> struct hash<VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR> 3557 { operator ()std::hash3558 std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR const & displayPlanePropertiesKHR) const VULKAN_HPP_NOEXCEPT 3559 { 3560 std::size_t seed = 0; 3561 VULKAN_HPP_HASH_COMBINE( seed, displayPlanePropertiesKHR.currentDisplay ); 3562 VULKAN_HPP_HASH_COMBINE( seed, displayPlanePropertiesKHR.currentStackIndex ); 3563 return seed; 3564 } 3565 }; 3566 3567 template <> struct hash<VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR> 3568 { operator ()std::hash3569 std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR const & displayPlaneProperties2KHR) const VULKAN_HPP_NOEXCEPT 3570 { 3571 std::size_t seed = 0; 3572 VULKAN_HPP_HASH_COMBINE( seed, displayPlaneProperties2KHR.sType ); 3573 VULKAN_HPP_HASH_COMBINE( seed, displayPlaneProperties2KHR.pNext ); 3574 VULKAN_HPP_HASH_COMBINE( seed, displayPlaneProperties2KHR.displayPlaneProperties ); 3575 return seed; 3576 } 3577 }; 3578 3579 template <> struct hash<VULKAN_HPP_NAMESPACE::DisplayPowerInfoEXT> 3580 { operator ()std::hash3581 std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayPowerInfoEXT const & displayPowerInfoEXT) const VULKAN_HPP_NOEXCEPT 3582 { 3583 std::size_t seed = 0; 3584 VULKAN_HPP_HASH_COMBINE( seed, displayPowerInfoEXT.sType ); 3585 VULKAN_HPP_HASH_COMBINE( seed, displayPowerInfoEXT.pNext ); 3586 VULKAN_HPP_HASH_COMBINE( seed, displayPowerInfoEXT.powerState ); 3587 return seed; 3588 } 3589 }; 3590 3591 template <> struct hash<VULKAN_HPP_NAMESPACE::DisplayPresentInfoKHR> 3592 { operator ()std::hash3593 std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayPresentInfoKHR const & displayPresentInfoKHR) const VULKAN_HPP_NOEXCEPT 3594 { 3595 std::size_t seed = 0; 3596 VULKAN_HPP_HASH_COMBINE( seed, displayPresentInfoKHR.sType ); 3597 VULKAN_HPP_HASH_COMBINE( seed, displayPresentInfoKHR.pNext ); 3598 VULKAN_HPP_HASH_COMBINE( seed, displayPresentInfoKHR.srcRect ); 3599 VULKAN_HPP_HASH_COMBINE( seed, displayPresentInfoKHR.dstRect ); 3600 VULKAN_HPP_HASH_COMBINE( seed, displayPresentInfoKHR.persistent ); 3601 return seed; 3602 } 3603 }; 3604 3605 template <> struct hash<VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR> 3606 { operator ()std::hash3607 std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR const & displayPropertiesKHR) const VULKAN_HPP_NOEXCEPT 3608 { 3609 std::size_t seed = 0; 3610 VULKAN_HPP_HASH_COMBINE( seed, displayPropertiesKHR.display ); 3611 for ( const char* p = displayPropertiesKHR.displayName; *p != '\0'; ++p ) 3612 { 3613 VULKAN_HPP_HASH_COMBINE( seed, *p ); 3614 } 3615 VULKAN_HPP_HASH_COMBINE( seed, displayPropertiesKHR.physicalDimensions ); 3616 VULKAN_HPP_HASH_COMBINE( seed, displayPropertiesKHR.physicalResolution ); 3617 VULKAN_HPP_HASH_COMBINE( seed, displayPropertiesKHR.supportedTransforms ); 3618 VULKAN_HPP_HASH_COMBINE( seed, displayPropertiesKHR.planeReorderPossible ); 3619 VULKAN_HPP_HASH_COMBINE( seed, displayPropertiesKHR.persistentContent ); 3620 return seed; 3621 } 3622 }; 3623 3624 template <> struct hash<VULKAN_HPP_NAMESPACE::DisplayProperties2KHR> 3625 { operator ()std::hash3626 std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayProperties2KHR const & displayProperties2KHR) const VULKAN_HPP_NOEXCEPT 3627 { 3628 std::size_t seed = 0; 3629 VULKAN_HPP_HASH_COMBINE( seed, displayProperties2KHR.sType ); 3630 VULKAN_HPP_HASH_COMBINE( seed, displayProperties2KHR.pNext ); 3631 VULKAN_HPP_HASH_COMBINE( seed, displayProperties2KHR.displayProperties ); 3632 return seed; 3633 } 3634 }; 3635 3636 template <> struct hash<VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR> 3637 { operator ()std::hash3638 std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR const & displaySurfaceCreateInfoKHR) const VULKAN_HPP_NOEXCEPT 3639 { 3640 std::size_t seed = 0; 3641 VULKAN_HPP_HASH_COMBINE( seed, displaySurfaceCreateInfoKHR.sType ); 3642 VULKAN_HPP_HASH_COMBINE( seed, displaySurfaceCreateInfoKHR.pNext ); 3643 VULKAN_HPP_HASH_COMBINE( seed, displaySurfaceCreateInfoKHR.flags ); 3644 VULKAN_HPP_HASH_COMBINE( seed, displaySurfaceCreateInfoKHR.displayMode ); 3645 VULKAN_HPP_HASH_COMBINE( seed, displaySurfaceCreateInfoKHR.planeIndex ); 3646 VULKAN_HPP_HASH_COMBINE( seed, displaySurfaceCreateInfoKHR.planeStackIndex ); 3647 VULKAN_HPP_HASH_COMBINE( seed, displaySurfaceCreateInfoKHR.transform ); 3648 VULKAN_HPP_HASH_COMBINE( seed, displaySurfaceCreateInfoKHR.globalAlpha ); 3649 VULKAN_HPP_HASH_COMBINE( seed, displaySurfaceCreateInfoKHR.alphaMode ); 3650 VULKAN_HPP_HASH_COMBINE( seed, displaySurfaceCreateInfoKHR.imageExtent ); 3651 return seed; 3652 } 3653 }; 3654 3655 template <> struct hash<VULKAN_HPP_NAMESPACE::DrawIndexedIndirectCommand> 3656 { operator ()std::hash3657 std::size_t operator()(VULKAN_HPP_NAMESPACE::DrawIndexedIndirectCommand const & drawIndexedIndirectCommand) const VULKAN_HPP_NOEXCEPT 3658 { 3659 std::size_t seed = 0; 3660 VULKAN_HPP_HASH_COMBINE( seed, drawIndexedIndirectCommand.indexCount ); 3661 VULKAN_HPP_HASH_COMBINE( seed, drawIndexedIndirectCommand.instanceCount ); 3662 VULKAN_HPP_HASH_COMBINE( seed, drawIndexedIndirectCommand.firstIndex ); 3663 VULKAN_HPP_HASH_COMBINE( seed, drawIndexedIndirectCommand.vertexOffset ); 3664 VULKAN_HPP_HASH_COMBINE( seed, drawIndexedIndirectCommand.firstInstance ); 3665 return seed; 3666 } 3667 }; 3668 3669 template <> struct hash<VULKAN_HPP_NAMESPACE::DrawIndirectCommand> 3670 { operator ()std::hash3671 std::size_t operator()(VULKAN_HPP_NAMESPACE::DrawIndirectCommand const & drawIndirectCommand) const VULKAN_HPP_NOEXCEPT 3672 { 3673 std::size_t seed = 0; 3674 VULKAN_HPP_HASH_COMBINE( seed, drawIndirectCommand.vertexCount ); 3675 VULKAN_HPP_HASH_COMBINE( seed, drawIndirectCommand.instanceCount ); 3676 VULKAN_HPP_HASH_COMBINE( seed, drawIndirectCommand.firstVertex ); 3677 VULKAN_HPP_HASH_COMBINE( seed, drawIndirectCommand.firstInstance ); 3678 return seed; 3679 } 3680 }; 3681 3682 template <> struct hash<VULKAN_HPP_NAMESPACE::DrawMeshTasksIndirectCommandEXT> 3683 { operator ()std::hash3684 std::size_t operator()(VULKAN_HPP_NAMESPACE::DrawMeshTasksIndirectCommandEXT const & drawMeshTasksIndirectCommandEXT) const VULKAN_HPP_NOEXCEPT 3685 { 3686 std::size_t seed = 0; 3687 VULKAN_HPP_HASH_COMBINE( seed, drawMeshTasksIndirectCommandEXT.groupCountX ); 3688 VULKAN_HPP_HASH_COMBINE( seed, drawMeshTasksIndirectCommandEXT.groupCountY ); 3689 VULKAN_HPP_HASH_COMBINE( seed, drawMeshTasksIndirectCommandEXT.groupCountZ ); 3690 return seed; 3691 } 3692 }; 3693 3694 template <> struct hash<VULKAN_HPP_NAMESPACE::DrawMeshTasksIndirectCommandNV> 3695 { operator ()std::hash3696 std::size_t operator()(VULKAN_HPP_NAMESPACE::DrawMeshTasksIndirectCommandNV const & drawMeshTasksIndirectCommandNV) const VULKAN_HPP_NOEXCEPT 3697 { 3698 std::size_t seed = 0; 3699 VULKAN_HPP_HASH_COMBINE( seed, drawMeshTasksIndirectCommandNV.taskCount ); 3700 VULKAN_HPP_HASH_COMBINE( seed, drawMeshTasksIndirectCommandNV.firstTask ); 3701 return seed; 3702 } 3703 }; 3704 3705 template <> struct hash<VULKAN_HPP_NAMESPACE::DrmFormatModifierProperties2EXT> 3706 { operator ()std::hash3707 std::size_t operator()(VULKAN_HPP_NAMESPACE::DrmFormatModifierProperties2EXT const & drmFormatModifierProperties2EXT) const VULKAN_HPP_NOEXCEPT 3708 { 3709 std::size_t seed = 0; 3710 VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierProperties2EXT.drmFormatModifier ); 3711 VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierProperties2EXT.drmFormatModifierPlaneCount ); 3712 VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierProperties2EXT.drmFormatModifierTilingFeatures ); 3713 return seed; 3714 } 3715 }; 3716 3717 template <> struct hash<VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesEXT> 3718 { operator ()std::hash3719 std::size_t operator()(VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesEXT const & drmFormatModifierPropertiesEXT) const VULKAN_HPP_NOEXCEPT 3720 { 3721 std::size_t seed = 0; 3722 VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierPropertiesEXT.drmFormatModifier ); 3723 VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierPropertiesEXT.drmFormatModifierPlaneCount ); 3724 VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierPropertiesEXT.drmFormatModifierTilingFeatures ); 3725 return seed; 3726 } 3727 }; 3728 3729 template <> struct hash<VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesList2EXT> 3730 { operator ()std::hash3731 std::size_t operator()(VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesList2EXT const & drmFormatModifierPropertiesList2EXT) const VULKAN_HPP_NOEXCEPT 3732 { 3733 std::size_t seed = 0; 3734 VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierPropertiesList2EXT.sType ); 3735 VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierPropertiesList2EXT.pNext ); 3736 VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierPropertiesList2EXT.drmFormatModifierCount ); 3737 VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierPropertiesList2EXT.pDrmFormatModifierProperties ); 3738 return seed; 3739 } 3740 }; 3741 3742 template <> struct hash<VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesListEXT> 3743 { operator ()std::hash3744 std::size_t operator()(VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesListEXT const & drmFormatModifierPropertiesListEXT) const VULKAN_HPP_NOEXCEPT 3745 { 3746 std::size_t seed = 0; 3747 VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierPropertiesListEXT.sType ); 3748 VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierPropertiesListEXT.pNext ); 3749 VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierPropertiesListEXT.drmFormatModifierCount ); 3750 VULKAN_HPP_HASH_COMBINE( seed, drmFormatModifierPropertiesListEXT.pDrmFormatModifierProperties ); 3751 return seed; 3752 } 3753 }; 3754 3755 template <> struct hash<VULKAN_HPP_NAMESPACE::EventCreateInfo> 3756 { operator ()std::hash3757 std::size_t operator()(VULKAN_HPP_NAMESPACE::EventCreateInfo const & eventCreateInfo) const VULKAN_HPP_NOEXCEPT 3758 { 3759 std::size_t seed = 0; 3760 VULKAN_HPP_HASH_COMBINE( seed, eventCreateInfo.sType ); 3761 VULKAN_HPP_HASH_COMBINE( seed, eventCreateInfo.pNext ); 3762 VULKAN_HPP_HASH_COMBINE( seed, eventCreateInfo.flags ); 3763 return seed; 3764 } 3765 }; 3766 3767 template <> struct hash<VULKAN_HPP_NAMESPACE::ExportFenceCreateInfo> 3768 { operator ()std::hash3769 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExportFenceCreateInfo const & exportFenceCreateInfo) const VULKAN_HPP_NOEXCEPT 3770 { 3771 std::size_t seed = 0; 3772 VULKAN_HPP_HASH_COMBINE( seed, exportFenceCreateInfo.sType ); 3773 VULKAN_HPP_HASH_COMBINE( seed, exportFenceCreateInfo.pNext ); 3774 VULKAN_HPP_HASH_COMBINE( seed, exportFenceCreateInfo.handleTypes ); 3775 return seed; 3776 } 3777 }; 3778 3779 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 3780 template <> struct hash<VULKAN_HPP_NAMESPACE::ExportFenceWin32HandleInfoKHR> 3781 { operator ()std::hash3782 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExportFenceWin32HandleInfoKHR const & exportFenceWin32HandleInfoKHR) const VULKAN_HPP_NOEXCEPT 3783 { 3784 std::size_t seed = 0; 3785 VULKAN_HPP_HASH_COMBINE( seed, exportFenceWin32HandleInfoKHR.sType ); 3786 VULKAN_HPP_HASH_COMBINE( seed, exportFenceWin32HandleInfoKHR.pNext ); 3787 VULKAN_HPP_HASH_COMBINE( seed, exportFenceWin32HandleInfoKHR.pAttributes ); 3788 VULKAN_HPP_HASH_COMBINE( seed, exportFenceWin32HandleInfoKHR.dwAccess ); 3789 VULKAN_HPP_HASH_COMBINE( seed, exportFenceWin32HandleInfoKHR.name ); 3790 return seed; 3791 } 3792 }; 3793 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 3794 3795 template <> struct hash<VULKAN_HPP_NAMESPACE::ExportMemoryAllocateInfo> 3796 { operator ()std::hash3797 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExportMemoryAllocateInfo const & exportMemoryAllocateInfo) const VULKAN_HPP_NOEXCEPT 3798 { 3799 std::size_t seed = 0; 3800 VULKAN_HPP_HASH_COMBINE( seed, exportMemoryAllocateInfo.sType ); 3801 VULKAN_HPP_HASH_COMBINE( seed, exportMemoryAllocateInfo.pNext ); 3802 VULKAN_HPP_HASH_COMBINE( seed, exportMemoryAllocateInfo.handleTypes ); 3803 return seed; 3804 } 3805 }; 3806 3807 template <> struct hash<VULKAN_HPP_NAMESPACE::ExportMemoryAllocateInfoNV> 3808 { operator ()std::hash3809 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExportMemoryAllocateInfoNV const & exportMemoryAllocateInfoNV) const VULKAN_HPP_NOEXCEPT 3810 { 3811 std::size_t seed = 0; 3812 VULKAN_HPP_HASH_COMBINE( seed, exportMemoryAllocateInfoNV.sType ); 3813 VULKAN_HPP_HASH_COMBINE( seed, exportMemoryAllocateInfoNV.pNext ); 3814 VULKAN_HPP_HASH_COMBINE( seed, exportMemoryAllocateInfoNV.handleTypes ); 3815 return seed; 3816 } 3817 }; 3818 3819 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 3820 template <> struct hash<VULKAN_HPP_NAMESPACE::ExportMemoryWin32HandleInfoKHR> 3821 { operator ()std::hash3822 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExportMemoryWin32HandleInfoKHR const & exportMemoryWin32HandleInfoKHR) const VULKAN_HPP_NOEXCEPT 3823 { 3824 std::size_t seed = 0; 3825 VULKAN_HPP_HASH_COMBINE( seed, exportMemoryWin32HandleInfoKHR.sType ); 3826 VULKAN_HPP_HASH_COMBINE( seed, exportMemoryWin32HandleInfoKHR.pNext ); 3827 VULKAN_HPP_HASH_COMBINE( seed, exportMemoryWin32HandleInfoKHR.pAttributes ); 3828 VULKAN_HPP_HASH_COMBINE( seed, exportMemoryWin32HandleInfoKHR.dwAccess ); 3829 VULKAN_HPP_HASH_COMBINE( seed, exportMemoryWin32HandleInfoKHR.name ); 3830 return seed; 3831 } 3832 }; 3833 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 3834 3835 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 3836 template <> struct hash<VULKAN_HPP_NAMESPACE::ExportMemoryWin32HandleInfoNV> 3837 { operator ()std::hash3838 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExportMemoryWin32HandleInfoNV const & exportMemoryWin32HandleInfoNV) const VULKAN_HPP_NOEXCEPT 3839 { 3840 std::size_t seed = 0; 3841 VULKAN_HPP_HASH_COMBINE( seed, exportMemoryWin32HandleInfoNV.sType ); 3842 VULKAN_HPP_HASH_COMBINE( seed, exportMemoryWin32HandleInfoNV.pNext ); 3843 VULKAN_HPP_HASH_COMBINE( seed, exportMemoryWin32HandleInfoNV.pAttributes ); 3844 VULKAN_HPP_HASH_COMBINE( seed, exportMemoryWin32HandleInfoNV.dwAccess ); 3845 return seed; 3846 } 3847 }; 3848 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 3849 3850 #if defined( VK_USE_PLATFORM_METAL_EXT ) 3851 template <> struct hash<VULKAN_HPP_NAMESPACE::ExportMetalBufferInfoEXT> 3852 { operator ()std::hash3853 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExportMetalBufferInfoEXT const & exportMetalBufferInfoEXT) const VULKAN_HPP_NOEXCEPT 3854 { 3855 std::size_t seed = 0; 3856 VULKAN_HPP_HASH_COMBINE( seed, exportMetalBufferInfoEXT.sType ); 3857 VULKAN_HPP_HASH_COMBINE( seed, exportMetalBufferInfoEXT.pNext ); 3858 VULKAN_HPP_HASH_COMBINE( seed, exportMetalBufferInfoEXT.memory ); 3859 VULKAN_HPP_HASH_COMBINE( seed, exportMetalBufferInfoEXT.mtlBuffer ); 3860 return seed; 3861 } 3862 }; 3863 #endif /*VK_USE_PLATFORM_METAL_EXT*/ 3864 3865 #if defined( VK_USE_PLATFORM_METAL_EXT ) 3866 template <> struct hash<VULKAN_HPP_NAMESPACE::ExportMetalCommandQueueInfoEXT> 3867 { operator ()std::hash3868 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExportMetalCommandQueueInfoEXT const & exportMetalCommandQueueInfoEXT) const VULKAN_HPP_NOEXCEPT 3869 { 3870 std::size_t seed = 0; 3871 VULKAN_HPP_HASH_COMBINE( seed, exportMetalCommandQueueInfoEXT.sType ); 3872 VULKAN_HPP_HASH_COMBINE( seed, exportMetalCommandQueueInfoEXT.pNext ); 3873 VULKAN_HPP_HASH_COMBINE( seed, exportMetalCommandQueueInfoEXT.queue ); 3874 VULKAN_HPP_HASH_COMBINE( seed, exportMetalCommandQueueInfoEXT.mtlCommandQueue ); 3875 return seed; 3876 } 3877 }; 3878 #endif /*VK_USE_PLATFORM_METAL_EXT*/ 3879 3880 #if defined( VK_USE_PLATFORM_METAL_EXT ) 3881 template <> struct hash<VULKAN_HPP_NAMESPACE::ExportMetalDeviceInfoEXT> 3882 { operator ()std::hash3883 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExportMetalDeviceInfoEXT const & exportMetalDeviceInfoEXT) const VULKAN_HPP_NOEXCEPT 3884 { 3885 std::size_t seed = 0; 3886 VULKAN_HPP_HASH_COMBINE( seed, exportMetalDeviceInfoEXT.sType ); 3887 VULKAN_HPP_HASH_COMBINE( seed, exportMetalDeviceInfoEXT.pNext ); 3888 VULKAN_HPP_HASH_COMBINE( seed, exportMetalDeviceInfoEXT.mtlDevice ); 3889 return seed; 3890 } 3891 }; 3892 #endif /*VK_USE_PLATFORM_METAL_EXT*/ 3893 3894 #if defined( VK_USE_PLATFORM_METAL_EXT ) 3895 template <> struct hash<VULKAN_HPP_NAMESPACE::ExportMetalIOSurfaceInfoEXT> 3896 { operator ()std::hash3897 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExportMetalIOSurfaceInfoEXT const & exportMetalIOSurfaceInfoEXT) const VULKAN_HPP_NOEXCEPT 3898 { 3899 std::size_t seed = 0; 3900 VULKAN_HPP_HASH_COMBINE( seed, exportMetalIOSurfaceInfoEXT.sType ); 3901 VULKAN_HPP_HASH_COMBINE( seed, exportMetalIOSurfaceInfoEXT.pNext ); 3902 VULKAN_HPP_HASH_COMBINE( seed, exportMetalIOSurfaceInfoEXT.image ); 3903 VULKAN_HPP_HASH_COMBINE( seed, exportMetalIOSurfaceInfoEXT.ioSurface ); 3904 return seed; 3905 } 3906 }; 3907 #endif /*VK_USE_PLATFORM_METAL_EXT*/ 3908 3909 #if defined( VK_USE_PLATFORM_METAL_EXT ) 3910 template <> struct hash<VULKAN_HPP_NAMESPACE::ExportMetalObjectCreateInfoEXT> 3911 { operator ()std::hash3912 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExportMetalObjectCreateInfoEXT const & exportMetalObjectCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 3913 { 3914 std::size_t seed = 0; 3915 VULKAN_HPP_HASH_COMBINE( seed, exportMetalObjectCreateInfoEXT.sType ); 3916 VULKAN_HPP_HASH_COMBINE( seed, exportMetalObjectCreateInfoEXT.pNext ); 3917 VULKAN_HPP_HASH_COMBINE( seed, exportMetalObjectCreateInfoEXT.exportObjectType ); 3918 return seed; 3919 } 3920 }; 3921 #endif /*VK_USE_PLATFORM_METAL_EXT*/ 3922 3923 #if defined( VK_USE_PLATFORM_METAL_EXT ) 3924 template <> struct hash<VULKAN_HPP_NAMESPACE::ExportMetalObjectsInfoEXT> 3925 { operator ()std::hash3926 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExportMetalObjectsInfoEXT const & exportMetalObjectsInfoEXT) const VULKAN_HPP_NOEXCEPT 3927 { 3928 std::size_t seed = 0; 3929 VULKAN_HPP_HASH_COMBINE( seed, exportMetalObjectsInfoEXT.sType ); 3930 VULKAN_HPP_HASH_COMBINE( seed, exportMetalObjectsInfoEXT.pNext ); 3931 return seed; 3932 } 3933 }; 3934 #endif /*VK_USE_PLATFORM_METAL_EXT*/ 3935 3936 #if defined( VK_USE_PLATFORM_METAL_EXT ) 3937 template <> struct hash<VULKAN_HPP_NAMESPACE::ExportMetalSharedEventInfoEXT> 3938 { operator ()std::hash3939 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExportMetalSharedEventInfoEXT const & exportMetalSharedEventInfoEXT) const VULKAN_HPP_NOEXCEPT 3940 { 3941 std::size_t seed = 0; 3942 VULKAN_HPP_HASH_COMBINE( seed, exportMetalSharedEventInfoEXT.sType ); 3943 VULKAN_HPP_HASH_COMBINE( seed, exportMetalSharedEventInfoEXT.pNext ); 3944 VULKAN_HPP_HASH_COMBINE( seed, exportMetalSharedEventInfoEXT.semaphore ); 3945 VULKAN_HPP_HASH_COMBINE( seed, exportMetalSharedEventInfoEXT.event ); 3946 VULKAN_HPP_HASH_COMBINE( seed, exportMetalSharedEventInfoEXT.mtlSharedEvent ); 3947 return seed; 3948 } 3949 }; 3950 #endif /*VK_USE_PLATFORM_METAL_EXT*/ 3951 3952 #if defined( VK_USE_PLATFORM_METAL_EXT ) 3953 template <> struct hash<VULKAN_HPP_NAMESPACE::ExportMetalTextureInfoEXT> 3954 { operator ()std::hash3955 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExportMetalTextureInfoEXT const & exportMetalTextureInfoEXT) const VULKAN_HPP_NOEXCEPT 3956 { 3957 std::size_t seed = 0; 3958 VULKAN_HPP_HASH_COMBINE( seed, exportMetalTextureInfoEXT.sType ); 3959 VULKAN_HPP_HASH_COMBINE( seed, exportMetalTextureInfoEXT.pNext ); 3960 VULKAN_HPP_HASH_COMBINE( seed, exportMetalTextureInfoEXT.image ); 3961 VULKAN_HPP_HASH_COMBINE( seed, exportMetalTextureInfoEXT.imageView ); 3962 VULKAN_HPP_HASH_COMBINE( seed, exportMetalTextureInfoEXT.bufferView ); 3963 VULKAN_HPP_HASH_COMBINE( seed, exportMetalTextureInfoEXT.plane ); 3964 VULKAN_HPP_HASH_COMBINE( seed, exportMetalTextureInfoEXT.mtlTexture ); 3965 return seed; 3966 } 3967 }; 3968 #endif /*VK_USE_PLATFORM_METAL_EXT*/ 3969 3970 template <> struct hash<VULKAN_HPP_NAMESPACE::ExportSemaphoreCreateInfo> 3971 { operator ()std::hash3972 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExportSemaphoreCreateInfo const & exportSemaphoreCreateInfo) const VULKAN_HPP_NOEXCEPT 3973 { 3974 std::size_t seed = 0; 3975 VULKAN_HPP_HASH_COMBINE( seed, exportSemaphoreCreateInfo.sType ); 3976 VULKAN_HPP_HASH_COMBINE( seed, exportSemaphoreCreateInfo.pNext ); 3977 VULKAN_HPP_HASH_COMBINE( seed, exportSemaphoreCreateInfo.handleTypes ); 3978 return seed; 3979 } 3980 }; 3981 3982 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 3983 template <> struct hash<VULKAN_HPP_NAMESPACE::ExportSemaphoreWin32HandleInfoKHR> 3984 { operator ()std::hash3985 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExportSemaphoreWin32HandleInfoKHR const & exportSemaphoreWin32HandleInfoKHR) const VULKAN_HPP_NOEXCEPT 3986 { 3987 std::size_t seed = 0; 3988 VULKAN_HPP_HASH_COMBINE( seed, exportSemaphoreWin32HandleInfoKHR.sType ); 3989 VULKAN_HPP_HASH_COMBINE( seed, exportSemaphoreWin32HandleInfoKHR.pNext ); 3990 VULKAN_HPP_HASH_COMBINE( seed, exportSemaphoreWin32HandleInfoKHR.pAttributes ); 3991 VULKAN_HPP_HASH_COMBINE( seed, exportSemaphoreWin32HandleInfoKHR.dwAccess ); 3992 VULKAN_HPP_HASH_COMBINE( seed, exportSemaphoreWin32HandleInfoKHR.name ); 3993 return seed; 3994 } 3995 }; 3996 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 3997 3998 template <> struct hash<VULKAN_HPP_NAMESPACE::ExtensionProperties> 3999 { operator ()std::hash4000 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExtensionProperties const & extensionProperties) const VULKAN_HPP_NOEXCEPT 4001 { 4002 std::size_t seed = 0; 4003 for ( size_t i = 0; i < VK_MAX_EXTENSION_NAME_SIZE; ++i ) 4004 { 4005 VULKAN_HPP_HASH_COMBINE( seed, extensionProperties.extensionName[i] ); 4006 } 4007 VULKAN_HPP_HASH_COMBINE( seed, extensionProperties.specVersion ); 4008 return seed; 4009 } 4010 }; 4011 4012 template <> struct hash<VULKAN_HPP_NAMESPACE::ExternalMemoryProperties> 4013 { operator ()std::hash4014 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExternalMemoryProperties const & externalMemoryProperties) const VULKAN_HPP_NOEXCEPT 4015 { 4016 std::size_t seed = 0; 4017 VULKAN_HPP_HASH_COMBINE( seed, externalMemoryProperties.externalMemoryFeatures ); 4018 VULKAN_HPP_HASH_COMBINE( seed, externalMemoryProperties.exportFromImportedHandleTypes ); 4019 VULKAN_HPP_HASH_COMBINE( seed, externalMemoryProperties.compatibleHandleTypes ); 4020 return seed; 4021 } 4022 }; 4023 4024 template <> struct hash<VULKAN_HPP_NAMESPACE::ExternalBufferProperties> 4025 { operator ()std::hash4026 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExternalBufferProperties const & externalBufferProperties) const VULKAN_HPP_NOEXCEPT 4027 { 4028 std::size_t seed = 0; 4029 VULKAN_HPP_HASH_COMBINE( seed, externalBufferProperties.sType ); 4030 VULKAN_HPP_HASH_COMBINE( seed, externalBufferProperties.pNext ); 4031 VULKAN_HPP_HASH_COMBINE( seed, externalBufferProperties.externalMemoryProperties ); 4032 return seed; 4033 } 4034 }; 4035 4036 template <> struct hash<VULKAN_HPP_NAMESPACE::ExternalFenceProperties> 4037 { operator ()std::hash4038 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExternalFenceProperties const & externalFenceProperties) const VULKAN_HPP_NOEXCEPT 4039 { 4040 std::size_t seed = 0; 4041 VULKAN_HPP_HASH_COMBINE( seed, externalFenceProperties.sType ); 4042 VULKAN_HPP_HASH_COMBINE( seed, externalFenceProperties.pNext ); 4043 VULKAN_HPP_HASH_COMBINE( seed, externalFenceProperties.exportFromImportedHandleTypes ); 4044 VULKAN_HPP_HASH_COMBINE( seed, externalFenceProperties.compatibleHandleTypes ); 4045 VULKAN_HPP_HASH_COMBINE( seed, externalFenceProperties.externalFenceFeatures ); 4046 return seed; 4047 } 4048 }; 4049 4050 #if defined( VK_USE_PLATFORM_ANDROID_KHR ) 4051 template <> struct hash<VULKAN_HPP_NAMESPACE::ExternalFormatANDROID> 4052 { operator ()std::hash4053 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExternalFormatANDROID const & externalFormatANDROID) const VULKAN_HPP_NOEXCEPT 4054 { 4055 std::size_t seed = 0; 4056 VULKAN_HPP_HASH_COMBINE( seed, externalFormatANDROID.sType ); 4057 VULKAN_HPP_HASH_COMBINE( seed, externalFormatANDROID.pNext ); 4058 VULKAN_HPP_HASH_COMBINE( seed, externalFormatANDROID.externalFormat ); 4059 return seed; 4060 } 4061 }; 4062 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ 4063 4064 template <> struct hash<VULKAN_HPP_NAMESPACE::ExternalImageFormatProperties> 4065 { operator ()std::hash4066 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExternalImageFormatProperties const & externalImageFormatProperties) const VULKAN_HPP_NOEXCEPT 4067 { 4068 std::size_t seed = 0; 4069 VULKAN_HPP_HASH_COMBINE( seed, externalImageFormatProperties.sType ); 4070 VULKAN_HPP_HASH_COMBINE( seed, externalImageFormatProperties.pNext ); 4071 VULKAN_HPP_HASH_COMBINE( seed, externalImageFormatProperties.externalMemoryProperties ); 4072 return seed; 4073 } 4074 }; 4075 4076 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageFormatProperties> 4077 { operator ()std::hash4078 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageFormatProperties const & imageFormatProperties) const VULKAN_HPP_NOEXCEPT 4079 { 4080 std::size_t seed = 0; 4081 VULKAN_HPP_HASH_COMBINE( seed, imageFormatProperties.maxExtent ); 4082 VULKAN_HPP_HASH_COMBINE( seed, imageFormatProperties.maxMipLevels ); 4083 VULKAN_HPP_HASH_COMBINE( seed, imageFormatProperties.maxArrayLayers ); 4084 VULKAN_HPP_HASH_COMBINE( seed, imageFormatProperties.sampleCounts ); 4085 VULKAN_HPP_HASH_COMBINE( seed, imageFormatProperties.maxResourceSize ); 4086 return seed; 4087 } 4088 }; 4089 4090 template <> struct hash<VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV> 4091 { operator ()std::hash4092 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV const & externalImageFormatPropertiesNV) const VULKAN_HPP_NOEXCEPT 4093 { 4094 std::size_t seed = 0; 4095 VULKAN_HPP_HASH_COMBINE( seed, externalImageFormatPropertiesNV.imageFormatProperties ); 4096 VULKAN_HPP_HASH_COMBINE( seed, externalImageFormatPropertiesNV.externalMemoryFeatures ); 4097 VULKAN_HPP_HASH_COMBINE( seed, externalImageFormatPropertiesNV.exportFromImportedHandleTypes ); 4098 VULKAN_HPP_HASH_COMBINE( seed, externalImageFormatPropertiesNV.compatibleHandleTypes ); 4099 return seed; 4100 } 4101 }; 4102 4103 template <> struct hash<VULKAN_HPP_NAMESPACE::ExternalMemoryBufferCreateInfo> 4104 { operator ()std::hash4105 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExternalMemoryBufferCreateInfo const & externalMemoryBufferCreateInfo) const VULKAN_HPP_NOEXCEPT 4106 { 4107 std::size_t seed = 0; 4108 VULKAN_HPP_HASH_COMBINE( seed, externalMemoryBufferCreateInfo.sType ); 4109 VULKAN_HPP_HASH_COMBINE( seed, externalMemoryBufferCreateInfo.pNext ); 4110 VULKAN_HPP_HASH_COMBINE( seed, externalMemoryBufferCreateInfo.handleTypes ); 4111 return seed; 4112 } 4113 }; 4114 4115 template <> struct hash<VULKAN_HPP_NAMESPACE::ExternalMemoryImageCreateInfo> 4116 { operator ()std::hash4117 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExternalMemoryImageCreateInfo const & externalMemoryImageCreateInfo) const VULKAN_HPP_NOEXCEPT 4118 { 4119 std::size_t seed = 0; 4120 VULKAN_HPP_HASH_COMBINE( seed, externalMemoryImageCreateInfo.sType ); 4121 VULKAN_HPP_HASH_COMBINE( seed, externalMemoryImageCreateInfo.pNext ); 4122 VULKAN_HPP_HASH_COMBINE( seed, externalMemoryImageCreateInfo.handleTypes ); 4123 return seed; 4124 } 4125 }; 4126 4127 template <> struct hash<VULKAN_HPP_NAMESPACE::ExternalMemoryImageCreateInfoNV> 4128 { operator ()std::hash4129 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExternalMemoryImageCreateInfoNV const & externalMemoryImageCreateInfoNV) const VULKAN_HPP_NOEXCEPT 4130 { 4131 std::size_t seed = 0; 4132 VULKAN_HPP_HASH_COMBINE( seed, externalMemoryImageCreateInfoNV.sType ); 4133 VULKAN_HPP_HASH_COMBINE( seed, externalMemoryImageCreateInfoNV.pNext ); 4134 VULKAN_HPP_HASH_COMBINE( seed, externalMemoryImageCreateInfoNV.handleTypes ); 4135 return seed; 4136 } 4137 }; 4138 4139 template <> struct hash<VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties> 4140 { operator ()std::hash4141 std::size_t operator()(VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties const & externalSemaphoreProperties) const VULKAN_HPP_NOEXCEPT 4142 { 4143 std::size_t seed = 0; 4144 VULKAN_HPP_HASH_COMBINE( seed, externalSemaphoreProperties.sType ); 4145 VULKAN_HPP_HASH_COMBINE( seed, externalSemaphoreProperties.pNext ); 4146 VULKAN_HPP_HASH_COMBINE( seed, externalSemaphoreProperties.exportFromImportedHandleTypes ); 4147 VULKAN_HPP_HASH_COMBINE( seed, externalSemaphoreProperties.compatibleHandleTypes ); 4148 VULKAN_HPP_HASH_COMBINE( seed, externalSemaphoreProperties.externalSemaphoreFeatures ); 4149 return seed; 4150 } 4151 }; 4152 4153 template <> struct hash<VULKAN_HPP_NAMESPACE::FenceCreateInfo> 4154 { operator ()std::hash4155 std::size_t operator()(VULKAN_HPP_NAMESPACE::FenceCreateInfo const & fenceCreateInfo) const VULKAN_HPP_NOEXCEPT 4156 { 4157 std::size_t seed = 0; 4158 VULKAN_HPP_HASH_COMBINE( seed, fenceCreateInfo.sType ); 4159 VULKAN_HPP_HASH_COMBINE( seed, fenceCreateInfo.pNext ); 4160 VULKAN_HPP_HASH_COMBINE( seed, fenceCreateInfo.flags ); 4161 return seed; 4162 } 4163 }; 4164 4165 template <> struct hash<VULKAN_HPP_NAMESPACE::FenceGetFdInfoKHR> 4166 { operator ()std::hash4167 std::size_t operator()(VULKAN_HPP_NAMESPACE::FenceGetFdInfoKHR const & fenceGetFdInfoKHR) const VULKAN_HPP_NOEXCEPT 4168 { 4169 std::size_t seed = 0; 4170 VULKAN_HPP_HASH_COMBINE( seed, fenceGetFdInfoKHR.sType ); 4171 VULKAN_HPP_HASH_COMBINE( seed, fenceGetFdInfoKHR.pNext ); 4172 VULKAN_HPP_HASH_COMBINE( seed, fenceGetFdInfoKHR.fence ); 4173 VULKAN_HPP_HASH_COMBINE( seed, fenceGetFdInfoKHR.handleType ); 4174 return seed; 4175 } 4176 }; 4177 4178 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 4179 template <> struct hash<VULKAN_HPP_NAMESPACE::FenceGetWin32HandleInfoKHR> 4180 { operator ()std::hash4181 std::size_t operator()(VULKAN_HPP_NAMESPACE::FenceGetWin32HandleInfoKHR const & fenceGetWin32HandleInfoKHR) const VULKAN_HPP_NOEXCEPT 4182 { 4183 std::size_t seed = 0; 4184 VULKAN_HPP_HASH_COMBINE( seed, fenceGetWin32HandleInfoKHR.sType ); 4185 VULKAN_HPP_HASH_COMBINE( seed, fenceGetWin32HandleInfoKHR.pNext ); 4186 VULKAN_HPP_HASH_COMBINE( seed, fenceGetWin32HandleInfoKHR.fence ); 4187 VULKAN_HPP_HASH_COMBINE( seed, fenceGetWin32HandleInfoKHR.handleType ); 4188 return seed; 4189 } 4190 }; 4191 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 4192 4193 template <> struct hash<VULKAN_HPP_NAMESPACE::FilterCubicImageViewImageFormatPropertiesEXT> 4194 { operator ()std::hash4195 std::size_t operator()(VULKAN_HPP_NAMESPACE::FilterCubicImageViewImageFormatPropertiesEXT const & filterCubicImageViewImageFormatPropertiesEXT) const VULKAN_HPP_NOEXCEPT 4196 { 4197 std::size_t seed = 0; 4198 VULKAN_HPP_HASH_COMBINE( seed, filterCubicImageViewImageFormatPropertiesEXT.sType ); 4199 VULKAN_HPP_HASH_COMBINE( seed, filterCubicImageViewImageFormatPropertiesEXT.pNext ); 4200 VULKAN_HPP_HASH_COMBINE( seed, filterCubicImageViewImageFormatPropertiesEXT.filterCubic ); 4201 VULKAN_HPP_HASH_COMBINE( seed, filterCubicImageViewImageFormatPropertiesEXT.filterCubicMinmax ); 4202 return seed; 4203 } 4204 }; 4205 4206 template <> struct hash<VULKAN_HPP_NAMESPACE::FormatProperties> 4207 { operator ()std::hash4208 std::size_t operator()(VULKAN_HPP_NAMESPACE::FormatProperties const & formatProperties) const VULKAN_HPP_NOEXCEPT 4209 { 4210 std::size_t seed = 0; 4211 VULKAN_HPP_HASH_COMBINE( seed, formatProperties.linearTilingFeatures ); 4212 VULKAN_HPP_HASH_COMBINE( seed, formatProperties.optimalTilingFeatures ); 4213 VULKAN_HPP_HASH_COMBINE( seed, formatProperties.bufferFeatures ); 4214 return seed; 4215 } 4216 }; 4217 4218 template <> struct hash<VULKAN_HPP_NAMESPACE::FormatProperties2> 4219 { operator ()std::hash4220 std::size_t operator()(VULKAN_HPP_NAMESPACE::FormatProperties2 const & formatProperties2) const VULKAN_HPP_NOEXCEPT 4221 { 4222 std::size_t seed = 0; 4223 VULKAN_HPP_HASH_COMBINE( seed, formatProperties2.sType ); 4224 VULKAN_HPP_HASH_COMBINE( seed, formatProperties2.pNext ); 4225 VULKAN_HPP_HASH_COMBINE( seed, formatProperties2.formatProperties ); 4226 return seed; 4227 } 4228 }; 4229 4230 template <> struct hash<VULKAN_HPP_NAMESPACE::FormatProperties3> 4231 { operator ()std::hash4232 std::size_t operator()(VULKAN_HPP_NAMESPACE::FormatProperties3 const & formatProperties3) const VULKAN_HPP_NOEXCEPT 4233 { 4234 std::size_t seed = 0; 4235 VULKAN_HPP_HASH_COMBINE( seed, formatProperties3.sType ); 4236 VULKAN_HPP_HASH_COMBINE( seed, formatProperties3.pNext ); 4237 VULKAN_HPP_HASH_COMBINE( seed, formatProperties3.linearTilingFeatures ); 4238 VULKAN_HPP_HASH_COMBINE( seed, formatProperties3.optimalTilingFeatures ); 4239 VULKAN_HPP_HASH_COMBINE( seed, formatProperties3.bufferFeatures ); 4240 return seed; 4241 } 4242 }; 4243 4244 template <> struct hash<VULKAN_HPP_NAMESPACE::FragmentShadingRateAttachmentInfoKHR> 4245 { operator ()std::hash4246 std::size_t operator()(VULKAN_HPP_NAMESPACE::FragmentShadingRateAttachmentInfoKHR const & fragmentShadingRateAttachmentInfoKHR) const VULKAN_HPP_NOEXCEPT 4247 { 4248 std::size_t seed = 0; 4249 VULKAN_HPP_HASH_COMBINE( seed, fragmentShadingRateAttachmentInfoKHR.sType ); 4250 VULKAN_HPP_HASH_COMBINE( seed, fragmentShadingRateAttachmentInfoKHR.pNext ); 4251 VULKAN_HPP_HASH_COMBINE( seed, fragmentShadingRateAttachmentInfoKHR.pFragmentShadingRateAttachment ); 4252 VULKAN_HPP_HASH_COMBINE( seed, fragmentShadingRateAttachmentInfoKHR.shadingRateAttachmentTexelSize ); 4253 return seed; 4254 } 4255 }; 4256 4257 template <> struct hash<VULKAN_HPP_NAMESPACE::FramebufferAttachmentImageInfo> 4258 { operator ()std::hash4259 std::size_t operator()(VULKAN_HPP_NAMESPACE::FramebufferAttachmentImageInfo const & framebufferAttachmentImageInfo) const VULKAN_HPP_NOEXCEPT 4260 { 4261 std::size_t seed = 0; 4262 VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentImageInfo.sType ); 4263 VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentImageInfo.pNext ); 4264 VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentImageInfo.flags ); 4265 VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentImageInfo.usage ); 4266 VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentImageInfo.width ); 4267 VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentImageInfo.height ); 4268 VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentImageInfo.layerCount ); 4269 VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentImageInfo.viewFormatCount ); 4270 VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentImageInfo.pViewFormats ); 4271 return seed; 4272 } 4273 }; 4274 4275 template <> struct hash<VULKAN_HPP_NAMESPACE::FramebufferAttachmentsCreateInfo> 4276 { operator ()std::hash4277 std::size_t operator()(VULKAN_HPP_NAMESPACE::FramebufferAttachmentsCreateInfo const & framebufferAttachmentsCreateInfo) const VULKAN_HPP_NOEXCEPT 4278 { 4279 std::size_t seed = 0; 4280 VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentsCreateInfo.sType ); 4281 VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentsCreateInfo.pNext ); 4282 VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentsCreateInfo.attachmentImageInfoCount ); 4283 VULKAN_HPP_HASH_COMBINE( seed, framebufferAttachmentsCreateInfo.pAttachmentImageInfos ); 4284 return seed; 4285 } 4286 }; 4287 4288 template <> struct hash<VULKAN_HPP_NAMESPACE::FramebufferCreateInfo> 4289 { operator ()std::hash4290 std::size_t operator()(VULKAN_HPP_NAMESPACE::FramebufferCreateInfo const & framebufferCreateInfo) const VULKAN_HPP_NOEXCEPT 4291 { 4292 std::size_t seed = 0; 4293 VULKAN_HPP_HASH_COMBINE( seed, framebufferCreateInfo.sType ); 4294 VULKAN_HPP_HASH_COMBINE( seed, framebufferCreateInfo.pNext ); 4295 VULKAN_HPP_HASH_COMBINE( seed, framebufferCreateInfo.flags ); 4296 VULKAN_HPP_HASH_COMBINE( seed, framebufferCreateInfo.renderPass ); 4297 VULKAN_HPP_HASH_COMBINE( seed, framebufferCreateInfo.attachmentCount ); 4298 VULKAN_HPP_HASH_COMBINE( seed, framebufferCreateInfo.pAttachments ); 4299 VULKAN_HPP_HASH_COMBINE( seed, framebufferCreateInfo.width ); 4300 VULKAN_HPP_HASH_COMBINE( seed, framebufferCreateInfo.height ); 4301 VULKAN_HPP_HASH_COMBINE( seed, framebufferCreateInfo.layers ); 4302 return seed; 4303 } 4304 }; 4305 4306 template <> struct hash<VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV> 4307 { operator ()std::hash4308 std::size_t operator()(VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV const & framebufferMixedSamplesCombinationNV) const VULKAN_HPP_NOEXCEPT 4309 { 4310 std::size_t seed = 0; 4311 VULKAN_HPP_HASH_COMBINE( seed, framebufferMixedSamplesCombinationNV.sType ); 4312 VULKAN_HPP_HASH_COMBINE( seed, framebufferMixedSamplesCombinationNV.pNext ); 4313 VULKAN_HPP_HASH_COMBINE( seed, framebufferMixedSamplesCombinationNV.coverageReductionMode ); 4314 VULKAN_HPP_HASH_COMBINE( seed, framebufferMixedSamplesCombinationNV.rasterizationSamples ); 4315 VULKAN_HPP_HASH_COMBINE( seed, framebufferMixedSamplesCombinationNV.depthStencilSamples ); 4316 VULKAN_HPP_HASH_COMBINE( seed, framebufferMixedSamplesCombinationNV.colorSamples ); 4317 return seed; 4318 } 4319 }; 4320 4321 template <> struct hash<VULKAN_HPP_NAMESPACE::IndirectCommandsStreamNV> 4322 { operator ()std::hash4323 std::size_t operator()(VULKAN_HPP_NAMESPACE::IndirectCommandsStreamNV const & indirectCommandsStreamNV) const VULKAN_HPP_NOEXCEPT 4324 { 4325 std::size_t seed = 0; 4326 VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsStreamNV.buffer ); 4327 VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsStreamNV.offset ); 4328 return seed; 4329 } 4330 }; 4331 4332 template <> struct hash<VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV> 4333 { operator ()std::hash4334 std::size_t operator()(VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV const & generatedCommandsInfoNV) const VULKAN_HPP_NOEXCEPT 4335 { 4336 std::size_t seed = 0; 4337 VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.sType ); 4338 VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.pNext ); 4339 VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.pipelineBindPoint ); 4340 VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.pipeline ); 4341 VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.indirectCommandsLayout ); 4342 VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.streamCount ); 4343 VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.pStreams ); 4344 VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.sequencesCount ); 4345 VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.preprocessBuffer ); 4346 VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.preprocessOffset ); 4347 VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.preprocessSize ); 4348 VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.sequencesCountBuffer ); 4349 VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.sequencesCountOffset ); 4350 VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.sequencesIndexBuffer ); 4351 VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsInfoNV.sequencesIndexOffset ); 4352 return seed; 4353 } 4354 }; 4355 4356 template <> struct hash<VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV> 4357 { operator ()std::hash4358 std::size_t operator()(VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV const & generatedCommandsMemoryRequirementsInfoNV) const VULKAN_HPP_NOEXCEPT 4359 { 4360 std::size_t seed = 0; 4361 VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsMemoryRequirementsInfoNV.sType ); 4362 VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsMemoryRequirementsInfoNV.pNext ); 4363 VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsMemoryRequirementsInfoNV.pipelineBindPoint ); 4364 VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsMemoryRequirementsInfoNV.pipeline ); 4365 VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsMemoryRequirementsInfoNV.indirectCommandsLayout ); 4366 VULKAN_HPP_HASH_COMBINE( seed, generatedCommandsMemoryRequirementsInfoNV.maxSequencesCount ); 4367 return seed; 4368 } 4369 }; 4370 4371 template <> struct hash<VULKAN_HPP_NAMESPACE::VertexInputBindingDescription> 4372 { operator ()std::hash4373 std::size_t operator()(VULKAN_HPP_NAMESPACE::VertexInputBindingDescription const & vertexInputBindingDescription) const VULKAN_HPP_NOEXCEPT 4374 { 4375 std::size_t seed = 0; 4376 VULKAN_HPP_HASH_COMBINE( seed, vertexInputBindingDescription.binding ); 4377 VULKAN_HPP_HASH_COMBINE( seed, vertexInputBindingDescription.stride ); 4378 VULKAN_HPP_HASH_COMBINE( seed, vertexInputBindingDescription.inputRate ); 4379 return seed; 4380 } 4381 }; 4382 4383 template <> struct hash<VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription> 4384 { operator ()std::hash4385 std::size_t operator()(VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription const & vertexInputAttributeDescription) const VULKAN_HPP_NOEXCEPT 4386 { 4387 std::size_t seed = 0; 4388 VULKAN_HPP_HASH_COMBINE( seed, vertexInputAttributeDescription.location ); 4389 VULKAN_HPP_HASH_COMBINE( seed, vertexInputAttributeDescription.binding ); 4390 VULKAN_HPP_HASH_COMBINE( seed, vertexInputAttributeDescription.format ); 4391 VULKAN_HPP_HASH_COMBINE( seed, vertexInputAttributeDescription.offset ); 4392 return seed; 4393 } 4394 }; 4395 4396 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo> 4397 { operator ()std::hash4398 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo const & pipelineVertexInputStateCreateInfo) const VULKAN_HPP_NOEXCEPT 4399 { 4400 std::size_t seed = 0; 4401 VULKAN_HPP_HASH_COMBINE( seed, pipelineVertexInputStateCreateInfo.sType ); 4402 VULKAN_HPP_HASH_COMBINE( seed, pipelineVertexInputStateCreateInfo.pNext ); 4403 VULKAN_HPP_HASH_COMBINE( seed, pipelineVertexInputStateCreateInfo.flags ); 4404 VULKAN_HPP_HASH_COMBINE( seed, pipelineVertexInputStateCreateInfo.vertexBindingDescriptionCount ); 4405 VULKAN_HPP_HASH_COMBINE( seed, pipelineVertexInputStateCreateInfo.pVertexBindingDescriptions ); 4406 VULKAN_HPP_HASH_COMBINE( seed, pipelineVertexInputStateCreateInfo.vertexAttributeDescriptionCount ); 4407 VULKAN_HPP_HASH_COMBINE( seed, pipelineVertexInputStateCreateInfo.pVertexAttributeDescriptions ); 4408 return seed; 4409 } 4410 }; 4411 4412 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateInfo> 4413 { operator ()std::hash4414 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateInfo const & pipelineInputAssemblyStateCreateInfo) const VULKAN_HPP_NOEXCEPT 4415 { 4416 std::size_t seed = 0; 4417 VULKAN_HPP_HASH_COMBINE( seed, pipelineInputAssemblyStateCreateInfo.sType ); 4418 VULKAN_HPP_HASH_COMBINE( seed, pipelineInputAssemblyStateCreateInfo.pNext ); 4419 VULKAN_HPP_HASH_COMBINE( seed, pipelineInputAssemblyStateCreateInfo.flags ); 4420 VULKAN_HPP_HASH_COMBINE( seed, pipelineInputAssemblyStateCreateInfo.topology ); 4421 VULKAN_HPP_HASH_COMBINE( seed, pipelineInputAssemblyStateCreateInfo.primitiveRestartEnable ); 4422 return seed; 4423 } 4424 }; 4425 4426 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo> 4427 { operator ()std::hash4428 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo const & pipelineTessellationStateCreateInfo) const VULKAN_HPP_NOEXCEPT 4429 { 4430 std::size_t seed = 0; 4431 VULKAN_HPP_HASH_COMBINE( seed, pipelineTessellationStateCreateInfo.sType ); 4432 VULKAN_HPP_HASH_COMBINE( seed, pipelineTessellationStateCreateInfo.pNext ); 4433 VULKAN_HPP_HASH_COMBINE( seed, pipelineTessellationStateCreateInfo.flags ); 4434 VULKAN_HPP_HASH_COMBINE( seed, pipelineTessellationStateCreateInfo.patchControlPoints ); 4435 return seed; 4436 } 4437 }; 4438 4439 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateInfo> 4440 { operator ()std::hash4441 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateInfo const & pipelineViewportStateCreateInfo) const VULKAN_HPP_NOEXCEPT 4442 { 4443 std::size_t seed = 0; 4444 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportStateCreateInfo.sType ); 4445 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportStateCreateInfo.pNext ); 4446 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportStateCreateInfo.flags ); 4447 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportStateCreateInfo.viewportCount ); 4448 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportStateCreateInfo.pViewports ); 4449 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportStateCreateInfo.scissorCount ); 4450 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportStateCreateInfo.pScissors ); 4451 return seed; 4452 } 4453 }; 4454 4455 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateInfo> 4456 { operator ()std::hash4457 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateInfo const & pipelineRasterizationStateCreateInfo) const VULKAN_HPP_NOEXCEPT 4458 { 4459 std::size_t seed = 0; 4460 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.sType ); 4461 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.pNext ); 4462 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.flags ); 4463 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.depthClampEnable ); 4464 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.rasterizerDiscardEnable ); 4465 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.polygonMode ); 4466 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.cullMode ); 4467 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.frontFace ); 4468 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.depthBiasEnable ); 4469 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.depthBiasConstantFactor ); 4470 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.depthBiasClamp ); 4471 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.depthBiasSlopeFactor ); 4472 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateCreateInfo.lineWidth ); 4473 return seed; 4474 } 4475 }; 4476 4477 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateInfo> 4478 { operator ()std::hash4479 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateInfo const & pipelineMultisampleStateCreateInfo) const VULKAN_HPP_NOEXCEPT 4480 { 4481 std::size_t seed = 0; 4482 VULKAN_HPP_HASH_COMBINE( seed, pipelineMultisampleStateCreateInfo.sType ); 4483 VULKAN_HPP_HASH_COMBINE( seed, pipelineMultisampleStateCreateInfo.pNext ); 4484 VULKAN_HPP_HASH_COMBINE( seed, pipelineMultisampleStateCreateInfo.flags ); 4485 VULKAN_HPP_HASH_COMBINE( seed, pipelineMultisampleStateCreateInfo.rasterizationSamples ); 4486 VULKAN_HPP_HASH_COMBINE( seed, pipelineMultisampleStateCreateInfo.sampleShadingEnable ); 4487 VULKAN_HPP_HASH_COMBINE( seed, pipelineMultisampleStateCreateInfo.minSampleShading ); 4488 VULKAN_HPP_HASH_COMBINE( seed, pipelineMultisampleStateCreateInfo.pSampleMask ); 4489 VULKAN_HPP_HASH_COMBINE( seed, pipelineMultisampleStateCreateInfo.alphaToCoverageEnable ); 4490 VULKAN_HPP_HASH_COMBINE( seed, pipelineMultisampleStateCreateInfo.alphaToOneEnable ); 4491 return seed; 4492 } 4493 }; 4494 4495 template <> struct hash<VULKAN_HPP_NAMESPACE::StencilOpState> 4496 { operator ()std::hash4497 std::size_t operator()(VULKAN_HPP_NAMESPACE::StencilOpState const & stencilOpState) const VULKAN_HPP_NOEXCEPT 4498 { 4499 std::size_t seed = 0; 4500 VULKAN_HPP_HASH_COMBINE( seed, stencilOpState.failOp ); 4501 VULKAN_HPP_HASH_COMBINE( seed, stencilOpState.passOp ); 4502 VULKAN_HPP_HASH_COMBINE( seed, stencilOpState.depthFailOp ); 4503 VULKAN_HPP_HASH_COMBINE( seed, stencilOpState.compareOp ); 4504 VULKAN_HPP_HASH_COMBINE( seed, stencilOpState.compareMask ); 4505 VULKAN_HPP_HASH_COMBINE( seed, stencilOpState.writeMask ); 4506 VULKAN_HPP_HASH_COMBINE( seed, stencilOpState.reference ); 4507 return seed; 4508 } 4509 }; 4510 4511 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateInfo> 4512 { operator ()std::hash4513 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateInfo const & pipelineDepthStencilStateCreateInfo) const VULKAN_HPP_NOEXCEPT 4514 { 4515 std::size_t seed = 0; 4516 VULKAN_HPP_HASH_COMBINE( seed, pipelineDepthStencilStateCreateInfo.sType ); 4517 VULKAN_HPP_HASH_COMBINE( seed, pipelineDepthStencilStateCreateInfo.pNext ); 4518 VULKAN_HPP_HASH_COMBINE( seed, pipelineDepthStencilStateCreateInfo.flags ); 4519 VULKAN_HPP_HASH_COMBINE( seed, pipelineDepthStencilStateCreateInfo.depthTestEnable ); 4520 VULKAN_HPP_HASH_COMBINE( seed, pipelineDepthStencilStateCreateInfo.depthWriteEnable ); 4521 VULKAN_HPP_HASH_COMBINE( seed, pipelineDepthStencilStateCreateInfo.depthCompareOp ); 4522 VULKAN_HPP_HASH_COMBINE( seed, pipelineDepthStencilStateCreateInfo.depthBoundsTestEnable ); 4523 VULKAN_HPP_HASH_COMBINE( seed, pipelineDepthStencilStateCreateInfo.stencilTestEnable ); 4524 VULKAN_HPP_HASH_COMBINE( seed, pipelineDepthStencilStateCreateInfo.front ); 4525 VULKAN_HPP_HASH_COMBINE( seed, pipelineDepthStencilStateCreateInfo.back ); 4526 VULKAN_HPP_HASH_COMBINE( seed, pipelineDepthStencilStateCreateInfo.minDepthBounds ); 4527 VULKAN_HPP_HASH_COMBINE( seed, pipelineDepthStencilStateCreateInfo.maxDepthBounds ); 4528 return seed; 4529 } 4530 }; 4531 4532 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineColorBlendAttachmentState> 4533 { operator ()std::hash4534 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineColorBlendAttachmentState const & pipelineColorBlendAttachmentState) const VULKAN_HPP_NOEXCEPT 4535 { 4536 std::size_t seed = 0; 4537 VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAttachmentState.blendEnable ); 4538 VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAttachmentState.srcColorBlendFactor ); 4539 VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAttachmentState.dstColorBlendFactor ); 4540 VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAttachmentState.colorBlendOp ); 4541 VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAttachmentState.srcAlphaBlendFactor ); 4542 VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAttachmentState.dstAlphaBlendFactor ); 4543 VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAttachmentState.alphaBlendOp ); 4544 VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAttachmentState.colorWriteMask ); 4545 return seed; 4546 } 4547 }; 4548 4549 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateInfo> 4550 { operator ()std::hash4551 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateInfo const & pipelineColorBlendStateCreateInfo) const VULKAN_HPP_NOEXCEPT 4552 { 4553 std::size_t seed = 0; 4554 VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendStateCreateInfo.sType ); 4555 VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendStateCreateInfo.pNext ); 4556 VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendStateCreateInfo.flags ); 4557 VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendStateCreateInfo.logicOpEnable ); 4558 VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendStateCreateInfo.logicOp ); 4559 VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendStateCreateInfo.attachmentCount ); 4560 VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendStateCreateInfo.pAttachments ); 4561 for ( size_t i = 0; i < 4; ++i ) 4562 { 4563 VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendStateCreateInfo.blendConstants[i] ); 4564 } 4565 return seed; 4566 } 4567 }; 4568 4569 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo> 4570 { operator ()std::hash4571 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo const & pipelineDynamicStateCreateInfo) const VULKAN_HPP_NOEXCEPT 4572 { 4573 std::size_t seed = 0; 4574 VULKAN_HPP_HASH_COMBINE( seed, pipelineDynamicStateCreateInfo.sType ); 4575 VULKAN_HPP_HASH_COMBINE( seed, pipelineDynamicStateCreateInfo.pNext ); 4576 VULKAN_HPP_HASH_COMBINE( seed, pipelineDynamicStateCreateInfo.flags ); 4577 VULKAN_HPP_HASH_COMBINE( seed, pipelineDynamicStateCreateInfo.dynamicStateCount ); 4578 VULKAN_HPP_HASH_COMBINE( seed, pipelineDynamicStateCreateInfo.pDynamicStates ); 4579 return seed; 4580 } 4581 }; 4582 4583 template <> struct hash<VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> 4584 { operator ()std::hash4585 std::size_t operator()(VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo const & graphicsPipelineCreateInfo) const VULKAN_HPP_NOEXCEPT 4586 { 4587 std::size_t seed = 0; 4588 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.sType ); 4589 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.pNext ); 4590 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.flags ); 4591 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.stageCount ); 4592 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.pStages ); 4593 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.pVertexInputState ); 4594 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.pInputAssemblyState ); 4595 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.pTessellationState ); 4596 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.pViewportState ); 4597 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.pRasterizationState ); 4598 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.pMultisampleState ); 4599 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.pDepthStencilState ); 4600 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.pColorBlendState ); 4601 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.pDynamicState ); 4602 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.layout ); 4603 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.renderPass ); 4604 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.subpass ); 4605 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.basePipelineHandle ); 4606 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineCreateInfo.basePipelineIndex ); 4607 return seed; 4608 } 4609 }; 4610 4611 template <> struct hash<VULKAN_HPP_NAMESPACE::GraphicsPipelineLibraryCreateInfoEXT> 4612 { operator ()std::hash4613 std::size_t operator()(VULKAN_HPP_NAMESPACE::GraphicsPipelineLibraryCreateInfoEXT const & graphicsPipelineLibraryCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 4614 { 4615 std::size_t seed = 0; 4616 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineLibraryCreateInfoEXT.sType ); 4617 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineLibraryCreateInfoEXT.pNext ); 4618 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineLibraryCreateInfoEXT.flags ); 4619 return seed; 4620 } 4621 }; 4622 4623 template <> struct hash<VULKAN_HPP_NAMESPACE::GraphicsShaderGroupCreateInfoNV> 4624 { operator ()std::hash4625 std::size_t operator()(VULKAN_HPP_NAMESPACE::GraphicsShaderGroupCreateInfoNV const & graphicsShaderGroupCreateInfoNV) const VULKAN_HPP_NOEXCEPT 4626 { 4627 std::size_t seed = 0; 4628 VULKAN_HPP_HASH_COMBINE( seed, graphicsShaderGroupCreateInfoNV.sType ); 4629 VULKAN_HPP_HASH_COMBINE( seed, graphicsShaderGroupCreateInfoNV.pNext ); 4630 VULKAN_HPP_HASH_COMBINE( seed, graphicsShaderGroupCreateInfoNV.stageCount ); 4631 VULKAN_HPP_HASH_COMBINE( seed, graphicsShaderGroupCreateInfoNV.pStages ); 4632 VULKAN_HPP_HASH_COMBINE( seed, graphicsShaderGroupCreateInfoNV.pVertexInputState ); 4633 VULKAN_HPP_HASH_COMBINE( seed, graphicsShaderGroupCreateInfoNV.pTessellationState ); 4634 return seed; 4635 } 4636 }; 4637 4638 template <> struct hash<VULKAN_HPP_NAMESPACE::GraphicsPipelineShaderGroupsCreateInfoNV> 4639 { operator ()std::hash4640 std::size_t operator()(VULKAN_HPP_NAMESPACE::GraphicsPipelineShaderGroupsCreateInfoNV const & graphicsPipelineShaderGroupsCreateInfoNV) const VULKAN_HPP_NOEXCEPT 4641 { 4642 std::size_t seed = 0; 4643 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineShaderGroupsCreateInfoNV.sType ); 4644 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineShaderGroupsCreateInfoNV.pNext ); 4645 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineShaderGroupsCreateInfoNV.groupCount ); 4646 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineShaderGroupsCreateInfoNV.pGroups ); 4647 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineShaderGroupsCreateInfoNV.pipelineCount ); 4648 VULKAN_HPP_HASH_COMBINE( seed, graphicsPipelineShaderGroupsCreateInfoNV.pPipelines ); 4649 return seed; 4650 } 4651 }; 4652 4653 template <> struct hash<VULKAN_HPP_NAMESPACE::XYColorEXT> 4654 { operator ()std::hash4655 std::size_t operator()(VULKAN_HPP_NAMESPACE::XYColorEXT const & xYColorEXT) const VULKAN_HPP_NOEXCEPT 4656 { 4657 std::size_t seed = 0; 4658 VULKAN_HPP_HASH_COMBINE( seed, xYColorEXT.x ); 4659 VULKAN_HPP_HASH_COMBINE( seed, xYColorEXT.y ); 4660 return seed; 4661 } 4662 }; 4663 4664 template <> struct hash<VULKAN_HPP_NAMESPACE::HdrMetadataEXT> 4665 { operator ()std::hash4666 std::size_t operator()(VULKAN_HPP_NAMESPACE::HdrMetadataEXT const & hdrMetadataEXT) const VULKAN_HPP_NOEXCEPT 4667 { 4668 std::size_t seed = 0; 4669 VULKAN_HPP_HASH_COMBINE( seed, hdrMetadataEXT.sType ); 4670 VULKAN_HPP_HASH_COMBINE( seed, hdrMetadataEXT.pNext ); 4671 VULKAN_HPP_HASH_COMBINE( seed, hdrMetadataEXT.displayPrimaryRed ); 4672 VULKAN_HPP_HASH_COMBINE( seed, hdrMetadataEXT.displayPrimaryGreen ); 4673 VULKAN_HPP_HASH_COMBINE( seed, hdrMetadataEXT.displayPrimaryBlue ); 4674 VULKAN_HPP_HASH_COMBINE( seed, hdrMetadataEXT.whitePoint ); 4675 VULKAN_HPP_HASH_COMBINE( seed, hdrMetadataEXT.maxLuminance ); 4676 VULKAN_HPP_HASH_COMBINE( seed, hdrMetadataEXT.minLuminance ); 4677 VULKAN_HPP_HASH_COMBINE( seed, hdrMetadataEXT.maxContentLightLevel ); 4678 VULKAN_HPP_HASH_COMBINE( seed, hdrMetadataEXT.maxFrameAverageLightLevel ); 4679 return seed; 4680 } 4681 }; 4682 4683 template <> struct hash<VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT> 4684 { operator ()std::hash4685 std::size_t operator()(VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT const & headlessSurfaceCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 4686 { 4687 std::size_t seed = 0; 4688 VULKAN_HPP_HASH_COMBINE( seed, headlessSurfaceCreateInfoEXT.sType ); 4689 VULKAN_HPP_HASH_COMBINE( seed, headlessSurfaceCreateInfoEXT.pNext ); 4690 VULKAN_HPP_HASH_COMBINE( seed, headlessSurfaceCreateInfoEXT.flags ); 4691 return seed; 4692 } 4693 }; 4694 4695 #if defined( VK_USE_PLATFORM_IOS_MVK ) 4696 template <> struct hash<VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK> 4697 { operator ()std::hash4698 std::size_t operator()(VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK const & iOSSurfaceCreateInfoMVK) const VULKAN_HPP_NOEXCEPT 4699 { 4700 std::size_t seed = 0; 4701 VULKAN_HPP_HASH_COMBINE( seed, iOSSurfaceCreateInfoMVK.sType ); 4702 VULKAN_HPP_HASH_COMBINE( seed, iOSSurfaceCreateInfoMVK.pNext ); 4703 VULKAN_HPP_HASH_COMBINE( seed, iOSSurfaceCreateInfoMVK.flags ); 4704 VULKAN_HPP_HASH_COMBINE( seed, iOSSurfaceCreateInfoMVK.pView ); 4705 return seed; 4706 } 4707 }; 4708 #endif /*VK_USE_PLATFORM_IOS_MVK*/ 4709 4710 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageBlit> 4711 { operator ()std::hash4712 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageBlit const & imageBlit) const VULKAN_HPP_NOEXCEPT 4713 { 4714 std::size_t seed = 0; 4715 VULKAN_HPP_HASH_COMBINE( seed, imageBlit.srcSubresource ); 4716 for ( size_t i = 0; i < 2; ++i ) 4717 { 4718 VULKAN_HPP_HASH_COMBINE( seed, imageBlit.srcOffsets[i] ); 4719 } 4720 VULKAN_HPP_HASH_COMBINE( seed, imageBlit.dstSubresource ); 4721 for ( size_t i = 0; i < 2; ++i ) 4722 { 4723 VULKAN_HPP_HASH_COMBINE( seed, imageBlit.dstOffsets[i] ); 4724 } 4725 return seed; 4726 } 4727 }; 4728 4729 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageCaptureDescriptorDataInfoEXT> 4730 { operator ()std::hash4731 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageCaptureDescriptorDataInfoEXT const & imageCaptureDescriptorDataInfoEXT) const VULKAN_HPP_NOEXCEPT 4732 { 4733 std::size_t seed = 0; 4734 VULKAN_HPP_HASH_COMBINE( seed, imageCaptureDescriptorDataInfoEXT.sType ); 4735 VULKAN_HPP_HASH_COMBINE( seed, imageCaptureDescriptorDataInfoEXT.pNext ); 4736 VULKAN_HPP_HASH_COMBINE( seed, imageCaptureDescriptorDataInfoEXT.image ); 4737 return seed; 4738 } 4739 }; 4740 4741 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageCompressionControlEXT> 4742 { operator ()std::hash4743 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageCompressionControlEXT const & imageCompressionControlEXT) const VULKAN_HPP_NOEXCEPT 4744 { 4745 std::size_t seed = 0; 4746 VULKAN_HPP_HASH_COMBINE( seed, imageCompressionControlEXT.sType ); 4747 VULKAN_HPP_HASH_COMBINE( seed, imageCompressionControlEXT.pNext ); 4748 VULKAN_HPP_HASH_COMBINE( seed, imageCompressionControlEXT.flags ); 4749 VULKAN_HPP_HASH_COMBINE( seed, imageCompressionControlEXT.compressionControlPlaneCount ); 4750 VULKAN_HPP_HASH_COMBINE( seed, imageCompressionControlEXT.pFixedRateFlags ); 4751 return seed; 4752 } 4753 }; 4754 4755 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageCompressionPropertiesEXT> 4756 { operator ()std::hash4757 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageCompressionPropertiesEXT const & imageCompressionPropertiesEXT) const VULKAN_HPP_NOEXCEPT 4758 { 4759 std::size_t seed = 0; 4760 VULKAN_HPP_HASH_COMBINE( seed, imageCompressionPropertiesEXT.sType ); 4761 VULKAN_HPP_HASH_COMBINE( seed, imageCompressionPropertiesEXT.pNext ); 4762 VULKAN_HPP_HASH_COMBINE( seed, imageCompressionPropertiesEXT.imageCompressionFlags ); 4763 VULKAN_HPP_HASH_COMBINE( seed, imageCompressionPropertiesEXT.imageCompressionFixedRateFlags ); 4764 return seed; 4765 } 4766 }; 4767 4768 #if defined( VK_USE_PLATFORM_FUCHSIA ) 4769 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIA> 4770 { operator ()std::hash4771 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIA const & imageFormatConstraintsInfoFUCHSIA) const VULKAN_HPP_NOEXCEPT 4772 { 4773 std::size_t seed = 0; 4774 VULKAN_HPP_HASH_COMBINE( seed, imageFormatConstraintsInfoFUCHSIA.sType ); 4775 VULKAN_HPP_HASH_COMBINE( seed, imageFormatConstraintsInfoFUCHSIA.pNext ); 4776 VULKAN_HPP_HASH_COMBINE( seed, imageFormatConstraintsInfoFUCHSIA.imageCreateInfo ); 4777 VULKAN_HPP_HASH_COMBINE( seed, imageFormatConstraintsInfoFUCHSIA.requiredFormatFeatures ); 4778 VULKAN_HPP_HASH_COMBINE( seed, imageFormatConstraintsInfoFUCHSIA.flags ); 4779 VULKAN_HPP_HASH_COMBINE( seed, imageFormatConstraintsInfoFUCHSIA.sysmemPixelFormat ); 4780 VULKAN_HPP_HASH_COMBINE( seed, imageFormatConstraintsInfoFUCHSIA.colorSpaceCount ); 4781 VULKAN_HPP_HASH_COMBINE( seed, imageFormatConstraintsInfoFUCHSIA.pColorSpaces ); 4782 return seed; 4783 } 4784 }; 4785 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 4786 4787 #if defined( VK_USE_PLATFORM_FUCHSIA ) 4788 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIA> 4789 { operator ()std::hash4790 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIA const & imageConstraintsInfoFUCHSIA) const VULKAN_HPP_NOEXCEPT 4791 { 4792 std::size_t seed = 0; 4793 VULKAN_HPP_HASH_COMBINE( seed, imageConstraintsInfoFUCHSIA.sType ); 4794 VULKAN_HPP_HASH_COMBINE( seed, imageConstraintsInfoFUCHSIA.pNext ); 4795 VULKAN_HPP_HASH_COMBINE( seed, imageConstraintsInfoFUCHSIA.formatConstraintsCount ); 4796 VULKAN_HPP_HASH_COMBINE( seed, imageConstraintsInfoFUCHSIA.pFormatConstraints ); 4797 VULKAN_HPP_HASH_COMBINE( seed, imageConstraintsInfoFUCHSIA.bufferCollectionConstraints ); 4798 VULKAN_HPP_HASH_COMBINE( seed, imageConstraintsInfoFUCHSIA.flags ); 4799 return seed; 4800 } 4801 }; 4802 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 4803 4804 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageCopy> 4805 { operator ()std::hash4806 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageCopy const & imageCopy) const VULKAN_HPP_NOEXCEPT 4807 { 4808 std::size_t seed = 0; 4809 VULKAN_HPP_HASH_COMBINE( seed, imageCopy.srcSubresource ); 4810 VULKAN_HPP_HASH_COMBINE( seed, imageCopy.srcOffset ); 4811 VULKAN_HPP_HASH_COMBINE( seed, imageCopy.dstSubresource ); 4812 VULKAN_HPP_HASH_COMBINE( seed, imageCopy.dstOffset ); 4813 VULKAN_HPP_HASH_COMBINE( seed, imageCopy.extent ); 4814 return seed; 4815 } 4816 }; 4817 4818 template <> struct hash<VULKAN_HPP_NAMESPACE::SubresourceLayout> 4819 { operator ()std::hash4820 std::size_t operator()(VULKAN_HPP_NAMESPACE::SubresourceLayout const & subresourceLayout) const VULKAN_HPP_NOEXCEPT 4821 { 4822 std::size_t seed = 0; 4823 VULKAN_HPP_HASH_COMBINE( seed, subresourceLayout.offset ); 4824 VULKAN_HPP_HASH_COMBINE( seed, subresourceLayout.size ); 4825 VULKAN_HPP_HASH_COMBINE( seed, subresourceLayout.rowPitch ); 4826 VULKAN_HPP_HASH_COMBINE( seed, subresourceLayout.arrayPitch ); 4827 VULKAN_HPP_HASH_COMBINE( seed, subresourceLayout.depthPitch ); 4828 return seed; 4829 } 4830 }; 4831 4832 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierExplicitCreateInfoEXT> 4833 { operator ()std::hash4834 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierExplicitCreateInfoEXT const & imageDrmFormatModifierExplicitCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 4835 { 4836 std::size_t seed = 0; 4837 VULKAN_HPP_HASH_COMBINE( seed, imageDrmFormatModifierExplicitCreateInfoEXT.sType ); 4838 VULKAN_HPP_HASH_COMBINE( seed, imageDrmFormatModifierExplicitCreateInfoEXT.pNext ); 4839 VULKAN_HPP_HASH_COMBINE( seed, imageDrmFormatModifierExplicitCreateInfoEXT.drmFormatModifier ); 4840 VULKAN_HPP_HASH_COMBINE( seed, imageDrmFormatModifierExplicitCreateInfoEXT.drmFormatModifierPlaneCount ); 4841 VULKAN_HPP_HASH_COMBINE( seed, imageDrmFormatModifierExplicitCreateInfoEXT.pPlaneLayouts ); 4842 return seed; 4843 } 4844 }; 4845 4846 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierListCreateInfoEXT> 4847 { operator ()std::hash4848 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierListCreateInfoEXT const & imageDrmFormatModifierListCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 4849 { 4850 std::size_t seed = 0; 4851 VULKAN_HPP_HASH_COMBINE( seed, imageDrmFormatModifierListCreateInfoEXT.sType ); 4852 VULKAN_HPP_HASH_COMBINE( seed, imageDrmFormatModifierListCreateInfoEXT.pNext ); 4853 VULKAN_HPP_HASH_COMBINE( seed, imageDrmFormatModifierListCreateInfoEXT.drmFormatModifierCount ); 4854 VULKAN_HPP_HASH_COMBINE( seed, imageDrmFormatModifierListCreateInfoEXT.pDrmFormatModifiers ); 4855 return seed; 4856 } 4857 }; 4858 4859 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT> 4860 { operator ()std::hash4861 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT const & imageDrmFormatModifierPropertiesEXT) const VULKAN_HPP_NOEXCEPT 4862 { 4863 std::size_t seed = 0; 4864 VULKAN_HPP_HASH_COMBINE( seed, imageDrmFormatModifierPropertiesEXT.sType ); 4865 VULKAN_HPP_HASH_COMBINE( seed, imageDrmFormatModifierPropertiesEXT.pNext ); 4866 VULKAN_HPP_HASH_COMBINE( seed, imageDrmFormatModifierPropertiesEXT.drmFormatModifier ); 4867 return seed; 4868 } 4869 }; 4870 4871 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageFormatListCreateInfo> 4872 { operator ()std::hash4873 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageFormatListCreateInfo const & imageFormatListCreateInfo) const VULKAN_HPP_NOEXCEPT 4874 { 4875 std::size_t seed = 0; 4876 VULKAN_HPP_HASH_COMBINE( seed, imageFormatListCreateInfo.sType ); 4877 VULKAN_HPP_HASH_COMBINE( seed, imageFormatListCreateInfo.pNext ); 4878 VULKAN_HPP_HASH_COMBINE( seed, imageFormatListCreateInfo.viewFormatCount ); 4879 VULKAN_HPP_HASH_COMBINE( seed, imageFormatListCreateInfo.pViewFormats ); 4880 return seed; 4881 } 4882 }; 4883 4884 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageFormatProperties2> 4885 { operator ()std::hash4886 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageFormatProperties2 const & imageFormatProperties2) const VULKAN_HPP_NOEXCEPT 4887 { 4888 std::size_t seed = 0; 4889 VULKAN_HPP_HASH_COMBINE( seed, imageFormatProperties2.sType ); 4890 VULKAN_HPP_HASH_COMBINE( seed, imageFormatProperties2.pNext ); 4891 VULKAN_HPP_HASH_COMBINE( seed, imageFormatProperties2.imageFormatProperties ); 4892 return seed; 4893 } 4894 }; 4895 4896 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageMemoryBarrier> 4897 { operator ()std::hash4898 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageMemoryBarrier const & imageMemoryBarrier) const VULKAN_HPP_NOEXCEPT 4899 { 4900 std::size_t seed = 0; 4901 VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier.sType ); 4902 VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier.pNext ); 4903 VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier.srcAccessMask ); 4904 VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier.dstAccessMask ); 4905 VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier.oldLayout ); 4906 VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier.newLayout ); 4907 VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier.srcQueueFamilyIndex ); 4908 VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier.dstQueueFamilyIndex ); 4909 VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier.image ); 4910 VULKAN_HPP_HASH_COMBINE( seed, imageMemoryBarrier.subresourceRange ); 4911 return seed; 4912 } 4913 }; 4914 4915 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2> 4916 { operator ()std::hash4917 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 const & imageMemoryRequirementsInfo2) const VULKAN_HPP_NOEXCEPT 4918 { 4919 std::size_t seed = 0; 4920 VULKAN_HPP_HASH_COMBINE( seed, imageMemoryRequirementsInfo2.sType ); 4921 VULKAN_HPP_HASH_COMBINE( seed, imageMemoryRequirementsInfo2.pNext ); 4922 VULKAN_HPP_HASH_COMBINE( seed, imageMemoryRequirementsInfo2.image ); 4923 return seed; 4924 } 4925 }; 4926 4927 #if defined( VK_USE_PLATFORM_FUCHSIA ) 4928 template <> struct hash<VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA> 4929 { operator ()std::hash4930 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA const & imagePipeSurfaceCreateInfoFUCHSIA) const VULKAN_HPP_NOEXCEPT 4931 { 4932 std::size_t seed = 0; 4933 VULKAN_HPP_HASH_COMBINE( seed, imagePipeSurfaceCreateInfoFUCHSIA.sType ); 4934 VULKAN_HPP_HASH_COMBINE( seed, imagePipeSurfaceCreateInfoFUCHSIA.pNext ); 4935 VULKAN_HPP_HASH_COMBINE( seed, imagePipeSurfaceCreateInfoFUCHSIA.flags ); 4936 VULKAN_HPP_HASH_COMBINE( seed, imagePipeSurfaceCreateInfoFUCHSIA.imagePipeHandle ); 4937 return seed; 4938 } 4939 }; 4940 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 4941 4942 template <> struct hash<VULKAN_HPP_NAMESPACE::ImagePlaneMemoryRequirementsInfo> 4943 { operator ()std::hash4944 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImagePlaneMemoryRequirementsInfo const & imagePlaneMemoryRequirementsInfo) const VULKAN_HPP_NOEXCEPT 4945 { 4946 std::size_t seed = 0; 4947 VULKAN_HPP_HASH_COMBINE( seed, imagePlaneMemoryRequirementsInfo.sType ); 4948 VULKAN_HPP_HASH_COMBINE( seed, imagePlaneMemoryRequirementsInfo.pNext ); 4949 VULKAN_HPP_HASH_COMBINE( seed, imagePlaneMemoryRequirementsInfo.planeAspect ); 4950 return seed; 4951 } 4952 }; 4953 4954 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageResolve> 4955 { operator ()std::hash4956 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageResolve const & imageResolve) const VULKAN_HPP_NOEXCEPT 4957 { 4958 std::size_t seed = 0; 4959 VULKAN_HPP_HASH_COMBINE( seed, imageResolve.srcSubresource ); 4960 VULKAN_HPP_HASH_COMBINE( seed, imageResolve.srcOffset ); 4961 VULKAN_HPP_HASH_COMBINE( seed, imageResolve.dstSubresource ); 4962 VULKAN_HPP_HASH_COMBINE( seed, imageResolve.dstOffset ); 4963 VULKAN_HPP_HASH_COMBINE( seed, imageResolve.extent ); 4964 return seed; 4965 } 4966 }; 4967 4968 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageResolve2> 4969 { operator ()std::hash4970 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageResolve2 const & imageResolve2) const VULKAN_HPP_NOEXCEPT 4971 { 4972 std::size_t seed = 0; 4973 VULKAN_HPP_HASH_COMBINE( seed, imageResolve2.sType ); 4974 VULKAN_HPP_HASH_COMBINE( seed, imageResolve2.pNext ); 4975 VULKAN_HPP_HASH_COMBINE( seed, imageResolve2.srcSubresource ); 4976 VULKAN_HPP_HASH_COMBINE( seed, imageResolve2.srcOffset ); 4977 VULKAN_HPP_HASH_COMBINE( seed, imageResolve2.dstSubresource ); 4978 VULKAN_HPP_HASH_COMBINE( seed, imageResolve2.dstOffset ); 4979 VULKAN_HPP_HASH_COMBINE( seed, imageResolve2.extent ); 4980 return seed; 4981 } 4982 }; 4983 4984 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2> 4985 { operator ()std::hash4986 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 const & imageSparseMemoryRequirementsInfo2) const VULKAN_HPP_NOEXCEPT 4987 { 4988 std::size_t seed = 0; 4989 VULKAN_HPP_HASH_COMBINE( seed, imageSparseMemoryRequirementsInfo2.sType ); 4990 VULKAN_HPP_HASH_COMBINE( seed, imageSparseMemoryRequirementsInfo2.pNext ); 4991 VULKAN_HPP_HASH_COMBINE( seed, imageSparseMemoryRequirementsInfo2.image ); 4992 return seed; 4993 } 4994 }; 4995 4996 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageStencilUsageCreateInfo> 4997 { operator ()std::hash4998 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageStencilUsageCreateInfo const & imageStencilUsageCreateInfo) const VULKAN_HPP_NOEXCEPT 4999 { 5000 std::size_t seed = 0; 5001 VULKAN_HPP_HASH_COMBINE( seed, imageStencilUsageCreateInfo.sType ); 5002 VULKAN_HPP_HASH_COMBINE( seed, imageStencilUsageCreateInfo.pNext ); 5003 VULKAN_HPP_HASH_COMBINE( seed, imageStencilUsageCreateInfo.stencilUsage ); 5004 return seed; 5005 } 5006 }; 5007 5008 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageSubresource2EXT> 5009 { operator ()std::hash5010 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageSubresource2EXT const & imageSubresource2EXT) const VULKAN_HPP_NOEXCEPT 5011 { 5012 std::size_t seed = 0; 5013 VULKAN_HPP_HASH_COMBINE( seed, imageSubresource2EXT.sType ); 5014 VULKAN_HPP_HASH_COMBINE( seed, imageSubresource2EXT.pNext ); 5015 VULKAN_HPP_HASH_COMBINE( seed, imageSubresource2EXT.imageSubresource ); 5016 return seed; 5017 } 5018 }; 5019 5020 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageSwapchainCreateInfoKHR> 5021 { operator ()std::hash5022 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageSwapchainCreateInfoKHR const & imageSwapchainCreateInfoKHR) const VULKAN_HPP_NOEXCEPT 5023 { 5024 std::size_t seed = 0; 5025 VULKAN_HPP_HASH_COMBINE( seed, imageSwapchainCreateInfoKHR.sType ); 5026 VULKAN_HPP_HASH_COMBINE( seed, imageSwapchainCreateInfoKHR.pNext ); 5027 VULKAN_HPP_HASH_COMBINE( seed, imageSwapchainCreateInfoKHR.swapchain ); 5028 return seed; 5029 } 5030 }; 5031 5032 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageViewASTCDecodeModeEXT> 5033 { operator ()std::hash5034 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageViewASTCDecodeModeEXT const & imageViewASTCDecodeModeEXT) const VULKAN_HPP_NOEXCEPT 5035 { 5036 std::size_t seed = 0; 5037 VULKAN_HPP_HASH_COMBINE( seed, imageViewASTCDecodeModeEXT.sType ); 5038 VULKAN_HPP_HASH_COMBINE( seed, imageViewASTCDecodeModeEXT.pNext ); 5039 VULKAN_HPP_HASH_COMBINE( seed, imageViewASTCDecodeModeEXT.decodeMode ); 5040 return seed; 5041 } 5042 }; 5043 5044 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX> 5045 { operator ()std::hash5046 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX const & imageViewAddressPropertiesNVX) const VULKAN_HPP_NOEXCEPT 5047 { 5048 std::size_t seed = 0; 5049 VULKAN_HPP_HASH_COMBINE( seed, imageViewAddressPropertiesNVX.sType ); 5050 VULKAN_HPP_HASH_COMBINE( seed, imageViewAddressPropertiesNVX.pNext ); 5051 VULKAN_HPP_HASH_COMBINE( seed, imageViewAddressPropertiesNVX.deviceAddress ); 5052 VULKAN_HPP_HASH_COMBINE( seed, imageViewAddressPropertiesNVX.size ); 5053 return seed; 5054 } 5055 }; 5056 5057 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageViewCaptureDescriptorDataInfoEXT> 5058 { operator ()std::hash5059 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageViewCaptureDescriptorDataInfoEXT const & imageViewCaptureDescriptorDataInfoEXT) const VULKAN_HPP_NOEXCEPT 5060 { 5061 std::size_t seed = 0; 5062 VULKAN_HPP_HASH_COMBINE( seed, imageViewCaptureDescriptorDataInfoEXT.sType ); 5063 VULKAN_HPP_HASH_COMBINE( seed, imageViewCaptureDescriptorDataInfoEXT.pNext ); 5064 VULKAN_HPP_HASH_COMBINE( seed, imageViewCaptureDescriptorDataInfoEXT.imageView ); 5065 return seed; 5066 } 5067 }; 5068 5069 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageViewCreateInfo> 5070 { operator ()std::hash5071 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageViewCreateInfo const & imageViewCreateInfo) const VULKAN_HPP_NOEXCEPT 5072 { 5073 std::size_t seed = 0; 5074 VULKAN_HPP_HASH_COMBINE( seed, imageViewCreateInfo.sType ); 5075 VULKAN_HPP_HASH_COMBINE( seed, imageViewCreateInfo.pNext ); 5076 VULKAN_HPP_HASH_COMBINE( seed, imageViewCreateInfo.flags ); 5077 VULKAN_HPP_HASH_COMBINE( seed, imageViewCreateInfo.image ); 5078 VULKAN_HPP_HASH_COMBINE( seed, imageViewCreateInfo.viewType ); 5079 VULKAN_HPP_HASH_COMBINE( seed, imageViewCreateInfo.format ); 5080 VULKAN_HPP_HASH_COMBINE( seed, imageViewCreateInfo.components ); 5081 VULKAN_HPP_HASH_COMBINE( seed, imageViewCreateInfo.subresourceRange ); 5082 return seed; 5083 } 5084 }; 5085 5086 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageViewHandleInfoNVX> 5087 { operator ()std::hash5088 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageViewHandleInfoNVX const & imageViewHandleInfoNVX) const VULKAN_HPP_NOEXCEPT 5089 { 5090 std::size_t seed = 0; 5091 VULKAN_HPP_HASH_COMBINE( seed, imageViewHandleInfoNVX.sType ); 5092 VULKAN_HPP_HASH_COMBINE( seed, imageViewHandleInfoNVX.pNext ); 5093 VULKAN_HPP_HASH_COMBINE( seed, imageViewHandleInfoNVX.imageView ); 5094 VULKAN_HPP_HASH_COMBINE( seed, imageViewHandleInfoNVX.descriptorType ); 5095 VULKAN_HPP_HASH_COMBINE( seed, imageViewHandleInfoNVX.sampler ); 5096 return seed; 5097 } 5098 }; 5099 5100 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageViewMinLodCreateInfoEXT> 5101 { operator ()std::hash5102 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageViewMinLodCreateInfoEXT const & imageViewMinLodCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 5103 { 5104 std::size_t seed = 0; 5105 VULKAN_HPP_HASH_COMBINE( seed, imageViewMinLodCreateInfoEXT.sType ); 5106 VULKAN_HPP_HASH_COMBINE( seed, imageViewMinLodCreateInfoEXT.pNext ); 5107 VULKAN_HPP_HASH_COMBINE( seed, imageViewMinLodCreateInfoEXT.minLod ); 5108 return seed; 5109 } 5110 }; 5111 5112 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageViewSampleWeightCreateInfoQCOM> 5113 { operator ()std::hash5114 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageViewSampleWeightCreateInfoQCOM const & imageViewSampleWeightCreateInfoQCOM) const VULKAN_HPP_NOEXCEPT 5115 { 5116 std::size_t seed = 0; 5117 VULKAN_HPP_HASH_COMBINE( seed, imageViewSampleWeightCreateInfoQCOM.sType ); 5118 VULKAN_HPP_HASH_COMBINE( seed, imageViewSampleWeightCreateInfoQCOM.pNext ); 5119 VULKAN_HPP_HASH_COMBINE( seed, imageViewSampleWeightCreateInfoQCOM.filterCenter ); 5120 VULKAN_HPP_HASH_COMBINE( seed, imageViewSampleWeightCreateInfoQCOM.filterSize ); 5121 VULKAN_HPP_HASH_COMBINE( seed, imageViewSampleWeightCreateInfoQCOM.numPhases ); 5122 return seed; 5123 } 5124 }; 5125 5126 template <> struct hash<VULKAN_HPP_NAMESPACE::ImageViewUsageCreateInfo> 5127 { operator ()std::hash5128 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageViewUsageCreateInfo const & imageViewUsageCreateInfo) const VULKAN_HPP_NOEXCEPT 5129 { 5130 std::size_t seed = 0; 5131 VULKAN_HPP_HASH_COMBINE( seed, imageViewUsageCreateInfo.sType ); 5132 VULKAN_HPP_HASH_COMBINE( seed, imageViewUsageCreateInfo.pNext ); 5133 VULKAN_HPP_HASH_COMBINE( seed, imageViewUsageCreateInfo.usage ); 5134 return seed; 5135 } 5136 }; 5137 5138 #if defined( VK_USE_PLATFORM_ANDROID_KHR ) 5139 template <> struct hash<VULKAN_HPP_NAMESPACE::ImportAndroidHardwareBufferInfoANDROID> 5140 { operator ()std::hash5141 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportAndroidHardwareBufferInfoANDROID const & importAndroidHardwareBufferInfoANDROID) const VULKAN_HPP_NOEXCEPT 5142 { 5143 std::size_t seed = 0; 5144 VULKAN_HPP_HASH_COMBINE( seed, importAndroidHardwareBufferInfoANDROID.sType ); 5145 VULKAN_HPP_HASH_COMBINE( seed, importAndroidHardwareBufferInfoANDROID.pNext ); 5146 VULKAN_HPP_HASH_COMBINE( seed, importAndroidHardwareBufferInfoANDROID.buffer ); 5147 return seed; 5148 } 5149 }; 5150 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ 5151 5152 template <> struct hash<VULKAN_HPP_NAMESPACE::ImportFenceFdInfoKHR> 5153 { operator ()std::hash5154 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportFenceFdInfoKHR const & importFenceFdInfoKHR) const VULKAN_HPP_NOEXCEPT 5155 { 5156 std::size_t seed = 0; 5157 VULKAN_HPP_HASH_COMBINE( seed, importFenceFdInfoKHR.sType ); 5158 VULKAN_HPP_HASH_COMBINE( seed, importFenceFdInfoKHR.pNext ); 5159 VULKAN_HPP_HASH_COMBINE( seed, importFenceFdInfoKHR.fence ); 5160 VULKAN_HPP_HASH_COMBINE( seed, importFenceFdInfoKHR.flags ); 5161 VULKAN_HPP_HASH_COMBINE( seed, importFenceFdInfoKHR.handleType ); 5162 VULKAN_HPP_HASH_COMBINE( seed, importFenceFdInfoKHR.fd ); 5163 return seed; 5164 } 5165 }; 5166 5167 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 5168 template <> struct hash<VULKAN_HPP_NAMESPACE::ImportFenceWin32HandleInfoKHR> 5169 { operator ()std::hash5170 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportFenceWin32HandleInfoKHR const & importFenceWin32HandleInfoKHR) const VULKAN_HPP_NOEXCEPT 5171 { 5172 std::size_t seed = 0; 5173 VULKAN_HPP_HASH_COMBINE( seed, importFenceWin32HandleInfoKHR.sType ); 5174 VULKAN_HPP_HASH_COMBINE( seed, importFenceWin32HandleInfoKHR.pNext ); 5175 VULKAN_HPP_HASH_COMBINE( seed, importFenceWin32HandleInfoKHR.fence ); 5176 VULKAN_HPP_HASH_COMBINE( seed, importFenceWin32HandleInfoKHR.flags ); 5177 VULKAN_HPP_HASH_COMBINE( seed, importFenceWin32HandleInfoKHR.handleType ); 5178 VULKAN_HPP_HASH_COMBINE( seed, importFenceWin32HandleInfoKHR.handle ); 5179 VULKAN_HPP_HASH_COMBINE( seed, importFenceWin32HandleInfoKHR.name ); 5180 return seed; 5181 } 5182 }; 5183 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 5184 5185 #if defined( VK_USE_PLATFORM_FUCHSIA ) 5186 template <> struct hash<VULKAN_HPP_NAMESPACE::ImportMemoryBufferCollectionFUCHSIA> 5187 { operator ()std::hash5188 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportMemoryBufferCollectionFUCHSIA const & importMemoryBufferCollectionFUCHSIA) const VULKAN_HPP_NOEXCEPT 5189 { 5190 std::size_t seed = 0; 5191 VULKAN_HPP_HASH_COMBINE( seed, importMemoryBufferCollectionFUCHSIA.sType ); 5192 VULKAN_HPP_HASH_COMBINE( seed, importMemoryBufferCollectionFUCHSIA.pNext ); 5193 VULKAN_HPP_HASH_COMBINE( seed, importMemoryBufferCollectionFUCHSIA.collection ); 5194 VULKAN_HPP_HASH_COMBINE( seed, importMemoryBufferCollectionFUCHSIA.index ); 5195 return seed; 5196 } 5197 }; 5198 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 5199 5200 template <> struct hash<VULKAN_HPP_NAMESPACE::ImportMemoryFdInfoKHR> 5201 { operator ()std::hash5202 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportMemoryFdInfoKHR const & importMemoryFdInfoKHR) const VULKAN_HPP_NOEXCEPT 5203 { 5204 std::size_t seed = 0; 5205 VULKAN_HPP_HASH_COMBINE( seed, importMemoryFdInfoKHR.sType ); 5206 VULKAN_HPP_HASH_COMBINE( seed, importMemoryFdInfoKHR.pNext ); 5207 VULKAN_HPP_HASH_COMBINE( seed, importMemoryFdInfoKHR.handleType ); 5208 VULKAN_HPP_HASH_COMBINE( seed, importMemoryFdInfoKHR.fd ); 5209 return seed; 5210 } 5211 }; 5212 5213 template <> struct hash<VULKAN_HPP_NAMESPACE::ImportMemoryHostPointerInfoEXT> 5214 { operator ()std::hash5215 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportMemoryHostPointerInfoEXT const & importMemoryHostPointerInfoEXT) const VULKAN_HPP_NOEXCEPT 5216 { 5217 std::size_t seed = 0; 5218 VULKAN_HPP_HASH_COMBINE( seed, importMemoryHostPointerInfoEXT.sType ); 5219 VULKAN_HPP_HASH_COMBINE( seed, importMemoryHostPointerInfoEXT.pNext ); 5220 VULKAN_HPP_HASH_COMBINE( seed, importMemoryHostPointerInfoEXT.handleType ); 5221 VULKAN_HPP_HASH_COMBINE( seed, importMemoryHostPointerInfoEXT.pHostPointer ); 5222 return seed; 5223 } 5224 }; 5225 5226 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 5227 template <> struct hash<VULKAN_HPP_NAMESPACE::ImportMemoryWin32HandleInfoKHR> 5228 { operator ()std::hash5229 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportMemoryWin32HandleInfoKHR const & importMemoryWin32HandleInfoKHR) const VULKAN_HPP_NOEXCEPT 5230 { 5231 std::size_t seed = 0; 5232 VULKAN_HPP_HASH_COMBINE( seed, importMemoryWin32HandleInfoKHR.sType ); 5233 VULKAN_HPP_HASH_COMBINE( seed, importMemoryWin32HandleInfoKHR.pNext ); 5234 VULKAN_HPP_HASH_COMBINE( seed, importMemoryWin32HandleInfoKHR.handleType ); 5235 VULKAN_HPP_HASH_COMBINE( seed, importMemoryWin32HandleInfoKHR.handle ); 5236 VULKAN_HPP_HASH_COMBINE( seed, importMemoryWin32HandleInfoKHR.name ); 5237 return seed; 5238 } 5239 }; 5240 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 5241 5242 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 5243 template <> struct hash<VULKAN_HPP_NAMESPACE::ImportMemoryWin32HandleInfoNV> 5244 { operator ()std::hash5245 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportMemoryWin32HandleInfoNV const & importMemoryWin32HandleInfoNV) const VULKAN_HPP_NOEXCEPT 5246 { 5247 std::size_t seed = 0; 5248 VULKAN_HPP_HASH_COMBINE( seed, importMemoryWin32HandleInfoNV.sType ); 5249 VULKAN_HPP_HASH_COMBINE( seed, importMemoryWin32HandleInfoNV.pNext ); 5250 VULKAN_HPP_HASH_COMBINE( seed, importMemoryWin32HandleInfoNV.handleType ); 5251 VULKAN_HPP_HASH_COMBINE( seed, importMemoryWin32HandleInfoNV.handle ); 5252 return seed; 5253 } 5254 }; 5255 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 5256 5257 #if defined( VK_USE_PLATFORM_FUCHSIA ) 5258 template <> struct hash<VULKAN_HPP_NAMESPACE::ImportMemoryZirconHandleInfoFUCHSIA> 5259 { operator ()std::hash5260 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportMemoryZirconHandleInfoFUCHSIA const & importMemoryZirconHandleInfoFUCHSIA) const VULKAN_HPP_NOEXCEPT 5261 { 5262 std::size_t seed = 0; 5263 VULKAN_HPP_HASH_COMBINE( seed, importMemoryZirconHandleInfoFUCHSIA.sType ); 5264 VULKAN_HPP_HASH_COMBINE( seed, importMemoryZirconHandleInfoFUCHSIA.pNext ); 5265 VULKAN_HPP_HASH_COMBINE( seed, importMemoryZirconHandleInfoFUCHSIA.handleType ); 5266 VULKAN_HPP_HASH_COMBINE( seed, importMemoryZirconHandleInfoFUCHSIA.handle ); 5267 return seed; 5268 } 5269 }; 5270 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 5271 5272 #if defined( VK_USE_PLATFORM_METAL_EXT ) 5273 template <> struct hash<VULKAN_HPP_NAMESPACE::ImportMetalBufferInfoEXT> 5274 { operator ()std::hash5275 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportMetalBufferInfoEXT const & importMetalBufferInfoEXT) const VULKAN_HPP_NOEXCEPT 5276 { 5277 std::size_t seed = 0; 5278 VULKAN_HPP_HASH_COMBINE( seed, importMetalBufferInfoEXT.sType ); 5279 VULKAN_HPP_HASH_COMBINE( seed, importMetalBufferInfoEXT.pNext ); 5280 VULKAN_HPP_HASH_COMBINE( seed, importMetalBufferInfoEXT.mtlBuffer ); 5281 return seed; 5282 } 5283 }; 5284 #endif /*VK_USE_PLATFORM_METAL_EXT*/ 5285 5286 #if defined( VK_USE_PLATFORM_METAL_EXT ) 5287 template <> struct hash<VULKAN_HPP_NAMESPACE::ImportMetalIOSurfaceInfoEXT> 5288 { operator ()std::hash5289 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportMetalIOSurfaceInfoEXT const & importMetalIOSurfaceInfoEXT) const VULKAN_HPP_NOEXCEPT 5290 { 5291 std::size_t seed = 0; 5292 VULKAN_HPP_HASH_COMBINE( seed, importMetalIOSurfaceInfoEXT.sType ); 5293 VULKAN_HPP_HASH_COMBINE( seed, importMetalIOSurfaceInfoEXT.pNext ); 5294 VULKAN_HPP_HASH_COMBINE( seed, importMetalIOSurfaceInfoEXT.ioSurface ); 5295 return seed; 5296 } 5297 }; 5298 #endif /*VK_USE_PLATFORM_METAL_EXT*/ 5299 5300 #if defined( VK_USE_PLATFORM_METAL_EXT ) 5301 template <> struct hash<VULKAN_HPP_NAMESPACE::ImportMetalSharedEventInfoEXT> 5302 { operator ()std::hash5303 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportMetalSharedEventInfoEXT const & importMetalSharedEventInfoEXT) const VULKAN_HPP_NOEXCEPT 5304 { 5305 std::size_t seed = 0; 5306 VULKAN_HPP_HASH_COMBINE( seed, importMetalSharedEventInfoEXT.sType ); 5307 VULKAN_HPP_HASH_COMBINE( seed, importMetalSharedEventInfoEXT.pNext ); 5308 VULKAN_HPP_HASH_COMBINE( seed, importMetalSharedEventInfoEXT.mtlSharedEvent ); 5309 return seed; 5310 } 5311 }; 5312 #endif /*VK_USE_PLATFORM_METAL_EXT*/ 5313 5314 #if defined( VK_USE_PLATFORM_METAL_EXT ) 5315 template <> struct hash<VULKAN_HPP_NAMESPACE::ImportMetalTextureInfoEXT> 5316 { operator ()std::hash5317 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportMetalTextureInfoEXT const & importMetalTextureInfoEXT) const VULKAN_HPP_NOEXCEPT 5318 { 5319 std::size_t seed = 0; 5320 VULKAN_HPP_HASH_COMBINE( seed, importMetalTextureInfoEXT.sType ); 5321 VULKAN_HPP_HASH_COMBINE( seed, importMetalTextureInfoEXT.pNext ); 5322 VULKAN_HPP_HASH_COMBINE( seed, importMetalTextureInfoEXT.plane ); 5323 VULKAN_HPP_HASH_COMBINE( seed, importMetalTextureInfoEXT.mtlTexture ); 5324 return seed; 5325 } 5326 }; 5327 #endif /*VK_USE_PLATFORM_METAL_EXT*/ 5328 5329 template <> struct hash<VULKAN_HPP_NAMESPACE::ImportSemaphoreFdInfoKHR> 5330 { operator ()std::hash5331 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportSemaphoreFdInfoKHR const & importSemaphoreFdInfoKHR) const VULKAN_HPP_NOEXCEPT 5332 { 5333 std::size_t seed = 0; 5334 VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreFdInfoKHR.sType ); 5335 VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreFdInfoKHR.pNext ); 5336 VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreFdInfoKHR.semaphore ); 5337 VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreFdInfoKHR.flags ); 5338 VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreFdInfoKHR.handleType ); 5339 VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreFdInfoKHR.fd ); 5340 return seed; 5341 } 5342 }; 5343 5344 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 5345 template <> struct hash<VULKAN_HPP_NAMESPACE::ImportSemaphoreWin32HandleInfoKHR> 5346 { operator ()std::hash5347 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportSemaphoreWin32HandleInfoKHR const & importSemaphoreWin32HandleInfoKHR) const VULKAN_HPP_NOEXCEPT 5348 { 5349 std::size_t seed = 0; 5350 VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreWin32HandleInfoKHR.sType ); 5351 VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreWin32HandleInfoKHR.pNext ); 5352 VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreWin32HandleInfoKHR.semaphore ); 5353 VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreWin32HandleInfoKHR.flags ); 5354 VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreWin32HandleInfoKHR.handleType ); 5355 VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreWin32HandleInfoKHR.handle ); 5356 VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreWin32HandleInfoKHR.name ); 5357 return seed; 5358 } 5359 }; 5360 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 5361 5362 #if defined( VK_USE_PLATFORM_FUCHSIA ) 5363 template <> struct hash<VULKAN_HPP_NAMESPACE::ImportSemaphoreZirconHandleInfoFUCHSIA> 5364 { operator ()std::hash5365 std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportSemaphoreZirconHandleInfoFUCHSIA const & importSemaphoreZirconHandleInfoFUCHSIA) const VULKAN_HPP_NOEXCEPT 5366 { 5367 std::size_t seed = 0; 5368 VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreZirconHandleInfoFUCHSIA.sType ); 5369 VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreZirconHandleInfoFUCHSIA.pNext ); 5370 VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreZirconHandleInfoFUCHSIA.semaphore ); 5371 VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreZirconHandleInfoFUCHSIA.flags ); 5372 VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreZirconHandleInfoFUCHSIA.handleType ); 5373 VULKAN_HPP_HASH_COMBINE( seed, importSemaphoreZirconHandleInfoFUCHSIA.zirconHandle ); 5374 return seed; 5375 } 5376 }; 5377 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 5378 5379 template <> struct hash<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutTokenNV> 5380 { operator ()std::hash5381 std::size_t operator()(VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutTokenNV const & indirectCommandsLayoutTokenNV) const VULKAN_HPP_NOEXCEPT 5382 { 5383 std::size_t seed = 0; 5384 VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.sType ); 5385 VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.pNext ); 5386 VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.tokenType ); 5387 VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.stream ); 5388 VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.offset ); 5389 VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.vertexBindingUnit ); 5390 VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.vertexDynamicStride ); 5391 VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.pushconstantPipelineLayout ); 5392 VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.pushconstantShaderStageFlags ); 5393 VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.pushconstantOffset ); 5394 VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.pushconstantSize ); 5395 VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.indirectStateFlags ); 5396 VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.indexTypeCount ); 5397 VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.pIndexTypes ); 5398 VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutTokenNV.pIndexTypeValues ); 5399 return seed; 5400 } 5401 }; 5402 5403 template <> struct hash<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV> 5404 { operator ()std::hash5405 std::size_t operator()(VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV const & indirectCommandsLayoutCreateInfoNV) const VULKAN_HPP_NOEXCEPT 5406 { 5407 std::size_t seed = 0; 5408 VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutCreateInfoNV.sType ); 5409 VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutCreateInfoNV.pNext ); 5410 VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutCreateInfoNV.flags ); 5411 VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutCreateInfoNV.pipelineBindPoint ); 5412 VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutCreateInfoNV.tokenCount ); 5413 VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutCreateInfoNV.pTokens ); 5414 VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutCreateInfoNV.streamCount ); 5415 VULKAN_HPP_HASH_COMBINE( seed, indirectCommandsLayoutCreateInfoNV.pStreamStrides ); 5416 return seed; 5417 } 5418 }; 5419 5420 template <> struct hash<VULKAN_HPP_NAMESPACE::InitializePerformanceApiInfoINTEL> 5421 { operator ()std::hash5422 std::size_t operator()(VULKAN_HPP_NAMESPACE::InitializePerformanceApiInfoINTEL const & initializePerformanceApiInfoINTEL) const VULKAN_HPP_NOEXCEPT 5423 { 5424 std::size_t seed = 0; 5425 VULKAN_HPP_HASH_COMBINE( seed, initializePerformanceApiInfoINTEL.sType ); 5426 VULKAN_HPP_HASH_COMBINE( seed, initializePerformanceApiInfoINTEL.pNext ); 5427 VULKAN_HPP_HASH_COMBINE( seed, initializePerformanceApiInfoINTEL.pUserData ); 5428 return seed; 5429 } 5430 }; 5431 5432 template <> struct hash<VULKAN_HPP_NAMESPACE::InputAttachmentAspectReference> 5433 { operator ()std::hash5434 std::size_t operator()(VULKAN_HPP_NAMESPACE::InputAttachmentAspectReference const & inputAttachmentAspectReference) const VULKAN_HPP_NOEXCEPT 5435 { 5436 std::size_t seed = 0; 5437 VULKAN_HPP_HASH_COMBINE( seed, inputAttachmentAspectReference.subpass ); 5438 VULKAN_HPP_HASH_COMBINE( seed, inputAttachmentAspectReference.inputAttachmentIndex ); 5439 VULKAN_HPP_HASH_COMBINE( seed, inputAttachmentAspectReference.aspectMask ); 5440 return seed; 5441 } 5442 }; 5443 5444 template <> struct hash<VULKAN_HPP_NAMESPACE::InstanceCreateInfo> 5445 { operator ()std::hash5446 std::size_t operator()(VULKAN_HPP_NAMESPACE::InstanceCreateInfo const & instanceCreateInfo) const VULKAN_HPP_NOEXCEPT 5447 { 5448 std::size_t seed = 0; 5449 VULKAN_HPP_HASH_COMBINE( seed, instanceCreateInfo.sType ); 5450 VULKAN_HPP_HASH_COMBINE( seed, instanceCreateInfo.pNext ); 5451 VULKAN_HPP_HASH_COMBINE( seed, instanceCreateInfo.flags ); 5452 VULKAN_HPP_HASH_COMBINE( seed, instanceCreateInfo.pApplicationInfo ); 5453 VULKAN_HPP_HASH_COMBINE( seed, instanceCreateInfo.enabledLayerCount ); 5454 for ( size_t i = 0; i < instanceCreateInfo.enabledLayerCount; ++i ) 5455 { 5456 for ( const char* p = instanceCreateInfo.ppEnabledLayerNames[i]; *p != '\0'; ++p ) 5457 { 5458 VULKAN_HPP_HASH_COMBINE( seed, *p ); 5459 } 5460 } 5461 VULKAN_HPP_HASH_COMBINE( seed, instanceCreateInfo.enabledExtensionCount ); 5462 for ( size_t i = 0; i < instanceCreateInfo.enabledExtensionCount; ++i ) 5463 { 5464 for ( const char* p = instanceCreateInfo.ppEnabledExtensionNames[i]; *p != '\0'; ++p ) 5465 { 5466 VULKAN_HPP_HASH_COMBINE( seed, *p ); 5467 } 5468 } 5469 return seed; 5470 } 5471 }; 5472 5473 template <> struct hash<VULKAN_HPP_NAMESPACE::LayerProperties> 5474 { operator ()std::hash5475 std::size_t operator()(VULKAN_HPP_NAMESPACE::LayerProperties const & layerProperties) const VULKAN_HPP_NOEXCEPT 5476 { 5477 std::size_t seed = 0; 5478 for ( size_t i = 0; i < VK_MAX_EXTENSION_NAME_SIZE; ++i ) 5479 { 5480 VULKAN_HPP_HASH_COMBINE( seed, layerProperties.layerName[i] ); 5481 } 5482 VULKAN_HPP_HASH_COMBINE( seed, layerProperties.specVersion ); 5483 VULKAN_HPP_HASH_COMBINE( seed, layerProperties.implementationVersion ); 5484 for ( size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i ) 5485 { 5486 VULKAN_HPP_HASH_COMBINE( seed, layerProperties.description[i] ); 5487 } 5488 return seed; 5489 } 5490 }; 5491 5492 #if defined( VK_USE_PLATFORM_MACOS_MVK ) 5493 template <> struct hash<VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK> 5494 { operator ()std::hash5495 std::size_t operator()(VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK const & macOSSurfaceCreateInfoMVK) const VULKAN_HPP_NOEXCEPT 5496 { 5497 std::size_t seed = 0; 5498 VULKAN_HPP_HASH_COMBINE( seed, macOSSurfaceCreateInfoMVK.sType ); 5499 VULKAN_HPP_HASH_COMBINE( seed, macOSSurfaceCreateInfoMVK.pNext ); 5500 VULKAN_HPP_HASH_COMBINE( seed, macOSSurfaceCreateInfoMVK.flags ); 5501 VULKAN_HPP_HASH_COMBINE( seed, macOSSurfaceCreateInfoMVK.pView ); 5502 return seed; 5503 } 5504 }; 5505 #endif /*VK_USE_PLATFORM_MACOS_MVK*/ 5506 5507 template <> struct hash<VULKAN_HPP_NAMESPACE::MappedMemoryRange> 5508 { operator ()std::hash5509 std::size_t operator()(VULKAN_HPP_NAMESPACE::MappedMemoryRange const & mappedMemoryRange) const VULKAN_HPP_NOEXCEPT 5510 { 5511 std::size_t seed = 0; 5512 VULKAN_HPP_HASH_COMBINE( seed, mappedMemoryRange.sType ); 5513 VULKAN_HPP_HASH_COMBINE( seed, mappedMemoryRange.pNext ); 5514 VULKAN_HPP_HASH_COMBINE( seed, mappedMemoryRange.memory ); 5515 VULKAN_HPP_HASH_COMBINE( seed, mappedMemoryRange.offset ); 5516 VULKAN_HPP_HASH_COMBINE( seed, mappedMemoryRange.size ); 5517 return seed; 5518 } 5519 }; 5520 5521 template <> struct hash<VULKAN_HPP_NAMESPACE::MemoryAllocateFlagsInfo> 5522 { operator ()std::hash5523 std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryAllocateFlagsInfo const & memoryAllocateFlagsInfo) const VULKAN_HPP_NOEXCEPT 5524 { 5525 std::size_t seed = 0; 5526 VULKAN_HPP_HASH_COMBINE( seed, memoryAllocateFlagsInfo.sType ); 5527 VULKAN_HPP_HASH_COMBINE( seed, memoryAllocateFlagsInfo.pNext ); 5528 VULKAN_HPP_HASH_COMBINE( seed, memoryAllocateFlagsInfo.flags ); 5529 VULKAN_HPP_HASH_COMBINE( seed, memoryAllocateFlagsInfo.deviceMask ); 5530 return seed; 5531 } 5532 }; 5533 5534 template <> struct hash<VULKAN_HPP_NAMESPACE::MemoryAllocateInfo> 5535 { operator ()std::hash5536 std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryAllocateInfo const & memoryAllocateInfo) const VULKAN_HPP_NOEXCEPT 5537 { 5538 std::size_t seed = 0; 5539 VULKAN_HPP_HASH_COMBINE( seed, memoryAllocateInfo.sType ); 5540 VULKAN_HPP_HASH_COMBINE( seed, memoryAllocateInfo.pNext ); 5541 VULKAN_HPP_HASH_COMBINE( seed, memoryAllocateInfo.allocationSize ); 5542 VULKAN_HPP_HASH_COMBINE( seed, memoryAllocateInfo.memoryTypeIndex ); 5543 return seed; 5544 } 5545 }; 5546 5547 template <> struct hash<VULKAN_HPP_NAMESPACE::MemoryBarrier> 5548 { operator ()std::hash5549 std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryBarrier const & memoryBarrier) const VULKAN_HPP_NOEXCEPT 5550 { 5551 std::size_t seed = 0; 5552 VULKAN_HPP_HASH_COMBINE( seed, memoryBarrier.sType ); 5553 VULKAN_HPP_HASH_COMBINE( seed, memoryBarrier.pNext ); 5554 VULKAN_HPP_HASH_COMBINE( seed, memoryBarrier.srcAccessMask ); 5555 VULKAN_HPP_HASH_COMBINE( seed, memoryBarrier.dstAccessMask ); 5556 return seed; 5557 } 5558 }; 5559 5560 template <> struct hash<VULKAN_HPP_NAMESPACE::MemoryDedicatedAllocateInfo> 5561 { operator ()std::hash5562 std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryDedicatedAllocateInfo const & memoryDedicatedAllocateInfo) const VULKAN_HPP_NOEXCEPT 5563 { 5564 std::size_t seed = 0; 5565 VULKAN_HPP_HASH_COMBINE( seed, memoryDedicatedAllocateInfo.sType ); 5566 VULKAN_HPP_HASH_COMBINE( seed, memoryDedicatedAllocateInfo.pNext ); 5567 VULKAN_HPP_HASH_COMBINE( seed, memoryDedicatedAllocateInfo.image ); 5568 VULKAN_HPP_HASH_COMBINE( seed, memoryDedicatedAllocateInfo.buffer ); 5569 return seed; 5570 } 5571 }; 5572 5573 template <> struct hash<VULKAN_HPP_NAMESPACE::MemoryDedicatedRequirements> 5574 { operator ()std::hash5575 std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryDedicatedRequirements const & memoryDedicatedRequirements) const VULKAN_HPP_NOEXCEPT 5576 { 5577 std::size_t seed = 0; 5578 VULKAN_HPP_HASH_COMBINE( seed, memoryDedicatedRequirements.sType ); 5579 VULKAN_HPP_HASH_COMBINE( seed, memoryDedicatedRequirements.pNext ); 5580 VULKAN_HPP_HASH_COMBINE( seed, memoryDedicatedRequirements.prefersDedicatedAllocation ); 5581 VULKAN_HPP_HASH_COMBINE( seed, memoryDedicatedRequirements.requiresDedicatedAllocation ); 5582 return seed; 5583 } 5584 }; 5585 5586 template <> struct hash<VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR> 5587 { operator ()std::hash5588 std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR const & memoryFdPropertiesKHR) const VULKAN_HPP_NOEXCEPT 5589 { 5590 std::size_t seed = 0; 5591 VULKAN_HPP_HASH_COMBINE( seed, memoryFdPropertiesKHR.sType ); 5592 VULKAN_HPP_HASH_COMBINE( seed, memoryFdPropertiesKHR.pNext ); 5593 VULKAN_HPP_HASH_COMBINE( seed, memoryFdPropertiesKHR.memoryTypeBits ); 5594 return seed; 5595 } 5596 }; 5597 5598 #if defined( VK_USE_PLATFORM_ANDROID_KHR ) 5599 template <> struct hash<VULKAN_HPP_NAMESPACE::MemoryGetAndroidHardwareBufferInfoANDROID> 5600 { operator ()std::hash5601 std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryGetAndroidHardwareBufferInfoANDROID const & memoryGetAndroidHardwareBufferInfoANDROID) const VULKAN_HPP_NOEXCEPT 5602 { 5603 std::size_t seed = 0; 5604 VULKAN_HPP_HASH_COMBINE( seed, memoryGetAndroidHardwareBufferInfoANDROID.sType ); 5605 VULKAN_HPP_HASH_COMBINE( seed, memoryGetAndroidHardwareBufferInfoANDROID.pNext ); 5606 VULKAN_HPP_HASH_COMBINE( seed, memoryGetAndroidHardwareBufferInfoANDROID.memory ); 5607 return seed; 5608 } 5609 }; 5610 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ 5611 5612 template <> struct hash<VULKAN_HPP_NAMESPACE::MemoryGetFdInfoKHR> 5613 { operator ()std::hash5614 std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryGetFdInfoKHR const & memoryGetFdInfoKHR) const VULKAN_HPP_NOEXCEPT 5615 { 5616 std::size_t seed = 0; 5617 VULKAN_HPP_HASH_COMBINE( seed, memoryGetFdInfoKHR.sType ); 5618 VULKAN_HPP_HASH_COMBINE( seed, memoryGetFdInfoKHR.pNext ); 5619 VULKAN_HPP_HASH_COMBINE( seed, memoryGetFdInfoKHR.memory ); 5620 VULKAN_HPP_HASH_COMBINE( seed, memoryGetFdInfoKHR.handleType ); 5621 return seed; 5622 } 5623 }; 5624 5625 template <> struct hash<VULKAN_HPP_NAMESPACE::MemoryGetRemoteAddressInfoNV> 5626 { operator ()std::hash5627 std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryGetRemoteAddressInfoNV const & memoryGetRemoteAddressInfoNV) const VULKAN_HPP_NOEXCEPT 5628 { 5629 std::size_t seed = 0; 5630 VULKAN_HPP_HASH_COMBINE( seed, memoryGetRemoteAddressInfoNV.sType ); 5631 VULKAN_HPP_HASH_COMBINE( seed, memoryGetRemoteAddressInfoNV.pNext ); 5632 VULKAN_HPP_HASH_COMBINE( seed, memoryGetRemoteAddressInfoNV.memory ); 5633 VULKAN_HPP_HASH_COMBINE( seed, memoryGetRemoteAddressInfoNV.handleType ); 5634 return seed; 5635 } 5636 }; 5637 5638 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 5639 template <> struct hash<VULKAN_HPP_NAMESPACE::MemoryGetWin32HandleInfoKHR> 5640 { operator ()std::hash5641 std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryGetWin32HandleInfoKHR const & memoryGetWin32HandleInfoKHR) const VULKAN_HPP_NOEXCEPT 5642 { 5643 std::size_t seed = 0; 5644 VULKAN_HPP_HASH_COMBINE( seed, memoryGetWin32HandleInfoKHR.sType ); 5645 VULKAN_HPP_HASH_COMBINE( seed, memoryGetWin32HandleInfoKHR.pNext ); 5646 VULKAN_HPP_HASH_COMBINE( seed, memoryGetWin32HandleInfoKHR.memory ); 5647 VULKAN_HPP_HASH_COMBINE( seed, memoryGetWin32HandleInfoKHR.handleType ); 5648 return seed; 5649 } 5650 }; 5651 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 5652 5653 #if defined( VK_USE_PLATFORM_FUCHSIA ) 5654 template <> struct hash<VULKAN_HPP_NAMESPACE::MemoryGetZirconHandleInfoFUCHSIA> 5655 { operator ()std::hash5656 std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryGetZirconHandleInfoFUCHSIA const & memoryGetZirconHandleInfoFUCHSIA) const VULKAN_HPP_NOEXCEPT 5657 { 5658 std::size_t seed = 0; 5659 VULKAN_HPP_HASH_COMBINE( seed, memoryGetZirconHandleInfoFUCHSIA.sType ); 5660 VULKAN_HPP_HASH_COMBINE( seed, memoryGetZirconHandleInfoFUCHSIA.pNext ); 5661 VULKAN_HPP_HASH_COMBINE( seed, memoryGetZirconHandleInfoFUCHSIA.memory ); 5662 VULKAN_HPP_HASH_COMBINE( seed, memoryGetZirconHandleInfoFUCHSIA.handleType ); 5663 return seed; 5664 } 5665 }; 5666 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 5667 5668 template <> struct hash<VULKAN_HPP_NAMESPACE::MemoryHeap> 5669 { operator ()std::hash5670 std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryHeap const & memoryHeap) const VULKAN_HPP_NOEXCEPT 5671 { 5672 std::size_t seed = 0; 5673 VULKAN_HPP_HASH_COMBINE( seed, memoryHeap.size ); 5674 VULKAN_HPP_HASH_COMBINE( seed, memoryHeap.flags ); 5675 return seed; 5676 } 5677 }; 5678 5679 template <> struct hash<VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT> 5680 { operator ()std::hash5681 std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT const & memoryHostPointerPropertiesEXT) const VULKAN_HPP_NOEXCEPT 5682 { 5683 std::size_t seed = 0; 5684 VULKAN_HPP_HASH_COMBINE( seed, memoryHostPointerPropertiesEXT.sType ); 5685 VULKAN_HPP_HASH_COMBINE( seed, memoryHostPointerPropertiesEXT.pNext ); 5686 VULKAN_HPP_HASH_COMBINE( seed, memoryHostPointerPropertiesEXT.memoryTypeBits ); 5687 return seed; 5688 } 5689 }; 5690 5691 template <> struct hash<VULKAN_HPP_NAMESPACE::MemoryOpaqueCaptureAddressAllocateInfo> 5692 { operator ()std::hash5693 std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryOpaqueCaptureAddressAllocateInfo const & memoryOpaqueCaptureAddressAllocateInfo) const VULKAN_HPP_NOEXCEPT 5694 { 5695 std::size_t seed = 0; 5696 VULKAN_HPP_HASH_COMBINE( seed, memoryOpaqueCaptureAddressAllocateInfo.sType ); 5697 VULKAN_HPP_HASH_COMBINE( seed, memoryOpaqueCaptureAddressAllocateInfo.pNext ); 5698 VULKAN_HPP_HASH_COMBINE( seed, memoryOpaqueCaptureAddressAllocateInfo.opaqueCaptureAddress ); 5699 return seed; 5700 } 5701 }; 5702 5703 template <> struct hash<VULKAN_HPP_NAMESPACE::MemoryPriorityAllocateInfoEXT> 5704 { operator ()std::hash5705 std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryPriorityAllocateInfoEXT const & memoryPriorityAllocateInfoEXT) const VULKAN_HPP_NOEXCEPT 5706 { 5707 std::size_t seed = 0; 5708 VULKAN_HPP_HASH_COMBINE( seed, memoryPriorityAllocateInfoEXT.sType ); 5709 VULKAN_HPP_HASH_COMBINE( seed, memoryPriorityAllocateInfoEXT.pNext ); 5710 VULKAN_HPP_HASH_COMBINE( seed, memoryPriorityAllocateInfoEXT.priority ); 5711 return seed; 5712 } 5713 }; 5714 5715 template <> struct hash<VULKAN_HPP_NAMESPACE::MemoryRequirements> 5716 { operator ()std::hash5717 std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryRequirements const & memoryRequirements) const VULKAN_HPP_NOEXCEPT 5718 { 5719 std::size_t seed = 0; 5720 VULKAN_HPP_HASH_COMBINE( seed, memoryRequirements.size ); 5721 VULKAN_HPP_HASH_COMBINE( seed, memoryRequirements.alignment ); 5722 VULKAN_HPP_HASH_COMBINE( seed, memoryRequirements.memoryTypeBits ); 5723 return seed; 5724 } 5725 }; 5726 5727 template <> struct hash<VULKAN_HPP_NAMESPACE::MemoryRequirements2> 5728 { operator ()std::hash5729 std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryRequirements2 const & memoryRequirements2) const VULKAN_HPP_NOEXCEPT 5730 { 5731 std::size_t seed = 0; 5732 VULKAN_HPP_HASH_COMBINE( seed, memoryRequirements2.sType ); 5733 VULKAN_HPP_HASH_COMBINE( seed, memoryRequirements2.pNext ); 5734 VULKAN_HPP_HASH_COMBINE( seed, memoryRequirements2.memoryRequirements ); 5735 return seed; 5736 } 5737 }; 5738 5739 template <> struct hash<VULKAN_HPP_NAMESPACE::MemoryType> 5740 { operator ()std::hash5741 std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryType const & memoryType) const VULKAN_HPP_NOEXCEPT 5742 { 5743 std::size_t seed = 0; 5744 VULKAN_HPP_HASH_COMBINE( seed, memoryType.propertyFlags ); 5745 VULKAN_HPP_HASH_COMBINE( seed, memoryType.heapIndex ); 5746 return seed; 5747 } 5748 }; 5749 5750 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 5751 template <> struct hash<VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR> 5752 { operator ()std::hash5753 std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR const & memoryWin32HandlePropertiesKHR) const VULKAN_HPP_NOEXCEPT 5754 { 5755 std::size_t seed = 0; 5756 VULKAN_HPP_HASH_COMBINE( seed, memoryWin32HandlePropertiesKHR.sType ); 5757 VULKAN_HPP_HASH_COMBINE( seed, memoryWin32HandlePropertiesKHR.pNext ); 5758 VULKAN_HPP_HASH_COMBINE( seed, memoryWin32HandlePropertiesKHR.memoryTypeBits ); 5759 return seed; 5760 } 5761 }; 5762 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 5763 5764 #if defined( VK_USE_PLATFORM_FUCHSIA ) 5765 template <> struct hash<VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA> 5766 { operator ()std::hash5767 std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA const & memoryZirconHandlePropertiesFUCHSIA) const VULKAN_HPP_NOEXCEPT 5768 { 5769 std::size_t seed = 0; 5770 VULKAN_HPP_HASH_COMBINE( seed, memoryZirconHandlePropertiesFUCHSIA.sType ); 5771 VULKAN_HPP_HASH_COMBINE( seed, memoryZirconHandlePropertiesFUCHSIA.pNext ); 5772 VULKAN_HPP_HASH_COMBINE( seed, memoryZirconHandlePropertiesFUCHSIA.memoryTypeBits ); 5773 return seed; 5774 } 5775 }; 5776 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 5777 5778 #if defined( VK_USE_PLATFORM_METAL_EXT ) 5779 template <> struct hash<VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT> 5780 { operator ()std::hash5781 std::size_t operator()(VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT const & metalSurfaceCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 5782 { 5783 std::size_t seed = 0; 5784 VULKAN_HPP_HASH_COMBINE( seed, metalSurfaceCreateInfoEXT.sType ); 5785 VULKAN_HPP_HASH_COMBINE( seed, metalSurfaceCreateInfoEXT.pNext ); 5786 VULKAN_HPP_HASH_COMBINE( seed, metalSurfaceCreateInfoEXT.flags ); 5787 VULKAN_HPP_HASH_COMBINE( seed, metalSurfaceCreateInfoEXT.pLayer ); 5788 return seed; 5789 } 5790 }; 5791 #endif /*VK_USE_PLATFORM_METAL_EXT*/ 5792 5793 template <> struct hash<VULKAN_HPP_NAMESPACE::MicromapBuildSizesInfoEXT> 5794 { operator ()std::hash5795 std::size_t operator()(VULKAN_HPP_NAMESPACE::MicromapBuildSizesInfoEXT const & micromapBuildSizesInfoEXT) const VULKAN_HPP_NOEXCEPT 5796 { 5797 std::size_t seed = 0; 5798 VULKAN_HPP_HASH_COMBINE( seed, micromapBuildSizesInfoEXT.sType ); 5799 VULKAN_HPP_HASH_COMBINE( seed, micromapBuildSizesInfoEXT.pNext ); 5800 VULKAN_HPP_HASH_COMBINE( seed, micromapBuildSizesInfoEXT.micromapSize ); 5801 VULKAN_HPP_HASH_COMBINE( seed, micromapBuildSizesInfoEXT.buildScratchSize ); 5802 VULKAN_HPP_HASH_COMBINE( seed, micromapBuildSizesInfoEXT.discardable ); 5803 return seed; 5804 } 5805 }; 5806 5807 template <> struct hash<VULKAN_HPP_NAMESPACE::MicromapCreateInfoEXT> 5808 { operator ()std::hash5809 std::size_t operator()(VULKAN_HPP_NAMESPACE::MicromapCreateInfoEXT const & micromapCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 5810 { 5811 std::size_t seed = 0; 5812 VULKAN_HPP_HASH_COMBINE( seed, micromapCreateInfoEXT.sType ); 5813 VULKAN_HPP_HASH_COMBINE( seed, micromapCreateInfoEXT.pNext ); 5814 VULKAN_HPP_HASH_COMBINE( seed, micromapCreateInfoEXT.createFlags ); 5815 VULKAN_HPP_HASH_COMBINE( seed, micromapCreateInfoEXT.buffer ); 5816 VULKAN_HPP_HASH_COMBINE( seed, micromapCreateInfoEXT.offset ); 5817 VULKAN_HPP_HASH_COMBINE( seed, micromapCreateInfoEXT.size ); 5818 VULKAN_HPP_HASH_COMBINE( seed, micromapCreateInfoEXT.type ); 5819 VULKAN_HPP_HASH_COMBINE( seed, micromapCreateInfoEXT.deviceAddress ); 5820 return seed; 5821 } 5822 }; 5823 5824 template <> struct hash<VULKAN_HPP_NAMESPACE::MicromapTriangleEXT> 5825 { operator ()std::hash5826 std::size_t operator()(VULKAN_HPP_NAMESPACE::MicromapTriangleEXT const & micromapTriangleEXT) const VULKAN_HPP_NOEXCEPT 5827 { 5828 std::size_t seed = 0; 5829 VULKAN_HPP_HASH_COMBINE( seed, micromapTriangleEXT.dataOffset ); 5830 VULKAN_HPP_HASH_COMBINE( seed, micromapTriangleEXT.subdivisionLevel ); 5831 VULKAN_HPP_HASH_COMBINE( seed, micromapTriangleEXT.format ); 5832 return seed; 5833 } 5834 }; 5835 5836 template <> struct hash<VULKAN_HPP_NAMESPACE::MicromapVersionInfoEXT> 5837 { operator ()std::hash5838 std::size_t operator()(VULKAN_HPP_NAMESPACE::MicromapVersionInfoEXT const & micromapVersionInfoEXT) const VULKAN_HPP_NOEXCEPT 5839 { 5840 std::size_t seed = 0; 5841 VULKAN_HPP_HASH_COMBINE( seed, micromapVersionInfoEXT.sType ); 5842 VULKAN_HPP_HASH_COMBINE( seed, micromapVersionInfoEXT.pNext ); 5843 VULKAN_HPP_HASH_COMBINE( seed, micromapVersionInfoEXT.pVersionData ); 5844 return seed; 5845 } 5846 }; 5847 5848 template <> struct hash<VULKAN_HPP_NAMESPACE::MultiDrawIndexedInfoEXT> 5849 { operator ()std::hash5850 std::size_t operator()(VULKAN_HPP_NAMESPACE::MultiDrawIndexedInfoEXT const & multiDrawIndexedInfoEXT) const VULKAN_HPP_NOEXCEPT 5851 { 5852 std::size_t seed = 0; 5853 VULKAN_HPP_HASH_COMBINE( seed, multiDrawIndexedInfoEXT.firstIndex ); 5854 VULKAN_HPP_HASH_COMBINE( seed, multiDrawIndexedInfoEXT.indexCount ); 5855 VULKAN_HPP_HASH_COMBINE( seed, multiDrawIndexedInfoEXT.vertexOffset ); 5856 return seed; 5857 } 5858 }; 5859 5860 template <> struct hash<VULKAN_HPP_NAMESPACE::MultiDrawInfoEXT> 5861 { operator ()std::hash5862 std::size_t operator()(VULKAN_HPP_NAMESPACE::MultiDrawInfoEXT const & multiDrawInfoEXT) const VULKAN_HPP_NOEXCEPT 5863 { 5864 std::size_t seed = 0; 5865 VULKAN_HPP_HASH_COMBINE( seed, multiDrawInfoEXT.firstVertex ); 5866 VULKAN_HPP_HASH_COMBINE( seed, multiDrawInfoEXT.vertexCount ); 5867 return seed; 5868 } 5869 }; 5870 5871 template <> struct hash<VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT> 5872 { operator ()std::hash5873 std::size_t operator()(VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT const & multisamplePropertiesEXT) const VULKAN_HPP_NOEXCEPT 5874 { 5875 std::size_t seed = 0; 5876 VULKAN_HPP_HASH_COMBINE( seed, multisamplePropertiesEXT.sType ); 5877 VULKAN_HPP_HASH_COMBINE( seed, multisamplePropertiesEXT.pNext ); 5878 VULKAN_HPP_HASH_COMBINE( seed, multisamplePropertiesEXT.maxSampleLocationGridSize ); 5879 return seed; 5880 } 5881 }; 5882 5883 template <> struct hash<VULKAN_HPP_NAMESPACE::MultisampledRenderToSingleSampledInfoEXT> 5884 { operator ()std::hash5885 std::size_t operator()(VULKAN_HPP_NAMESPACE::MultisampledRenderToSingleSampledInfoEXT const & multisampledRenderToSingleSampledInfoEXT) const VULKAN_HPP_NOEXCEPT 5886 { 5887 std::size_t seed = 0; 5888 VULKAN_HPP_HASH_COMBINE( seed, multisampledRenderToSingleSampledInfoEXT.sType ); 5889 VULKAN_HPP_HASH_COMBINE( seed, multisampledRenderToSingleSampledInfoEXT.pNext ); 5890 VULKAN_HPP_HASH_COMBINE( seed, multisampledRenderToSingleSampledInfoEXT.multisampledRenderToSingleSampledEnable ); 5891 VULKAN_HPP_HASH_COMBINE( seed, multisampledRenderToSingleSampledInfoEXT.rasterizationSamples ); 5892 return seed; 5893 } 5894 }; 5895 5896 template <> struct hash<VULKAN_HPP_NAMESPACE::MultiviewPerViewAttributesInfoNVX> 5897 { operator ()std::hash5898 std::size_t operator()(VULKAN_HPP_NAMESPACE::MultiviewPerViewAttributesInfoNVX const & multiviewPerViewAttributesInfoNVX) const VULKAN_HPP_NOEXCEPT 5899 { 5900 std::size_t seed = 0; 5901 VULKAN_HPP_HASH_COMBINE( seed, multiviewPerViewAttributesInfoNVX.sType ); 5902 VULKAN_HPP_HASH_COMBINE( seed, multiviewPerViewAttributesInfoNVX.pNext ); 5903 VULKAN_HPP_HASH_COMBINE( seed, multiviewPerViewAttributesInfoNVX.perViewAttributes ); 5904 VULKAN_HPP_HASH_COMBINE( seed, multiviewPerViewAttributesInfoNVX.perViewAttributesPositionXOnly ); 5905 return seed; 5906 } 5907 }; 5908 5909 template <> struct hash<VULKAN_HPP_NAMESPACE::MutableDescriptorTypeListEXT> 5910 { operator ()std::hash5911 std::size_t operator()(VULKAN_HPP_NAMESPACE::MutableDescriptorTypeListEXT const & mutableDescriptorTypeListEXT) const VULKAN_HPP_NOEXCEPT 5912 { 5913 std::size_t seed = 0; 5914 VULKAN_HPP_HASH_COMBINE( seed, mutableDescriptorTypeListEXT.descriptorTypeCount ); 5915 VULKAN_HPP_HASH_COMBINE( seed, mutableDescriptorTypeListEXT.pDescriptorTypes ); 5916 return seed; 5917 } 5918 }; 5919 5920 template <> struct hash<VULKAN_HPP_NAMESPACE::MutableDescriptorTypeCreateInfoEXT> 5921 { operator ()std::hash5922 std::size_t operator()(VULKAN_HPP_NAMESPACE::MutableDescriptorTypeCreateInfoEXT const & mutableDescriptorTypeCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 5923 { 5924 std::size_t seed = 0; 5925 VULKAN_HPP_HASH_COMBINE( seed, mutableDescriptorTypeCreateInfoEXT.sType ); 5926 VULKAN_HPP_HASH_COMBINE( seed, mutableDescriptorTypeCreateInfoEXT.pNext ); 5927 VULKAN_HPP_HASH_COMBINE( seed, mutableDescriptorTypeCreateInfoEXT.mutableDescriptorTypeListCount ); 5928 VULKAN_HPP_HASH_COMBINE( seed, mutableDescriptorTypeCreateInfoEXT.pMutableDescriptorTypeLists ); 5929 return seed; 5930 } 5931 }; 5932 5933 template <> struct hash<VULKAN_HPP_NAMESPACE::OpaqueCaptureDescriptorDataCreateInfoEXT> 5934 { operator ()std::hash5935 std::size_t operator()(VULKAN_HPP_NAMESPACE::OpaqueCaptureDescriptorDataCreateInfoEXT const & opaqueCaptureDescriptorDataCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 5936 { 5937 std::size_t seed = 0; 5938 VULKAN_HPP_HASH_COMBINE( seed, opaqueCaptureDescriptorDataCreateInfoEXT.sType ); 5939 VULKAN_HPP_HASH_COMBINE( seed, opaqueCaptureDescriptorDataCreateInfoEXT.pNext ); 5940 VULKAN_HPP_HASH_COMBINE( seed, opaqueCaptureDescriptorDataCreateInfoEXT.opaqueCaptureDescriptorData ); 5941 return seed; 5942 } 5943 }; 5944 5945 template <> struct hash<VULKAN_HPP_NAMESPACE::OpticalFlowExecuteInfoNV> 5946 { operator ()std::hash5947 std::size_t operator()(VULKAN_HPP_NAMESPACE::OpticalFlowExecuteInfoNV const & opticalFlowExecuteInfoNV) const VULKAN_HPP_NOEXCEPT 5948 { 5949 std::size_t seed = 0; 5950 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowExecuteInfoNV.sType ); 5951 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowExecuteInfoNV.pNext ); 5952 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowExecuteInfoNV.flags ); 5953 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowExecuteInfoNV.regionCount ); 5954 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowExecuteInfoNV.pRegions ); 5955 return seed; 5956 } 5957 }; 5958 5959 template <> struct hash<VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatInfoNV> 5960 { operator ()std::hash5961 std::size_t operator()(VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatInfoNV const & opticalFlowImageFormatInfoNV) const VULKAN_HPP_NOEXCEPT 5962 { 5963 std::size_t seed = 0; 5964 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowImageFormatInfoNV.sType ); 5965 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowImageFormatInfoNV.pNext ); 5966 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowImageFormatInfoNV.usage ); 5967 return seed; 5968 } 5969 }; 5970 5971 template <> struct hash<VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatPropertiesNV> 5972 { operator ()std::hash5973 std::size_t operator()(VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatPropertiesNV const & opticalFlowImageFormatPropertiesNV) const VULKAN_HPP_NOEXCEPT 5974 { 5975 std::size_t seed = 0; 5976 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowImageFormatPropertiesNV.sType ); 5977 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowImageFormatPropertiesNV.pNext ); 5978 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowImageFormatPropertiesNV.format ); 5979 return seed; 5980 } 5981 }; 5982 5983 template <> struct hash<VULKAN_HPP_NAMESPACE::OpticalFlowSessionCreateInfoNV> 5984 { operator ()std::hash5985 std::size_t operator()(VULKAN_HPP_NAMESPACE::OpticalFlowSessionCreateInfoNV const & opticalFlowSessionCreateInfoNV) const VULKAN_HPP_NOEXCEPT 5986 { 5987 std::size_t seed = 0; 5988 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowSessionCreateInfoNV.sType ); 5989 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowSessionCreateInfoNV.pNext ); 5990 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowSessionCreateInfoNV.width ); 5991 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowSessionCreateInfoNV.height ); 5992 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowSessionCreateInfoNV.imageFormat ); 5993 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowSessionCreateInfoNV.flowVectorFormat ); 5994 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowSessionCreateInfoNV.costFormat ); 5995 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowSessionCreateInfoNV.outputGridSize ); 5996 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowSessionCreateInfoNV.hintGridSize ); 5997 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowSessionCreateInfoNV.performanceLevel ); 5998 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowSessionCreateInfoNV.flags ); 5999 return seed; 6000 } 6001 }; 6002 6003 template <> struct hash<VULKAN_HPP_NAMESPACE::OpticalFlowSessionCreatePrivateDataInfoNV> 6004 { operator ()std::hash6005 std::size_t operator()(VULKAN_HPP_NAMESPACE::OpticalFlowSessionCreatePrivateDataInfoNV const & opticalFlowSessionCreatePrivateDataInfoNV) const VULKAN_HPP_NOEXCEPT 6006 { 6007 std::size_t seed = 0; 6008 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowSessionCreatePrivateDataInfoNV.sType ); 6009 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowSessionCreatePrivateDataInfoNV.pNext ); 6010 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowSessionCreatePrivateDataInfoNV.id ); 6011 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowSessionCreatePrivateDataInfoNV.size ); 6012 VULKAN_HPP_HASH_COMBINE( seed, opticalFlowSessionCreatePrivateDataInfoNV.pPrivateData ); 6013 return seed; 6014 } 6015 }; 6016 6017 template <> struct hash<VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE> 6018 { operator ()std::hash6019 std::size_t operator()(VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE const & pastPresentationTimingGOOGLE) const VULKAN_HPP_NOEXCEPT 6020 { 6021 std::size_t seed = 0; 6022 VULKAN_HPP_HASH_COMBINE( seed, pastPresentationTimingGOOGLE.presentID ); 6023 VULKAN_HPP_HASH_COMBINE( seed, pastPresentationTimingGOOGLE.desiredPresentTime ); 6024 VULKAN_HPP_HASH_COMBINE( seed, pastPresentationTimingGOOGLE.actualPresentTime ); 6025 VULKAN_HPP_HASH_COMBINE( seed, pastPresentationTimingGOOGLE.earliestPresentTime ); 6026 VULKAN_HPP_HASH_COMBINE( seed, pastPresentationTimingGOOGLE.presentMargin ); 6027 return seed; 6028 } 6029 }; 6030 6031 template <> struct hash<VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL> 6032 { operator ()std::hash6033 std::size_t operator()(VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL const & performanceConfigurationAcquireInfoINTEL) const VULKAN_HPP_NOEXCEPT 6034 { 6035 std::size_t seed = 0; 6036 VULKAN_HPP_HASH_COMBINE( seed, performanceConfigurationAcquireInfoINTEL.sType ); 6037 VULKAN_HPP_HASH_COMBINE( seed, performanceConfigurationAcquireInfoINTEL.pNext ); 6038 VULKAN_HPP_HASH_COMBINE( seed, performanceConfigurationAcquireInfoINTEL.type ); 6039 return seed; 6040 } 6041 }; 6042 6043 template <> struct hash<VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR> 6044 { operator ()std::hash6045 std::size_t operator()(VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR const & performanceCounterDescriptionKHR) const VULKAN_HPP_NOEXCEPT 6046 { 6047 std::size_t seed = 0; 6048 VULKAN_HPP_HASH_COMBINE( seed, performanceCounterDescriptionKHR.sType ); 6049 VULKAN_HPP_HASH_COMBINE( seed, performanceCounterDescriptionKHR.pNext ); 6050 VULKAN_HPP_HASH_COMBINE( seed, performanceCounterDescriptionKHR.flags ); 6051 for ( size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i ) 6052 { 6053 VULKAN_HPP_HASH_COMBINE( seed, performanceCounterDescriptionKHR.name[i] ); 6054 } 6055 for ( size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i ) 6056 { 6057 VULKAN_HPP_HASH_COMBINE( seed, performanceCounterDescriptionKHR.category[i] ); 6058 } 6059 for ( size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i ) 6060 { 6061 VULKAN_HPP_HASH_COMBINE( seed, performanceCounterDescriptionKHR.description[i] ); 6062 } 6063 return seed; 6064 } 6065 }; 6066 6067 template <> struct hash<VULKAN_HPP_NAMESPACE::PerformanceCounterKHR> 6068 { operator ()std::hash6069 std::size_t operator()(VULKAN_HPP_NAMESPACE::PerformanceCounterKHR const & performanceCounterKHR) const VULKAN_HPP_NOEXCEPT 6070 { 6071 std::size_t seed = 0; 6072 VULKAN_HPP_HASH_COMBINE( seed, performanceCounterKHR.sType ); 6073 VULKAN_HPP_HASH_COMBINE( seed, performanceCounterKHR.pNext ); 6074 VULKAN_HPP_HASH_COMBINE( seed, performanceCounterKHR.unit ); 6075 VULKAN_HPP_HASH_COMBINE( seed, performanceCounterKHR.scope ); 6076 VULKAN_HPP_HASH_COMBINE( seed, performanceCounterKHR.storage ); 6077 for ( size_t i = 0; i < VK_UUID_SIZE; ++i ) 6078 { 6079 VULKAN_HPP_HASH_COMBINE( seed, performanceCounterKHR.uuid[i] ); 6080 } 6081 return seed; 6082 } 6083 }; 6084 6085 template <> struct hash<VULKAN_HPP_NAMESPACE::PerformanceMarkerInfoINTEL> 6086 { operator ()std::hash6087 std::size_t operator()(VULKAN_HPP_NAMESPACE::PerformanceMarkerInfoINTEL const & performanceMarkerInfoINTEL) const VULKAN_HPP_NOEXCEPT 6088 { 6089 std::size_t seed = 0; 6090 VULKAN_HPP_HASH_COMBINE( seed, performanceMarkerInfoINTEL.sType ); 6091 VULKAN_HPP_HASH_COMBINE( seed, performanceMarkerInfoINTEL.pNext ); 6092 VULKAN_HPP_HASH_COMBINE( seed, performanceMarkerInfoINTEL.marker ); 6093 return seed; 6094 } 6095 }; 6096 6097 template <> struct hash<VULKAN_HPP_NAMESPACE::PerformanceOverrideInfoINTEL> 6098 { operator ()std::hash6099 std::size_t operator()(VULKAN_HPP_NAMESPACE::PerformanceOverrideInfoINTEL const & performanceOverrideInfoINTEL) const VULKAN_HPP_NOEXCEPT 6100 { 6101 std::size_t seed = 0; 6102 VULKAN_HPP_HASH_COMBINE( seed, performanceOverrideInfoINTEL.sType ); 6103 VULKAN_HPP_HASH_COMBINE( seed, performanceOverrideInfoINTEL.pNext ); 6104 VULKAN_HPP_HASH_COMBINE( seed, performanceOverrideInfoINTEL.type ); 6105 VULKAN_HPP_HASH_COMBINE( seed, performanceOverrideInfoINTEL.enable ); 6106 VULKAN_HPP_HASH_COMBINE( seed, performanceOverrideInfoINTEL.parameter ); 6107 return seed; 6108 } 6109 }; 6110 6111 template <> struct hash<VULKAN_HPP_NAMESPACE::PerformanceQuerySubmitInfoKHR> 6112 { operator ()std::hash6113 std::size_t operator()(VULKAN_HPP_NAMESPACE::PerformanceQuerySubmitInfoKHR const & performanceQuerySubmitInfoKHR) const VULKAN_HPP_NOEXCEPT 6114 { 6115 std::size_t seed = 0; 6116 VULKAN_HPP_HASH_COMBINE( seed, performanceQuerySubmitInfoKHR.sType ); 6117 VULKAN_HPP_HASH_COMBINE( seed, performanceQuerySubmitInfoKHR.pNext ); 6118 VULKAN_HPP_HASH_COMBINE( seed, performanceQuerySubmitInfoKHR.counterPassIndex ); 6119 return seed; 6120 } 6121 }; 6122 6123 template <> struct hash<VULKAN_HPP_NAMESPACE::PerformanceStreamMarkerInfoINTEL> 6124 { operator ()std::hash6125 std::size_t operator()(VULKAN_HPP_NAMESPACE::PerformanceStreamMarkerInfoINTEL const & performanceStreamMarkerInfoINTEL) const VULKAN_HPP_NOEXCEPT 6126 { 6127 std::size_t seed = 0; 6128 VULKAN_HPP_HASH_COMBINE( seed, performanceStreamMarkerInfoINTEL.sType ); 6129 VULKAN_HPP_HASH_COMBINE( seed, performanceStreamMarkerInfoINTEL.pNext ); 6130 VULKAN_HPP_HASH_COMBINE( seed, performanceStreamMarkerInfoINTEL.marker ); 6131 return seed; 6132 } 6133 }; 6134 6135 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevice16BitStorageFeatures> 6136 { operator ()std::hash6137 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevice16BitStorageFeatures const & physicalDevice16BitStorageFeatures) const VULKAN_HPP_NOEXCEPT 6138 { 6139 std::size_t seed = 0; 6140 VULKAN_HPP_HASH_COMBINE( seed, physicalDevice16BitStorageFeatures.sType ); 6141 VULKAN_HPP_HASH_COMBINE( seed, physicalDevice16BitStorageFeatures.pNext ); 6142 VULKAN_HPP_HASH_COMBINE( seed, physicalDevice16BitStorageFeatures.storageBuffer16BitAccess ); 6143 VULKAN_HPP_HASH_COMBINE( seed, physicalDevice16BitStorageFeatures.uniformAndStorageBuffer16BitAccess ); 6144 VULKAN_HPP_HASH_COMBINE( seed, physicalDevice16BitStorageFeatures.storagePushConstant16 ); 6145 VULKAN_HPP_HASH_COMBINE( seed, physicalDevice16BitStorageFeatures.storageInputOutput16 ); 6146 return seed; 6147 } 6148 }; 6149 6150 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevice4444FormatsFeaturesEXT> 6151 { operator ()std::hash6152 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevice4444FormatsFeaturesEXT const & physicalDevice4444FormatsFeaturesEXT) const VULKAN_HPP_NOEXCEPT 6153 { 6154 std::size_t seed = 0; 6155 VULKAN_HPP_HASH_COMBINE( seed, physicalDevice4444FormatsFeaturesEXT.sType ); 6156 VULKAN_HPP_HASH_COMBINE( seed, physicalDevice4444FormatsFeaturesEXT.pNext ); 6157 VULKAN_HPP_HASH_COMBINE( seed, physicalDevice4444FormatsFeaturesEXT.formatA4R4G4B4 ); 6158 VULKAN_HPP_HASH_COMBINE( seed, physicalDevice4444FormatsFeaturesEXT.formatA4B4G4R4 ); 6159 return seed; 6160 } 6161 }; 6162 6163 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevice8BitStorageFeatures> 6164 { operator ()std::hash6165 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevice8BitStorageFeatures const & physicalDevice8BitStorageFeatures) const VULKAN_HPP_NOEXCEPT 6166 { 6167 std::size_t seed = 0; 6168 VULKAN_HPP_HASH_COMBINE( seed, physicalDevice8BitStorageFeatures.sType ); 6169 VULKAN_HPP_HASH_COMBINE( seed, physicalDevice8BitStorageFeatures.pNext ); 6170 VULKAN_HPP_HASH_COMBINE( seed, physicalDevice8BitStorageFeatures.storageBuffer8BitAccess ); 6171 VULKAN_HPP_HASH_COMBINE( seed, physicalDevice8BitStorageFeatures.uniformAndStorageBuffer8BitAccess ); 6172 VULKAN_HPP_HASH_COMBINE( seed, physicalDevice8BitStorageFeatures.storagePushConstant8 ); 6173 return seed; 6174 } 6175 }; 6176 6177 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceASTCDecodeFeaturesEXT> 6178 { operator ()std::hash6179 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceASTCDecodeFeaturesEXT const & physicalDeviceASTCDecodeFeaturesEXT) const VULKAN_HPP_NOEXCEPT 6180 { 6181 std::size_t seed = 0; 6182 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceASTCDecodeFeaturesEXT.sType ); 6183 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceASTCDecodeFeaturesEXT.pNext ); 6184 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceASTCDecodeFeaturesEXT.decodeModeSharedExponent ); 6185 return seed; 6186 } 6187 }; 6188 6189 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceAccelerationStructureFeaturesKHR> 6190 { operator ()std::hash6191 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceAccelerationStructureFeaturesKHR const & physicalDeviceAccelerationStructureFeaturesKHR) const VULKAN_HPP_NOEXCEPT 6192 { 6193 std::size_t seed = 0; 6194 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructureFeaturesKHR.sType ); 6195 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructureFeaturesKHR.pNext ); 6196 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructureFeaturesKHR.accelerationStructure ); 6197 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructureFeaturesKHR.accelerationStructureCaptureReplay ); 6198 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructureFeaturesKHR.accelerationStructureIndirectBuild ); 6199 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructureFeaturesKHR.accelerationStructureHostCommands ); 6200 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructureFeaturesKHR.descriptorBindingAccelerationStructureUpdateAfterBind ); 6201 return seed; 6202 } 6203 }; 6204 6205 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceAccelerationStructurePropertiesKHR> 6206 { operator ()std::hash6207 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceAccelerationStructurePropertiesKHR const & physicalDeviceAccelerationStructurePropertiesKHR) const VULKAN_HPP_NOEXCEPT 6208 { 6209 std::size_t seed = 0; 6210 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructurePropertiesKHR.sType ); 6211 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructurePropertiesKHR.pNext ); 6212 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructurePropertiesKHR.maxGeometryCount ); 6213 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructurePropertiesKHR.maxInstanceCount ); 6214 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructurePropertiesKHR.maxPrimitiveCount ); 6215 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructurePropertiesKHR.maxPerStageDescriptorAccelerationStructures ); 6216 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructurePropertiesKHR.maxPerStageDescriptorUpdateAfterBindAccelerationStructures ); 6217 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructurePropertiesKHR.maxDescriptorSetAccelerationStructures ); 6218 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructurePropertiesKHR.maxDescriptorSetUpdateAfterBindAccelerationStructures ); 6219 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAccelerationStructurePropertiesKHR.minAccelerationStructureScratchOffsetAlignment ); 6220 return seed; 6221 } 6222 }; 6223 6224 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceAddressBindingReportFeaturesEXT> 6225 { operator ()std::hash6226 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceAddressBindingReportFeaturesEXT const & physicalDeviceAddressBindingReportFeaturesEXT) const VULKAN_HPP_NOEXCEPT 6227 { 6228 std::size_t seed = 0; 6229 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAddressBindingReportFeaturesEXT.sType ); 6230 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAddressBindingReportFeaturesEXT.pNext ); 6231 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAddressBindingReportFeaturesEXT.reportAddressBinding ); 6232 return seed; 6233 } 6234 }; 6235 6236 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceAmigoProfilingFeaturesSEC> 6237 { operator ()std::hash6238 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceAmigoProfilingFeaturesSEC const & physicalDeviceAmigoProfilingFeaturesSEC) const VULKAN_HPP_NOEXCEPT 6239 { 6240 std::size_t seed = 0; 6241 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAmigoProfilingFeaturesSEC.sType ); 6242 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAmigoProfilingFeaturesSEC.pNext ); 6243 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAmigoProfilingFeaturesSEC.amigoProfiling ); 6244 return seed; 6245 } 6246 }; 6247 6248 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT> 6249 { operator ()std::hash6250 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT const & physicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT) const VULKAN_HPP_NOEXCEPT 6251 { 6252 std::size_t seed = 0; 6253 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT.sType ); 6254 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT.pNext ); 6255 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT.attachmentFeedbackLoopLayout ); 6256 return seed; 6257 } 6258 }; 6259 6260 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceBlendOperationAdvancedFeaturesEXT> 6261 { operator ()std::hash6262 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceBlendOperationAdvancedFeaturesEXT const & physicalDeviceBlendOperationAdvancedFeaturesEXT) const VULKAN_HPP_NOEXCEPT 6263 { 6264 std::size_t seed = 0; 6265 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBlendOperationAdvancedFeaturesEXT.sType ); 6266 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBlendOperationAdvancedFeaturesEXT.pNext ); 6267 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBlendOperationAdvancedFeaturesEXT.advancedBlendCoherentOperations ); 6268 return seed; 6269 } 6270 }; 6271 6272 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceBlendOperationAdvancedPropertiesEXT> 6273 { operator ()std::hash6274 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceBlendOperationAdvancedPropertiesEXT const & physicalDeviceBlendOperationAdvancedPropertiesEXT) const VULKAN_HPP_NOEXCEPT 6275 { 6276 std::size_t seed = 0; 6277 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBlendOperationAdvancedPropertiesEXT.sType ); 6278 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBlendOperationAdvancedPropertiesEXT.pNext ); 6279 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBlendOperationAdvancedPropertiesEXT.advancedBlendMaxColorAttachments ); 6280 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBlendOperationAdvancedPropertiesEXT.advancedBlendIndependentBlend ); 6281 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBlendOperationAdvancedPropertiesEXT.advancedBlendNonPremultipliedSrcColor ); 6282 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBlendOperationAdvancedPropertiesEXT.advancedBlendNonPremultipliedDstColor ); 6283 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBlendOperationAdvancedPropertiesEXT.advancedBlendCorrelatedOverlap ); 6284 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBlendOperationAdvancedPropertiesEXT.advancedBlendAllOperations ); 6285 return seed; 6286 } 6287 }; 6288 6289 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceBorderColorSwizzleFeaturesEXT> 6290 { operator ()std::hash6291 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceBorderColorSwizzleFeaturesEXT const & physicalDeviceBorderColorSwizzleFeaturesEXT) const VULKAN_HPP_NOEXCEPT 6292 { 6293 std::size_t seed = 0; 6294 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBorderColorSwizzleFeaturesEXT.sType ); 6295 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBorderColorSwizzleFeaturesEXT.pNext ); 6296 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBorderColorSwizzleFeaturesEXT.borderColorSwizzle ); 6297 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBorderColorSwizzleFeaturesEXT.borderColorSwizzleFromImage ); 6298 return seed; 6299 } 6300 }; 6301 6302 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceBufferDeviceAddressFeatures> 6303 { operator ()std::hash6304 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceBufferDeviceAddressFeatures const & physicalDeviceBufferDeviceAddressFeatures) const VULKAN_HPP_NOEXCEPT 6305 { 6306 std::size_t seed = 0; 6307 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressFeatures.sType ); 6308 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressFeatures.pNext ); 6309 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressFeatures.bufferDeviceAddress ); 6310 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressFeatures.bufferDeviceAddressCaptureReplay ); 6311 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressFeatures.bufferDeviceAddressMultiDevice ); 6312 return seed; 6313 } 6314 }; 6315 6316 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceBufferDeviceAddressFeaturesEXT> 6317 { operator ()std::hash6318 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceBufferDeviceAddressFeaturesEXT const & physicalDeviceBufferDeviceAddressFeaturesEXT) const VULKAN_HPP_NOEXCEPT 6319 { 6320 std::size_t seed = 0; 6321 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressFeaturesEXT.sType ); 6322 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressFeaturesEXT.pNext ); 6323 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressFeaturesEXT.bufferDeviceAddress ); 6324 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressFeaturesEXT.bufferDeviceAddressCaptureReplay ); 6325 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressFeaturesEXT.bufferDeviceAddressMultiDevice ); 6326 return seed; 6327 } 6328 }; 6329 6330 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceClusterCullingShaderFeaturesHUAWEI> 6331 { operator ()std::hash6332 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceClusterCullingShaderFeaturesHUAWEI const & physicalDeviceClusterCullingShaderFeaturesHUAWEI) const VULKAN_HPP_NOEXCEPT 6333 { 6334 std::size_t seed = 0; 6335 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceClusterCullingShaderFeaturesHUAWEI.sType ); 6336 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceClusterCullingShaderFeaturesHUAWEI.pNext ); 6337 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceClusterCullingShaderFeaturesHUAWEI.clustercullingShader ); 6338 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceClusterCullingShaderFeaturesHUAWEI.multiviewClusterCullingShader ); 6339 return seed; 6340 } 6341 }; 6342 6343 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceClusterCullingShaderPropertiesHUAWEI> 6344 { operator ()std::hash6345 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceClusterCullingShaderPropertiesHUAWEI const & physicalDeviceClusterCullingShaderPropertiesHUAWEI) const VULKAN_HPP_NOEXCEPT 6346 { 6347 std::size_t seed = 0; 6348 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceClusterCullingShaderPropertiesHUAWEI.sType ); 6349 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceClusterCullingShaderPropertiesHUAWEI.pNext ); 6350 for ( size_t i = 0; i < 3; ++i ) 6351 { 6352 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceClusterCullingShaderPropertiesHUAWEI.maxWorkGroupCount[i] ); 6353 } 6354 for ( size_t i = 0; i < 3; ++i ) 6355 { 6356 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceClusterCullingShaderPropertiesHUAWEI.maxWorkGroupSize[i] ); 6357 } 6358 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceClusterCullingShaderPropertiesHUAWEI.maxOutputClusterCount ); 6359 return seed; 6360 } 6361 }; 6362 6363 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCoherentMemoryFeaturesAMD> 6364 { operator ()std::hash6365 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceCoherentMemoryFeaturesAMD const & physicalDeviceCoherentMemoryFeaturesAMD) const VULKAN_HPP_NOEXCEPT 6366 { 6367 std::size_t seed = 0; 6368 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCoherentMemoryFeaturesAMD.sType ); 6369 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCoherentMemoryFeaturesAMD.pNext ); 6370 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCoherentMemoryFeaturesAMD.deviceCoherentMemory ); 6371 return seed; 6372 } 6373 }; 6374 6375 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceColorWriteEnableFeaturesEXT> 6376 { operator ()std::hash6377 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceColorWriteEnableFeaturesEXT const & physicalDeviceColorWriteEnableFeaturesEXT) const VULKAN_HPP_NOEXCEPT 6378 { 6379 std::size_t seed = 0; 6380 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceColorWriteEnableFeaturesEXT.sType ); 6381 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceColorWriteEnableFeaturesEXT.pNext ); 6382 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceColorWriteEnableFeaturesEXT.colorWriteEnable ); 6383 return seed; 6384 } 6385 }; 6386 6387 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceComputeShaderDerivativesFeaturesNV> 6388 { operator ()std::hash6389 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceComputeShaderDerivativesFeaturesNV const & physicalDeviceComputeShaderDerivativesFeaturesNV) const VULKAN_HPP_NOEXCEPT 6390 { 6391 std::size_t seed = 0; 6392 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceComputeShaderDerivativesFeaturesNV.sType ); 6393 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceComputeShaderDerivativesFeaturesNV.pNext ); 6394 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceComputeShaderDerivativesFeaturesNV.computeDerivativeGroupQuads ); 6395 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceComputeShaderDerivativesFeaturesNV.computeDerivativeGroupLinear ); 6396 return seed; 6397 } 6398 }; 6399 6400 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceConditionalRenderingFeaturesEXT> 6401 { operator ()std::hash6402 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceConditionalRenderingFeaturesEXT const & physicalDeviceConditionalRenderingFeaturesEXT) const VULKAN_HPP_NOEXCEPT 6403 { 6404 std::size_t seed = 0; 6405 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceConditionalRenderingFeaturesEXT.sType ); 6406 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceConditionalRenderingFeaturesEXT.pNext ); 6407 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceConditionalRenderingFeaturesEXT.conditionalRendering ); 6408 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceConditionalRenderingFeaturesEXT.inheritedConditionalRendering ); 6409 return seed; 6410 } 6411 }; 6412 6413 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceConservativeRasterizationPropertiesEXT> 6414 { operator ()std::hash6415 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceConservativeRasterizationPropertiesEXT const & physicalDeviceConservativeRasterizationPropertiesEXT) const VULKAN_HPP_NOEXCEPT 6416 { 6417 std::size_t seed = 0; 6418 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceConservativeRasterizationPropertiesEXT.sType ); 6419 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceConservativeRasterizationPropertiesEXT.pNext ); 6420 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceConservativeRasterizationPropertiesEXT.primitiveOverestimationSize ); 6421 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceConservativeRasterizationPropertiesEXT.maxExtraPrimitiveOverestimationSize ); 6422 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceConservativeRasterizationPropertiesEXT.extraPrimitiveOverestimationSizeGranularity ); 6423 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceConservativeRasterizationPropertiesEXT.primitiveUnderestimation ); 6424 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceConservativeRasterizationPropertiesEXT.conservativePointAndLineRasterization ); 6425 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceConservativeRasterizationPropertiesEXT.degenerateTrianglesRasterized ); 6426 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceConservativeRasterizationPropertiesEXT.degenerateLinesRasterized ); 6427 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceConservativeRasterizationPropertiesEXT.fullyCoveredFragmentShaderInputVariable ); 6428 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceConservativeRasterizationPropertiesEXT.conservativeRasterizationPostDepthCoverage ); 6429 return seed; 6430 } 6431 }; 6432 6433 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCooperativeMatrixFeaturesNV> 6434 { operator ()std::hash6435 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceCooperativeMatrixFeaturesNV const & physicalDeviceCooperativeMatrixFeaturesNV) const VULKAN_HPP_NOEXCEPT 6436 { 6437 std::size_t seed = 0; 6438 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixFeaturesNV.sType ); 6439 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixFeaturesNV.pNext ); 6440 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixFeaturesNV.cooperativeMatrix ); 6441 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixFeaturesNV.cooperativeMatrixRobustBufferAccess ); 6442 return seed; 6443 } 6444 }; 6445 6446 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCooperativeMatrixPropertiesNV> 6447 { operator ()std::hash6448 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceCooperativeMatrixPropertiesNV const & physicalDeviceCooperativeMatrixPropertiesNV) const VULKAN_HPP_NOEXCEPT 6449 { 6450 std::size_t seed = 0; 6451 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixPropertiesNV.sType ); 6452 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixPropertiesNV.pNext ); 6453 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixPropertiesNV.cooperativeMatrixSupportedStages ); 6454 return seed; 6455 } 6456 }; 6457 6458 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCopyMemoryIndirectFeaturesNV> 6459 { operator ()std::hash6460 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceCopyMemoryIndirectFeaturesNV const & physicalDeviceCopyMemoryIndirectFeaturesNV) const VULKAN_HPP_NOEXCEPT 6461 { 6462 std::size_t seed = 0; 6463 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCopyMemoryIndirectFeaturesNV.sType ); 6464 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCopyMemoryIndirectFeaturesNV.pNext ); 6465 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCopyMemoryIndirectFeaturesNV.indirectCopy ); 6466 return seed; 6467 } 6468 }; 6469 6470 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCopyMemoryIndirectPropertiesNV> 6471 { operator ()std::hash6472 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceCopyMemoryIndirectPropertiesNV const & physicalDeviceCopyMemoryIndirectPropertiesNV) const VULKAN_HPP_NOEXCEPT 6473 { 6474 std::size_t seed = 0; 6475 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCopyMemoryIndirectPropertiesNV.sType ); 6476 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCopyMemoryIndirectPropertiesNV.pNext ); 6477 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCopyMemoryIndirectPropertiesNV.supportedQueues ); 6478 return seed; 6479 } 6480 }; 6481 6482 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCornerSampledImageFeaturesNV> 6483 { operator ()std::hash6484 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceCornerSampledImageFeaturesNV const & physicalDeviceCornerSampledImageFeaturesNV) const VULKAN_HPP_NOEXCEPT 6485 { 6486 std::size_t seed = 0; 6487 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCornerSampledImageFeaturesNV.sType ); 6488 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCornerSampledImageFeaturesNV.pNext ); 6489 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCornerSampledImageFeaturesNV.cornerSampledImage ); 6490 return seed; 6491 } 6492 }; 6493 6494 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCoverageReductionModeFeaturesNV> 6495 { operator ()std::hash6496 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceCoverageReductionModeFeaturesNV const & physicalDeviceCoverageReductionModeFeaturesNV) const VULKAN_HPP_NOEXCEPT 6497 { 6498 std::size_t seed = 0; 6499 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCoverageReductionModeFeaturesNV.sType ); 6500 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCoverageReductionModeFeaturesNV.pNext ); 6501 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCoverageReductionModeFeaturesNV.coverageReductionMode ); 6502 return seed; 6503 } 6504 }; 6505 6506 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomBorderColorFeaturesEXT> 6507 { operator ()std::hash6508 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomBorderColorFeaturesEXT const & physicalDeviceCustomBorderColorFeaturesEXT) const VULKAN_HPP_NOEXCEPT 6509 { 6510 std::size_t seed = 0; 6511 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCustomBorderColorFeaturesEXT.sType ); 6512 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCustomBorderColorFeaturesEXT.pNext ); 6513 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCustomBorderColorFeaturesEXT.customBorderColors ); 6514 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCustomBorderColorFeaturesEXT.customBorderColorWithoutFormat ); 6515 return seed; 6516 } 6517 }; 6518 6519 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomBorderColorPropertiesEXT> 6520 { operator ()std::hash6521 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomBorderColorPropertiesEXT const & physicalDeviceCustomBorderColorPropertiesEXT) const VULKAN_HPP_NOEXCEPT 6522 { 6523 std::size_t seed = 0; 6524 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCustomBorderColorPropertiesEXT.sType ); 6525 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCustomBorderColorPropertiesEXT.pNext ); 6526 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCustomBorderColorPropertiesEXT.maxCustomBorderColorSamplers ); 6527 return seed; 6528 } 6529 }; 6530 6531 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV> 6532 { operator ()std::hash6533 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const & physicalDeviceDedicatedAllocationImageAliasingFeaturesNV) const VULKAN_HPP_NOEXCEPT 6534 { 6535 std::size_t seed = 0; 6536 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDedicatedAllocationImageAliasingFeaturesNV.sType ); 6537 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDedicatedAllocationImageAliasingFeaturesNV.pNext ); 6538 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDedicatedAllocationImageAliasingFeaturesNV.dedicatedAllocationImageAliasing ); 6539 return seed; 6540 } 6541 }; 6542 6543 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClampZeroOneFeaturesEXT> 6544 { operator ()std::hash6545 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClampZeroOneFeaturesEXT const & physicalDeviceDepthClampZeroOneFeaturesEXT) const VULKAN_HPP_NOEXCEPT 6546 { 6547 std::size_t seed = 0; 6548 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthClampZeroOneFeaturesEXT.sType ); 6549 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthClampZeroOneFeaturesEXT.pNext ); 6550 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthClampZeroOneFeaturesEXT.depthClampZeroOne ); 6551 return seed; 6552 } 6553 }; 6554 6555 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClipControlFeaturesEXT> 6556 { operator ()std::hash6557 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClipControlFeaturesEXT const & physicalDeviceDepthClipControlFeaturesEXT) const VULKAN_HPP_NOEXCEPT 6558 { 6559 std::size_t seed = 0; 6560 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthClipControlFeaturesEXT.sType ); 6561 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthClipControlFeaturesEXT.pNext ); 6562 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthClipControlFeaturesEXT.depthClipControl ); 6563 return seed; 6564 } 6565 }; 6566 6567 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClipEnableFeaturesEXT> 6568 { operator ()std::hash6569 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClipEnableFeaturesEXT const & physicalDeviceDepthClipEnableFeaturesEXT) const VULKAN_HPP_NOEXCEPT 6570 { 6571 std::size_t seed = 0; 6572 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthClipEnableFeaturesEXT.sType ); 6573 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthClipEnableFeaturesEXT.pNext ); 6574 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthClipEnableFeaturesEXT.depthClipEnable ); 6575 return seed; 6576 } 6577 }; 6578 6579 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthStencilResolveProperties> 6580 { operator ()std::hash6581 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthStencilResolveProperties const & physicalDeviceDepthStencilResolveProperties) const VULKAN_HPP_NOEXCEPT 6582 { 6583 std::size_t seed = 0; 6584 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthStencilResolveProperties.sType ); 6585 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthStencilResolveProperties.pNext ); 6586 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthStencilResolveProperties.supportedDepthResolveModes ); 6587 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthStencilResolveProperties.supportedStencilResolveModes ); 6588 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthStencilResolveProperties.independentResolveNone ); 6589 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDepthStencilResolveProperties.independentResolve ); 6590 return seed; 6591 } 6592 }; 6593 6594 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT> 6595 { operator ()std::hash6596 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const & physicalDeviceDescriptorBufferDensityMapPropertiesEXT) const VULKAN_HPP_NOEXCEPT 6597 { 6598 std::size_t seed = 0; 6599 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferDensityMapPropertiesEXT.sType ); 6600 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferDensityMapPropertiesEXT.pNext ); 6601 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferDensityMapPropertiesEXT.combinedImageSamplerDensityMapDescriptorSize ); 6602 return seed; 6603 } 6604 }; 6605 6606 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferFeaturesEXT> 6607 { operator ()std::hash6608 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferFeaturesEXT const & physicalDeviceDescriptorBufferFeaturesEXT) const VULKAN_HPP_NOEXCEPT 6609 { 6610 std::size_t seed = 0; 6611 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferFeaturesEXT.sType ); 6612 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferFeaturesEXT.pNext ); 6613 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferFeaturesEXT.descriptorBuffer ); 6614 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferFeaturesEXT.descriptorBufferCaptureReplay ); 6615 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferFeaturesEXT.descriptorBufferImageLayoutIgnored ); 6616 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferFeaturesEXT.descriptorBufferPushDescriptors ); 6617 return seed; 6618 } 6619 }; 6620 6621 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferPropertiesEXT> 6622 { operator ()std::hash6623 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferPropertiesEXT const & physicalDeviceDescriptorBufferPropertiesEXT) const VULKAN_HPP_NOEXCEPT 6624 { 6625 std::size_t seed = 0; 6626 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.sType ); 6627 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.pNext ); 6628 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.combinedImageSamplerDescriptorSingleArray ); 6629 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.bufferlessPushDescriptors ); 6630 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.allowSamplerImageViewPostSubmitCreation ); 6631 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.descriptorBufferOffsetAlignment ); 6632 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.maxDescriptorBufferBindings ); 6633 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.maxResourceDescriptorBufferBindings ); 6634 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.maxSamplerDescriptorBufferBindings ); 6635 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.maxEmbeddedImmutableSamplerBindings ); 6636 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.maxEmbeddedImmutableSamplers ); 6637 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.bufferCaptureReplayDescriptorDataSize ); 6638 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.imageCaptureReplayDescriptorDataSize ); 6639 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.imageViewCaptureReplayDescriptorDataSize ); 6640 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.samplerCaptureReplayDescriptorDataSize ); 6641 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.accelerationStructureCaptureReplayDescriptorDataSize ); 6642 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.samplerDescriptorSize ); 6643 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.combinedImageSamplerDescriptorSize ); 6644 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.sampledImageDescriptorSize ); 6645 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.storageImageDescriptorSize ); 6646 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.uniformTexelBufferDescriptorSize ); 6647 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.robustUniformTexelBufferDescriptorSize ); 6648 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.storageTexelBufferDescriptorSize ); 6649 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.robustStorageTexelBufferDescriptorSize ); 6650 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.uniformBufferDescriptorSize ); 6651 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.robustUniformBufferDescriptorSize ); 6652 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.storageBufferDescriptorSize ); 6653 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.robustStorageBufferDescriptorSize ); 6654 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.inputAttachmentDescriptorSize ); 6655 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.accelerationStructureDescriptorSize ); 6656 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.maxSamplerDescriptorBufferRange ); 6657 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.maxResourceDescriptorBufferRange ); 6658 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.samplerDescriptorBufferAddressSpaceSize ); 6659 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.resourceDescriptorBufferAddressSpaceSize ); 6660 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.descriptorBufferAddressSpaceSize ); 6661 return seed; 6662 } 6663 }; 6664 6665 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorIndexingFeatures> 6666 { operator ()std::hash6667 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorIndexingFeatures const & physicalDeviceDescriptorIndexingFeatures) const VULKAN_HPP_NOEXCEPT 6668 { 6669 std::size_t seed = 0; 6670 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.sType ); 6671 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.pNext ); 6672 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.shaderInputAttachmentArrayDynamicIndexing ); 6673 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.shaderUniformTexelBufferArrayDynamicIndexing ); 6674 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.shaderStorageTexelBufferArrayDynamicIndexing ); 6675 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.shaderUniformBufferArrayNonUniformIndexing ); 6676 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.shaderSampledImageArrayNonUniformIndexing ); 6677 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.shaderStorageBufferArrayNonUniformIndexing ); 6678 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.shaderStorageImageArrayNonUniformIndexing ); 6679 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.shaderInputAttachmentArrayNonUniformIndexing ); 6680 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.shaderUniformTexelBufferArrayNonUniformIndexing ); 6681 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.shaderStorageTexelBufferArrayNonUniformIndexing ); 6682 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.descriptorBindingUniformBufferUpdateAfterBind ); 6683 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.descriptorBindingSampledImageUpdateAfterBind ); 6684 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.descriptorBindingStorageImageUpdateAfterBind ); 6685 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.descriptorBindingStorageBufferUpdateAfterBind ); 6686 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.descriptorBindingUniformTexelBufferUpdateAfterBind ); 6687 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.descriptorBindingStorageTexelBufferUpdateAfterBind ); 6688 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.descriptorBindingUpdateUnusedWhilePending ); 6689 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.descriptorBindingPartiallyBound ); 6690 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.descriptorBindingVariableDescriptorCount ); 6691 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingFeatures.runtimeDescriptorArray ); 6692 return seed; 6693 } 6694 }; 6695 6696 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorIndexingProperties> 6697 { operator ()std::hash6698 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorIndexingProperties const & physicalDeviceDescriptorIndexingProperties) const VULKAN_HPP_NOEXCEPT 6699 { 6700 std::size_t seed = 0; 6701 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.sType ); 6702 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.pNext ); 6703 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.maxUpdateAfterBindDescriptorsInAllPools ); 6704 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.shaderUniformBufferArrayNonUniformIndexingNative ); 6705 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.shaderSampledImageArrayNonUniformIndexingNative ); 6706 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.shaderStorageBufferArrayNonUniformIndexingNative ); 6707 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.shaderStorageImageArrayNonUniformIndexingNative ); 6708 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.shaderInputAttachmentArrayNonUniformIndexingNative ); 6709 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.robustBufferAccessUpdateAfterBind ); 6710 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.quadDivergentImplicitLod ); 6711 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.maxPerStageDescriptorUpdateAfterBindSamplers ); 6712 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.maxPerStageDescriptorUpdateAfterBindUniformBuffers ); 6713 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.maxPerStageDescriptorUpdateAfterBindStorageBuffers ); 6714 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.maxPerStageDescriptorUpdateAfterBindSampledImages ); 6715 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.maxPerStageDescriptorUpdateAfterBindStorageImages ); 6716 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.maxPerStageDescriptorUpdateAfterBindInputAttachments ); 6717 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.maxPerStageUpdateAfterBindResources ); 6718 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.maxDescriptorSetUpdateAfterBindSamplers ); 6719 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.maxDescriptorSetUpdateAfterBindUniformBuffers ); 6720 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic ); 6721 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.maxDescriptorSetUpdateAfterBindStorageBuffers ); 6722 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic ); 6723 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.maxDescriptorSetUpdateAfterBindSampledImages ); 6724 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.maxDescriptorSetUpdateAfterBindStorageImages ); 6725 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorIndexingProperties.maxDescriptorSetUpdateAfterBindInputAttachments ); 6726 return seed; 6727 } 6728 }; 6729 6730 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE> 6731 { operator ()std::hash6732 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE const & physicalDeviceDescriptorSetHostMappingFeaturesVALVE) const VULKAN_HPP_NOEXCEPT 6733 { 6734 std::size_t seed = 0; 6735 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorSetHostMappingFeaturesVALVE.sType ); 6736 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorSetHostMappingFeaturesVALVE.pNext ); 6737 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorSetHostMappingFeaturesVALVE.descriptorSetHostMapping ); 6738 return seed; 6739 } 6740 }; 6741 6742 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDeviceGeneratedCommandsFeaturesNV> 6743 { operator ()std::hash6744 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDeviceGeneratedCommandsFeaturesNV const & physicalDeviceDeviceGeneratedCommandsFeaturesNV) const VULKAN_HPP_NOEXCEPT 6745 { 6746 std::size_t seed = 0; 6747 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceGeneratedCommandsFeaturesNV.sType ); 6748 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceGeneratedCommandsFeaturesNV.pNext ); 6749 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceGeneratedCommandsFeaturesNV.deviceGeneratedCommands ); 6750 return seed; 6751 } 6752 }; 6753 6754 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDeviceGeneratedCommandsPropertiesNV> 6755 { operator ()std::hash6756 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDeviceGeneratedCommandsPropertiesNV const & physicalDeviceDeviceGeneratedCommandsPropertiesNV) const VULKAN_HPP_NOEXCEPT 6757 { 6758 std::size_t seed = 0; 6759 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.sType ); 6760 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.pNext ); 6761 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.maxGraphicsShaderGroupCount ); 6762 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.maxIndirectSequenceCount ); 6763 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.maxIndirectCommandsTokenCount ); 6764 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.maxIndirectCommandsStreamCount ); 6765 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.maxIndirectCommandsTokenOffset ); 6766 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.maxIndirectCommandsStreamStride ); 6767 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.minSequencesCountBufferOffsetAlignment ); 6768 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.minSequencesIndexBufferOffsetAlignment ); 6769 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.minIndirectCommandsBufferOffsetAlignment ); 6770 return seed; 6771 } 6772 }; 6773 6774 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDeviceMemoryReportFeaturesEXT> 6775 { operator ()std::hash6776 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDeviceMemoryReportFeaturesEXT const & physicalDeviceDeviceMemoryReportFeaturesEXT) const VULKAN_HPP_NOEXCEPT 6777 { 6778 std::size_t seed = 0; 6779 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceMemoryReportFeaturesEXT.sType ); 6780 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceMemoryReportFeaturesEXT.pNext ); 6781 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDeviceMemoryReportFeaturesEXT.deviceMemoryReport ); 6782 return seed; 6783 } 6784 }; 6785 6786 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDiagnosticsConfigFeaturesNV> 6787 { operator ()std::hash6788 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDiagnosticsConfigFeaturesNV const & physicalDeviceDiagnosticsConfigFeaturesNV) const VULKAN_HPP_NOEXCEPT 6789 { 6790 std::size_t seed = 0; 6791 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDiagnosticsConfigFeaturesNV.sType ); 6792 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDiagnosticsConfigFeaturesNV.pNext ); 6793 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDiagnosticsConfigFeaturesNV.diagnosticsConfig ); 6794 return seed; 6795 } 6796 }; 6797 6798 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDiscardRectanglePropertiesEXT> 6799 { operator ()std::hash6800 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDiscardRectanglePropertiesEXT const & physicalDeviceDiscardRectanglePropertiesEXT) const VULKAN_HPP_NOEXCEPT 6801 { 6802 std::size_t seed = 0; 6803 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDiscardRectanglePropertiesEXT.sType ); 6804 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDiscardRectanglePropertiesEXT.pNext ); 6805 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDiscardRectanglePropertiesEXT.maxDiscardRectangles ); 6806 return seed; 6807 } 6808 }; 6809 6810 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDriverProperties> 6811 { operator ()std::hash6812 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDriverProperties const & physicalDeviceDriverProperties) const VULKAN_HPP_NOEXCEPT 6813 { 6814 std::size_t seed = 0; 6815 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDriverProperties.sType ); 6816 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDriverProperties.pNext ); 6817 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDriverProperties.driverID ); 6818 for ( size_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE; ++i ) 6819 { 6820 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDriverProperties.driverName[i] ); 6821 } 6822 for ( size_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE; ++i ) 6823 { 6824 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDriverProperties.driverInfo[i] ); 6825 } 6826 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDriverProperties.conformanceVersion ); 6827 return seed; 6828 } 6829 }; 6830 6831 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDrmPropertiesEXT> 6832 { operator ()std::hash6833 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDrmPropertiesEXT const & physicalDeviceDrmPropertiesEXT) const VULKAN_HPP_NOEXCEPT 6834 { 6835 std::size_t seed = 0; 6836 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDrmPropertiesEXT.sType ); 6837 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDrmPropertiesEXT.pNext ); 6838 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDrmPropertiesEXT.hasPrimary ); 6839 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDrmPropertiesEXT.hasRender ); 6840 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDrmPropertiesEXT.primaryMajor ); 6841 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDrmPropertiesEXT.primaryMinor ); 6842 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDrmPropertiesEXT.renderMajor ); 6843 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDrmPropertiesEXT.renderMinor ); 6844 return seed; 6845 } 6846 }; 6847 6848 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDynamicRenderingFeatures> 6849 { operator ()std::hash6850 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDynamicRenderingFeatures const & physicalDeviceDynamicRenderingFeatures) const VULKAN_HPP_NOEXCEPT 6851 { 6852 std::size_t seed = 0; 6853 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDynamicRenderingFeatures.sType ); 6854 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDynamicRenderingFeatures.pNext ); 6855 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDynamicRenderingFeatures.dynamicRendering ); 6856 return seed; 6857 } 6858 }; 6859 6860 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExclusiveScissorFeaturesNV> 6861 { operator ()std::hash6862 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceExclusiveScissorFeaturesNV const & physicalDeviceExclusiveScissorFeaturesNV) const VULKAN_HPP_NOEXCEPT 6863 { 6864 std::size_t seed = 0; 6865 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExclusiveScissorFeaturesNV.sType ); 6866 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExclusiveScissorFeaturesNV.pNext ); 6867 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExclusiveScissorFeaturesNV.exclusiveScissor ); 6868 return seed; 6869 } 6870 }; 6871 6872 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExtendedDynamicState2FeaturesEXT> 6873 { operator ()std::hash6874 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceExtendedDynamicState2FeaturesEXT const & physicalDeviceExtendedDynamicState2FeaturesEXT) const VULKAN_HPP_NOEXCEPT 6875 { 6876 std::size_t seed = 0; 6877 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState2FeaturesEXT.sType ); 6878 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState2FeaturesEXT.pNext ); 6879 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState2FeaturesEXT.extendedDynamicState2 ); 6880 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState2FeaturesEXT.extendedDynamicState2LogicOp ); 6881 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState2FeaturesEXT.extendedDynamicState2PatchControlPoints ); 6882 return seed; 6883 } 6884 }; 6885 6886 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExtendedDynamicState3FeaturesEXT> 6887 { operator ()std::hash6888 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceExtendedDynamicState3FeaturesEXT const & physicalDeviceExtendedDynamicState3FeaturesEXT) const VULKAN_HPP_NOEXCEPT 6889 { 6890 std::size_t seed = 0; 6891 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.sType ); 6892 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.pNext ); 6893 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3TessellationDomainOrigin ); 6894 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3DepthClampEnable ); 6895 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3PolygonMode ); 6896 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3RasterizationSamples ); 6897 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3SampleMask ); 6898 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3AlphaToCoverageEnable ); 6899 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3AlphaToOneEnable ); 6900 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3LogicOpEnable ); 6901 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3ColorBlendEnable ); 6902 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3ColorBlendEquation ); 6903 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3ColorWriteMask ); 6904 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3RasterizationStream ); 6905 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3ConservativeRasterizationMode ); 6906 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3ExtraPrimitiveOverestimationSize ); 6907 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3DepthClipEnable ); 6908 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3SampleLocationsEnable ); 6909 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3ColorBlendAdvanced ); 6910 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3ProvokingVertexMode ); 6911 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3LineRasterizationMode ); 6912 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3LineStippleEnable ); 6913 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3DepthClipNegativeOneToOne ); 6914 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3ViewportWScalingEnable ); 6915 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3ViewportSwizzle ); 6916 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3CoverageToColorEnable ); 6917 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3CoverageToColorLocation ); 6918 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3CoverageModulationMode ); 6919 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3CoverageModulationTableEnable ); 6920 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3CoverageModulationTable ); 6921 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3CoverageReductionMode ); 6922 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3RepresentativeFragmentTestEnable ); 6923 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3FeaturesEXT.extendedDynamicState3ShadingRateImageEnable ); 6924 return seed; 6925 } 6926 }; 6927 6928 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExtendedDynamicState3PropertiesEXT> 6929 { operator ()std::hash6930 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceExtendedDynamicState3PropertiesEXT const & physicalDeviceExtendedDynamicState3PropertiesEXT) const VULKAN_HPP_NOEXCEPT 6931 { 6932 std::size_t seed = 0; 6933 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3PropertiesEXT.sType ); 6934 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3PropertiesEXT.pNext ); 6935 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicState3PropertiesEXT.dynamicPrimitiveTopologyUnrestricted ); 6936 return seed; 6937 } 6938 }; 6939 6940 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExtendedDynamicStateFeaturesEXT> 6941 { operator ()std::hash6942 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceExtendedDynamicStateFeaturesEXT const & physicalDeviceExtendedDynamicStateFeaturesEXT) const VULKAN_HPP_NOEXCEPT 6943 { 6944 std::size_t seed = 0; 6945 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicStateFeaturesEXT.sType ); 6946 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicStateFeaturesEXT.pNext ); 6947 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedDynamicStateFeaturesEXT.extendedDynamicState ); 6948 return seed; 6949 } 6950 }; 6951 6952 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo> 6953 { operator ()std::hash6954 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo const & physicalDeviceExternalBufferInfo) const VULKAN_HPP_NOEXCEPT 6955 { 6956 std::size_t seed = 0; 6957 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalBufferInfo.sType ); 6958 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalBufferInfo.pNext ); 6959 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalBufferInfo.flags ); 6960 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalBufferInfo.usage ); 6961 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalBufferInfo.handleType ); 6962 return seed; 6963 } 6964 }; 6965 6966 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo> 6967 { operator ()std::hash6968 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo const & physicalDeviceExternalFenceInfo) const VULKAN_HPP_NOEXCEPT 6969 { 6970 std::size_t seed = 0; 6971 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalFenceInfo.sType ); 6972 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalFenceInfo.pNext ); 6973 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalFenceInfo.handleType ); 6974 return seed; 6975 } 6976 }; 6977 6978 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalImageFormatInfo> 6979 { operator ()std::hash6980 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalImageFormatInfo const & physicalDeviceExternalImageFormatInfo) const VULKAN_HPP_NOEXCEPT 6981 { 6982 std::size_t seed = 0; 6983 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalImageFormatInfo.sType ); 6984 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalImageFormatInfo.pNext ); 6985 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalImageFormatInfo.handleType ); 6986 return seed; 6987 } 6988 }; 6989 6990 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalMemoryHostPropertiesEXT> 6991 { operator ()std::hash6992 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalMemoryHostPropertiesEXT const & physicalDeviceExternalMemoryHostPropertiesEXT) const VULKAN_HPP_NOEXCEPT 6993 { 6994 std::size_t seed = 0; 6995 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalMemoryHostPropertiesEXT.sType ); 6996 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalMemoryHostPropertiesEXT.pNext ); 6997 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalMemoryHostPropertiesEXT.minImportedHostPointerAlignment ); 6998 return seed; 6999 } 7000 }; 7001 7002 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalMemoryRDMAFeaturesNV> 7003 { operator ()std::hash7004 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalMemoryRDMAFeaturesNV const & physicalDeviceExternalMemoryRDMAFeaturesNV) const VULKAN_HPP_NOEXCEPT 7005 { 7006 std::size_t seed = 0; 7007 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalMemoryRDMAFeaturesNV.sType ); 7008 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalMemoryRDMAFeaturesNV.pNext ); 7009 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalMemoryRDMAFeaturesNV.externalMemoryRDMA ); 7010 return seed; 7011 } 7012 }; 7013 7014 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo> 7015 { operator ()std::hash7016 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo const & physicalDeviceExternalSemaphoreInfo) const VULKAN_HPP_NOEXCEPT 7017 { 7018 std::size_t seed = 0; 7019 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalSemaphoreInfo.sType ); 7020 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalSemaphoreInfo.pNext ); 7021 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExternalSemaphoreInfo.handleType ); 7022 return seed; 7023 } 7024 }; 7025 7026 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFaultFeaturesEXT> 7027 { operator ()std::hash7028 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFaultFeaturesEXT const & physicalDeviceFaultFeaturesEXT) const VULKAN_HPP_NOEXCEPT 7029 { 7030 std::size_t seed = 0; 7031 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFaultFeaturesEXT.sType ); 7032 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFaultFeaturesEXT.pNext ); 7033 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFaultFeaturesEXT.deviceFault ); 7034 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFaultFeaturesEXT.deviceFaultVendorBinary ); 7035 return seed; 7036 } 7037 }; 7038 7039 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2> 7040 { operator ()std::hash7041 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 const & physicalDeviceFeatures2) const VULKAN_HPP_NOEXCEPT 7042 { 7043 std::size_t seed = 0; 7044 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures2.sType ); 7045 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures2.pNext ); 7046 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFeatures2.features ); 7047 return seed; 7048 } 7049 }; 7050 7051 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFloatControlsProperties> 7052 { operator ()std::hash7053 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFloatControlsProperties const & physicalDeviceFloatControlsProperties) const VULKAN_HPP_NOEXCEPT 7054 { 7055 std::size_t seed = 0; 7056 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.sType ); 7057 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.pNext ); 7058 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.denormBehaviorIndependence ); 7059 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.roundingModeIndependence ); 7060 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderSignedZeroInfNanPreserveFloat16 ); 7061 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderSignedZeroInfNanPreserveFloat32 ); 7062 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderSignedZeroInfNanPreserveFloat64 ); 7063 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderDenormPreserveFloat16 ); 7064 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderDenormPreserveFloat32 ); 7065 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderDenormPreserveFloat64 ); 7066 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderDenormFlushToZeroFloat16 ); 7067 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderDenormFlushToZeroFloat32 ); 7068 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderDenormFlushToZeroFloat64 ); 7069 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderRoundingModeRTEFloat16 ); 7070 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderRoundingModeRTEFloat32 ); 7071 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderRoundingModeRTEFloat64 ); 7072 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderRoundingModeRTZFloat16 ); 7073 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderRoundingModeRTZFloat32 ); 7074 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFloatControlsProperties.shaderRoundingModeRTZFloat64 ); 7075 return seed; 7076 } 7077 }; 7078 7079 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMap2FeaturesEXT> 7080 { operator ()std::hash7081 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMap2FeaturesEXT const & physicalDeviceFragmentDensityMap2FeaturesEXT) const VULKAN_HPP_NOEXCEPT 7082 { 7083 std::size_t seed = 0; 7084 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMap2FeaturesEXT.sType ); 7085 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMap2FeaturesEXT.pNext ); 7086 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMap2FeaturesEXT.fragmentDensityMapDeferred ); 7087 return seed; 7088 } 7089 }; 7090 7091 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMap2PropertiesEXT> 7092 { operator ()std::hash7093 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMap2PropertiesEXT const & physicalDeviceFragmentDensityMap2PropertiesEXT) const VULKAN_HPP_NOEXCEPT 7094 { 7095 std::size_t seed = 0; 7096 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMap2PropertiesEXT.sType ); 7097 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMap2PropertiesEXT.pNext ); 7098 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMap2PropertiesEXT.subsampledLoads ); 7099 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMap2PropertiesEXT.subsampledCoarseReconstructionEarlyAccess ); 7100 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMap2PropertiesEXT.maxSubsampledArrayLayers ); 7101 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMap2PropertiesEXT.maxDescriptorSetSubsampledSamplers ); 7102 return seed; 7103 } 7104 }; 7105 7106 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapFeaturesEXT> 7107 { operator ()std::hash7108 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapFeaturesEXT const & physicalDeviceFragmentDensityMapFeaturesEXT) const VULKAN_HPP_NOEXCEPT 7109 { 7110 std::size_t seed = 0; 7111 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMapFeaturesEXT.sType ); 7112 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMapFeaturesEXT.pNext ); 7113 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMapFeaturesEXT.fragmentDensityMap ); 7114 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMapFeaturesEXT.fragmentDensityMapDynamic ); 7115 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMapFeaturesEXT.fragmentDensityMapNonSubsampledImages ); 7116 return seed; 7117 } 7118 }; 7119 7120 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM> 7121 { operator ()std::hash7122 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM const & physicalDeviceFragmentDensityMapOffsetFeaturesQCOM) const VULKAN_HPP_NOEXCEPT 7123 { 7124 std::size_t seed = 0; 7125 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMapOffsetFeaturesQCOM.sType ); 7126 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMapOffsetFeaturesQCOM.pNext ); 7127 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMapOffsetFeaturesQCOM.fragmentDensityMapOffset ); 7128 return seed; 7129 } 7130 }; 7131 7132 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM> 7133 { operator ()std::hash7134 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM const & physicalDeviceFragmentDensityMapOffsetPropertiesQCOM) const VULKAN_HPP_NOEXCEPT 7135 { 7136 std::size_t seed = 0; 7137 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMapOffsetPropertiesQCOM.sType ); 7138 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMapOffsetPropertiesQCOM.pNext ); 7139 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMapOffsetPropertiesQCOM.fragmentDensityOffsetGranularity ); 7140 return seed; 7141 } 7142 }; 7143 7144 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapPropertiesEXT> 7145 { operator ()std::hash7146 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapPropertiesEXT const & physicalDeviceFragmentDensityMapPropertiesEXT) const VULKAN_HPP_NOEXCEPT 7147 { 7148 std::size_t seed = 0; 7149 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMapPropertiesEXT.sType ); 7150 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMapPropertiesEXT.pNext ); 7151 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMapPropertiesEXT.minFragmentDensityTexelSize ); 7152 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMapPropertiesEXT.maxFragmentDensityTexelSize ); 7153 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentDensityMapPropertiesEXT.fragmentDensityInvocations ); 7154 return seed; 7155 } 7156 }; 7157 7158 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShaderBarycentricFeaturesKHR> 7159 { operator ()std::hash7160 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShaderBarycentricFeaturesKHR const & physicalDeviceFragmentShaderBarycentricFeaturesKHR) const VULKAN_HPP_NOEXCEPT 7161 { 7162 std::size_t seed = 0; 7163 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShaderBarycentricFeaturesKHR.sType ); 7164 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShaderBarycentricFeaturesKHR.pNext ); 7165 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShaderBarycentricFeaturesKHR.fragmentShaderBarycentric ); 7166 return seed; 7167 } 7168 }; 7169 7170 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShaderBarycentricPropertiesKHR> 7171 { operator ()std::hash7172 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShaderBarycentricPropertiesKHR const & physicalDeviceFragmentShaderBarycentricPropertiesKHR) const VULKAN_HPP_NOEXCEPT 7173 { 7174 std::size_t seed = 0; 7175 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShaderBarycentricPropertiesKHR.sType ); 7176 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShaderBarycentricPropertiesKHR.pNext ); 7177 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShaderBarycentricPropertiesKHR.triStripVertexOrderIndependentOfProvokingVertex ); 7178 return seed; 7179 } 7180 }; 7181 7182 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShaderInterlockFeaturesEXT> 7183 { operator ()std::hash7184 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShaderInterlockFeaturesEXT const & physicalDeviceFragmentShaderInterlockFeaturesEXT) const VULKAN_HPP_NOEXCEPT 7185 { 7186 std::size_t seed = 0; 7187 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShaderInterlockFeaturesEXT.sType ); 7188 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShaderInterlockFeaturesEXT.pNext ); 7189 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShaderInterlockFeaturesEXT.fragmentShaderSampleInterlock ); 7190 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShaderInterlockFeaturesEXT.fragmentShaderPixelInterlock ); 7191 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShaderInterlockFeaturesEXT.fragmentShaderShadingRateInterlock ); 7192 return seed; 7193 } 7194 }; 7195 7196 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateEnumsFeaturesNV> 7197 { operator ()std::hash7198 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateEnumsFeaturesNV const & physicalDeviceFragmentShadingRateEnumsFeaturesNV) const VULKAN_HPP_NOEXCEPT 7199 { 7200 std::size_t seed = 0; 7201 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateEnumsFeaturesNV.sType ); 7202 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateEnumsFeaturesNV.pNext ); 7203 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateEnumsFeaturesNV.fragmentShadingRateEnums ); 7204 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateEnumsFeaturesNV.supersampleFragmentShadingRates ); 7205 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateEnumsFeaturesNV.noInvocationFragmentShadingRates ); 7206 return seed; 7207 } 7208 }; 7209 7210 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateEnumsPropertiesNV> 7211 { operator ()std::hash7212 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateEnumsPropertiesNV const & physicalDeviceFragmentShadingRateEnumsPropertiesNV) const VULKAN_HPP_NOEXCEPT 7213 { 7214 std::size_t seed = 0; 7215 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateEnumsPropertiesNV.sType ); 7216 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateEnumsPropertiesNV.pNext ); 7217 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateEnumsPropertiesNV.maxFragmentShadingRateInvocationCount ); 7218 return seed; 7219 } 7220 }; 7221 7222 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateFeaturesKHR> 7223 { operator ()std::hash7224 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateFeaturesKHR const & physicalDeviceFragmentShadingRateFeaturesKHR) const VULKAN_HPP_NOEXCEPT 7225 { 7226 std::size_t seed = 0; 7227 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateFeaturesKHR.sType ); 7228 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateFeaturesKHR.pNext ); 7229 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateFeaturesKHR.pipelineFragmentShadingRate ); 7230 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateFeaturesKHR.primitiveFragmentShadingRate ); 7231 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateFeaturesKHR.attachmentFragmentShadingRate ); 7232 return seed; 7233 } 7234 }; 7235 7236 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR> 7237 { operator ()std::hash7238 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR const & physicalDeviceFragmentShadingRateKHR) const VULKAN_HPP_NOEXCEPT 7239 { 7240 std::size_t seed = 0; 7241 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateKHR.sType ); 7242 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateKHR.pNext ); 7243 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateKHR.sampleCounts ); 7244 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRateKHR.fragmentSize ); 7245 return seed; 7246 } 7247 }; 7248 7249 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRatePropertiesKHR> 7250 { operator ()std::hash7251 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRatePropertiesKHR const & physicalDeviceFragmentShadingRatePropertiesKHR) const VULKAN_HPP_NOEXCEPT 7252 { 7253 std::size_t seed = 0; 7254 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRatePropertiesKHR.sType ); 7255 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRatePropertiesKHR.pNext ); 7256 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRatePropertiesKHR.minFragmentShadingRateAttachmentTexelSize ); 7257 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRatePropertiesKHR.maxFragmentShadingRateAttachmentTexelSize ); 7258 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRatePropertiesKHR.maxFragmentShadingRateAttachmentTexelSizeAspectRatio ); 7259 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRatePropertiesKHR.primitiveFragmentShadingRateWithMultipleViewports ); 7260 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRatePropertiesKHR.layeredShadingRateAttachments ); 7261 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRatePropertiesKHR.fragmentShadingRateNonTrivialCombinerOps ); 7262 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRatePropertiesKHR.maxFragmentSize ); 7263 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRatePropertiesKHR.maxFragmentSizeAspectRatio ); 7264 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRatePropertiesKHR.maxFragmentShadingRateCoverageSamples ); 7265 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRatePropertiesKHR.maxFragmentShadingRateRasterizationSamples ); 7266 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRatePropertiesKHR.fragmentShadingRateWithShaderDepthStencilWrites ); 7267 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRatePropertiesKHR.fragmentShadingRateWithSampleMask ); 7268 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRatePropertiesKHR.fragmentShadingRateWithShaderSampleMask ); 7269 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRatePropertiesKHR.fragmentShadingRateWithConservativeRasterization ); 7270 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRatePropertiesKHR.fragmentShadingRateWithFragmentShaderInterlock ); 7271 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRatePropertiesKHR.fragmentShadingRateWithCustomSampleLocations ); 7272 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceFragmentShadingRatePropertiesKHR.fragmentShadingRateStrictMultiplyCombiner ); 7273 return seed; 7274 } 7275 }; 7276 7277 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceGlobalPriorityQueryFeaturesKHR> 7278 { operator ()std::hash7279 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceGlobalPriorityQueryFeaturesKHR const & physicalDeviceGlobalPriorityQueryFeaturesKHR) const VULKAN_HPP_NOEXCEPT 7280 { 7281 std::size_t seed = 0; 7282 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGlobalPriorityQueryFeaturesKHR.sType ); 7283 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGlobalPriorityQueryFeaturesKHR.pNext ); 7284 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGlobalPriorityQueryFeaturesKHR.globalPriorityQuery ); 7285 return seed; 7286 } 7287 }; 7288 7289 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT> 7290 { operator ()std::hash7291 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT const & physicalDeviceGraphicsPipelineLibraryFeaturesEXT) const VULKAN_HPP_NOEXCEPT 7292 { 7293 std::size_t seed = 0; 7294 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGraphicsPipelineLibraryFeaturesEXT.sType ); 7295 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGraphicsPipelineLibraryFeaturesEXT.pNext ); 7296 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGraphicsPipelineLibraryFeaturesEXT.graphicsPipelineLibrary ); 7297 return seed; 7298 } 7299 }; 7300 7301 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT> 7302 { operator ()std::hash7303 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT const & physicalDeviceGraphicsPipelineLibraryPropertiesEXT) const VULKAN_HPP_NOEXCEPT 7304 { 7305 std::size_t seed = 0; 7306 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGraphicsPipelineLibraryPropertiesEXT.sType ); 7307 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGraphicsPipelineLibraryPropertiesEXT.pNext ); 7308 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGraphicsPipelineLibraryPropertiesEXT.graphicsPipelineLibraryFastLinking ); 7309 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGraphicsPipelineLibraryPropertiesEXT.graphicsPipelineLibraryIndependentInterpolationDecoration ); 7310 return seed; 7311 } 7312 }; 7313 7314 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties> 7315 { operator ()std::hash7316 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties const & physicalDeviceGroupProperties) const VULKAN_HPP_NOEXCEPT 7317 { 7318 std::size_t seed = 0; 7319 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGroupProperties.sType ); 7320 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGroupProperties.pNext ); 7321 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGroupProperties.physicalDeviceCount ); 7322 for ( size_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i ) 7323 { 7324 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGroupProperties.physicalDevices[i] ); 7325 } 7326 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGroupProperties.subsetAllocation ); 7327 return seed; 7328 } 7329 }; 7330 7331 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceHostQueryResetFeatures> 7332 { operator ()std::hash7333 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceHostQueryResetFeatures const & physicalDeviceHostQueryResetFeatures) const VULKAN_HPP_NOEXCEPT 7334 { 7335 std::size_t seed = 0; 7336 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceHostQueryResetFeatures.sType ); 7337 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceHostQueryResetFeatures.pNext ); 7338 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceHostQueryResetFeatures.hostQueryReset ); 7339 return seed; 7340 } 7341 }; 7342 7343 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceIDProperties> 7344 { operator ()std::hash7345 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceIDProperties const & physicalDeviceIDProperties) const VULKAN_HPP_NOEXCEPT 7346 { 7347 std::size_t seed = 0; 7348 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIDProperties.sType ); 7349 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIDProperties.pNext ); 7350 for ( size_t i = 0; i < VK_UUID_SIZE; ++i ) 7351 { 7352 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIDProperties.deviceUUID[i] ); 7353 } 7354 for ( size_t i = 0; i < VK_UUID_SIZE; ++i ) 7355 { 7356 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIDProperties.driverUUID[i] ); 7357 } 7358 for ( size_t i = 0; i < VK_LUID_SIZE; ++i ) 7359 { 7360 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIDProperties.deviceLUID[i] ); 7361 } 7362 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIDProperties.deviceNodeMask ); 7363 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIDProperties.deviceLUIDValid ); 7364 return seed; 7365 } 7366 }; 7367 7368 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImage2DViewOf3DFeaturesEXT> 7369 { operator ()std::hash7370 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceImage2DViewOf3DFeaturesEXT const & physicalDeviceImage2DViewOf3DFeaturesEXT) const VULKAN_HPP_NOEXCEPT 7371 { 7372 std::size_t seed = 0; 7373 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImage2DViewOf3DFeaturesEXT.sType ); 7374 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImage2DViewOf3DFeaturesEXT.pNext ); 7375 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImage2DViewOf3DFeaturesEXT.image2DViewOf3D ); 7376 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImage2DViewOf3DFeaturesEXT.sampler2DViewOf3D ); 7377 return seed; 7378 } 7379 }; 7380 7381 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageCompressionControlFeaturesEXT> 7382 { operator ()std::hash7383 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceImageCompressionControlFeaturesEXT const & physicalDeviceImageCompressionControlFeaturesEXT) const VULKAN_HPP_NOEXCEPT 7384 { 7385 std::size_t seed = 0; 7386 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageCompressionControlFeaturesEXT.sType ); 7387 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageCompressionControlFeaturesEXT.pNext ); 7388 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageCompressionControlFeaturesEXT.imageCompressionControl ); 7389 return seed; 7390 } 7391 }; 7392 7393 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT> 7394 { operator ()std::hash7395 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT const & physicalDeviceImageCompressionControlSwapchainFeaturesEXT) const VULKAN_HPP_NOEXCEPT 7396 { 7397 std::size_t seed = 0; 7398 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageCompressionControlSwapchainFeaturesEXT.sType ); 7399 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageCompressionControlSwapchainFeaturesEXT.pNext ); 7400 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageCompressionControlSwapchainFeaturesEXT.imageCompressionControlSwapchain ); 7401 return seed; 7402 } 7403 }; 7404 7405 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageDrmFormatModifierInfoEXT> 7406 { operator ()std::hash7407 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceImageDrmFormatModifierInfoEXT const & physicalDeviceImageDrmFormatModifierInfoEXT) const VULKAN_HPP_NOEXCEPT 7408 { 7409 std::size_t seed = 0; 7410 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageDrmFormatModifierInfoEXT.sType ); 7411 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageDrmFormatModifierInfoEXT.pNext ); 7412 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageDrmFormatModifierInfoEXT.drmFormatModifier ); 7413 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageDrmFormatModifierInfoEXT.sharingMode ); 7414 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageDrmFormatModifierInfoEXT.queueFamilyIndexCount ); 7415 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageDrmFormatModifierInfoEXT.pQueueFamilyIndices ); 7416 return seed; 7417 } 7418 }; 7419 7420 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2> 7421 { operator ()std::hash7422 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 const & physicalDeviceImageFormatInfo2) const VULKAN_HPP_NOEXCEPT 7423 { 7424 std::size_t seed = 0; 7425 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageFormatInfo2.sType ); 7426 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageFormatInfo2.pNext ); 7427 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageFormatInfo2.format ); 7428 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageFormatInfo2.type ); 7429 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageFormatInfo2.tiling ); 7430 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageFormatInfo2.usage ); 7431 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageFormatInfo2.flags ); 7432 return seed; 7433 } 7434 }; 7435 7436 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageProcessingFeaturesQCOM> 7437 { operator ()std::hash7438 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceImageProcessingFeaturesQCOM const & physicalDeviceImageProcessingFeaturesQCOM) const VULKAN_HPP_NOEXCEPT 7439 { 7440 std::size_t seed = 0; 7441 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessingFeaturesQCOM.sType ); 7442 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessingFeaturesQCOM.pNext ); 7443 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessingFeaturesQCOM.textureSampleWeighted ); 7444 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessingFeaturesQCOM.textureBoxFilter ); 7445 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessingFeaturesQCOM.textureBlockMatch ); 7446 return seed; 7447 } 7448 }; 7449 7450 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageProcessingPropertiesQCOM> 7451 { operator ()std::hash7452 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceImageProcessingPropertiesQCOM const & physicalDeviceImageProcessingPropertiesQCOM) const VULKAN_HPP_NOEXCEPT 7453 { 7454 std::size_t seed = 0; 7455 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessingPropertiesQCOM.sType ); 7456 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessingPropertiesQCOM.pNext ); 7457 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessingPropertiesQCOM.maxWeightFilterPhases ); 7458 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessingPropertiesQCOM.maxWeightFilterDimension ); 7459 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessingPropertiesQCOM.maxBlockMatchRegion ); 7460 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessingPropertiesQCOM.maxBoxFilterBlockSize ); 7461 return seed; 7462 } 7463 }; 7464 7465 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageRobustnessFeatures> 7466 { operator ()std::hash7467 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceImageRobustnessFeatures const & physicalDeviceImageRobustnessFeatures) const VULKAN_HPP_NOEXCEPT 7468 { 7469 std::size_t seed = 0; 7470 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageRobustnessFeatures.sType ); 7471 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageRobustnessFeatures.pNext ); 7472 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageRobustnessFeatures.robustImageAccess ); 7473 return seed; 7474 } 7475 }; 7476 7477 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageViewImageFormatInfoEXT> 7478 { operator ()std::hash7479 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceImageViewImageFormatInfoEXT const & physicalDeviceImageViewImageFormatInfoEXT) const VULKAN_HPP_NOEXCEPT 7480 { 7481 std::size_t seed = 0; 7482 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageViewImageFormatInfoEXT.sType ); 7483 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageViewImageFormatInfoEXT.pNext ); 7484 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageViewImageFormatInfoEXT.imageViewType ); 7485 return seed; 7486 } 7487 }; 7488 7489 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageViewMinLodFeaturesEXT> 7490 { operator ()std::hash7491 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceImageViewMinLodFeaturesEXT const & physicalDeviceImageViewMinLodFeaturesEXT) const VULKAN_HPP_NOEXCEPT 7492 { 7493 std::size_t seed = 0; 7494 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageViewMinLodFeaturesEXT.sType ); 7495 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageViewMinLodFeaturesEXT.pNext ); 7496 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageViewMinLodFeaturesEXT.minLod ); 7497 return seed; 7498 } 7499 }; 7500 7501 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImagelessFramebufferFeatures> 7502 { operator ()std::hash7503 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceImagelessFramebufferFeatures const & physicalDeviceImagelessFramebufferFeatures) const VULKAN_HPP_NOEXCEPT 7504 { 7505 std::size_t seed = 0; 7506 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImagelessFramebufferFeatures.sType ); 7507 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImagelessFramebufferFeatures.pNext ); 7508 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImagelessFramebufferFeatures.imagelessFramebuffer ); 7509 return seed; 7510 } 7511 }; 7512 7513 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceIndexTypeUint8FeaturesEXT> 7514 { operator ()std::hash7515 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceIndexTypeUint8FeaturesEXT const & physicalDeviceIndexTypeUint8FeaturesEXT) const VULKAN_HPP_NOEXCEPT 7516 { 7517 std::size_t seed = 0; 7518 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIndexTypeUint8FeaturesEXT.sType ); 7519 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIndexTypeUint8FeaturesEXT.pNext ); 7520 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIndexTypeUint8FeaturesEXT.indexTypeUint8 ); 7521 return seed; 7522 } 7523 }; 7524 7525 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceInheritedViewportScissorFeaturesNV> 7526 { operator ()std::hash7527 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceInheritedViewportScissorFeaturesNV const & physicalDeviceInheritedViewportScissorFeaturesNV) const VULKAN_HPP_NOEXCEPT 7528 { 7529 std::size_t seed = 0; 7530 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInheritedViewportScissorFeaturesNV.sType ); 7531 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInheritedViewportScissorFeaturesNV.pNext ); 7532 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInheritedViewportScissorFeaturesNV.inheritedViewportScissor2D ); 7533 return seed; 7534 } 7535 }; 7536 7537 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceInlineUniformBlockFeatures> 7538 { operator ()std::hash7539 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceInlineUniformBlockFeatures const & physicalDeviceInlineUniformBlockFeatures) const VULKAN_HPP_NOEXCEPT 7540 { 7541 std::size_t seed = 0; 7542 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInlineUniformBlockFeatures.sType ); 7543 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInlineUniformBlockFeatures.pNext ); 7544 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInlineUniformBlockFeatures.inlineUniformBlock ); 7545 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInlineUniformBlockFeatures.descriptorBindingInlineUniformBlockUpdateAfterBind ); 7546 return seed; 7547 } 7548 }; 7549 7550 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceInlineUniformBlockProperties> 7551 { operator ()std::hash7552 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceInlineUniformBlockProperties const & physicalDeviceInlineUniformBlockProperties) const VULKAN_HPP_NOEXCEPT 7553 { 7554 std::size_t seed = 0; 7555 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInlineUniformBlockProperties.sType ); 7556 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInlineUniformBlockProperties.pNext ); 7557 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInlineUniformBlockProperties.maxInlineUniformBlockSize ); 7558 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInlineUniformBlockProperties.maxPerStageDescriptorInlineUniformBlocks ); 7559 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInlineUniformBlockProperties.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks ); 7560 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInlineUniformBlockProperties.maxDescriptorSetInlineUniformBlocks ); 7561 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInlineUniformBlockProperties.maxDescriptorSetUpdateAfterBindInlineUniformBlocks ); 7562 return seed; 7563 } 7564 }; 7565 7566 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceInvocationMaskFeaturesHUAWEI> 7567 { operator ()std::hash7568 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceInvocationMaskFeaturesHUAWEI const & physicalDeviceInvocationMaskFeaturesHUAWEI) const VULKAN_HPP_NOEXCEPT 7569 { 7570 std::size_t seed = 0; 7571 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInvocationMaskFeaturesHUAWEI.sType ); 7572 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInvocationMaskFeaturesHUAWEI.pNext ); 7573 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInvocationMaskFeaturesHUAWEI.invocationMask ); 7574 return seed; 7575 } 7576 }; 7577 7578 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceLegacyDitheringFeaturesEXT> 7579 { operator ()std::hash7580 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceLegacyDitheringFeaturesEXT const & physicalDeviceLegacyDitheringFeaturesEXT) const VULKAN_HPP_NOEXCEPT 7581 { 7582 std::size_t seed = 0; 7583 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLegacyDitheringFeaturesEXT.sType ); 7584 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLegacyDitheringFeaturesEXT.pNext ); 7585 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLegacyDitheringFeaturesEXT.legacyDithering ); 7586 return seed; 7587 } 7588 }; 7589 7590 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceLimits> 7591 { operator ()std::hash7592 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceLimits const & physicalDeviceLimits) const VULKAN_HPP_NOEXCEPT 7593 { 7594 std::size_t seed = 0; 7595 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxImageDimension1D ); 7596 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxImageDimension2D ); 7597 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxImageDimension3D ); 7598 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxImageDimensionCube ); 7599 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxImageArrayLayers ); 7600 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxTexelBufferElements ); 7601 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxUniformBufferRange ); 7602 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxStorageBufferRange ); 7603 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxPushConstantsSize ); 7604 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxMemoryAllocationCount ); 7605 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxSamplerAllocationCount ); 7606 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.bufferImageGranularity ); 7607 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.sparseAddressSpaceSize ); 7608 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxBoundDescriptorSets ); 7609 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxPerStageDescriptorSamplers ); 7610 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxPerStageDescriptorUniformBuffers ); 7611 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxPerStageDescriptorStorageBuffers ); 7612 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxPerStageDescriptorSampledImages ); 7613 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxPerStageDescriptorStorageImages ); 7614 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxPerStageDescriptorInputAttachments ); 7615 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxPerStageResources ); 7616 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxDescriptorSetSamplers ); 7617 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxDescriptorSetUniformBuffers ); 7618 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxDescriptorSetUniformBuffersDynamic ); 7619 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxDescriptorSetStorageBuffers ); 7620 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxDescriptorSetStorageBuffersDynamic ); 7621 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxDescriptorSetSampledImages ); 7622 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxDescriptorSetStorageImages ); 7623 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxDescriptorSetInputAttachments ); 7624 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxVertexInputAttributes ); 7625 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxVertexInputBindings ); 7626 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxVertexInputAttributeOffset ); 7627 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxVertexInputBindingStride ); 7628 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxVertexOutputComponents ); 7629 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxTessellationGenerationLevel ); 7630 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxTessellationPatchSize ); 7631 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxTessellationControlPerVertexInputComponents ); 7632 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxTessellationControlPerVertexOutputComponents ); 7633 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxTessellationControlPerPatchOutputComponents ); 7634 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxTessellationControlTotalOutputComponents ); 7635 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxTessellationEvaluationInputComponents ); 7636 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxTessellationEvaluationOutputComponents ); 7637 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxGeometryShaderInvocations ); 7638 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxGeometryInputComponents ); 7639 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxGeometryOutputComponents ); 7640 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxGeometryOutputVertices ); 7641 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxGeometryTotalOutputComponents ); 7642 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxFragmentInputComponents ); 7643 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxFragmentOutputAttachments ); 7644 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxFragmentDualSrcAttachments ); 7645 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxFragmentCombinedOutputResources ); 7646 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxComputeSharedMemorySize ); 7647 for ( size_t i = 0; i < 3; ++i ) 7648 { 7649 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxComputeWorkGroupCount[i] ); 7650 } 7651 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxComputeWorkGroupInvocations ); 7652 for ( size_t i = 0; i < 3; ++i ) 7653 { 7654 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxComputeWorkGroupSize[i] ); 7655 } 7656 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.subPixelPrecisionBits ); 7657 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.subTexelPrecisionBits ); 7658 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.mipmapPrecisionBits ); 7659 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxDrawIndexedIndexValue ); 7660 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxDrawIndirectCount ); 7661 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxSamplerLodBias ); 7662 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxSamplerAnisotropy ); 7663 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxViewports ); 7664 for ( size_t i = 0; i < 2; ++i ) 7665 { 7666 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxViewportDimensions[i] ); 7667 } 7668 for ( size_t i = 0; i < 2; ++i ) 7669 { 7670 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.viewportBoundsRange[i] ); 7671 } 7672 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.viewportSubPixelBits ); 7673 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.minMemoryMapAlignment ); 7674 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.minTexelBufferOffsetAlignment ); 7675 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.minUniformBufferOffsetAlignment ); 7676 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.minStorageBufferOffsetAlignment ); 7677 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.minTexelOffset ); 7678 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxTexelOffset ); 7679 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.minTexelGatherOffset ); 7680 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxTexelGatherOffset ); 7681 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.minInterpolationOffset ); 7682 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxInterpolationOffset ); 7683 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.subPixelInterpolationOffsetBits ); 7684 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxFramebufferWidth ); 7685 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxFramebufferHeight ); 7686 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxFramebufferLayers ); 7687 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.framebufferColorSampleCounts ); 7688 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.framebufferDepthSampleCounts ); 7689 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.framebufferStencilSampleCounts ); 7690 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.framebufferNoAttachmentsSampleCounts ); 7691 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxColorAttachments ); 7692 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.sampledImageColorSampleCounts ); 7693 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.sampledImageIntegerSampleCounts ); 7694 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.sampledImageDepthSampleCounts ); 7695 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.sampledImageStencilSampleCounts ); 7696 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.storageImageSampleCounts ); 7697 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxSampleMaskWords ); 7698 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.timestampComputeAndGraphics ); 7699 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.timestampPeriod ); 7700 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxClipDistances ); 7701 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxCullDistances ); 7702 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.maxCombinedClipAndCullDistances ); 7703 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.discreteQueuePriorities ); 7704 for ( size_t i = 0; i < 2; ++i ) 7705 { 7706 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.pointSizeRange[i] ); 7707 } 7708 for ( size_t i = 0; i < 2; ++i ) 7709 { 7710 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.lineWidthRange[i] ); 7711 } 7712 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.pointSizeGranularity ); 7713 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.lineWidthGranularity ); 7714 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.strictLines ); 7715 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.standardSampleLocations ); 7716 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.optimalBufferCopyOffsetAlignment ); 7717 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.optimalBufferCopyRowPitchAlignment ); 7718 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLimits.nonCoherentAtomSize ); 7719 return seed; 7720 } 7721 }; 7722 7723 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationFeaturesEXT> 7724 { operator ()std::hash7725 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationFeaturesEXT const & physicalDeviceLineRasterizationFeaturesEXT) const VULKAN_HPP_NOEXCEPT 7726 { 7727 std::size_t seed = 0; 7728 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesEXT.sType ); 7729 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesEXT.pNext ); 7730 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesEXT.rectangularLines ); 7731 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesEXT.bresenhamLines ); 7732 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesEXT.smoothLines ); 7733 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesEXT.stippledRectangularLines ); 7734 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesEXT.stippledBresenhamLines ); 7735 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesEXT.stippledSmoothLines ); 7736 return seed; 7737 } 7738 }; 7739 7740 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationPropertiesEXT> 7741 { operator ()std::hash7742 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationPropertiesEXT const & physicalDeviceLineRasterizationPropertiesEXT) const VULKAN_HPP_NOEXCEPT 7743 { 7744 std::size_t seed = 0; 7745 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationPropertiesEXT.sType ); 7746 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationPropertiesEXT.pNext ); 7747 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationPropertiesEXT.lineSubPixelPrecisionBits ); 7748 return seed; 7749 } 7750 }; 7751 7752 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceLinearColorAttachmentFeaturesNV> 7753 { operator ()std::hash7754 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceLinearColorAttachmentFeaturesNV const & physicalDeviceLinearColorAttachmentFeaturesNV) const VULKAN_HPP_NOEXCEPT 7755 { 7756 std::size_t seed = 0; 7757 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLinearColorAttachmentFeaturesNV.sType ); 7758 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLinearColorAttachmentFeaturesNV.pNext ); 7759 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLinearColorAttachmentFeaturesNV.linearColorAttachment ); 7760 return seed; 7761 } 7762 }; 7763 7764 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance3Properties> 7765 { operator ()std::hash7766 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance3Properties const & physicalDeviceMaintenance3Properties) const VULKAN_HPP_NOEXCEPT 7767 { 7768 std::size_t seed = 0; 7769 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMaintenance3Properties.sType ); 7770 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMaintenance3Properties.pNext ); 7771 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMaintenance3Properties.maxPerSetDescriptors ); 7772 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMaintenance3Properties.maxMemoryAllocationSize ); 7773 return seed; 7774 } 7775 }; 7776 7777 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance4Features> 7778 { operator ()std::hash7779 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance4Features const & physicalDeviceMaintenance4Features) const VULKAN_HPP_NOEXCEPT 7780 { 7781 std::size_t seed = 0; 7782 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMaintenance4Features.sType ); 7783 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMaintenance4Features.pNext ); 7784 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMaintenance4Features.maintenance4 ); 7785 return seed; 7786 } 7787 }; 7788 7789 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance4Properties> 7790 { operator ()std::hash7791 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance4Properties const & physicalDeviceMaintenance4Properties) const VULKAN_HPP_NOEXCEPT 7792 { 7793 std::size_t seed = 0; 7794 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMaintenance4Properties.sType ); 7795 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMaintenance4Properties.pNext ); 7796 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMaintenance4Properties.maxBufferSize ); 7797 return seed; 7798 } 7799 }; 7800 7801 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryBudgetPropertiesEXT> 7802 { operator ()std::hash7803 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryBudgetPropertiesEXT const & physicalDeviceMemoryBudgetPropertiesEXT) const VULKAN_HPP_NOEXCEPT 7804 { 7805 std::size_t seed = 0; 7806 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryBudgetPropertiesEXT.sType ); 7807 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryBudgetPropertiesEXT.pNext ); 7808 for ( size_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i ) 7809 { 7810 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryBudgetPropertiesEXT.heapBudget[i] ); 7811 } 7812 for ( size_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i ) 7813 { 7814 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryBudgetPropertiesEXT.heapUsage[i] ); 7815 } 7816 return seed; 7817 } 7818 }; 7819 7820 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryDecompressionFeaturesNV> 7821 { operator ()std::hash7822 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryDecompressionFeaturesNV const & physicalDeviceMemoryDecompressionFeaturesNV) const VULKAN_HPP_NOEXCEPT 7823 { 7824 std::size_t seed = 0; 7825 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryDecompressionFeaturesNV.sType ); 7826 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryDecompressionFeaturesNV.pNext ); 7827 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryDecompressionFeaturesNV.memoryDecompression ); 7828 return seed; 7829 } 7830 }; 7831 7832 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryDecompressionPropertiesNV> 7833 { operator ()std::hash7834 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryDecompressionPropertiesNV const & physicalDeviceMemoryDecompressionPropertiesNV) const VULKAN_HPP_NOEXCEPT 7835 { 7836 std::size_t seed = 0; 7837 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryDecompressionPropertiesNV.sType ); 7838 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryDecompressionPropertiesNV.pNext ); 7839 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryDecompressionPropertiesNV.decompressionMethods ); 7840 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryDecompressionPropertiesNV.maxDecompressionIndirectCount ); 7841 return seed; 7842 } 7843 }; 7844 7845 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryPriorityFeaturesEXT> 7846 { operator ()std::hash7847 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryPriorityFeaturesEXT const & physicalDeviceMemoryPriorityFeaturesEXT) const VULKAN_HPP_NOEXCEPT 7848 { 7849 std::size_t seed = 0; 7850 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryPriorityFeaturesEXT.sType ); 7851 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryPriorityFeaturesEXT.pNext ); 7852 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryPriorityFeaturesEXT.memoryPriority ); 7853 return seed; 7854 } 7855 }; 7856 7857 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties> 7858 { operator ()std::hash7859 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties const & physicalDeviceMemoryProperties) const VULKAN_HPP_NOEXCEPT 7860 { 7861 std::size_t seed = 0; 7862 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryProperties.memoryTypeCount ); 7863 for ( size_t i = 0; i < VK_MAX_MEMORY_TYPES; ++i ) 7864 { 7865 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryProperties.memoryTypes[i] ); 7866 } 7867 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryProperties.memoryHeapCount ); 7868 for ( size_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i ) 7869 { 7870 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryProperties.memoryHeaps[i] ); 7871 } 7872 return seed; 7873 } 7874 }; 7875 7876 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2> 7877 { operator ()std::hash7878 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 const & physicalDeviceMemoryProperties2) const VULKAN_HPP_NOEXCEPT 7879 { 7880 std::size_t seed = 0; 7881 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryProperties2.sType ); 7882 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryProperties2.pNext ); 7883 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMemoryProperties2.memoryProperties ); 7884 return seed; 7885 } 7886 }; 7887 7888 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMeshShaderFeaturesEXT> 7889 { operator ()std::hash7890 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMeshShaderFeaturesEXT const & physicalDeviceMeshShaderFeaturesEXT) const VULKAN_HPP_NOEXCEPT 7891 { 7892 std::size_t seed = 0; 7893 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderFeaturesEXT.sType ); 7894 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderFeaturesEXT.pNext ); 7895 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderFeaturesEXT.taskShader ); 7896 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderFeaturesEXT.meshShader ); 7897 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderFeaturesEXT.multiviewMeshShader ); 7898 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderFeaturesEXT.primitiveFragmentShadingRateMeshShader ); 7899 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderFeaturesEXT.meshShaderQueries ); 7900 return seed; 7901 } 7902 }; 7903 7904 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMeshShaderFeaturesNV> 7905 { operator ()std::hash7906 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMeshShaderFeaturesNV const & physicalDeviceMeshShaderFeaturesNV) const VULKAN_HPP_NOEXCEPT 7907 { 7908 std::size_t seed = 0; 7909 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderFeaturesNV.sType ); 7910 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderFeaturesNV.pNext ); 7911 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderFeaturesNV.taskShader ); 7912 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderFeaturesNV.meshShader ); 7913 return seed; 7914 } 7915 }; 7916 7917 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMeshShaderPropertiesEXT> 7918 { operator ()std::hash7919 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMeshShaderPropertiesEXT const & physicalDeviceMeshShaderPropertiesEXT) const VULKAN_HPP_NOEXCEPT 7920 { 7921 std::size_t seed = 0; 7922 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.sType ); 7923 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.pNext ); 7924 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.maxTaskWorkGroupTotalCount ); 7925 for ( size_t i = 0; i < 3; ++i ) 7926 { 7927 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.maxTaskWorkGroupCount[i] ); 7928 } 7929 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.maxTaskWorkGroupInvocations ); 7930 for ( size_t i = 0; i < 3; ++i ) 7931 { 7932 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.maxTaskWorkGroupSize[i] ); 7933 } 7934 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.maxTaskPayloadSize ); 7935 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.maxTaskSharedMemorySize ); 7936 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.maxTaskPayloadAndSharedMemorySize ); 7937 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.maxMeshWorkGroupTotalCount ); 7938 for ( size_t i = 0; i < 3; ++i ) 7939 { 7940 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.maxMeshWorkGroupCount[i] ); 7941 } 7942 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.maxMeshWorkGroupInvocations ); 7943 for ( size_t i = 0; i < 3; ++i ) 7944 { 7945 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.maxMeshWorkGroupSize[i] ); 7946 } 7947 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.maxMeshSharedMemorySize ); 7948 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.maxMeshPayloadAndSharedMemorySize ); 7949 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.maxMeshOutputMemorySize ); 7950 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.maxMeshPayloadAndOutputMemorySize ); 7951 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.maxMeshOutputComponents ); 7952 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.maxMeshOutputVertices ); 7953 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.maxMeshOutputPrimitives ); 7954 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.maxMeshOutputLayers ); 7955 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.maxMeshMultiviewViewCount ); 7956 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.meshOutputPerVertexGranularity ); 7957 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.meshOutputPerPrimitiveGranularity ); 7958 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.maxPreferredTaskWorkGroupInvocations ); 7959 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.maxPreferredMeshWorkGroupInvocations ); 7960 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.prefersLocalInvocationVertexOutput ); 7961 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.prefersLocalInvocationPrimitiveOutput ); 7962 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.prefersCompactVertexOutput ); 7963 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesEXT.prefersCompactPrimitiveOutput ); 7964 return seed; 7965 } 7966 }; 7967 7968 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMeshShaderPropertiesNV> 7969 { operator ()std::hash7970 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMeshShaderPropertiesNV const & physicalDeviceMeshShaderPropertiesNV) const VULKAN_HPP_NOEXCEPT 7971 { 7972 std::size_t seed = 0; 7973 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.sType ); 7974 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.pNext ); 7975 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.maxDrawMeshTasksCount ); 7976 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.maxTaskWorkGroupInvocations ); 7977 for ( size_t i = 0; i < 3; ++i ) 7978 { 7979 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.maxTaskWorkGroupSize[i] ); 7980 } 7981 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.maxTaskTotalMemorySize ); 7982 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.maxTaskOutputCount ); 7983 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.maxMeshWorkGroupInvocations ); 7984 for ( size_t i = 0; i < 3; ++i ) 7985 { 7986 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.maxMeshWorkGroupSize[i] ); 7987 } 7988 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.maxMeshTotalMemorySize ); 7989 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.maxMeshOutputVertices ); 7990 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.maxMeshOutputPrimitives ); 7991 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.maxMeshMultiviewViewCount ); 7992 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.meshOutputPerVertexGranularity ); 7993 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMeshShaderPropertiesNV.meshOutputPerPrimitiveGranularity ); 7994 return seed; 7995 } 7996 }; 7997 7998 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiDrawFeaturesEXT> 7999 { operator ()std::hash8000 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiDrawFeaturesEXT const & physicalDeviceMultiDrawFeaturesEXT) const VULKAN_HPP_NOEXCEPT 8001 { 8002 std::size_t seed = 0; 8003 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiDrawFeaturesEXT.sType ); 8004 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiDrawFeaturesEXT.pNext ); 8005 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiDrawFeaturesEXT.multiDraw ); 8006 return seed; 8007 } 8008 }; 8009 8010 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiDrawPropertiesEXT> 8011 { operator ()std::hash8012 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiDrawPropertiesEXT const & physicalDeviceMultiDrawPropertiesEXT) const VULKAN_HPP_NOEXCEPT 8013 { 8014 std::size_t seed = 0; 8015 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiDrawPropertiesEXT.sType ); 8016 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiDrawPropertiesEXT.pNext ); 8017 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiDrawPropertiesEXT.maxMultiDrawCount ); 8018 return seed; 8019 } 8020 }; 8021 8022 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT> 8023 { operator ()std::hash8024 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT const & physicalDeviceMultisampledRenderToSingleSampledFeaturesEXT) const VULKAN_HPP_NOEXCEPT 8025 { 8026 std::size_t seed = 0; 8027 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultisampledRenderToSingleSampledFeaturesEXT.sType ); 8028 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultisampledRenderToSingleSampledFeaturesEXT.pNext ); 8029 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultisampledRenderToSingleSampledFeaturesEXT.multisampledRenderToSingleSampled ); 8030 return seed; 8031 } 8032 }; 8033 8034 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewFeatures> 8035 { operator ()std::hash8036 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewFeatures const & physicalDeviceMultiviewFeatures) const VULKAN_HPP_NOEXCEPT 8037 { 8038 std::size_t seed = 0; 8039 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewFeatures.sType ); 8040 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewFeatures.pNext ); 8041 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewFeatures.multiview ); 8042 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewFeatures.multiviewGeometryShader ); 8043 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewFeatures.multiviewTessellationShader ); 8044 return seed; 8045 } 8046 }; 8047 8048 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX> 8049 { operator ()std::hash8050 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const & physicalDeviceMultiviewPerViewAttributesPropertiesNVX) const VULKAN_HPP_NOEXCEPT 8051 { 8052 std::size_t seed = 0; 8053 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewPerViewAttributesPropertiesNVX.sType ); 8054 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewPerViewAttributesPropertiesNVX.pNext ); 8055 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewPerViewAttributesPropertiesNVX.perViewPositionAllComponents ); 8056 return seed; 8057 } 8058 }; 8059 8060 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM> 8061 { operator ()std::hash8062 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM const & physicalDeviceMultiviewPerViewViewportsFeaturesQCOM) const VULKAN_HPP_NOEXCEPT 8063 { 8064 std::size_t seed = 0; 8065 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewPerViewViewportsFeaturesQCOM.sType ); 8066 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewPerViewViewportsFeaturesQCOM.pNext ); 8067 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewPerViewViewportsFeaturesQCOM.multiviewPerViewViewports ); 8068 return seed; 8069 } 8070 }; 8071 8072 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewProperties> 8073 { operator ()std::hash8074 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewProperties const & physicalDeviceMultiviewProperties) const VULKAN_HPP_NOEXCEPT 8075 { 8076 std::size_t seed = 0; 8077 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewProperties.sType ); 8078 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewProperties.pNext ); 8079 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewProperties.maxMultiviewViewCount ); 8080 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewProperties.maxMultiviewInstanceIndex ); 8081 return seed; 8082 } 8083 }; 8084 8085 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMutableDescriptorTypeFeaturesEXT> 8086 { operator ()std::hash8087 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMutableDescriptorTypeFeaturesEXT const & physicalDeviceMutableDescriptorTypeFeaturesEXT) const VULKAN_HPP_NOEXCEPT 8088 { 8089 std::size_t seed = 0; 8090 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMutableDescriptorTypeFeaturesEXT.sType ); 8091 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMutableDescriptorTypeFeaturesEXT.pNext ); 8092 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMutableDescriptorTypeFeaturesEXT.mutableDescriptorType ); 8093 return seed; 8094 } 8095 }; 8096 8097 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceNonSeamlessCubeMapFeaturesEXT> 8098 { operator ()std::hash8099 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceNonSeamlessCubeMapFeaturesEXT const & physicalDeviceNonSeamlessCubeMapFeaturesEXT) const VULKAN_HPP_NOEXCEPT 8100 { 8101 std::size_t seed = 0; 8102 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceNonSeamlessCubeMapFeaturesEXT.sType ); 8103 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceNonSeamlessCubeMapFeaturesEXT.pNext ); 8104 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceNonSeamlessCubeMapFeaturesEXT.nonSeamlessCubeMap ); 8105 return seed; 8106 } 8107 }; 8108 8109 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceOpacityMicromapFeaturesEXT> 8110 { operator ()std::hash8111 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceOpacityMicromapFeaturesEXT const & physicalDeviceOpacityMicromapFeaturesEXT) const VULKAN_HPP_NOEXCEPT 8112 { 8113 std::size_t seed = 0; 8114 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpacityMicromapFeaturesEXT.sType ); 8115 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpacityMicromapFeaturesEXT.pNext ); 8116 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpacityMicromapFeaturesEXT.micromap ); 8117 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpacityMicromapFeaturesEXT.micromapCaptureReplay ); 8118 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpacityMicromapFeaturesEXT.micromapHostCommands ); 8119 return seed; 8120 } 8121 }; 8122 8123 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceOpacityMicromapPropertiesEXT> 8124 { operator ()std::hash8125 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceOpacityMicromapPropertiesEXT const & physicalDeviceOpacityMicromapPropertiesEXT) const VULKAN_HPP_NOEXCEPT 8126 { 8127 std::size_t seed = 0; 8128 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpacityMicromapPropertiesEXT.sType ); 8129 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpacityMicromapPropertiesEXT.pNext ); 8130 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpacityMicromapPropertiesEXT.maxOpacity2StateSubdivisionLevel ); 8131 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpacityMicromapPropertiesEXT.maxOpacity4StateSubdivisionLevel ); 8132 return seed; 8133 } 8134 }; 8135 8136 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceOpticalFlowFeaturesNV> 8137 { operator ()std::hash8138 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceOpticalFlowFeaturesNV const & physicalDeviceOpticalFlowFeaturesNV) const VULKAN_HPP_NOEXCEPT 8139 { 8140 std::size_t seed = 0; 8141 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpticalFlowFeaturesNV.sType ); 8142 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpticalFlowFeaturesNV.pNext ); 8143 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpticalFlowFeaturesNV.opticalFlow ); 8144 return seed; 8145 } 8146 }; 8147 8148 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceOpticalFlowPropertiesNV> 8149 { operator ()std::hash8150 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceOpticalFlowPropertiesNV const & physicalDeviceOpticalFlowPropertiesNV) const VULKAN_HPP_NOEXCEPT 8151 { 8152 std::size_t seed = 0; 8153 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpticalFlowPropertiesNV.sType ); 8154 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpticalFlowPropertiesNV.pNext ); 8155 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpticalFlowPropertiesNV.supportedOutputGridSizes ); 8156 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpticalFlowPropertiesNV.supportedHintGridSizes ); 8157 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpticalFlowPropertiesNV.hintSupported ); 8158 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpticalFlowPropertiesNV.costSupported ); 8159 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpticalFlowPropertiesNV.bidirectionalFlowSupported ); 8160 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpticalFlowPropertiesNV.globalFlowSupported ); 8161 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpticalFlowPropertiesNV.minWidth ); 8162 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpticalFlowPropertiesNV.minHeight ); 8163 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpticalFlowPropertiesNV.maxWidth ); 8164 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpticalFlowPropertiesNV.maxHeight ); 8165 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpticalFlowPropertiesNV.maxNumRegionsOfInterest ); 8166 return seed; 8167 } 8168 }; 8169 8170 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePCIBusInfoPropertiesEXT> 8171 { operator ()std::hash8172 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePCIBusInfoPropertiesEXT const & physicalDevicePCIBusInfoPropertiesEXT) const VULKAN_HPP_NOEXCEPT 8173 { 8174 std::size_t seed = 0; 8175 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePCIBusInfoPropertiesEXT.sType ); 8176 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePCIBusInfoPropertiesEXT.pNext ); 8177 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePCIBusInfoPropertiesEXT.pciDomain ); 8178 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePCIBusInfoPropertiesEXT.pciBus ); 8179 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePCIBusInfoPropertiesEXT.pciDevice ); 8180 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePCIBusInfoPropertiesEXT.pciFunction ); 8181 return seed; 8182 } 8183 }; 8184 8185 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT> 8186 { operator ()std::hash8187 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT const & physicalDevicePageableDeviceLocalMemoryFeaturesEXT) const VULKAN_HPP_NOEXCEPT 8188 { 8189 std::size_t seed = 0; 8190 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePageableDeviceLocalMemoryFeaturesEXT.sType ); 8191 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePageableDeviceLocalMemoryFeaturesEXT.pNext ); 8192 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePageableDeviceLocalMemoryFeaturesEXT.pageableDeviceLocalMemory ); 8193 return seed; 8194 } 8195 }; 8196 8197 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePerformanceQueryFeaturesKHR> 8198 { operator ()std::hash8199 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePerformanceQueryFeaturesKHR const & physicalDevicePerformanceQueryFeaturesKHR) const VULKAN_HPP_NOEXCEPT 8200 { 8201 std::size_t seed = 0; 8202 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePerformanceQueryFeaturesKHR.sType ); 8203 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePerformanceQueryFeaturesKHR.pNext ); 8204 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePerformanceQueryFeaturesKHR.performanceCounterQueryPools ); 8205 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePerformanceQueryFeaturesKHR.performanceCounterMultipleQueryPools ); 8206 return seed; 8207 } 8208 }; 8209 8210 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePerformanceQueryPropertiesKHR> 8211 { operator ()std::hash8212 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePerformanceQueryPropertiesKHR const & physicalDevicePerformanceQueryPropertiesKHR) const VULKAN_HPP_NOEXCEPT 8213 { 8214 std::size_t seed = 0; 8215 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePerformanceQueryPropertiesKHR.sType ); 8216 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePerformanceQueryPropertiesKHR.pNext ); 8217 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePerformanceQueryPropertiesKHR.allowCommandBufferQueryCopies ); 8218 return seed; 8219 } 8220 }; 8221 8222 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineCreationCacheControlFeatures> 8223 { operator ()std::hash8224 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineCreationCacheControlFeatures const & physicalDevicePipelineCreationCacheControlFeatures) const VULKAN_HPP_NOEXCEPT 8225 { 8226 std::size_t seed = 0; 8227 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineCreationCacheControlFeatures.sType ); 8228 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineCreationCacheControlFeatures.pNext ); 8229 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineCreationCacheControlFeatures.pipelineCreationCacheControl ); 8230 return seed; 8231 } 8232 }; 8233 8234 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineExecutablePropertiesFeaturesKHR> 8235 { operator ()std::hash8236 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineExecutablePropertiesFeaturesKHR const & physicalDevicePipelineExecutablePropertiesFeaturesKHR) const VULKAN_HPP_NOEXCEPT 8237 { 8238 std::size_t seed = 0; 8239 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineExecutablePropertiesFeaturesKHR.sType ); 8240 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineExecutablePropertiesFeaturesKHR.pNext ); 8241 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineExecutablePropertiesFeaturesKHR.pipelineExecutableInfo ); 8242 return seed; 8243 } 8244 }; 8245 8246 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePipelinePropertiesFeaturesEXT> 8247 { operator ()std::hash8248 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePipelinePropertiesFeaturesEXT const & physicalDevicePipelinePropertiesFeaturesEXT) const VULKAN_HPP_NOEXCEPT 8249 { 8250 std::size_t seed = 0; 8251 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelinePropertiesFeaturesEXT.sType ); 8252 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelinePropertiesFeaturesEXT.pNext ); 8253 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelinePropertiesFeaturesEXT.pipelinePropertiesIdentifier ); 8254 return seed; 8255 } 8256 }; 8257 8258 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineProtectedAccessFeaturesEXT> 8259 { operator ()std::hash8260 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineProtectedAccessFeaturesEXT const & physicalDevicePipelineProtectedAccessFeaturesEXT) const VULKAN_HPP_NOEXCEPT 8261 { 8262 std::size_t seed = 0; 8263 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineProtectedAccessFeaturesEXT.sType ); 8264 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineProtectedAccessFeaturesEXT.pNext ); 8265 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineProtectedAccessFeaturesEXT.pipelineProtectedAccess ); 8266 return seed; 8267 } 8268 }; 8269 8270 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineRobustnessFeaturesEXT> 8271 { operator ()std::hash8272 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineRobustnessFeaturesEXT const & physicalDevicePipelineRobustnessFeaturesEXT) const VULKAN_HPP_NOEXCEPT 8273 { 8274 std::size_t seed = 0; 8275 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineRobustnessFeaturesEXT.sType ); 8276 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineRobustnessFeaturesEXT.pNext ); 8277 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineRobustnessFeaturesEXT.pipelineRobustness ); 8278 return seed; 8279 } 8280 }; 8281 8282 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineRobustnessPropertiesEXT> 8283 { operator ()std::hash8284 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineRobustnessPropertiesEXT const & physicalDevicePipelineRobustnessPropertiesEXT) const VULKAN_HPP_NOEXCEPT 8285 { 8286 std::size_t seed = 0; 8287 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineRobustnessPropertiesEXT.sType ); 8288 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineRobustnessPropertiesEXT.pNext ); 8289 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineRobustnessPropertiesEXT.defaultRobustnessStorageBuffers ); 8290 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineRobustnessPropertiesEXT.defaultRobustnessUniformBuffers ); 8291 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineRobustnessPropertiesEXT.defaultRobustnessVertexInputs ); 8292 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineRobustnessPropertiesEXT.defaultRobustnessImages ); 8293 return seed; 8294 } 8295 }; 8296 8297 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePointClippingProperties> 8298 { operator ()std::hash8299 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePointClippingProperties const & physicalDevicePointClippingProperties) const VULKAN_HPP_NOEXCEPT 8300 { 8301 std::size_t seed = 0; 8302 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePointClippingProperties.sType ); 8303 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePointClippingProperties.pNext ); 8304 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePointClippingProperties.pointClippingBehavior ); 8305 return seed; 8306 } 8307 }; 8308 8309 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 8310 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePortabilitySubsetFeaturesKHR> 8311 { operator ()std::hash8312 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePortabilitySubsetFeaturesKHR const & physicalDevicePortabilitySubsetFeaturesKHR) const VULKAN_HPP_NOEXCEPT 8313 { 8314 std::size_t seed = 0; 8315 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.sType ); 8316 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.pNext ); 8317 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.constantAlphaColorBlendFactors ); 8318 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.events ); 8319 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.imageViewFormatReinterpretation ); 8320 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.imageViewFormatSwizzle ); 8321 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.imageView2DOn3DImage ); 8322 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.multisampleArrayImage ); 8323 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.mutableComparisonSamplers ); 8324 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.pointPolygons ); 8325 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.samplerMipLodBias ); 8326 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.separateStencilMaskRef ); 8327 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.shaderSampleRateInterpolationFunctions ); 8328 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.tessellationIsolines ); 8329 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.tessellationPointMode ); 8330 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.triangleFans ); 8331 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetFeaturesKHR.vertexAttributeAccessBeyondStride ); 8332 return seed; 8333 } 8334 }; 8335 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 8336 8337 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 8338 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePortabilitySubsetPropertiesKHR> 8339 { operator ()std::hash8340 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePortabilitySubsetPropertiesKHR const & physicalDevicePortabilitySubsetPropertiesKHR) const VULKAN_HPP_NOEXCEPT 8341 { 8342 std::size_t seed = 0; 8343 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetPropertiesKHR.sType ); 8344 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetPropertiesKHR.pNext ); 8345 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePortabilitySubsetPropertiesKHR.minVertexInputBindingStrideAlignment ); 8346 return seed; 8347 } 8348 }; 8349 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 8350 8351 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePresentBarrierFeaturesNV> 8352 { operator ()std::hash8353 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePresentBarrierFeaturesNV const & physicalDevicePresentBarrierFeaturesNV) const VULKAN_HPP_NOEXCEPT 8354 { 8355 std::size_t seed = 0; 8356 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePresentBarrierFeaturesNV.sType ); 8357 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePresentBarrierFeaturesNV.pNext ); 8358 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePresentBarrierFeaturesNV.presentBarrier ); 8359 return seed; 8360 } 8361 }; 8362 8363 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePresentIdFeaturesKHR> 8364 { operator ()std::hash8365 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePresentIdFeaturesKHR const & physicalDevicePresentIdFeaturesKHR) const VULKAN_HPP_NOEXCEPT 8366 { 8367 std::size_t seed = 0; 8368 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePresentIdFeaturesKHR.sType ); 8369 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePresentIdFeaturesKHR.pNext ); 8370 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePresentIdFeaturesKHR.presentId ); 8371 return seed; 8372 } 8373 }; 8374 8375 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePresentWaitFeaturesKHR> 8376 { operator ()std::hash8377 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePresentWaitFeaturesKHR const & physicalDevicePresentWaitFeaturesKHR) const VULKAN_HPP_NOEXCEPT 8378 { 8379 std::size_t seed = 0; 8380 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePresentWaitFeaturesKHR.sType ); 8381 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePresentWaitFeaturesKHR.pNext ); 8382 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePresentWaitFeaturesKHR.presentWait ); 8383 return seed; 8384 } 8385 }; 8386 8387 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT> 8388 { operator ()std::hash8389 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT const & physicalDevicePrimitiveTopologyListRestartFeaturesEXT) const VULKAN_HPP_NOEXCEPT 8390 { 8391 std::size_t seed = 0; 8392 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePrimitiveTopologyListRestartFeaturesEXT.sType ); 8393 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePrimitiveTopologyListRestartFeaturesEXT.pNext ); 8394 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePrimitiveTopologyListRestartFeaturesEXT.primitiveTopologyListRestart ); 8395 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePrimitiveTopologyListRestartFeaturesEXT.primitiveTopologyPatchListRestart ); 8396 return seed; 8397 } 8398 }; 8399 8400 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT> 8401 { operator ()std::hash8402 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT const & physicalDevicePrimitivesGeneratedQueryFeaturesEXT) const VULKAN_HPP_NOEXCEPT 8403 { 8404 std::size_t seed = 0; 8405 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePrimitivesGeneratedQueryFeaturesEXT.sType ); 8406 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePrimitivesGeneratedQueryFeaturesEXT.pNext ); 8407 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePrimitivesGeneratedQueryFeaturesEXT.primitivesGeneratedQuery ); 8408 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePrimitivesGeneratedQueryFeaturesEXT.primitivesGeneratedQueryWithRasterizerDiscard ); 8409 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePrimitivesGeneratedQueryFeaturesEXT.primitivesGeneratedQueryWithNonZeroStreams ); 8410 return seed; 8411 } 8412 }; 8413 8414 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePrivateDataFeatures> 8415 { operator ()std::hash8416 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePrivateDataFeatures const & physicalDevicePrivateDataFeatures) const VULKAN_HPP_NOEXCEPT 8417 { 8418 std::size_t seed = 0; 8419 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePrivateDataFeatures.sType ); 8420 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePrivateDataFeatures.pNext ); 8421 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePrivateDataFeatures.privateData ); 8422 return seed; 8423 } 8424 }; 8425 8426 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseProperties> 8427 { operator ()std::hash8428 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseProperties const & physicalDeviceSparseProperties) const VULKAN_HPP_NOEXCEPT 8429 { 8430 std::size_t seed = 0; 8431 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSparseProperties.residencyStandard2DBlockShape ); 8432 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSparseProperties.residencyStandard2DMultisampleBlockShape ); 8433 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSparseProperties.residencyStandard3DBlockShape ); 8434 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSparseProperties.residencyAlignedMipSize ); 8435 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSparseProperties.residencyNonResidentStrict ); 8436 return seed; 8437 } 8438 }; 8439 8440 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties> 8441 { operator ()std::hash8442 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties const & physicalDeviceProperties) const VULKAN_HPP_NOEXCEPT 8443 { 8444 std::size_t seed = 0; 8445 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProperties.apiVersion ); 8446 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProperties.driverVersion ); 8447 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProperties.vendorID ); 8448 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProperties.deviceID ); 8449 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProperties.deviceType ); 8450 for ( size_t i = 0; i < VK_MAX_PHYSICAL_DEVICE_NAME_SIZE; ++i ) 8451 { 8452 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProperties.deviceName[i] ); 8453 } 8454 for ( size_t i = 0; i < VK_UUID_SIZE; ++i ) 8455 { 8456 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProperties.pipelineCacheUUID[i] ); 8457 } 8458 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProperties.limits ); 8459 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProperties.sparseProperties ); 8460 return seed; 8461 } 8462 }; 8463 8464 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2> 8465 { operator ()std::hash8466 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 const & physicalDeviceProperties2) const VULKAN_HPP_NOEXCEPT 8467 { 8468 std::size_t seed = 0; 8469 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProperties2.sType ); 8470 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProperties2.pNext ); 8471 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProperties2.properties ); 8472 return seed; 8473 } 8474 }; 8475 8476 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceProtectedMemoryFeatures> 8477 { operator ()std::hash8478 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceProtectedMemoryFeatures const & physicalDeviceProtectedMemoryFeatures) const VULKAN_HPP_NOEXCEPT 8479 { 8480 std::size_t seed = 0; 8481 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProtectedMemoryFeatures.sType ); 8482 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProtectedMemoryFeatures.pNext ); 8483 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProtectedMemoryFeatures.protectedMemory ); 8484 return seed; 8485 } 8486 }; 8487 8488 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceProtectedMemoryProperties> 8489 { operator ()std::hash8490 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceProtectedMemoryProperties const & physicalDeviceProtectedMemoryProperties) const VULKAN_HPP_NOEXCEPT 8491 { 8492 std::size_t seed = 0; 8493 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProtectedMemoryProperties.sType ); 8494 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProtectedMemoryProperties.pNext ); 8495 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProtectedMemoryProperties.protectedNoFault ); 8496 return seed; 8497 } 8498 }; 8499 8500 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceProvokingVertexFeaturesEXT> 8501 { operator ()std::hash8502 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceProvokingVertexFeaturesEXT const & physicalDeviceProvokingVertexFeaturesEXT) const VULKAN_HPP_NOEXCEPT 8503 { 8504 std::size_t seed = 0; 8505 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProvokingVertexFeaturesEXT.sType ); 8506 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProvokingVertexFeaturesEXT.pNext ); 8507 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProvokingVertexFeaturesEXT.provokingVertexLast ); 8508 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProvokingVertexFeaturesEXT.transformFeedbackPreservesProvokingVertex ); 8509 return seed; 8510 } 8511 }; 8512 8513 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceProvokingVertexPropertiesEXT> 8514 { operator ()std::hash8515 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceProvokingVertexPropertiesEXT const & physicalDeviceProvokingVertexPropertiesEXT) const VULKAN_HPP_NOEXCEPT 8516 { 8517 std::size_t seed = 0; 8518 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProvokingVertexPropertiesEXT.sType ); 8519 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProvokingVertexPropertiesEXT.pNext ); 8520 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProvokingVertexPropertiesEXT.provokingVertexModePerPipeline ); 8521 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceProvokingVertexPropertiesEXT.transformFeedbackPreservesTriangleFanProvokingVertex ); 8522 return seed; 8523 } 8524 }; 8525 8526 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePushDescriptorPropertiesKHR> 8527 { operator ()std::hash8528 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePushDescriptorPropertiesKHR const & physicalDevicePushDescriptorPropertiesKHR) const VULKAN_HPP_NOEXCEPT 8529 { 8530 std::size_t seed = 0; 8531 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePushDescriptorPropertiesKHR.sType ); 8532 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePushDescriptorPropertiesKHR.pNext ); 8533 VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePushDescriptorPropertiesKHR.maxPushDescriptors ); 8534 return seed; 8535 } 8536 }; 8537 8538 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRGBA10X6FormatsFeaturesEXT> 8539 { operator ()std::hash8540 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceRGBA10X6FormatsFeaturesEXT const & physicalDeviceRGBA10X6FormatsFeaturesEXT) const VULKAN_HPP_NOEXCEPT 8541 { 8542 std::size_t seed = 0; 8543 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRGBA10X6FormatsFeaturesEXT.sType ); 8544 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRGBA10X6FormatsFeaturesEXT.pNext ); 8545 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRGBA10X6FormatsFeaturesEXT.formatRgba10x6WithoutYCbCrSampler ); 8546 return seed; 8547 } 8548 }; 8549 8550 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT> 8551 { operator ()std::hash8552 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT const & physicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT) const VULKAN_HPP_NOEXCEPT 8553 { 8554 std::size_t seed = 0; 8555 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT.sType ); 8556 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT.pNext ); 8557 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT.rasterizationOrderColorAttachmentAccess ); 8558 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT.rasterizationOrderDepthAttachmentAccess ); 8559 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT.rasterizationOrderStencilAttachmentAccess ); 8560 return seed; 8561 } 8562 }; 8563 8564 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayQueryFeaturesKHR> 8565 { operator ()std::hash8566 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceRayQueryFeaturesKHR const & physicalDeviceRayQueryFeaturesKHR) const VULKAN_HPP_NOEXCEPT 8567 { 8568 std::size_t seed = 0; 8569 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayQueryFeaturesKHR.sType ); 8570 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayQueryFeaturesKHR.pNext ); 8571 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayQueryFeaturesKHR.rayQuery ); 8572 return seed; 8573 } 8574 }; 8575 8576 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesNV> 8577 { operator ()std::hash8578 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesNV const & physicalDeviceRayTracingInvocationReorderFeaturesNV) const VULKAN_HPP_NOEXCEPT 8579 { 8580 std::size_t seed = 0; 8581 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingInvocationReorderFeaturesNV.sType ); 8582 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingInvocationReorderFeaturesNV.pNext ); 8583 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingInvocationReorderFeaturesNV.rayTracingInvocationReorder ); 8584 return seed; 8585 } 8586 }; 8587 8588 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderPropertiesNV> 8589 { operator ()std::hash8590 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderPropertiesNV const & physicalDeviceRayTracingInvocationReorderPropertiesNV) const VULKAN_HPP_NOEXCEPT 8591 { 8592 std::size_t seed = 0; 8593 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingInvocationReorderPropertiesNV.sType ); 8594 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingInvocationReorderPropertiesNV.pNext ); 8595 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingInvocationReorderPropertiesNV.rayTracingInvocationReorderReorderingHint ); 8596 return seed; 8597 } 8598 }; 8599 8600 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingMaintenance1FeaturesKHR> 8601 { operator ()std::hash8602 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingMaintenance1FeaturesKHR const & physicalDeviceRayTracingMaintenance1FeaturesKHR) const VULKAN_HPP_NOEXCEPT 8603 { 8604 std::size_t seed = 0; 8605 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingMaintenance1FeaturesKHR.sType ); 8606 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingMaintenance1FeaturesKHR.pNext ); 8607 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingMaintenance1FeaturesKHR.rayTracingMaintenance1 ); 8608 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingMaintenance1FeaturesKHR.rayTracingPipelineTraceRaysIndirect2 ); 8609 return seed; 8610 } 8611 }; 8612 8613 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingMotionBlurFeaturesNV> 8614 { operator ()std::hash8615 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingMotionBlurFeaturesNV const & physicalDeviceRayTracingMotionBlurFeaturesNV) const VULKAN_HPP_NOEXCEPT 8616 { 8617 std::size_t seed = 0; 8618 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingMotionBlurFeaturesNV.sType ); 8619 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingMotionBlurFeaturesNV.pNext ); 8620 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingMotionBlurFeaturesNV.rayTracingMotionBlur ); 8621 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingMotionBlurFeaturesNV.rayTracingMotionBlurPipelineTraceRaysIndirect ); 8622 return seed; 8623 } 8624 }; 8625 8626 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelineFeaturesKHR> 8627 { operator ()std::hash8628 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelineFeaturesKHR const & physicalDeviceRayTracingPipelineFeaturesKHR) const VULKAN_HPP_NOEXCEPT 8629 { 8630 std::size_t seed = 0; 8631 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelineFeaturesKHR.sType ); 8632 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelineFeaturesKHR.pNext ); 8633 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelineFeaturesKHR.rayTracingPipeline ); 8634 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelineFeaturesKHR.rayTracingPipelineShaderGroupHandleCaptureReplay ); 8635 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelineFeaturesKHR.rayTracingPipelineShaderGroupHandleCaptureReplayMixed ); 8636 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelineFeaturesKHR.rayTracingPipelineTraceRaysIndirect ); 8637 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelineFeaturesKHR.rayTraversalPrimitiveCulling ); 8638 return seed; 8639 } 8640 }; 8641 8642 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelinePropertiesKHR> 8643 { operator ()std::hash8644 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelinePropertiesKHR const & physicalDeviceRayTracingPipelinePropertiesKHR) const VULKAN_HPP_NOEXCEPT 8645 { 8646 std::size_t seed = 0; 8647 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelinePropertiesKHR.sType ); 8648 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelinePropertiesKHR.pNext ); 8649 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelinePropertiesKHR.shaderGroupHandleSize ); 8650 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelinePropertiesKHR.maxRayRecursionDepth ); 8651 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelinePropertiesKHR.maxShaderGroupStride ); 8652 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelinePropertiesKHR.shaderGroupBaseAlignment ); 8653 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelinePropertiesKHR.shaderGroupHandleCaptureReplaySize ); 8654 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelinePropertiesKHR.maxRayDispatchInvocationCount ); 8655 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelinePropertiesKHR.shaderGroupHandleAlignment ); 8656 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPipelinePropertiesKHR.maxRayHitAttributeSize ); 8657 return seed; 8658 } 8659 }; 8660 8661 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPropertiesNV> 8662 { operator ()std::hash8663 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPropertiesNV const & physicalDeviceRayTracingPropertiesNV) const VULKAN_HPP_NOEXCEPT 8664 { 8665 std::size_t seed = 0; 8666 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPropertiesNV.sType ); 8667 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPropertiesNV.pNext ); 8668 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPropertiesNV.shaderGroupHandleSize ); 8669 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPropertiesNV.maxRecursionDepth ); 8670 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPropertiesNV.maxShaderGroupStride ); 8671 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPropertiesNV.shaderGroupBaseAlignment ); 8672 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPropertiesNV.maxGeometryCount ); 8673 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPropertiesNV.maxInstanceCount ); 8674 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPropertiesNV.maxTriangleCount ); 8675 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingPropertiesNV.maxDescriptorSetAccelerationStructures ); 8676 return seed; 8677 } 8678 }; 8679 8680 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRepresentativeFragmentTestFeaturesNV> 8681 { operator ()std::hash8682 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceRepresentativeFragmentTestFeaturesNV const & physicalDeviceRepresentativeFragmentTestFeaturesNV) const VULKAN_HPP_NOEXCEPT 8683 { 8684 std::size_t seed = 0; 8685 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRepresentativeFragmentTestFeaturesNV.sType ); 8686 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRepresentativeFragmentTestFeaturesNV.pNext ); 8687 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRepresentativeFragmentTestFeaturesNV.representativeFragmentTest ); 8688 return seed; 8689 } 8690 }; 8691 8692 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRobustness2FeaturesEXT> 8693 { operator ()std::hash8694 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceRobustness2FeaturesEXT const & physicalDeviceRobustness2FeaturesEXT) const VULKAN_HPP_NOEXCEPT 8695 { 8696 std::size_t seed = 0; 8697 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRobustness2FeaturesEXT.sType ); 8698 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRobustness2FeaturesEXT.pNext ); 8699 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRobustness2FeaturesEXT.robustBufferAccess2 ); 8700 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRobustness2FeaturesEXT.robustImageAccess2 ); 8701 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRobustness2FeaturesEXT.nullDescriptor ); 8702 return seed; 8703 } 8704 }; 8705 8706 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRobustness2PropertiesEXT> 8707 { operator ()std::hash8708 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceRobustness2PropertiesEXT const & physicalDeviceRobustness2PropertiesEXT) const VULKAN_HPP_NOEXCEPT 8709 { 8710 std::size_t seed = 0; 8711 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRobustness2PropertiesEXT.sType ); 8712 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRobustness2PropertiesEXT.pNext ); 8713 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRobustness2PropertiesEXT.robustStorageBufferAccessSizeAlignment ); 8714 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRobustness2PropertiesEXT.robustUniformBufferAccessSizeAlignment ); 8715 return seed; 8716 } 8717 }; 8718 8719 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSampleLocationsPropertiesEXT> 8720 { operator ()std::hash8721 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSampleLocationsPropertiesEXT const & physicalDeviceSampleLocationsPropertiesEXT) const VULKAN_HPP_NOEXCEPT 8722 { 8723 std::size_t seed = 0; 8724 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSampleLocationsPropertiesEXT.sType ); 8725 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSampleLocationsPropertiesEXT.pNext ); 8726 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSampleLocationsPropertiesEXT.sampleLocationSampleCounts ); 8727 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSampleLocationsPropertiesEXT.maxSampleLocationGridSize ); 8728 for ( size_t i = 0; i < 2; ++i ) 8729 { 8730 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSampleLocationsPropertiesEXT.sampleLocationCoordinateRange[i] ); 8731 } 8732 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSampleLocationsPropertiesEXT.sampleLocationSubPixelBits ); 8733 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSampleLocationsPropertiesEXT.variableSampleLocations ); 8734 return seed; 8735 } 8736 }; 8737 8738 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSamplerFilterMinmaxProperties> 8739 { operator ()std::hash8740 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSamplerFilterMinmaxProperties const & physicalDeviceSamplerFilterMinmaxProperties) const VULKAN_HPP_NOEXCEPT 8741 { 8742 std::size_t seed = 0; 8743 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSamplerFilterMinmaxProperties.sType ); 8744 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSamplerFilterMinmaxProperties.pNext ); 8745 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSamplerFilterMinmaxProperties.filterMinmaxSingleComponentFormats ); 8746 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSamplerFilterMinmaxProperties.filterMinmaxImageComponentMapping ); 8747 return seed; 8748 } 8749 }; 8750 8751 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSamplerYcbcrConversionFeatures> 8752 { operator ()std::hash8753 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSamplerYcbcrConversionFeatures const & physicalDeviceSamplerYcbcrConversionFeatures) const VULKAN_HPP_NOEXCEPT 8754 { 8755 std::size_t seed = 0; 8756 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSamplerYcbcrConversionFeatures.sType ); 8757 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSamplerYcbcrConversionFeatures.pNext ); 8758 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSamplerYcbcrConversionFeatures.samplerYcbcrConversion ); 8759 return seed; 8760 } 8761 }; 8762 8763 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceScalarBlockLayoutFeatures> 8764 { operator ()std::hash8765 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceScalarBlockLayoutFeatures const & physicalDeviceScalarBlockLayoutFeatures) const VULKAN_HPP_NOEXCEPT 8766 { 8767 std::size_t seed = 0; 8768 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceScalarBlockLayoutFeatures.sType ); 8769 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceScalarBlockLayoutFeatures.pNext ); 8770 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceScalarBlockLayoutFeatures.scalarBlockLayout ); 8771 return seed; 8772 } 8773 }; 8774 8775 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSeparateDepthStencilLayoutsFeatures> 8776 { operator ()std::hash8777 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSeparateDepthStencilLayoutsFeatures const & physicalDeviceSeparateDepthStencilLayoutsFeatures) const VULKAN_HPP_NOEXCEPT 8778 { 8779 std::size_t seed = 0; 8780 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSeparateDepthStencilLayoutsFeatures.sType ); 8781 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSeparateDepthStencilLayoutsFeatures.pNext ); 8782 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSeparateDepthStencilLayoutsFeatures.separateDepthStencilLayouts ); 8783 return seed; 8784 } 8785 }; 8786 8787 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicFloat2FeaturesEXT> 8788 { operator ()std::hash8789 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicFloat2FeaturesEXT const & physicalDeviceShaderAtomicFloat2FeaturesEXT) const VULKAN_HPP_NOEXCEPT 8790 { 8791 std::size_t seed = 0; 8792 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.sType ); 8793 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.pNext ); 8794 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderBufferFloat16Atomics ); 8795 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderBufferFloat16AtomicAdd ); 8796 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderBufferFloat16AtomicMinMax ); 8797 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderBufferFloat32AtomicMinMax ); 8798 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderBufferFloat64AtomicMinMax ); 8799 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderSharedFloat16Atomics ); 8800 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderSharedFloat16AtomicAdd ); 8801 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderSharedFloat16AtomicMinMax ); 8802 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderSharedFloat32AtomicMinMax ); 8803 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderSharedFloat64AtomicMinMax ); 8804 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderImageFloat32AtomicMinMax ); 8805 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.sparseImageFloat32AtomicMinMax ); 8806 return seed; 8807 } 8808 }; 8809 8810 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicFloatFeaturesEXT> 8811 { operator ()std::hash8812 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicFloatFeaturesEXT const & physicalDeviceShaderAtomicFloatFeaturesEXT) const VULKAN_HPP_NOEXCEPT 8813 { 8814 std::size_t seed = 0; 8815 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.sType ); 8816 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.pNext ); 8817 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderBufferFloat32Atomics ); 8818 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderBufferFloat32AtomicAdd ); 8819 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderBufferFloat64Atomics ); 8820 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderBufferFloat64AtomicAdd ); 8821 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderSharedFloat32Atomics ); 8822 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderSharedFloat32AtomicAdd ); 8823 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderSharedFloat64Atomics ); 8824 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderSharedFloat64AtomicAdd ); 8825 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderImageFloat32Atomics ); 8826 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderImageFloat32AtomicAdd ); 8827 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.sparseImageFloat32Atomics ); 8828 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicFloatFeaturesEXT.sparseImageFloat32AtomicAdd ); 8829 return seed; 8830 } 8831 }; 8832 8833 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicInt64Features> 8834 { operator ()std::hash8835 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicInt64Features const & physicalDeviceShaderAtomicInt64Features) const VULKAN_HPP_NOEXCEPT 8836 { 8837 std::size_t seed = 0; 8838 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicInt64Features.sType ); 8839 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicInt64Features.pNext ); 8840 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicInt64Features.shaderBufferInt64Atomics ); 8841 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderAtomicInt64Features.shaderSharedInt64Atomics ); 8842 return seed; 8843 } 8844 }; 8845 8846 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderClockFeaturesKHR> 8847 { operator ()std::hash8848 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderClockFeaturesKHR const & physicalDeviceShaderClockFeaturesKHR) const VULKAN_HPP_NOEXCEPT 8849 { 8850 std::size_t seed = 0; 8851 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderClockFeaturesKHR.sType ); 8852 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderClockFeaturesKHR.pNext ); 8853 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderClockFeaturesKHR.shaderSubgroupClock ); 8854 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderClockFeaturesKHR.shaderDeviceClock ); 8855 return seed; 8856 } 8857 }; 8858 8859 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCoreBuiltinsFeaturesARM> 8860 { operator ()std::hash8861 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCoreBuiltinsFeaturesARM const & physicalDeviceShaderCoreBuiltinsFeaturesARM) const VULKAN_HPP_NOEXCEPT 8862 { 8863 std::size_t seed = 0; 8864 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCoreBuiltinsFeaturesARM.sType ); 8865 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCoreBuiltinsFeaturesARM.pNext ); 8866 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCoreBuiltinsFeaturesARM.shaderCoreBuiltins ); 8867 return seed; 8868 } 8869 }; 8870 8871 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCoreBuiltinsPropertiesARM> 8872 { operator ()std::hash8873 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCoreBuiltinsPropertiesARM const & physicalDeviceShaderCoreBuiltinsPropertiesARM) const VULKAN_HPP_NOEXCEPT 8874 { 8875 std::size_t seed = 0; 8876 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCoreBuiltinsPropertiesARM.sType ); 8877 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCoreBuiltinsPropertiesARM.pNext ); 8878 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCoreBuiltinsPropertiesARM.shaderCoreMask ); 8879 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCoreBuiltinsPropertiesARM.shaderCoreCount ); 8880 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCoreBuiltinsPropertiesARM.shaderWarpsPerCore ); 8881 return seed; 8882 } 8883 }; 8884 8885 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCoreProperties2AMD> 8886 { operator ()std::hash8887 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCoreProperties2AMD const & physicalDeviceShaderCoreProperties2AMD) const VULKAN_HPP_NOEXCEPT 8888 { 8889 std::size_t seed = 0; 8890 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCoreProperties2AMD.sType ); 8891 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCoreProperties2AMD.pNext ); 8892 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCoreProperties2AMD.shaderCoreFeatures ); 8893 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCoreProperties2AMD.activeComputeUnitCount ); 8894 return seed; 8895 } 8896 }; 8897 8898 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCorePropertiesAMD> 8899 { operator ()std::hash8900 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCorePropertiesAMD const & physicalDeviceShaderCorePropertiesAMD) const VULKAN_HPP_NOEXCEPT 8901 { 8902 std::size_t seed = 0; 8903 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.sType ); 8904 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.pNext ); 8905 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.shaderEngineCount ); 8906 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.shaderArraysPerEngineCount ); 8907 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.computeUnitsPerShaderArray ); 8908 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.simdPerComputeUnit ); 8909 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.wavefrontsPerSimd ); 8910 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.wavefrontSize ); 8911 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.sgprsPerSimd ); 8912 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.minSgprAllocation ); 8913 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.maxSgprAllocation ); 8914 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.sgprAllocationGranularity ); 8915 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.vgprsPerSimd ); 8916 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.minVgprAllocation ); 8917 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.maxVgprAllocation ); 8918 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesAMD.vgprAllocationGranularity ); 8919 return seed; 8920 } 8921 }; 8922 8923 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderDemoteToHelperInvocationFeatures> 8924 { operator ()std::hash8925 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderDemoteToHelperInvocationFeatures const & physicalDeviceShaderDemoteToHelperInvocationFeatures) const VULKAN_HPP_NOEXCEPT 8926 { 8927 std::size_t seed = 0; 8928 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderDemoteToHelperInvocationFeatures.sType ); 8929 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderDemoteToHelperInvocationFeatures.pNext ); 8930 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderDemoteToHelperInvocationFeatures.shaderDemoteToHelperInvocation ); 8931 return seed; 8932 } 8933 }; 8934 8935 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderDrawParametersFeatures> 8936 { operator ()std::hash8937 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderDrawParametersFeatures const & physicalDeviceShaderDrawParametersFeatures) const VULKAN_HPP_NOEXCEPT 8938 { 8939 std::size_t seed = 0; 8940 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderDrawParametersFeatures.sType ); 8941 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderDrawParametersFeatures.pNext ); 8942 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderDrawParametersFeatures.shaderDrawParameters ); 8943 return seed; 8944 } 8945 }; 8946 8947 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD> 8948 { operator ()std::hash8949 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD const & physicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD) const VULKAN_HPP_NOEXCEPT 8950 { 8951 std::size_t seed = 0; 8952 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD.sType ); 8953 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD.pNext ); 8954 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD.shaderEarlyAndLateFragmentTests ); 8955 return seed; 8956 } 8957 }; 8958 8959 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderFloat16Int8Features> 8960 { operator ()std::hash8961 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderFloat16Int8Features const & physicalDeviceShaderFloat16Int8Features) const VULKAN_HPP_NOEXCEPT 8962 { 8963 std::size_t seed = 0; 8964 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderFloat16Int8Features.sType ); 8965 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderFloat16Int8Features.pNext ); 8966 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderFloat16Int8Features.shaderFloat16 ); 8967 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderFloat16Int8Features.shaderInt8 ); 8968 return seed; 8969 } 8970 }; 8971 8972 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderImageAtomicInt64FeaturesEXT> 8973 { operator ()std::hash8974 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderImageAtomicInt64FeaturesEXT const & physicalDeviceShaderImageAtomicInt64FeaturesEXT) const VULKAN_HPP_NOEXCEPT 8975 { 8976 std::size_t seed = 0; 8977 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderImageAtomicInt64FeaturesEXT.sType ); 8978 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderImageAtomicInt64FeaturesEXT.pNext ); 8979 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderImageAtomicInt64FeaturesEXT.shaderImageInt64Atomics ); 8980 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderImageAtomicInt64FeaturesEXT.sparseImageInt64Atomics ); 8981 return seed; 8982 } 8983 }; 8984 8985 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderImageFootprintFeaturesNV> 8986 { operator ()std::hash8987 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderImageFootprintFeaturesNV const & physicalDeviceShaderImageFootprintFeaturesNV) const VULKAN_HPP_NOEXCEPT 8988 { 8989 std::size_t seed = 0; 8990 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderImageFootprintFeaturesNV.sType ); 8991 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderImageFootprintFeaturesNV.pNext ); 8992 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderImageFootprintFeaturesNV.imageFootprint ); 8993 return seed; 8994 } 8995 }; 8996 8997 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderIntegerDotProductFeatures> 8998 { operator ()std::hash8999 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderIntegerDotProductFeatures const & physicalDeviceShaderIntegerDotProductFeatures) const VULKAN_HPP_NOEXCEPT 9000 { 9001 std::size_t seed = 0; 9002 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductFeatures.sType ); 9003 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductFeatures.pNext ); 9004 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductFeatures.shaderIntegerDotProduct ); 9005 return seed; 9006 } 9007 }; 9008 9009 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderIntegerDotProductProperties> 9010 { operator ()std::hash9011 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderIntegerDotProductProperties const & physicalDeviceShaderIntegerDotProductProperties) const VULKAN_HPP_NOEXCEPT 9012 { 9013 std::size_t seed = 0; 9014 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.sType ); 9015 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.pNext ); 9016 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct8BitUnsignedAccelerated ); 9017 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct8BitSignedAccelerated ); 9018 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct8BitMixedSignednessAccelerated ); 9019 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct4x8BitPackedUnsignedAccelerated ); 9020 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct4x8BitPackedSignedAccelerated ); 9021 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct4x8BitPackedMixedSignednessAccelerated ); 9022 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct16BitUnsignedAccelerated ); 9023 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct16BitSignedAccelerated ); 9024 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct16BitMixedSignednessAccelerated ); 9025 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct32BitUnsignedAccelerated ); 9026 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct32BitSignedAccelerated ); 9027 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct32BitMixedSignednessAccelerated ); 9028 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct64BitUnsignedAccelerated ); 9029 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct64BitSignedAccelerated ); 9030 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct64BitMixedSignednessAccelerated ); 9031 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating8BitUnsignedAccelerated ); 9032 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating8BitSignedAccelerated ); 9033 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated ); 9034 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated ); 9035 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated ); 9036 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated ); 9037 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating16BitUnsignedAccelerated ); 9038 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating16BitSignedAccelerated ); 9039 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated ); 9040 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating32BitUnsignedAccelerated ); 9041 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating32BitSignedAccelerated ); 9042 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated ); 9043 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating64BitUnsignedAccelerated ); 9044 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating64BitSignedAccelerated ); 9045 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated ); 9046 return seed; 9047 } 9048 }; 9049 9050 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL> 9051 { operator ()std::hash9052 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const & physicalDeviceShaderIntegerFunctions2FeaturesINTEL) const VULKAN_HPP_NOEXCEPT 9053 { 9054 std::size_t seed = 0; 9055 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerFunctions2FeaturesINTEL.sType ); 9056 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerFunctions2FeaturesINTEL.pNext ); 9057 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderIntegerFunctions2FeaturesINTEL.shaderIntegerFunctions2 ); 9058 return seed; 9059 } 9060 }; 9061 9062 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderModuleIdentifierFeaturesEXT> 9063 { operator ()std::hash9064 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderModuleIdentifierFeaturesEXT const & physicalDeviceShaderModuleIdentifierFeaturesEXT) const VULKAN_HPP_NOEXCEPT 9065 { 9066 std::size_t seed = 0; 9067 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderModuleIdentifierFeaturesEXT.sType ); 9068 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderModuleIdentifierFeaturesEXT.pNext ); 9069 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderModuleIdentifierFeaturesEXT.shaderModuleIdentifier ); 9070 return seed; 9071 } 9072 }; 9073 9074 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderModuleIdentifierPropertiesEXT> 9075 { operator ()std::hash9076 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderModuleIdentifierPropertiesEXT const & physicalDeviceShaderModuleIdentifierPropertiesEXT) const VULKAN_HPP_NOEXCEPT 9077 { 9078 std::size_t seed = 0; 9079 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderModuleIdentifierPropertiesEXT.sType ); 9080 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderModuleIdentifierPropertiesEXT.pNext ); 9081 for ( size_t i = 0; i < VK_UUID_SIZE; ++i ) 9082 { 9083 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderModuleIdentifierPropertiesEXT.shaderModuleIdentifierAlgorithmUUID[i] ); 9084 } 9085 return seed; 9086 } 9087 }; 9088 9089 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSMBuiltinsFeaturesNV> 9090 { operator ()std::hash9091 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSMBuiltinsFeaturesNV const & physicalDeviceShaderSMBuiltinsFeaturesNV) const VULKAN_HPP_NOEXCEPT 9092 { 9093 std::size_t seed = 0; 9094 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSMBuiltinsFeaturesNV.sType ); 9095 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSMBuiltinsFeaturesNV.pNext ); 9096 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSMBuiltinsFeaturesNV.shaderSMBuiltins ); 9097 return seed; 9098 } 9099 }; 9100 9101 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSMBuiltinsPropertiesNV> 9102 { operator ()std::hash9103 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSMBuiltinsPropertiesNV const & physicalDeviceShaderSMBuiltinsPropertiesNV) const VULKAN_HPP_NOEXCEPT 9104 { 9105 std::size_t seed = 0; 9106 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSMBuiltinsPropertiesNV.sType ); 9107 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSMBuiltinsPropertiesNV.pNext ); 9108 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSMBuiltinsPropertiesNV.shaderSMCount ); 9109 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSMBuiltinsPropertiesNV.shaderWarpsPerSM ); 9110 return seed; 9111 } 9112 }; 9113 9114 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSubgroupExtendedTypesFeatures> 9115 { operator ()std::hash9116 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSubgroupExtendedTypesFeatures const & physicalDeviceShaderSubgroupExtendedTypesFeatures) const VULKAN_HPP_NOEXCEPT 9117 { 9118 std::size_t seed = 0; 9119 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSubgroupExtendedTypesFeatures.sType ); 9120 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSubgroupExtendedTypesFeatures.pNext ); 9121 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSubgroupExtendedTypesFeatures.shaderSubgroupExtendedTypes ); 9122 return seed; 9123 } 9124 }; 9125 9126 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR> 9127 { operator ()std::hash9128 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR const & physicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR) const VULKAN_HPP_NOEXCEPT 9129 { 9130 std::size_t seed = 0; 9131 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR.sType ); 9132 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR.pNext ); 9133 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR.shaderSubgroupUniformControlFlow ); 9134 return seed; 9135 } 9136 }; 9137 9138 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderTerminateInvocationFeatures> 9139 { operator ()std::hash9140 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderTerminateInvocationFeatures const & physicalDeviceShaderTerminateInvocationFeatures) const VULKAN_HPP_NOEXCEPT 9141 { 9142 std::size_t seed = 0; 9143 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderTerminateInvocationFeatures.sType ); 9144 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderTerminateInvocationFeatures.pNext ); 9145 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderTerminateInvocationFeatures.shaderTerminateInvocation ); 9146 return seed; 9147 } 9148 }; 9149 9150 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShadingRateImageFeaturesNV> 9151 { operator ()std::hash9152 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShadingRateImageFeaturesNV const & physicalDeviceShadingRateImageFeaturesNV) const VULKAN_HPP_NOEXCEPT 9153 { 9154 std::size_t seed = 0; 9155 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShadingRateImageFeaturesNV.sType ); 9156 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShadingRateImageFeaturesNV.pNext ); 9157 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShadingRateImageFeaturesNV.shadingRateImage ); 9158 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShadingRateImageFeaturesNV.shadingRateCoarseSampleOrder ); 9159 return seed; 9160 } 9161 }; 9162 9163 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShadingRateImagePropertiesNV> 9164 { operator ()std::hash9165 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShadingRateImagePropertiesNV const & physicalDeviceShadingRateImagePropertiesNV) const VULKAN_HPP_NOEXCEPT 9166 { 9167 std::size_t seed = 0; 9168 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShadingRateImagePropertiesNV.sType ); 9169 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShadingRateImagePropertiesNV.pNext ); 9170 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShadingRateImagePropertiesNV.shadingRateTexelSize ); 9171 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShadingRateImagePropertiesNV.shadingRatePaletteSize ); 9172 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShadingRateImagePropertiesNV.shadingRateMaxCoarseSamples ); 9173 return seed; 9174 } 9175 }; 9176 9177 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2> 9178 { operator ()std::hash9179 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 const & physicalDeviceSparseImageFormatInfo2) const VULKAN_HPP_NOEXCEPT 9180 { 9181 std::size_t seed = 0; 9182 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSparseImageFormatInfo2.sType ); 9183 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSparseImageFormatInfo2.pNext ); 9184 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSparseImageFormatInfo2.format ); 9185 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSparseImageFormatInfo2.type ); 9186 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSparseImageFormatInfo2.samples ); 9187 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSparseImageFormatInfo2.usage ); 9188 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSparseImageFormatInfo2.tiling ); 9189 return seed; 9190 } 9191 }; 9192 9193 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupProperties> 9194 { operator ()std::hash9195 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupProperties const & physicalDeviceSubgroupProperties) const VULKAN_HPP_NOEXCEPT 9196 { 9197 std::size_t seed = 0; 9198 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupProperties.sType ); 9199 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupProperties.pNext ); 9200 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupProperties.subgroupSize ); 9201 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupProperties.supportedStages ); 9202 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupProperties.supportedOperations ); 9203 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupProperties.quadOperationsInAllStages ); 9204 return seed; 9205 } 9206 }; 9207 9208 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupSizeControlFeatures> 9209 { operator ()std::hash9210 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupSizeControlFeatures const & physicalDeviceSubgroupSizeControlFeatures) const VULKAN_HPP_NOEXCEPT 9211 { 9212 std::size_t seed = 0; 9213 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupSizeControlFeatures.sType ); 9214 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupSizeControlFeatures.pNext ); 9215 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupSizeControlFeatures.subgroupSizeControl ); 9216 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupSizeControlFeatures.computeFullSubgroups ); 9217 return seed; 9218 } 9219 }; 9220 9221 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupSizeControlProperties> 9222 { operator ()std::hash9223 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupSizeControlProperties const & physicalDeviceSubgroupSizeControlProperties) const VULKAN_HPP_NOEXCEPT 9224 { 9225 std::size_t seed = 0; 9226 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupSizeControlProperties.sType ); 9227 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupSizeControlProperties.pNext ); 9228 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupSizeControlProperties.minSubgroupSize ); 9229 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupSizeControlProperties.maxSubgroupSize ); 9230 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupSizeControlProperties.maxComputeWorkgroupSubgroups ); 9231 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubgroupSizeControlProperties.requiredSubgroupSizeStages ); 9232 return seed; 9233 } 9234 }; 9235 9236 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSubpassMergeFeedbackFeaturesEXT> 9237 { operator ()std::hash9238 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSubpassMergeFeedbackFeaturesEXT const & physicalDeviceSubpassMergeFeedbackFeaturesEXT) const VULKAN_HPP_NOEXCEPT 9239 { 9240 std::size_t seed = 0; 9241 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubpassMergeFeedbackFeaturesEXT.sType ); 9242 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubpassMergeFeedbackFeaturesEXT.pNext ); 9243 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubpassMergeFeedbackFeaturesEXT.subpassMergeFeedback ); 9244 return seed; 9245 } 9246 }; 9247 9248 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSubpassShadingFeaturesHUAWEI> 9249 { operator ()std::hash9250 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSubpassShadingFeaturesHUAWEI const & physicalDeviceSubpassShadingFeaturesHUAWEI) const VULKAN_HPP_NOEXCEPT 9251 { 9252 std::size_t seed = 0; 9253 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubpassShadingFeaturesHUAWEI.sType ); 9254 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubpassShadingFeaturesHUAWEI.pNext ); 9255 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubpassShadingFeaturesHUAWEI.subpassShading ); 9256 return seed; 9257 } 9258 }; 9259 9260 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSubpassShadingPropertiesHUAWEI> 9261 { operator ()std::hash9262 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSubpassShadingPropertiesHUAWEI const & physicalDeviceSubpassShadingPropertiesHUAWEI) const VULKAN_HPP_NOEXCEPT 9263 { 9264 std::size_t seed = 0; 9265 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubpassShadingPropertiesHUAWEI.sType ); 9266 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubpassShadingPropertiesHUAWEI.pNext ); 9267 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSubpassShadingPropertiesHUAWEI.maxSubpassShadingWorkgroupSizeAspectRatio ); 9268 return seed; 9269 } 9270 }; 9271 9272 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR> 9273 { operator ()std::hash9274 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR const & physicalDeviceSurfaceInfo2KHR) const VULKAN_HPP_NOEXCEPT 9275 { 9276 std::size_t seed = 0; 9277 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSurfaceInfo2KHR.sType ); 9278 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSurfaceInfo2KHR.pNext ); 9279 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSurfaceInfo2KHR.surface ); 9280 return seed; 9281 } 9282 }; 9283 9284 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSwapchainMaintenance1FeaturesEXT> 9285 { operator ()std::hash9286 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSwapchainMaintenance1FeaturesEXT const & physicalDeviceSwapchainMaintenance1FeaturesEXT) const VULKAN_HPP_NOEXCEPT 9287 { 9288 std::size_t seed = 0; 9289 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSwapchainMaintenance1FeaturesEXT.sType ); 9290 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSwapchainMaintenance1FeaturesEXT.pNext ); 9291 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSwapchainMaintenance1FeaturesEXT.swapchainMaintenance1 ); 9292 return seed; 9293 } 9294 }; 9295 9296 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSynchronization2Features> 9297 { operator ()std::hash9298 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSynchronization2Features const & physicalDeviceSynchronization2Features) const VULKAN_HPP_NOEXCEPT 9299 { 9300 std::size_t seed = 0; 9301 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSynchronization2Features.sType ); 9302 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSynchronization2Features.pNext ); 9303 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceSynchronization2Features.synchronization2 ); 9304 return seed; 9305 } 9306 }; 9307 9308 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceTexelBufferAlignmentFeaturesEXT> 9309 { operator ()std::hash9310 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceTexelBufferAlignmentFeaturesEXT const & physicalDeviceTexelBufferAlignmentFeaturesEXT) const VULKAN_HPP_NOEXCEPT 9311 { 9312 std::size_t seed = 0; 9313 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTexelBufferAlignmentFeaturesEXT.sType ); 9314 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTexelBufferAlignmentFeaturesEXT.pNext ); 9315 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTexelBufferAlignmentFeaturesEXT.texelBufferAlignment ); 9316 return seed; 9317 } 9318 }; 9319 9320 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceTexelBufferAlignmentProperties> 9321 { operator ()std::hash9322 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceTexelBufferAlignmentProperties const & physicalDeviceTexelBufferAlignmentProperties) const VULKAN_HPP_NOEXCEPT 9323 { 9324 std::size_t seed = 0; 9325 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTexelBufferAlignmentProperties.sType ); 9326 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTexelBufferAlignmentProperties.pNext ); 9327 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTexelBufferAlignmentProperties.storageTexelBufferOffsetAlignmentBytes ); 9328 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTexelBufferAlignmentProperties.storageTexelBufferOffsetSingleTexelAlignment ); 9329 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTexelBufferAlignmentProperties.uniformTexelBufferOffsetAlignmentBytes ); 9330 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTexelBufferAlignmentProperties.uniformTexelBufferOffsetSingleTexelAlignment ); 9331 return seed; 9332 } 9333 }; 9334 9335 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceTextureCompressionASTCHDRFeatures> 9336 { operator ()std::hash9337 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceTextureCompressionASTCHDRFeatures const & physicalDeviceTextureCompressionASTCHDRFeatures) const VULKAN_HPP_NOEXCEPT 9338 { 9339 std::size_t seed = 0; 9340 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTextureCompressionASTCHDRFeatures.sType ); 9341 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTextureCompressionASTCHDRFeatures.pNext ); 9342 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTextureCompressionASTCHDRFeatures.textureCompressionASTC_HDR ); 9343 return seed; 9344 } 9345 }; 9346 9347 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceTilePropertiesFeaturesQCOM> 9348 { operator ()std::hash9349 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceTilePropertiesFeaturesQCOM const & physicalDeviceTilePropertiesFeaturesQCOM) const VULKAN_HPP_NOEXCEPT 9350 { 9351 std::size_t seed = 0; 9352 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTilePropertiesFeaturesQCOM.sType ); 9353 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTilePropertiesFeaturesQCOM.pNext ); 9354 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTilePropertiesFeaturesQCOM.tileProperties ); 9355 return seed; 9356 } 9357 }; 9358 9359 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceTimelineSemaphoreFeatures> 9360 { operator ()std::hash9361 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceTimelineSemaphoreFeatures const & physicalDeviceTimelineSemaphoreFeatures) const VULKAN_HPP_NOEXCEPT 9362 { 9363 std::size_t seed = 0; 9364 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTimelineSemaphoreFeatures.sType ); 9365 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTimelineSemaphoreFeatures.pNext ); 9366 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTimelineSemaphoreFeatures.timelineSemaphore ); 9367 return seed; 9368 } 9369 }; 9370 9371 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceTimelineSemaphoreProperties> 9372 { operator ()std::hash9373 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceTimelineSemaphoreProperties const & physicalDeviceTimelineSemaphoreProperties) const VULKAN_HPP_NOEXCEPT 9374 { 9375 std::size_t seed = 0; 9376 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTimelineSemaphoreProperties.sType ); 9377 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTimelineSemaphoreProperties.pNext ); 9378 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTimelineSemaphoreProperties.maxTimelineSemaphoreValueDifference ); 9379 return seed; 9380 } 9381 }; 9382 9383 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties> 9384 { operator ()std::hash9385 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties const & physicalDeviceToolProperties) const VULKAN_HPP_NOEXCEPT 9386 { 9387 std::size_t seed = 0; 9388 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceToolProperties.sType ); 9389 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceToolProperties.pNext ); 9390 for ( size_t i = 0; i < VK_MAX_EXTENSION_NAME_SIZE; ++i ) 9391 { 9392 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceToolProperties.name[i] ); 9393 } 9394 for ( size_t i = 0; i < VK_MAX_EXTENSION_NAME_SIZE; ++i ) 9395 { 9396 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceToolProperties.version[i] ); 9397 } 9398 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceToolProperties.purposes ); 9399 for ( size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i ) 9400 { 9401 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceToolProperties.description[i] ); 9402 } 9403 for ( size_t i = 0; i < VK_MAX_EXTENSION_NAME_SIZE; ++i ) 9404 { 9405 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceToolProperties.layer[i] ); 9406 } 9407 return seed; 9408 } 9409 }; 9410 9411 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceTransformFeedbackFeaturesEXT> 9412 { operator ()std::hash9413 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceTransformFeedbackFeaturesEXT const & physicalDeviceTransformFeedbackFeaturesEXT) const VULKAN_HPP_NOEXCEPT 9414 { 9415 std::size_t seed = 0; 9416 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackFeaturesEXT.sType ); 9417 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackFeaturesEXT.pNext ); 9418 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackFeaturesEXT.transformFeedback ); 9419 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackFeaturesEXT.geometryStreams ); 9420 return seed; 9421 } 9422 }; 9423 9424 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceTransformFeedbackPropertiesEXT> 9425 { operator ()std::hash9426 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceTransformFeedbackPropertiesEXT const & physicalDeviceTransformFeedbackPropertiesEXT) const VULKAN_HPP_NOEXCEPT 9427 { 9428 std::size_t seed = 0; 9429 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackPropertiesEXT.sType ); 9430 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackPropertiesEXT.pNext ); 9431 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackPropertiesEXT.maxTransformFeedbackStreams ); 9432 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackPropertiesEXT.maxTransformFeedbackBuffers ); 9433 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackPropertiesEXT.maxTransformFeedbackBufferSize ); 9434 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackPropertiesEXT.maxTransformFeedbackStreamDataSize ); 9435 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackPropertiesEXT.maxTransformFeedbackBufferDataSize ); 9436 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackPropertiesEXT.maxTransformFeedbackBufferDataStride ); 9437 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackPropertiesEXT.transformFeedbackQueries ); 9438 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackPropertiesEXT.transformFeedbackStreamsLinesTriangles ); 9439 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackPropertiesEXT.transformFeedbackRasterizationStreamSelect ); 9440 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTransformFeedbackPropertiesEXT.transformFeedbackDraw ); 9441 return seed; 9442 } 9443 }; 9444 9445 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceUniformBufferStandardLayoutFeatures> 9446 { operator ()std::hash9447 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceUniformBufferStandardLayoutFeatures const & physicalDeviceUniformBufferStandardLayoutFeatures) const VULKAN_HPP_NOEXCEPT 9448 { 9449 std::size_t seed = 0; 9450 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceUniformBufferStandardLayoutFeatures.sType ); 9451 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceUniformBufferStandardLayoutFeatures.pNext ); 9452 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceUniformBufferStandardLayoutFeatures.uniformBufferStandardLayout ); 9453 return seed; 9454 } 9455 }; 9456 9457 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVariablePointersFeatures> 9458 { operator ()std::hash9459 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceVariablePointersFeatures const & physicalDeviceVariablePointersFeatures) const VULKAN_HPP_NOEXCEPT 9460 { 9461 std::size_t seed = 0; 9462 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVariablePointersFeatures.sType ); 9463 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVariablePointersFeatures.pNext ); 9464 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVariablePointersFeatures.variablePointersStorageBuffer ); 9465 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVariablePointersFeatures.variablePointers ); 9466 return seed; 9467 } 9468 }; 9469 9470 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVertexAttributeDivisorFeaturesEXT> 9471 { operator ()std::hash9472 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceVertexAttributeDivisorFeaturesEXT const & physicalDeviceVertexAttributeDivisorFeaturesEXT) const VULKAN_HPP_NOEXCEPT 9473 { 9474 std::size_t seed = 0; 9475 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVertexAttributeDivisorFeaturesEXT.sType ); 9476 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVertexAttributeDivisorFeaturesEXT.pNext ); 9477 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVertexAttributeDivisorFeaturesEXT.vertexAttributeInstanceRateDivisor ); 9478 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVertexAttributeDivisorFeaturesEXT.vertexAttributeInstanceRateZeroDivisor ); 9479 return seed; 9480 } 9481 }; 9482 9483 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVertexAttributeDivisorPropertiesEXT> 9484 { operator ()std::hash9485 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceVertexAttributeDivisorPropertiesEXT const & physicalDeviceVertexAttributeDivisorPropertiesEXT) const VULKAN_HPP_NOEXCEPT 9486 { 9487 std::size_t seed = 0; 9488 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVertexAttributeDivisorPropertiesEXT.sType ); 9489 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVertexAttributeDivisorPropertiesEXT.pNext ); 9490 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVertexAttributeDivisorPropertiesEXT.maxVertexAttribDivisor ); 9491 return seed; 9492 } 9493 }; 9494 9495 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVertexInputDynamicStateFeaturesEXT> 9496 { operator ()std::hash9497 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceVertexInputDynamicStateFeaturesEXT const & physicalDeviceVertexInputDynamicStateFeaturesEXT) const VULKAN_HPP_NOEXCEPT 9498 { 9499 std::size_t seed = 0; 9500 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVertexInputDynamicStateFeaturesEXT.sType ); 9501 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVertexInputDynamicStateFeaturesEXT.pNext ); 9502 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVertexInputDynamicStateFeaturesEXT.vertexInputDynamicState ); 9503 return seed; 9504 } 9505 }; 9506 9507 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR> 9508 { operator ()std::hash9509 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR const & physicalDeviceVideoFormatInfoKHR) const VULKAN_HPP_NOEXCEPT 9510 { 9511 std::size_t seed = 0; 9512 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVideoFormatInfoKHR.sType ); 9513 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVideoFormatInfoKHR.pNext ); 9514 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVideoFormatInfoKHR.imageUsage ); 9515 return seed; 9516 } 9517 }; 9518 9519 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan11Features> 9520 { operator ()std::hash9521 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan11Features const & physicalDeviceVulkan11Features) const VULKAN_HPP_NOEXCEPT 9522 { 9523 std::size_t seed = 0; 9524 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.sType ); 9525 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.pNext ); 9526 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.storageBuffer16BitAccess ); 9527 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.uniformAndStorageBuffer16BitAccess ); 9528 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.storagePushConstant16 ); 9529 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.storageInputOutput16 ); 9530 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.multiview ); 9531 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.multiviewGeometryShader ); 9532 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.multiviewTessellationShader ); 9533 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.variablePointersStorageBuffer ); 9534 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.variablePointers ); 9535 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.protectedMemory ); 9536 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.samplerYcbcrConversion ); 9537 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Features.shaderDrawParameters ); 9538 return seed; 9539 } 9540 }; 9541 9542 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan11Properties> 9543 { operator ()std::hash9544 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan11Properties const & physicalDeviceVulkan11Properties) const VULKAN_HPP_NOEXCEPT 9545 { 9546 std::size_t seed = 0; 9547 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.sType ); 9548 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.pNext ); 9549 for ( size_t i = 0; i < VK_UUID_SIZE; ++i ) 9550 { 9551 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.deviceUUID[i] ); 9552 } 9553 for ( size_t i = 0; i < VK_UUID_SIZE; ++i ) 9554 { 9555 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.driverUUID[i] ); 9556 } 9557 for ( size_t i = 0; i < VK_LUID_SIZE; ++i ) 9558 { 9559 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.deviceLUID[i] ); 9560 } 9561 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.deviceNodeMask ); 9562 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.deviceLUIDValid ); 9563 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.subgroupSize ); 9564 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.subgroupSupportedStages ); 9565 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.subgroupSupportedOperations ); 9566 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.subgroupQuadOperationsInAllStages ); 9567 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.pointClippingBehavior ); 9568 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.maxMultiviewViewCount ); 9569 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.maxMultiviewInstanceIndex ); 9570 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.protectedNoFault ); 9571 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.maxPerSetDescriptors ); 9572 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan11Properties.maxMemoryAllocationSize ); 9573 return seed; 9574 } 9575 }; 9576 9577 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan12Features> 9578 { operator ()std::hash9579 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan12Features const & physicalDeviceVulkan12Features) const VULKAN_HPP_NOEXCEPT 9580 { 9581 std::size_t seed = 0; 9582 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.sType ); 9583 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.pNext ); 9584 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.samplerMirrorClampToEdge ); 9585 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.drawIndirectCount ); 9586 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.storageBuffer8BitAccess ); 9587 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.uniformAndStorageBuffer8BitAccess ); 9588 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.storagePushConstant8 ); 9589 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderBufferInt64Atomics ); 9590 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderSharedInt64Atomics ); 9591 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderFloat16 ); 9592 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderInt8 ); 9593 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.descriptorIndexing ); 9594 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderInputAttachmentArrayDynamicIndexing ); 9595 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderUniformTexelBufferArrayDynamicIndexing ); 9596 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderStorageTexelBufferArrayDynamicIndexing ); 9597 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderUniformBufferArrayNonUniformIndexing ); 9598 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderSampledImageArrayNonUniformIndexing ); 9599 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderStorageBufferArrayNonUniformIndexing ); 9600 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderStorageImageArrayNonUniformIndexing ); 9601 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderInputAttachmentArrayNonUniformIndexing ); 9602 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderUniformTexelBufferArrayNonUniformIndexing ); 9603 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderStorageTexelBufferArrayNonUniformIndexing ); 9604 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.descriptorBindingUniformBufferUpdateAfterBind ); 9605 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.descriptorBindingSampledImageUpdateAfterBind ); 9606 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.descriptorBindingStorageImageUpdateAfterBind ); 9607 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.descriptorBindingStorageBufferUpdateAfterBind ); 9608 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.descriptorBindingUniformTexelBufferUpdateAfterBind ); 9609 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.descriptorBindingStorageTexelBufferUpdateAfterBind ); 9610 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.descriptorBindingUpdateUnusedWhilePending ); 9611 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.descriptorBindingPartiallyBound ); 9612 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.descriptorBindingVariableDescriptorCount ); 9613 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.runtimeDescriptorArray ); 9614 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.samplerFilterMinmax ); 9615 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.scalarBlockLayout ); 9616 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.imagelessFramebuffer ); 9617 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.uniformBufferStandardLayout ); 9618 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderSubgroupExtendedTypes ); 9619 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.separateDepthStencilLayouts ); 9620 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.hostQueryReset ); 9621 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.timelineSemaphore ); 9622 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.bufferDeviceAddress ); 9623 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.bufferDeviceAddressCaptureReplay ); 9624 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.bufferDeviceAddressMultiDevice ); 9625 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.vulkanMemoryModel ); 9626 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.vulkanMemoryModelDeviceScope ); 9627 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.vulkanMemoryModelAvailabilityVisibilityChains ); 9628 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderOutputViewportIndex ); 9629 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.shaderOutputLayer ); 9630 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Features.subgroupBroadcastDynamicId ); 9631 return seed; 9632 } 9633 }; 9634 9635 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan12Properties> 9636 { operator ()std::hash9637 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan12Properties const & physicalDeviceVulkan12Properties) const VULKAN_HPP_NOEXCEPT 9638 { 9639 std::size_t seed = 0; 9640 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.sType ); 9641 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.pNext ); 9642 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.driverID ); 9643 for ( size_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE; ++i ) 9644 { 9645 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.driverName[i] ); 9646 } 9647 for ( size_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE; ++i ) 9648 { 9649 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.driverInfo[i] ); 9650 } 9651 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.conformanceVersion ); 9652 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.denormBehaviorIndependence ); 9653 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.roundingModeIndependence ); 9654 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderSignedZeroInfNanPreserveFloat16 ); 9655 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderSignedZeroInfNanPreserveFloat32 ); 9656 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderSignedZeroInfNanPreserveFloat64 ); 9657 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderDenormPreserveFloat16 ); 9658 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderDenormPreserveFloat32 ); 9659 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderDenormPreserveFloat64 ); 9660 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderDenormFlushToZeroFloat16 ); 9661 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderDenormFlushToZeroFloat32 ); 9662 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderDenormFlushToZeroFloat64 ); 9663 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderRoundingModeRTEFloat16 ); 9664 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderRoundingModeRTEFloat32 ); 9665 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderRoundingModeRTEFloat64 ); 9666 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderRoundingModeRTZFloat16 ); 9667 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderRoundingModeRTZFloat32 ); 9668 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderRoundingModeRTZFloat64 ); 9669 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxUpdateAfterBindDescriptorsInAllPools ); 9670 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderUniformBufferArrayNonUniformIndexingNative ); 9671 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderSampledImageArrayNonUniformIndexingNative ); 9672 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderStorageBufferArrayNonUniformIndexingNative ); 9673 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderStorageImageArrayNonUniformIndexingNative ); 9674 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.shaderInputAttachmentArrayNonUniformIndexingNative ); 9675 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.robustBufferAccessUpdateAfterBind ); 9676 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.quadDivergentImplicitLod ); 9677 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxPerStageDescriptorUpdateAfterBindSamplers ); 9678 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxPerStageDescriptorUpdateAfterBindUniformBuffers ); 9679 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxPerStageDescriptorUpdateAfterBindStorageBuffers ); 9680 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxPerStageDescriptorUpdateAfterBindSampledImages ); 9681 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxPerStageDescriptorUpdateAfterBindStorageImages ); 9682 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxPerStageDescriptorUpdateAfterBindInputAttachments ); 9683 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxPerStageUpdateAfterBindResources ); 9684 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxDescriptorSetUpdateAfterBindSamplers ); 9685 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxDescriptorSetUpdateAfterBindUniformBuffers ); 9686 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic ); 9687 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxDescriptorSetUpdateAfterBindStorageBuffers ); 9688 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic ); 9689 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxDescriptorSetUpdateAfterBindSampledImages ); 9690 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxDescriptorSetUpdateAfterBindStorageImages ); 9691 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxDescriptorSetUpdateAfterBindInputAttachments ); 9692 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.supportedDepthResolveModes ); 9693 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.supportedStencilResolveModes ); 9694 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.independentResolveNone ); 9695 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.independentResolve ); 9696 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.filterMinmaxSingleComponentFormats ); 9697 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.filterMinmaxImageComponentMapping ); 9698 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.maxTimelineSemaphoreValueDifference ); 9699 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan12Properties.framebufferIntegerColorSampleCounts ); 9700 return seed; 9701 } 9702 }; 9703 9704 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan13Features> 9705 { operator ()std::hash9706 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan13Features const & physicalDeviceVulkan13Features) const VULKAN_HPP_NOEXCEPT 9707 { 9708 std::size_t seed = 0; 9709 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Features.sType ); 9710 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Features.pNext ); 9711 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Features.robustImageAccess ); 9712 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Features.inlineUniformBlock ); 9713 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Features.descriptorBindingInlineUniformBlockUpdateAfterBind ); 9714 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Features.pipelineCreationCacheControl ); 9715 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Features.privateData ); 9716 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Features.shaderDemoteToHelperInvocation ); 9717 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Features.shaderTerminateInvocation ); 9718 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Features.subgroupSizeControl ); 9719 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Features.computeFullSubgroups ); 9720 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Features.synchronization2 ); 9721 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Features.textureCompressionASTC_HDR ); 9722 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Features.shaderZeroInitializeWorkgroupMemory ); 9723 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Features.dynamicRendering ); 9724 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Features.shaderIntegerDotProduct ); 9725 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Features.maintenance4 ); 9726 return seed; 9727 } 9728 }; 9729 9730 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan13Properties> 9731 { operator ()std::hash9732 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan13Properties const & physicalDeviceVulkan13Properties) const VULKAN_HPP_NOEXCEPT 9733 { 9734 std::size_t seed = 0; 9735 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.sType ); 9736 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.pNext ); 9737 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.minSubgroupSize ); 9738 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.maxSubgroupSize ); 9739 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.maxComputeWorkgroupSubgroups ); 9740 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.requiredSubgroupSizeStages ); 9741 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.maxInlineUniformBlockSize ); 9742 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.maxPerStageDescriptorInlineUniformBlocks ); 9743 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks ); 9744 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.maxDescriptorSetInlineUniformBlocks ); 9745 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.maxDescriptorSetUpdateAfterBindInlineUniformBlocks ); 9746 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.maxInlineUniformTotalSize ); 9747 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProduct8BitUnsignedAccelerated ); 9748 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProduct8BitSignedAccelerated ); 9749 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProduct8BitMixedSignednessAccelerated ); 9750 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProduct4x8BitPackedUnsignedAccelerated ); 9751 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProduct4x8BitPackedSignedAccelerated ); 9752 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProduct4x8BitPackedMixedSignednessAccelerated ); 9753 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProduct16BitUnsignedAccelerated ); 9754 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProduct16BitSignedAccelerated ); 9755 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProduct16BitMixedSignednessAccelerated ); 9756 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProduct32BitUnsignedAccelerated ); 9757 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProduct32BitSignedAccelerated ); 9758 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProduct32BitMixedSignednessAccelerated ); 9759 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProduct64BitUnsignedAccelerated ); 9760 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProduct64BitSignedAccelerated ); 9761 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProduct64BitMixedSignednessAccelerated ); 9762 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating8BitUnsignedAccelerated ); 9763 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating8BitSignedAccelerated ); 9764 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated ); 9765 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated ); 9766 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated ); 9767 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated ); 9768 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating16BitUnsignedAccelerated ); 9769 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating16BitSignedAccelerated ); 9770 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated ); 9771 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating32BitUnsignedAccelerated ); 9772 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating32BitSignedAccelerated ); 9773 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated ); 9774 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating64BitUnsignedAccelerated ); 9775 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating64BitSignedAccelerated ); 9776 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated ); 9777 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.storageTexelBufferOffsetAlignmentBytes ); 9778 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.storageTexelBufferOffsetSingleTexelAlignment ); 9779 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.uniformTexelBufferOffsetAlignmentBytes ); 9780 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.uniformTexelBufferOffsetSingleTexelAlignment ); 9781 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkan13Properties.maxBufferSize ); 9782 return seed; 9783 } 9784 }; 9785 9786 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkanMemoryModelFeatures> 9787 { operator ()std::hash9788 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkanMemoryModelFeatures const & physicalDeviceVulkanMemoryModelFeatures) const VULKAN_HPP_NOEXCEPT 9789 { 9790 std::size_t seed = 0; 9791 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkanMemoryModelFeatures.sType ); 9792 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkanMemoryModelFeatures.pNext ); 9793 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkanMemoryModelFeatures.vulkanMemoryModel ); 9794 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkanMemoryModelFeatures.vulkanMemoryModelDeviceScope ); 9795 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVulkanMemoryModelFeatures.vulkanMemoryModelAvailabilityVisibilityChains ); 9796 return seed; 9797 } 9798 }; 9799 9800 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR> 9801 { operator ()std::hash9802 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR const & physicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR) const VULKAN_HPP_NOEXCEPT 9803 { 9804 std::size_t seed = 0; 9805 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR.sType ); 9806 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR.pNext ); 9807 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR.workgroupMemoryExplicitLayout ); 9808 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR.workgroupMemoryExplicitLayoutScalarBlockLayout ); 9809 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR.workgroupMemoryExplicitLayout8BitAccess ); 9810 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR.workgroupMemoryExplicitLayout16BitAccess ); 9811 return seed; 9812 } 9813 }; 9814 9815 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT> 9816 { operator ()std::hash9817 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT const & physicalDeviceYcbcr2Plane444FormatsFeaturesEXT) const VULKAN_HPP_NOEXCEPT 9818 { 9819 std::size_t seed = 0; 9820 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceYcbcr2Plane444FormatsFeaturesEXT.sType ); 9821 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceYcbcr2Plane444FormatsFeaturesEXT.pNext ); 9822 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceYcbcr2Plane444FormatsFeaturesEXT.ycbcr2plane444Formats ); 9823 return seed; 9824 } 9825 }; 9826 9827 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceYcbcrImageArraysFeaturesEXT> 9828 { operator ()std::hash9829 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceYcbcrImageArraysFeaturesEXT const & physicalDeviceYcbcrImageArraysFeaturesEXT) const VULKAN_HPP_NOEXCEPT 9830 { 9831 std::size_t seed = 0; 9832 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceYcbcrImageArraysFeaturesEXT.sType ); 9833 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceYcbcrImageArraysFeaturesEXT.pNext ); 9834 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceYcbcrImageArraysFeaturesEXT.ycbcrImageArrays ); 9835 return seed; 9836 } 9837 }; 9838 9839 template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures> 9840 { operator ()std::hash9841 std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures const & physicalDeviceZeroInitializeWorkgroupMemoryFeatures) const VULKAN_HPP_NOEXCEPT 9842 { 9843 std::size_t seed = 0; 9844 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceZeroInitializeWorkgroupMemoryFeatures.sType ); 9845 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceZeroInitializeWorkgroupMemoryFeatures.pNext ); 9846 VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceZeroInitializeWorkgroupMemoryFeatures.shaderZeroInitializeWorkgroupMemory ); 9847 return seed; 9848 } 9849 }; 9850 9851 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo> 9852 { operator ()std::hash9853 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo const & pipelineCacheCreateInfo) const VULKAN_HPP_NOEXCEPT 9854 { 9855 std::size_t seed = 0; 9856 VULKAN_HPP_HASH_COMBINE( seed, pipelineCacheCreateInfo.sType ); 9857 VULKAN_HPP_HASH_COMBINE( seed, pipelineCacheCreateInfo.pNext ); 9858 VULKAN_HPP_HASH_COMBINE( seed, pipelineCacheCreateInfo.flags ); 9859 VULKAN_HPP_HASH_COMBINE( seed, pipelineCacheCreateInfo.initialDataSize ); 9860 VULKAN_HPP_HASH_COMBINE( seed, pipelineCacheCreateInfo.pInitialData ); 9861 return seed; 9862 } 9863 }; 9864 9865 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineCacheHeaderVersionOne> 9866 { operator ()std::hash9867 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineCacheHeaderVersionOne const & pipelineCacheHeaderVersionOne) const VULKAN_HPP_NOEXCEPT 9868 { 9869 std::size_t seed = 0; 9870 VULKAN_HPP_HASH_COMBINE( seed, pipelineCacheHeaderVersionOne.headerSize ); 9871 VULKAN_HPP_HASH_COMBINE( seed, pipelineCacheHeaderVersionOne.headerVersion ); 9872 VULKAN_HPP_HASH_COMBINE( seed, pipelineCacheHeaderVersionOne.vendorID ); 9873 VULKAN_HPP_HASH_COMBINE( seed, pipelineCacheHeaderVersionOne.deviceID ); 9874 for ( size_t i = 0; i < VK_UUID_SIZE; ++i ) 9875 { 9876 VULKAN_HPP_HASH_COMBINE( seed, pipelineCacheHeaderVersionOne.pipelineCacheUUID[i] ); 9877 } 9878 return seed; 9879 } 9880 }; 9881 9882 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineColorBlendAdvancedStateCreateInfoEXT> 9883 { operator ()std::hash9884 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineColorBlendAdvancedStateCreateInfoEXT const & pipelineColorBlendAdvancedStateCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 9885 { 9886 std::size_t seed = 0; 9887 VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAdvancedStateCreateInfoEXT.sType ); 9888 VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAdvancedStateCreateInfoEXT.pNext ); 9889 VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAdvancedStateCreateInfoEXT.srcPremultiplied ); 9890 VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAdvancedStateCreateInfoEXT.dstPremultiplied ); 9891 VULKAN_HPP_HASH_COMBINE( seed, pipelineColorBlendAdvancedStateCreateInfoEXT.blendOverlap ); 9892 return seed; 9893 } 9894 }; 9895 9896 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineColorWriteCreateInfoEXT> 9897 { operator ()std::hash9898 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineColorWriteCreateInfoEXT const & pipelineColorWriteCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 9899 { 9900 std::size_t seed = 0; 9901 VULKAN_HPP_HASH_COMBINE( seed, pipelineColorWriteCreateInfoEXT.sType ); 9902 VULKAN_HPP_HASH_COMBINE( seed, pipelineColorWriteCreateInfoEXT.pNext ); 9903 VULKAN_HPP_HASH_COMBINE( seed, pipelineColorWriteCreateInfoEXT.attachmentCount ); 9904 VULKAN_HPP_HASH_COMBINE( seed, pipelineColorWriteCreateInfoEXT.pColorWriteEnables ); 9905 return seed; 9906 } 9907 }; 9908 9909 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineCompilerControlCreateInfoAMD> 9910 { operator ()std::hash9911 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineCompilerControlCreateInfoAMD const & pipelineCompilerControlCreateInfoAMD) const VULKAN_HPP_NOEXCEPT 9912 { 9913 std::size_t seed = 0; 9914 VULKAN_HPP_HASH_COMBINE( seed, pipelineCompilerControlCreateInfoAMD.sType ); 9915 VULKAN_HPP_HASH_COMBINE( seed, pipelineCompilerControlCreateInfoAMD.pNext ); 9916 VULKAN_HPP_HASH_COMBINE( seed, pipelineCompilerControlCreateInfoAMD.compilerControlFlags ); 9917 return seed; 9918 } 9919 }; 9920 9921 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineCoverageModulationStateCreateInfoNV> 9922 { operator ()std::hash9923 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineCoverageModulationStateCreateInfoNV const & pipelineCoverageModulationStateCreateInfoNV) const VULKAN_HPP_NOEXCEPT 9924 { 9925 std::size_t seed = 0; 9926 VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageModulationStateCreateInfoNV.sType ); 9927 VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageModulationStateCreateInfoNV.pNext ); 9928 VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageModulationStateCreateInfoNV.flags ); 9929 VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageModulationStateCreateInfoNV.coverageModulationMode ); 9930 VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageModulationStateCreateInfoNV.coverageModulationTableEnable ); 9931 VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageModulationStateCreateInfoNV.coverageModulationTableCount ); 9932 VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageModulationStateCreateInfoNV.pCoverageModulationTable ); 9933 return seed; 9934 } 9935 }; 9936 9937 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineCoverageReductionStateCreateInfoNV> 9938 { operator ()std::hash9939 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineCoverageReductionStateCreateInfoNV const & pipelineCoverageReductionStateCreateInfoNV) const VULKAN_HPP_NOEXCEPT 9940 { 9941 std::size_t seed = 0; 9942 VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageReductionStateCreateInfoNV.sType ); 9943 VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageReductionStateCreateInfoNV.pNext ); 9944 VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageReductionStateCreateInfoNV.flags ); 9945 VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageReductionStateCreateInfoNV.coverageReductionMode ); 9946 return seed; 9947 } 9948 }; 9949 9950 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineCoverageToColorStateCreateInfoNV> 9951 { operator ()std::hash9952 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineCoverageToColorStateCreateInfoNV const & pipelineCoverageToColorStateCreateInfoNV) const VULKAN_HPP_NOEXCEPT 9953 { 9954 std::size_t seed = 0; 9955 VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageToColorStateCreateInfoNV.sType ); 9956 VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageToColorStateCreateInfoNV.pNext ); 9957 VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageToColorStateCreateInfoNV.flags ); 9958 VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageToColorStateCreateInfoNV.coverageToColorEnable ); 9959 VULKAN_HPP_HASH_COMBINE( seed, pipelineCoverageToColorStateCreateInfoNV.coverageToColorLocation ); 9960 return seed; 9961 } 9962 }; 9963 9964 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineCreationFeedback> 9965 { operator ()std::hash9966 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineCreationFeedback const & pipelineCreationFeedback) const VULKAN_HPP_NOEXCEPT 9967 { 9968 std::size_t seed = 0; 9969 VULKAN_HPP_HASH_COMBINE( seed, pipelineCreationFeedback.flags ); 9970 VULKAN_HPP_HASH_COMBINE( seed, pipelineCreationFeedback.duration ); 9971 return seed; 9972 } 9973 }; 9974 9975 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackCreateInfo> 9976 { operator ()std::hash9977 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackCreateInfo const & pipelineCreationFeedbackCreateInfo) const VULKAN_HPP_NOEXCEPT 9978 { 9979 std::size_t seed = 0; 9980 VULKAN_HPP_HASH_COMBINE( seed, pipelineCreationFeedbackCreateInfo.sType ); 9981 VULKAN_HPP_HASH_COMBINE( seed, pipelineCreationFeedbackCreateInfo.pNext ); 9982 VULKAN_HPP_HASH_COMBINE( seed, pipelineCreationFeedbackCreateInfo.pPipelineCreationFeedback ); 9983 VULKAN_HPP_HASH_COMBINE( seed, pipelineCreationFeedbackCreateInfo.pipelineStageCreationFeedbackCount ); 9984 VULKAN_HPP_HASH_COMBINE( seed, pipelineCreationFeedbackCreateInfo.pPipelineStageCreationFeedbacks ); 9985 return seed; 9986 } 9987 }; 9988 9989 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineDiscardRectangleStateCreateInfoEXT> 9990 { operator ()std::hash9991 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineDiscardRectangleStateCreateInfoEXT const & pipelineDiscardRectangleStateCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 9992 { 9993 std::size_t seed = 0; 9994 VULKAN_HPP_HASH_COMBINE( seed, pipelineDiscardRectangleStateCreateInfoEXT.sType ); 9995 VULKAN_HPP_HASH_COMBINE( seed, pipelineDiscardRectangleStateCreateInfoEXT.pNext ); 9996 VULKAN_HPP_HASH_COMBINE( seed, pipelineDiscardRectangleStateCreateInfoEXT.flags ); 9997 VULKAN_HPP_HASH_COMBINE( seed, pipelineDiscardRectangleStateCreateInfoEXT.discardRectangleMode ); 9998 VULKAN_HPP_HASH_COMBINE( seed, pipelineDiscardRectangleStateCreateInfoEXT.discardRectangleCount ); 9999 VULKAN_HPP_HASH_COMBINE( seed, pipelineDiscardRectangleStateCreateInfoEXT.pDiscardRectangles ); 10000 return seed; 10001 } 10002 }; 10003 10004 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR> 10005 { operator ()std::hash10006 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR const & pipelineExecutableInfoKHR) const VULKAN_HPP_NOEXCEPT 10007 { 10008 std::size_t seed = 0; 10009 VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutableInfoKHR.sType ); 10010 VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutableInfoKHR.pNext ); 10011 VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutableInfoKHR.pipeline ); 10012 VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutableInfoKHR.executableIndex ); 10013 return seed; 10014 } 10015 }; 10016 10017 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR> 10018 { operator ()std::hash10019 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR const & pipelineExecutableInternalRepresentationKHR) const VULKAN_HPP_NOEXCEPT 10020 { 10021 std::size_t seed = 0; 10022 VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutableInternalRepresentationKHR.sType ); 10023 VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutableInternalRepresentationKHR.pNext ); 10024 for ( size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i ) 10025 { 10026 VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutableInternalRepresentationKHR.name[i] ); 10027 } 10028 for ( size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i ) 10029 { 10030 VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutableInternalRepresentationKHR.description[i] ); 10031 } 10032 VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutableInternalRepresentationKHR.isText ); 10033 VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutableInternalRepresentationKHR.dataSize ); 10034 VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutableInternalRepresentationKHR.pData ); 10035 return seed; 10036 } 10037 }; 10038 10039 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR> 10040 { operator ()std::hash10041 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR const & pipelineExecutablePropertiesKHR) const VULKAN_HPP_NOEXCEPT 10042 { 10043 std::size_t seed = 0; 10044 VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutablePropertiesKHR.sType ); 10045 VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutablePropertiesKHR.pNext ); 10046 VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutablePropertiesKHR.stages ); 10047 for ( size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i ) 10048 { 10049 VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutablePropertiesKHR.name[i] ); 10050 } 10051 for ( size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i ) 10052 { 10053 VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutablePropertiesKHR.description[i] ); 10054 } 10055 VULKAN_HPP_HASH_COMBINE( seed, pipelineExecutablePropertiesKHR.subgroupSize ); 10056 return seed; 10057 } 10058 }; 10059 10060 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineFragmentShadingRateEnumStateCreateInfoNV> 10061 { operator ()std::hash10062 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineFragmentShadingRateEnumStateCreateInfoNV const & pipelineFragmentShadingRateEnumStateCreateInfoNV) const VULKAN_HPP_NOEXCEPT 10063 { 10064 std::size_t seed = 0; 10065 VULKAN_HPP_HASH_COMBINE( seed, pipelineFragmentShadingRateEnumStateCreateInfoNV.sType ); 10066 VULKAN_HPP_HASH_COMBINE( seed, pipelineFragmentShadingRateEnumStateCreateInfoNV.pNext ); 10067 VULKAN_HPP_HASH_COMBINE( seed, pipelineFragmentShadingRateEnumStateCreateInfoNV.shadingRateType ); 10068 VULKAN_HPP_HASH_COMBINE( seed, pipelineFragmentShadingRateEnumStateCreateInfoNV.shadingRate ); 10069 for ( size_t i = 0; i < 2; ++i ) 10070 { 10071 VULKAN_HPP_HASH_COMBINE( seed, pipelineFragmentShadingRateEnumStateCreateInfoNV.combinerOps[i] ); 10072 } 10073 return seed; 10074 } 10075 }; 10076 10077 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineFragmentShadingRateStateCreateInfoKHR> 10078 { operator ()std::hash10079 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineFragmentShadingRateStateCreateInfoKHR const & pipelineFragmentShadingRateStateCreateInfoKHR) const VULKAN_HPP_NOEXCEPT 10080 { 10081 std::size_t seed = 0; 10082 VULKAN_HPP_HASH_COMBINE( seed, pipelineFragmentShadingRateStateCreateInfoKHR.sType ); 10083 VULKAN_HPP_HASH_COMBINE( seed, pipelineFragmentShadingRateStateCreateInfoKHR.pNext ); 10084 VULKAN_HPP_HASH_COMBINE( seed, pipelineFragmentShadingRateStateCreateInfoKHR.fragmentSize ); 10085 for ( size_t i = 0; i < 2; ++i ) 10086 { 10087 VULKAN_HPP_HASH_COMBINE( seed, pipelineFragmentShadingRateStateCreateInfoKHR.combinerOps[i] ); 10088 } 10089 return seed; 10090 } 10091 }; 10092 10093 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineInfoKHR> 10094 { operator ()std::hash10095 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineInfoKHR const & pipelineInfoKHR) const VULKAN_HPP_NOEXCEPT 10096 { 10097 std::size_t seed = 0; 10098 VULKAN_HPP_HASH_COMBINE( seed, pipelineInfoKHR.sType ); 10099 VULKAN_HPP_HASH_COMBINE( seed, pipelineInfoKHR.pNext ); 10100 VULKAN_HPP_HASH_COMBINE( seed, pipelineInfoKHR.pipeline ); 10101 return seed; 10102 } 10103 }; 10104 10105 template <> struct hash<VULKAN_HPP_NAMESPACE::PushConstantRange> 10106 { operator ()std::hash10107 std::size_t operator()(VULKAN_HPP_NAMESPACE::PushConstantRange const & pushConstantRange) const VULKAN_HPP_NOEXCEPT 10108 { 10109 std::size_t seed = 0; 10110 VULKAN_HPP_HASH_COMBINE( seed, pushConstantRange.stageFlags ); 10111 VULKAN_HPP_HASH_COMBINE( seed, pushConstantRange.offset ); 10112 VULKAN_HPP_HASH_COMBINE( seed, pushConstantRange.size ); 10113 return seed; 10114 } 10115 }; 10116 10117 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo> 10118 { operator ()std::hash10119 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo const & pipelineLayoutCreateInfo) const VULKAN_HPP_NOEXCEPT 10120 { 10121 std::size_t seed = 0; 10122 VULKAN_HPP_HASH_COMBINE( seed, pipelineLayoutCreateInfo.sType ); 10123 VULKAN_HPP_HASH_COMBINE( seed, pipelineLayoutCreateInfo.pNext ); 10124 VULKAN_HPP_HASH_COMBINE( seed, pipelineLayoutCreateInfo.flags ); 10125 VULKAN_HPP_HASH_COMBINE( seed, pipelineLayoutCreateInfo.setLayoutCount ); 10126 VULKAN_HPP_HASH_COMBINE( seed, pipelineLayoutCreateInfo.pSetLayouts ); 10127 VULKAN_HPP_HASH_COMBINE( seed, pipelineLayoutCreateInfo.pushConstantRangeCount ); 10128 VULKAN_HPP_HASH_COMBINE( seed, pipelineLayoutCreateInfo.pPushConstantRanges ); 10129 return seed; 10130 } 10131 }; 10132 10133 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineLibraryCreateInfoKHR> 10134 { operator ()std::hash10135 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineLibraryCreateInfoKHR const & pipelineLibraryCreateInfoKHR) const VULKAN_HPP_NOEXCEPT 10136 { 10137 std::size_t seed = 0; 10138 VULKAN_HPP_HASH_COMBINE( seed, pipelineLibraryCreateInfoKHR.sType ); 10139 VULKAN_HPP_HASH_COMBINE( seed, pipelineLibraryCreateInfoKHR.pNext ); 10140 VULKAN_HPP_HASH_COMBINE( seed, pipelineLibraryCreateInfoKHR.libraryCount ); 10141 VULKAN_HPP_HASH_COMBINE( seed, pipelineLibraryCreateInfoKHR.pLibraries ); 10142 return seed; 10143 } 10144 }; 10145 10146 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelinePropertiesIdentifierEXT> 10147 { operator ()std::hash10148 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelinePropertiesIdentifierEXT const & pipelinePropertiesIdentifierEXT) const VULKAN_HPP_NOEXCEPT 10149 { 10150 std::size_t seed = 0; 10151 VULKAN_HPP_HASH_COMBINE( seed, pipelinePropertiesIdentifierEXT.sType ); 10152 VULKAN_HPP_HASH_COMBINE( seed, pipelinePropertiesIdentifierEXT.pNext ); 10153 for ( size_t i = 0; i < VK_UUID_SIZE; ++i ) 10154 { 10155 VULKAN_HPP_HASH_COMBINE( seed, pipelinePropertiesIdentifierEXT.pipelineIdentifier[i] ); 10156 } 10157 return seed; 10158 } 10159 }; 10160 10161 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineRasterizationConservativeStateCreateInfoEXT> 10162 { operator ()std::hash10163 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineRasterizationConservativeStateCreateInfoEXT const & pipelineRasterizationConservativeStateCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 10164 { 10165 std::size_t seed = 0; 10166 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationConservativeStateCreateInfoEXT.sType ); 10167 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationConservativeStateCreateInfoEXT.pNext ); 10168 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationConservativeStateCreateInfoEXT.flags ); 10169 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationConservativeStateCreateInfoEXT.conservativeRasterizationMode ); 10170 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationConservativeStateCreateInfoEXT.extraPrimitiveOverestimationSize ); 10171 return seed; 10172 } 10173 }; 10174 10175 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineRasterizationDepthClipStateCreateInfoEXT> 10176 { operator ()std::hash10177 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineRasterizationDepthClipStateCreateInfoEXT const & pipelineRasterizationDepthClipStateCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 10178 { 10179 std::size_t seed = 0; 10180 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationDepthClipStateCreateInfoEXT.sType ); 10181 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationDepthClipStateCreateInfoEXT.pNext ); 10182 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationDepthClipStateCreateInfoEXT.flags ); 10183 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationDepthClipStateCreateInfoEXT.depthClipEnable ); 10184 return seed; 10185 } 10186 }; 10187 10188 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineRasterizationLineStateCreateInfoEXT> 10189 { operator ()std::hash10190 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineRasterizationLineStateCreateInfoEXT const & pipelineRasterizationLineStateCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 10191 { 10192 std::size_t seed = 0; 10193 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationLineStateCreateInfoEXT.sType ); 10194 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationLineStateCreateInfoEXT.pNext ); 10195 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationLineStateCreateInfoEXT.lineRasterizationMode ); 10196 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationLineStateCreateInfoEXT.stippledLineEnable ); 10197 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationLineStateCreateInfoEXT.lineStippleFactor ); 10198 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationLineStateCreateInfoEXT.lineStipplePattern ); 10199 return seed; 10200 } 10201 }; 10202 10203 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineRasterizationProvokingVertexStateCreateInfoEXT> 10204 { operator ()std::hash10205 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineRasterizationProvokingVertexStateCreateInfoEXT const & pipelineRasterizationProvokingVertexStateCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 10206 { 10207 std::size_t seed = 0; 10208 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationProvokingVertexStateCreateInfoEXT.sType ); 10209 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationProvokingVertexStateCreateInfoEXT.pNext ); 10210 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationProvokingVertexStateCreateInfoEXT.provokingVertexMode ); 10211 return seed; 10212 } 10213 }; 10214 10215 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineRasterizationStateRasterizationOrderAMD> 10216 { operator ()std::hash10217 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineRasterizationStateRasterizationOrderAMD const & pipelineRasterizationStateRasterizationOrderAMD) const VULKAN_HPP_NOEXCEPT 10218 { 10219 std::size_t seed = 0; 10220 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateRasterizationOrderAMD.sType ); 10221 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateRasterizationOrderAMD.pNext ); 10222 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateRasterizationOrderAMD.rasterizationOrder ); 10223 return seed; 10224 } 10225 }; 10226 10227 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineRasterizationStateStreamCreateInfoEXT> 10228 { operator ()std::hash10229 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineRasterizationStateStreamCreateInfoEXT const & pipelineRasterizationStateStreamCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 10230 { 10231 std::size_t seed = 0; 10232 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateStreamCreateInfoEXT.sType ); 10233 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateStreamCreateInfoEXT.pNext ); 10234 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateStreamCreateInfoEXT.flags ); 10235 VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationStateStreamCreateInfoEXT.rasterizationStream ); 10236 return seed; 10237 } 10238 }; 10239 10240 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineRenderingCreateInfo> 10241 { operator ()std::hash10242 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineRenderingCreateInfo const & pipelineRenderingCreateInfo) const VULKAN_HPP_NOEXCEPT 10243 { 10244 std::size_t seed = 0; 10245 VULKAN_HPP_HASH_COMBINE( seed, pipelineRenderingCreateInfo.sType ); 10246 VULKAN_HPP_HASH_COMBINE( seed, pipelineRenderingCreateInfo.pNext ); 10247 VULKAN_HPP_HASH_COMBINE( seed, pipelineRenderingCreateInfo.viewMask ); 10248 VULKAN_HPP_HASH_COMBINE( seed, pipelineRenderingCreateInfo.colorAttachmentCount ); 10249 VULKAN_HPP_HASH_COMBINE( seed, pipelineRenderingCreateInfo.pColorAttachmentFormats ); 10250 VULKAN_HPP_HASH_COMBINE( seed, pipelineRenderingCreateInfo.depthAttachmentFormat ); 10251 VULKAN_HPP_HASH_COMBINE( seed, pipelineRenderingCreateInfo.stencilAttachmentFormat ); 10252 return seed; 10253 } 10254 }; 10255 10256 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineRepresentativeFragmentTestStateCreateInfoNV> 10257 { operator ()std::hash10258 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineRepresentativeFragmentTestStateCreateInfoNV const & pipelineRepresentativeFragmentTestStateCreateInfoNV) const VULKAN_HPP_NOEXCEPT 10259 { 10260 std::size_t seed = 0; 10261 VULKAN_HPP_HASH_COMBINE( seed, pipelineRepresentativeFragmentTestStateCreateInfoNV.sType ); 10262 VULKAN_HPP_HASH_COMBINE( seed, pipelineRepresentativeFragmentTestStateCreateInfoNV.pNext ); 10263 VULKAN_HPP_HASH_COMBINE( seed, pipelineRepresentativeFragmentTestStateCreateInfoNV.representativeFragmentTestEnable ); 10264 return seed; 10265 } 10266 }; 10267 10268 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineRobustnessCreateInfoEXT> 10269 { operator ()std::hash10270 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineRobustnessCreateInfoEXT const & pipelineRobustnessCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 10271 { 10272 std::size_t seed = 0; 10273 VULKAN_HPP_HASH_COMBINE( seed, pipelineRobustnessCreateInfoEXT.sType ); 10274 VULKAN_HPP_HASH_COMBINE( seed, pipelineRobustnessCreateInfoEXT.pNext ); 10275 VULKAN_HPP_HASH_COMBINE( seed, pipelineRobustnessCreateInfoEXT.storageBuffers ); 10276 VULKAN_HPP_HASH_COMBINE( seed, pipelineRobustnessCreateInfoEXT.uniformBuffers ); 10277 VULKAN_HPP_HASH_COMBINE( seed, pipelineRobustnessCreateInfoEXT.vertexInputs ); 10278 VULKAN_HPP_HASH_COMBINE( seed, pipelineRobustnessCreateInfoEXT.images ); 10279 return seed; 10280 } 10281 }; 10282 10283 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineSampleLocationsStateCreateInfoEXT> 10284 { operator ()std::hash10285 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineSampleLocationsStateCreateInfoEXT const & pipelineSampleLocationsStateCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 10286 { 10287 std::size_t seed = 0; 10288 VULKAN_HPP_HASH_COMBINE( seed, pipelineSampleLocationsStateCreateInfoEXT.sType ); 10289 VULKAN_HPP_HASH_COMBINE( seed, pipelineSampleLocationsStateCreateInfoEXT.pNext ); 10290 VULKAN_HPP_HASH_COMBINE( seed, pipelineSampleLocationsStateCreateInfoEXT.sampleLocationsEnable ); 10291 VULKAN_HPP_HASH_COMBINE( seed, pipelineSampleLocationsStateCreateInfoEXT.sampleLocationsInfo ); 10292 return seed; 10293 } 10294 }; 10295 10296 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineShaderStageModuleIdentifierCreateInfoEXT> 10297 { operator ()std::hash10298 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineShaderStageModuleIdentifierCreateInfoEXT const & pipelineShaderStageModuleIdentifierCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 10299 { 10300 std::size_t seed = 0; 10301 VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageModuleIdentifierCreateInfoEXT.sType ); 10302 VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageModuleIdentifierCreateInfoEXT.pNext ); 10303 VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageModuleIdentifierCreateInfoEXT.identifierSize ); 10304 VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageModuleIdentifierCreateInfoEXT.pIdentifier ); 10305 return seed; 10306 } 10307 }; 10308 10309 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineShaderStageRequiredSubgroupSizeCreateInfo> 10310 { operator ()std::hash10311 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineShaderStageRequiredSubgroupSizeCreateInfo const & pipelineShaderStageRequiredSubgroupSizeCreateInfo) const VULKAN_HPP_NOEXCEPT 10312 { 10313 std::size_t seed = 0; 10314 VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageRequiredSubgroupSizeCreateInfo.sType ); 10315 VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageRequiredSubgroupSizeCreateInfo.pNext ); 10316 VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageRequiredSubgroupSizeCreateInfo.requiredSubgroupSize ); 10317 return seed; 10318 } 10319 }; 10320 10321 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineTessellationDomainOriginStateCreateInfo> 10322 { operator ()std::hash10323 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineTessellationDomainOriginStateCreateInfo const & pipelineTessellationDomainOriginStateCreateInfo) const VULKAN_HPP_NOEXCEPT 10324 { 10325 std::size_t seed = 0; 10326 VULKAN_HPP_HASH_COMBINE( seed, pipelineTessellationDomainOriginStateCreateInfo.sType ); 10327 VULKAN_HPP_HASH_COMBINE( seed, pipelineTessellationDomainOriginStateCreateInfo.pNext ); 10328 VULKAN_HPP_HASH_COMBINE( seed, pipelineTessellationDomainOriginStateCreateInfo.domainOrigin ); 10329 return seed; 10330 } 10331 }; 10332 10333 template <> struct hash<VULKAN_HPP_NAMESPACE::VertexInputBindingDivisorDescriptionEXT> 10334 { operator ()std::hash10335 std::size_t operator()(VULKAN_HPP_NAMESPACE::VertexInputBindingDivisorDescriptionEXT const & vertexInputBindingDivisorDescriptionEXT) const VULKAN_HPP_NOEXCEPT 10336 { 10337 std::size_t seed = 0; 10338 VULKAN_HPP_HASH_COMBINE( seed, vertexInputBindingDivisorDescriptionEXT.binding ); 10339 VULKAN_HPP_HASH_COMBINE( seed, vertexInputBindingDivisorDescriptionEXT.divisor ); 10340 return seed; 10341 } 10342 }; 10343 10344 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineVertexInputDivisorStateCreateInfoEXT> 10345 { operator ()std::hash10346 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineVertexInputDivisorStateCreateInfoEXT const & pipelineVertexInputDivisorStateCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 10347 { 10348 std::size_t seed = 0; 10349 VULKAN_HPP_HASH_COMBINE( seed, pipelineVertexInputDivisorStateCreateInfoEXT.sType ); 10350 VULKAN_HPP_HASH_COMBINE( seed, pipelineVertexInputDivisorStateCreateInfoEXT.pNext ); 10351 VULKAN_HPP_HASH_COMBINE( seed, pipelineVertexInputDivisorStateCreateInfoEXT.vertexBindingDivisorCount ); 10352 VULKAN_HPP_HASH_COMBINE( seed, pipelineVertexInputDivisorStateCreateInfoEXT.pVertexBindingDivisors ); 10353 return seed; 10354 } 10355 }; 10356 10357 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineViewportCoarseSampleOrderStateCreateInfoNV> 10358 { operator ()std::hash10359 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineViewportCoarseSampleOrderStateCreateInfoNV const & pipelineViewportCoarseSampleOrderStateCreateInfoNV) const VULKAN_HPP_NOEXCEPT 10360 { 10361 std::size_t seed = 0; 10362 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportCoarseSampleOrderStateCreateInfoNV.sType ); 10363 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportCoarseSampleOrderStateCreateInfoNV.pNext ); 10364 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportCoarseSampleOrderStateCreateInfoNV.sampleOrderType ); 10365 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportCoarseSampleOrderStateCreateInfoNV.customSampleOrderCount ); 10366 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportCoarseSampleOrderStateCreateInfoNV.pCustomSampleOrders ); 10367 return seed; 10368 } 10369 }; 10370 10371 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineViewportDepthClipControlCreateInfoEXT> 10372 { operator ()std::hash10373 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineViewportDepthClipControlCreateInfoEXT const & pipelineViewportDepthClipControlCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 10374 { 10375 std::size_t seed = 0; 10376 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportDepthClipControlCreateInfoEXT.sType ); 10377 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportDepthClipControlCreateInfoEXT.pNext ); 10378 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportDepthClipControlCreateInfoEXT.negativeOneToOne ); 10379 return seed; 10380 } 10381 }; 10382 10383 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineViewportExclusiveScissorStateCreateInfoNV> 10384 { operator ()std::hash10385 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineViewportExclusiveScissorStateCreateInfoNV const & pipelineViewportExclusiveScissorStateCreateInfoNV) const VULKAN_HPP_NOEXCEPT 10386 { 10387 std::size_t seed = 0; 10388 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportExclusiveScissorStateCreateInfoNV.sType ); 10389 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportExclusiveScissorStateCreateInfoNV.pNext ); 10390 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportExclusiveScissorStateCreateInfoNV.exclusiveScissorCount ); 10391 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportExclusiveScissorStateCreateInfoNV.pExclusiveScissors ); 10392 return seed; 10393 } 10394 }; 10395 10396 template <> struct hash<VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV> 10397 { operator ()std::hash10398 std::size_t operator()(VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV const & shadingRatePaletteNV) const VULKAN_HPP_NOEXCEPT 10399 { 10400 std::size_t seed = 0; 10401 VULKAN_HPP_HASH_COMBINE( seed, shadingRatePaletteNV.shadingRatePaletteEntryCount ); 10402 VULKAN_HPP_HASH_COMBINE( seed, shadingRatePaletteNV.pShadingRatePaletteEntries ); 10403 return seed; 10404 } 10405 }; 10406 10407 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineViewportShadingRateImageStateCreateInfoNV> 10408 { operator ()std::hash10409 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineViewportShadingRateImageStateCreateInfoNV const & pipelineViewportShadingRateImageStateCreateInfoNV) const VULKAN_HPP_NOEXCEPT 10410 { 10411 std::size_t seed = 0; 10412 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportShadingRateImageStateCreateInfoNV.sType ); 10413 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportShadingRateImageStateCreateInfoNV.pNext ); 10414 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportShadingRateImageStateCreateInfoNV.shadingRateImageEnable ); 10415 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportShadingRateImageStateCreateInfoNV.viewportCount ); 10416 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportShadingRateImageStateCreateInfoNV.pShadingRatePalettes ); 10417 return seed; 10418 } 10419 }; 10420 10421 template <> struct hash<VULKAN_HPP_NAMESPACE::ViewportSwizzleNV> 10422 { operator ()std::hash10423 std::size_t operator()(VULKAN_HPP_NAMESPACE::ViewportSwizzleNV const & viewportSwizzleNV) const VULKAN_HPP_NOEXCEPT 10424 { 10425 std::size_t seed = 0; 10426 VULKAN_HPP_HASH_COMBINE( seed, viewportSwizzleNV.x ); 10427 VULKAN_HPP_HASH_COMBINE( seed, viewportSwizzleNV.y ); 10428 VULKAN_HPP_HASH_COMBINE( seed, viewportSwizzleNV.z ); 10429 VULKAN_HPP_HASH_COMBINE( seed, viewportSwizzleNV.w ); 10430 return seed; 10431 } 10432 }; 10433 10434 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineViewportSwizzleStateCreateInfoNV> 10435 { operator ()std::hash10436 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineViewportSwizzleStateCreateInfoNV const & pipelineViewportSwizzleStateCreateInfoNV) const VULKAN_HPP_NOEXCEPT 10437 { 10438 std::size_t seed = 0; 10439 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportSwizzleStateCreateInfoNV.sType ); 10440 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportSwizzleStateCreateInfoNV.pNext ); 10441 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportSwizzleStateCreateInfoNV.flags ); 10442 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportSwizzleStateCreateInfoNV.viewportCount ); 10443 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportSwizzleStateCreateInfoNV.pViewportSwizzles ); 10444 return seed; 10445 } 10446 }; 10447 10448 template <> struct hash<VULKAN_HPP_NAMESPACE::ViewportWScalingNV> 10449 { operator ()std::hash10450 std::size_t operator()(VULKAN_HPP_NAMESPACE::ViewportWScalingNV const & viewportWScalingNV) const VULKAN_HPP_NOEXCEPT 10451 { 10452 std::size_t seed = 0; 10453 VULKAN_HPP_HASH_COMBINE( seed, viewportWScalingNV.xcoeff ); 10454 VULKAN_HPP_HASH_COMBINE( seed, viewportWScalingNV.ycoeff ); 10455 return seed; 10456 } 10457 }; 10458 10459 template <> struct hash<VULKAN_HPP_NAMESPACE::PipelineViewportWScalingStateCreateInfoNV> 10460 { operator ()std::hash10461 std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineViewportWScalingStateCreateInfoNV const & pipelineViewportWScalingStateCreateInfoNV) const VULKAN_HPP_NOEXCEPT 10462 { 10463 std::size_t seed = 0; 10464 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportWScalingStateCreateInfoNV.sType ); 10465 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportWScalingStateCreateInfoNV.pNext ); 10466 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportWScalingStateCreateInfoNV.viewportWScalingEnable ); 10467 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportWScalingStateCreateInfoNV.viewportCount ); 10468 VULKAN_HPP_HASH_COMBINE( seed, pipelineViewportWScalingStateCreateInfoNV.pViewportWScalings ); 10469 return seed; 10470 } 10471 }; 10472 10473 #if defined( VK_USE_PLATFORM_GGP ) 10474 template <> struct hash<VULKAN_HPP_NAMESPACE::PresentFrameTokenGGP> 10475 { operator ()std::hash10476 std::size_t operator()(VULKAN_HPP_NAMESPACE::PresentFrameTokenGGP const & presentFrameTokenGGP) const VULKAN_HPP_NOEXCEPT 10477 { 10478 std::size_t seed = 0; 10479 VULKAN_HPP_HASH_COMBINE( seed, presentFrameTokenGGP.sType ); 10480 VULKAN_HPP_HASH_COMBINE( seed, presentFrameTokenGGP.pNext ); 10481 VULKAN_HPP_HASH_COMBINE( seed, presentFrameTokenGGP.frameToken ); 10482 return seed; 10483 } 10484 }; 10485 #endif /*VK_USE_PLATFORM_GGP*/ 10486 10487 template <> struct hash<VULKAN_HPP_NAMESPACE::PresentIdKHR> 10488 { operator ()std::hash10489 std::size_t operator()(VULKAN_HPP_NAMESPACE::PresentIdKHR const & presentIdKHR) const VULKAN_HPP_NOEXCEPT 10490 { 10491 std::size_t seed = 0; 10492 VULKAN_HPP_HASH_COMBINE( seed, presentIdKHR.sType ); 10493 VULKAN_HPP_HASH_COMBINE( seed, presentIdKHR.pNext ); 10494 VULKAN_HPP_HASH_COMBINE( seed, presentIdKHR.swapchainCount ); 10495 VULKAN_HPP_HASH_COMBINE( seed, presentIdKHR.pPresentIds ); 10496 return seed; 10497 } 10498 }; 10499 10500 template <> struct hash<VULKAN_HPP_NAMESPACE::PresentInfoKHR> 10501 { operator ()std::hash10502 std::size_t operator()(VULKAN_HPP_NAMESPACE::PresentInfoKHR const & presentInfoKHR) const VULKAN_HPP_NOEXCEPT 10503 { 10504 std::size_t seed = 0; 10505 VULKAN_HPP_HASH_COMBINE( seed, presentInfoKHR.sType ); 10506 VULKAN_HPP_HASH_COMBINE( seed, presentInfoKHR.pNext ); 10507 VULKAN_HPP_HASH_COMBINE( seed, presentInfoKHR.waitSemaphoreCount ); 10508 VULKAN_HPP_HASH_COMBINE( seed, presentInfoKHR.pWaitSemaphores ); 10509 VULKAN_HPP_HASH_COMBINE( seed, presentInfoKHR.swapchainCount ); 10510 VULKAN_HPP_HASH_COMBINE( seed, presentInfoKHR.pSwapchains ); 10511 VULKAN_HPP_HASH_COMBINE( seed, presentInfoKHR.pImageIndices ); 10512 VULKAN_HPP_HASH_COMBINE( seed, presentInfoKHR.pResults ); 10513 return seed; 10514 } 10515 }; 10516 10517 template <> struct hash<VULKAN_HPP_NAMESPACE::RectLayerKHR> 10518 { operator ()std::hash10519 std::size_t operator()(VULKAN_HPP_NAMESPACE::RectLayerKHR const & rectLayerKHR) const VULKAN_HPP_NOEXCEPT 10520 { 10521 std::size_t seed = 0; 10522 VULKAN_HPP_HASH_COMBINE( seed, rectLayerKHR.offset ); 10523 VULKAN_HPP_HASH_COMBINE( seed, rectLayerKHR.extent ); 10524 VULKAN_HPP_HASH_COMBINE( seed, rectLayerKHR.layer ); 10525 return seed; 10526 } 10527 }; 10528 10529 template <> struct hash<VULKAN_HPP_NAMESPACE::PresentRegionKHR> 10530 { operator ()std::hash10531 std::size_t operator()(VULKAN_HPP_NAMESPACE::PresentRegionKHR const & presentRegionKHR) const VULKAN_HPP_NOEXCEPT 10532 { 10533 std::size_t seed = 0; 10534 VULKAN_HPP_HASH_COMBINE( seed, presentRegionKHR.rectangleCount ); 10535 VULKAN_HPP_HASH_COMBINE( seed, presentRegionKHR.pRectangles ); 10536 return seed; 10537 } 10538 }; 10539 10540 template <> struct hash<VULKAN_HPP_NAMESPACE::PresentRegionsKHR> 10541 { operator ()std::hash10542 std::size_t operator()(VULKAN_HPP_NAMESPACE::PresentRegionsKHR const & presentRegionsKHR) const VULKAN_HPP_NOEXCEPT 10543 { 10544 std::size_t seed = 0; 10545 VULKAN_HPP_HASH_COMBINE( seed, presentRegionsKHR.sType ); 10546 VULKAN_HPP_HASH_COMBINE( seed, presentRegionsKHR.pNext ); 10547 VULKAN_HPP_HASH_COMBINE( seed, presentRegionsKHR.swapchainCount ); 10548 VULKAN_HPP_HASH_COMBINE( seed, presentRegionsKHR.pRegions ); 10549 return seed; 10550 } 10551 }; 10552 10553 template <> struct hash<VULKAN_HPP_NAMESPACE::PresentTimeGOOGLE> 10554 { operator ()std::hash10555 std::size_t operator()(VULKAN_HPP_NAMESPACE::PresentTimeGOOGLE const & presentTimeGOOGLE) const VULKAN_HPP_NOEXCEPT 10556 { 10557 std::size_t seed = 0; 10558 VULKAN_HPP_HASH_COMBINE( seed, presentTimeGOOGLE.presentID ); 10559 VULKAN_HPP_HASH_COMBINE( seed, presentTimeGOOGLE.desiredPresentTime ); 10560 return seed; 10561 } 10562 }; 10563 10564 template <> struct hash<VULKAN_HPP_NAMESPACE::PresentTimesInfoGOOGLE> 10565 { operator ()std::hash10566 std::size_t operator()(VULKAN_HPP_NAMESPACE::PresentTimesInfoGOOGLE const & presentTimesInfoGOOGLE) const VULKAN_HPP_NOEXCEPT 10567 { 10568 std::size_t seed = 0; 10569 VULKAN_HPP_HASH_COMBINE( seed, presentTimesInfoGOOGLE.sType ); 10570 VULKAN_HPP_HASH_COMBINE( seed, presentTimesInfoGOOGLE.pNext ); 10571 VULKAN_HPP_HASH_COMBINE( seed, presentTimesInfoGOOGLE.swapchainCount ); 10572 VULKAN_HPP_HASH_COMBINE( seed, presentTimesInfoGOOGLE.pTimes ); 10573 return seed; 10574 } 10575 }; 10576 10577 template <> struct hash<VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo> 10578 { operator ()std::hash10579 std::size_t operator()(VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo const & privateDataSlotCreateInfo) const VULKAN_HPP_NOEXCEPT 10580 { 10581 std::size_t seed = 0; 10582 VULKAN_HPP_HASH_COMBINE( seed, privateDataSlotCreateInfo.sType ); 10583 VULKAN_HPP_HASH_COMBINE( seed, privateDataSlotCreateInfo.pNext ); 10584 VULKAN_HPP_HASH_COMBINE( seed, privateDataSlotCreateInfo.flags ); 10585 return seed; 10586 } 10587 }; 10588 10589 template <> struct hash<VULKAN_HPP_NAMESPACE::ProtectedSubmitInfo> 10590 { operator ()std::hash10591 std::size_t operator()(VULKAN_HPP_NAMESPACE::ProtectedSubmitInfo const & protectedSubmitInfo) const VULKAN_HPP_NOEXCEPT 10592 { 10593 std::size_t seed = 0; 10594 VULKAN_HPP_HASH_COMBINE( seed, protectedSubmitInfo.sType ); 10595 VULKAN_HPP_HASH_COMBINE( seed, protectedSubmitInfo.pNext ); 10596 VULKAN_HPP_HASH_COMBINE( seed, protectedSubmitInfo.protectedSubmit ); 10597 return seed; 10598 } 10599 }; 10600 10601 template <> struct hash<VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo> 10602 { operator ()std::hash10603 std::size_t operator()(VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo const & queryPoolCreateInfo) const VULKAN_HPP_NOEXCEPT 10604 { 10605 std::size_t seed = 0; 10606 VULKAN_HPP_HASH_COMBINE( seed, queryPoolCreateInfo.sType ); 10607 VULKAN_HPP_HASH_COMBINE( seed, queryPoolCreateInfo.pNext ); 10608 VULKAN_HPP_HASH_COMBINE( seed, queryPoolCreateInfo.flags ); 10609 VULKAN_HPP_HASH_COMBINE( seed, queryPoolCreateInfo.queryType ); 10610 VULKAN_HPP_HASH_COMBINE( seed, queryPoolCreateInfo.queryCount ); 10611 VULKAN_HPP_HASH_COMBINE( seed, queryPoolCreateInfo.pipelineStatistics ); 10612 return seed; 10613 } 10614 }; 10615 10616 template <> struct hash<VULKAN_HPP_NAMESPACE::QueryPoolPerformanceCreateInfoKHR> 10617 { operator ()std::hash10618 std::size_t operator()(VULKAN_HPP_NAMESPACE::QueryPoolPerformanceCreateInfoKHR const & queryPoolPerformanceCreateInfoKHR) const VULKAN_HPP_NOEXCEPT 10619 { 10620 std::size_t seed = 0; 10621 VULKAN_HPP_HASH_COMBINE( seed, queryPoolPerformanceCreateInfoKHR.sType ); 10622 VULKAN_HPP_HASH_COMBINE( seed, queryPoolPerformanceCreateInfoKHR.pNext ); 10623 VULKAN_HPP_HASH_COMBINE( seed, queryPoolPerformanceCreateInfoKHR.queueFamilyIndex ); 10624 VULKAN_HPP_HASH_COMBINE( seed, queryPoolPerformanceCreateInfoKHR.counterIndexCount ); 10625 VULKAN_HPP_HASH_COMBINE( seed, queryPoolPerformanceCreateInfoKHR.pCounterIndices ); 10626 return seed; 10627 } 10628 }; 10629 10630 template <> struct hash<VULKAN_HPP_NAMESPACE::QueryPoolPerformanceQueryCreateInfoINTEL> 10631 { operator ()std::hash10632 std::size_t operator()(VULKAN_HPP_NAMESPACE::QueryPoolPerformanceQueryCreateInfoINTEL const & queryPoolPerformanceQueryCreateInfoINTEL) const VULKAN_HPP_NOEXCEPT 10633 { 10634 std::size_t seed = 0; 10635 VULKAN_HPP_HASH_COMBINE( seed, queryPoolPerformanceQueryCreateInfoINTEL.sType ); 10636 VULKAN_HPP_HASH_COMBINE( seed, queryPoolPerformanceQueryCreateInfoINTEL.pNext ); 10637 VULKAN_HPP_HASH_COMBINE( seed, queryPoolPerformanceQueryCreateInfoINTEL.performanceCountersSampling ); 10638 return seed; 10639 } 10640 }; 10641 10642 template <> struct hash<VULKAN_HPP_NAMESPACE::QueueFamilyCheckpointProperties2NV> 10643 { operator ()std::hash10644 std::size_t operator()(VULKAN_HPP_NAMESPACE::QueueFamilyCheckpointProperties2NV const & queueFamilyCheckpointProperties2NV) const VULKAN_HPP_NOEXCEPT 10645 { 10646 std::size_t seed = 0; 10647 VULKAN_HPP_HASH_COMBINE( seed, queueFamilyCheckpointProperties2NV.sType ); 10648 VULKAN_HPP_HASH_COMBINE( seed, queueFamilyCheckpointProperties2NV.pNext ); 10649 VULKAN_HPP_HASH_COMBINE( seed, queueFamilyCheckpointProperties2NV.checkpointExecutionStageMask ); 10650 return seed; 10651 } 10652 }; 10653 10654 template <> struct hash<VULKAN_HPP_NAMESPACE::QueueFamilyCheckpointPropertiesNV> 10655 { operator ()std::hash10656 std::size_t operator()(VULKAN_HPP_NAMESPACE::QueueFamilyCheckpointPropertiesNV const & queueFamilyCheckpointPropertiesNV) const VULKAN_HPP_NOEXCEPT 10657 { 10658 std::size_t seed = 0; 10659 VULKAN_HPP_HASH_COMBINE( seed, queueFamilyCheckpointPropertiesNV.sType ); 10660 VULKAN_HPP_HASH_COMBINE( seed, queueFamilyCheckpointPropertiesNV.pNext ); 10661 VULKAN_HPP_HASH_COMBINE( seed, queueFamilyCheckpointPropertiesNV.checkpointExecutionStageMask ); 10662 return seed; 10663 } 10664 }; 10665 10666 template <> struct hash<VULKAN_HPP_NAMESPACE::QueueFamilyGlobalPriorityPropertiesKHR> 10667 { operator ()std::hash10668 std::size_t operator()(VULKAN_HPP_NAMESPACE::QueueFamilyGlobalPriorityPropertiesKHR const & queueFamilyGlobalPriorityPropertiesKHR) const VULKAN_HPP_NOEXCEPT 10669 { 10670 std::size_t seed = 0; 10671 VULKAN_HPP_HASH_COMBINE( seed, queueFamilyGlobalPriorityPropertiesKHR.sType ); 10672 VULKAN_HPP_HASH_COMBINE( seed, queueFamilyGlobalPriorityPropertiesKHR.pNext ); 10673 VULKAN_HPP_HASH_COMBINE( seed, queueFamilyGlobalPriorityPropertiesKHR.priorityCount ); 10674 for ( size_t i = 0; i < VK_MAX_GLOBAL_PRIORITY_SIZE_KHR; ++i ) 10675 { 10676 VULKAN_HPP_HASH_COMBINE( seed, queueFamilyGlobalPriorityPropertiesKHR.priorities[i] ); 10677 } 10678 return seed; 10679 } 10680 }; 10681 10682 template <> struct hash<VULKAN_HPP_NAMESPACE::QueueFamilyProperties> 10683 { operator ()std::hash10684 std::size_t operator()(VULKAN_HPP_NAMESPACE::QueueFamilyProperties const & queueFamilyProperties) const VULKAN_HPP_NOEXCEPT 10685 { 10686 std::size_t seed = 0; 10687 VULKAN_HPP_HASH_COMBINE( seed, queueFamilyProperties.queueFlags ); 10688 VULKAN_HPP_HASH_COMBINE( seed, queueFamilyProperties.queueCount ); 10689 VULKAN_HPP_HASH_COMBINE( seed, queueFamilyProperties.timestampValidBits ); 10690 VULKAN_HPP_HASH_COMBINE( seed, queueFamilyProperties.minImageTransferGranularity ); 10691 return seed; 10692 } 10693 }; 10694 10695 template <> struct hash<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> 10696 { operator ()std::hash10697 std::size_t operator()(VULKAN_HPP_NAMESPACE::QueueFamilyProperties2 const & queueFamilyProperties2) const VULKAN_HPP_NOEXCEPT 10698 { 10699 std::size_t seed = 0; 10700 VULKAN_HPP_HASH_COMBINE( seed, queueFamilyProperties2.sType ); 10701 VULKAN_HPP_HASH_COMBINE( seed, queueFamilyProperties2.pNext ); 10702 VULKAN_HPP_HASH_COMBINE( seed, queueFamilyProperties2.queueFamilyProperties ); 10703 return seed; 10704 } 10705 }; 10706 10707 template <> struct hash<VULKAN_HPP_NAMESPACE::QueueFamilyQueryResultStatusPropertiesKHR> 10708 { operator ()std::hash10709 std::size_t operator()(VULKAN_HPP_NAMESPACE::QueueFamilyQueryResultStatusPropertiesKHR const & queueFamilyQueryResultStatusPropertiesKHR) const VULKAN_HPP_NOEXCEPT 10710 { 10711 std::size_t seed = 0; 10712 VULKAN_HPP_HASH_COMBINE( seed, queueFamilyQueryResultStatusPropertiesKHR.sType ); 10713 VULKAN_HPP_HASH_COMBINE( seed, queueFamilyQueryResultStatusPropertiesKHR.pNext ); 10714 VULKAN_HPP_HASH_COMBINE( seed, queueFamilyQueryResultStatusPropertiesKHR.queryResultStatusSupport ); 10715 return seed; 10716 } 10717 }; 10718 10719 template <> struct hash<VULKAN_HPP_NAMESPACE::QueueFamilyVideoPropertiesKHR> 10720 { operator ()std::hash10721 std::size_t operator()(VULKAN_HPP_NAMESPACE::QueueFamilyVideoPropertiesKHR const & queueFamilyVideoPropertiesKHR) const VULKAN_HPP_NOEXCEPT 10722 { 10723 std::size_t seed = 0; 10724 VULKAN_HPP_HASH_COMBINE( seed, queueFamilyVideoPropertiesKHR.sType ); 10725 VULKAN_HPP_HASH_COMBINE( seed, queueFamilyVideoPropertiesKHR.pNext ); 10726 VULKAN_HPP_HASH_COMBINE( seed, queueFamilyVideoPropertiesKHR.videoCodecOperations ); 10727 return seed; 10728 } 10729 }; 10730 10731 template <> struct hash<VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR> 10732 { operator ()std::hash10733 std::size_t operator()(VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR const & rayTracingShaderGroupCreateInfoKHR) const VULKAN_HPP_NOEXCEPT 10734 { 10735 std::size_t seed = 0; 10736 VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoKHR.sType ); 10737 VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoKHR.pNext ); 10738 VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoKHR.type ); 10739 VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoKHR.generalShader ); 10740 VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoKHR.closestHitShader ); 10741 VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoKHR.anyHitShader ); 10742 VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoKHR.intersectionShader ); 10743 VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoKHR.pShaderGroupCaptureReplayHandle ); 10744 return seed; 10745 } 10746 }; 10747 10748 template <> struct hash<VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR> 10749 { operator ()std::hash10750 std::size_t operator()(VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR const & rayTracingPipelineInterfaceCreateInfoKHR) const VULKAN_HPP_NOEXCEPT 10751 { 10752 std::size_t seed = 0; 10753 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineInterfaceCreateInfoKHR.sType ); 10754 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineInterfaceCreateInfoKHR.pNext ); 10755 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineInterfaceCreateInfoKHR.maxPipelineRayPayloadSize ); 10756 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineInterfaceCreateInfoKHR.maxPipelineRayHitAttributeSize ); 10757 return seed; 10758 } 10759 }; 10760 10761 template <> struct hash<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> 10762 { operator ()std::hash10763 std::size_t operator()(VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR const & rayTracingPipelineCreateInfoKHR) const VULKAN_HPP_NOEXCEPT 10764 { 10765 std::size_t seed = 0; 10766 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.sType ); 10767 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.pNext ); 10768 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.flags ); 10769 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.stageCount ); 10770 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.pStages ); 10771 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.groupCount ); 10772 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.pGroups ); 10773 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.maxPipelineRayRecursionDepth ); 10774 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.pLibraryInfo ); 10775 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.pLibraryInterface ); 10776 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.pDynamicState ); 10777 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.layout ); 10778 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.basePipelineHandle ); 10779 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoKHR.basePipelineIndex ); 10780 return seed; 10781 } 10782 }; 10783 10784 template <> struct hash<VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoNV> 10785 { operator ()std::hash10786 std::size_t operator()(VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoNV const & rayTracingShaderGroupCreateInfoNV) const VULKAN_HPP_NOEXCEPT 10787 { 10788 std::size_t seed = 0; 10789 VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoNV.sType ); 10790 VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoNV.pNext ); 10791 VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoNV.type ); 10792 VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoNV.generalShader ); 10793 VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoNV.closestHitShader ); 10794 VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoNV.anyHitShader ); 10795 VULKAN_HPP_HASH_COMBINE( seed, rayTracingShaderGroupCreateInfoNV.intersectionShader ); 10796 return seed; 10797 } 10798 }; 10799 10800 template <> struct hash<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> 10801 { operator ()std::hash10802 std::size_t operator()(VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV const & rayTracingPipelineCreateInfoNV) const VULKAN_HPP_NOEXCEPT 10803 { 10804 std::size_t seed = 0; 10805 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoNV.sType ); 10806 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoNV.pNext ); 10807 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoNV.flags ); 10808 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoNV.stageCount ); 10809 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoNV.pStages ); 10810 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoNV.groupCount ); 10811 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoNV.pGroups ); 10812 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoNV.maxRecursionDepth ); 10813 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoNV.layout ); 10814 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoNV.basePipelineHandle ); 10815 VULKAN_HPP_HASH_COMBINE( seed, rayTracingPipelineCreateInfoNV.basePipelineIndex ); 10816 return seed; 10817 } 10818 }; 10819 10820 template <> struct hash<VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE> 10821 { operator ()std::hash10822 std::size_t operator()(VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE const & refreshCycleDurationGOOGLE) const VULKAN_HPP_NOEXCEPT 10823 { 10824 std::size_t seed = 0; 10825 VULKAN_HPP_HASH_COMBINE( seed, refreshCycleDurationGOOGLE.refreshDuration ); 10826 return seed; 10827 } 10828 }; 10829 10830 template <> struct hash<VULKAN_HPP_NAMESPACE::ReleaseSwapchainImagesInfoEXT> 10831 { operator ()std::hash10832 std::size_t operator()(VULKAN_HPP_NAMESPACE::ReleaseSwapchainImagesInfoEXT const & releaseSwapchainImagesInfoEXT) const VULKAN_HPP_NOEXCEPT 10833 { 10834 std::size_t seed = 0; 10835 VULKAN_HPP_HASH_COMBINE( seed, releaseSwapchainImagesInfoEXT.sType ); 10836 VULKAN_HPP_HASH_COMBINE( seed, releaseSwapchainImagesInfoEXT.pNext ); 10837 VULKAN_HPP_HASH_COMBINE( seed, releaseSwapchainImagesInfoEXT.swapchain ); 10838 VULKAN_HPP_HASH_COMBINE( seed, releaseSwapchainImagesInfoEXT.imageIndexCount ); 10839 VULKAN_HPP_HASH_COMBINE( seed, releaseSwapchainImagesInfoEXT.pImageIndices ); 10840 return seed; 10841 } 10842 }; 10843 10844 template <> struct hash<VULKAN_HPP_NAMESPACE::RenderPassAttachmentBeginInfo> 10845 { operator ()std::hash10846 std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderPassAttachmentBeginInfo const & renderPassAttachmentBeginInfo) const VULKAN_HPP_NOEXCEPT 10847 { 10848 std::size_t seed = 0; 10849 VULKAN_HPP_HASH_COMBINE( seed, renderPassAttachmentBeginInfo.sType ); 10850 VULKAN_HPP_HASH_COMBINE( seed, renderPassAttachmentBeginInfo.pNext ); 10851 VULKAN_HPP_HASH_COMBINE( seed, renderPassAttachmentBeginInfo.attachmentCount ); 10852 VULKAN_HPP_HASH_COMBINE( seed, renderPassAttachmentBeginInfo.pAttachments ); 10853 return seed; 10854 } 10855 }; 10856 10857 template <> struct hash<VULKAN_HPP_NAMESPACE::RenderPassBeginInfo> 10858 { operator ()std::hash10859 std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderPassBeginInfo const & renderPassBeginInfo) const VULKAN_HPP_NOEXCEPT 10860 { 10861 std::size_t seed = 0; 10862 VULKAN_HPP_HASH_COMBINE( seed, renderPassBeginInfo.sType ); 10863 VULKAN_HPP_HASH_COMBINE( seed, renderPassBeginInfo.pNext ); 10864 VULKAN_HPP_HASH_COMBINE( seed, renderPassBeginInfo.renderPass ); 10865 VULKAN_HPP_HASH_COMBINE( seed, renderPassBeginInfo.framebuffer ); 10866 VULKAN_HPP_HASH_COMBINE( seed, renderPassBeginInfo.renderArea ); 10867 VULKAN_HPP_HASH_COMBINE( seed, renderPassBeginInfo.clearValueCount ); 10868 VULKAN_HPP_HASH_COMBINE( seed, renderPassBeginInfo.pClearValues ); 10869 return seed; 10870 } 10871 }; 10872 10873 template <> struct hash<VULKAN_HPP_NAMESPACE::SubpassDescription> 10874 { operator ()std::hash10875 std::size_t operator()(VULKAN_HPP_NAMESPACE::SubpassDescription const & subpassDescription) const VULKAN_HPP_NOEXCEPT 10876 { 10877 std::size_t seed = 0; 10878 VULKAN_HPP_HASH_COMBINE( seed, subpassDescription.flags ); 10879 VULKAN_HPP_HASH_COMBINE( seed, subpassDescription.pipelineBindPoint ); 10880 VULKAN_HPP_HASH_COMBINE( seed, subpassDescription.inputAttachmentCount ); 10881 VULKAN_HPP_HASH_COMBINE( seed, subpassDescription.pInputAttachments ); 10882 VULKAN_HPP_HASH_COMBINE( seed, subpassDescription.colorAttachmentCount ); 10883 VULKAN_HPP_HASH_COMBINE( seed, subpassDescription.pColorAttachments ); 10884 VULKAN_HPP_HASH_COMBINE( seed, subpassDescription.pResolveAttachments ); 10885 VULKAN_HPP_HASH_COMBINE( seed, subpassDescription.pDepthStencilAttachment ); 10886 VULKAN_HPP_HASH_COMBINE( seed, subpassDescription.preserveAttachmentCount ); 10887 VULKAN_HPP_HASH_COMBINE( seed, subpassDescription.pPreserveAttachments ); 10888 return seed; 10889 } 10890 }; 10891 10892 template <> struct hash<VULKAN_HPP_NAMESPACE::SubpassDependency> 10893 { operator ()std::hash10894 std::size_t operator()(VULKAN_HPP_NAMESPACE::SubpassDependency const & subpassDependency) const VULKAN_HPP_NOEXCEPT 10895 { 10896 std::size_t seed = 0; 10897 VULKAN_HPP_HASH_COMBINE( seed, subpassDependency.srcSubpass ); 10898 VULKAN_HPP_HASH_COMBINE( seed, subpassDependency.dstSubpass ); 10899 VULKAN_HPP_HASH_COMBINE( seed, subpassDependency.srcStageMask ); 10900 VULKAN_HPP_HASH_COMBINE( seed, subpassDependency.dstStageMask ); 10901 VULKAN_HPP_HASH_COMBINE( seed, subpassDependency.srcAccessMask ); 10902 VULKAN_HPP_HASH_COMBINE( seed, subpassDependency.dstAccessMask ); 10903 VULKAN_HPP_HASH_COMBINE( seed, subpassDependency.dependencyFlags ); 10904 return seed; 10905 } 10906 }; 10907 10908 template <> struct hash<VULKAN_HPP_NAMESPACE::RenderPassCreateInfo> 10909 { operator ()std::hash10910 std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderPassCreateInfo const & renderPassCreateInfo) const VULKAN_HPP_NOEXCEPT 10911 { 10912 std::size_t seed = 0; 10913 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo.sType ); 10914 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo.pNext ); 10915 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo.flags ); 10916 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo.attachmentCount ); 10917 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo.pAttachments ); 10918 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo.subpassCount ); 10919 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo.pSubpasses ); 10920 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo.dependencyCount ); 10921 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo.pDependencies ); 10922 return seed; 10923 } 10924 }; 10925 10926 template <> struct hash<VULKAN_HPP_NAMESPACE::SubpassDescription2> 10927 { operator ()std::hash10928 std::size_t operator()(VULKAN_HPP_NAMESPACE::SubpassDescription2 const & subpassDescription2) const VULKAN_HPP_NOEXCEPT 10929 { 10930 std::size_t seed = 0; 10931 VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.sType ); 10932 VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.pNext ); 10933 VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.flags ); 10934 VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.pipelineBindPoint ); 10935 VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.viewMask ); 10936 VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.inputAttachmentCount ); 10937 VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.pInputAttachments ); 10938 VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.colorAttachmentCount ); 10939 VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.pColorAttachments ); 10940 VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.pResolveAttachments ); 10941 VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.pDepthStencilAttachment ); 10942 VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.preserveAttachmentCount ); 10943 VULKAN_HPP_HASH_COMBINE( seed, subpassDescription2.pPreserveAttachments ); 10944 return seed; 10945 } 10946 }; 10947 10948 template <> struct hash<VULKAN_HPP_NAMESPACE::SubpassDependency2> 10949 { operator ()std::hash10950 std::size_t operator()(VULKAN_HPP_NAMESPACE::SubpassDependency2 const & subpassDependency2) const VULKAN_HPP_NOEXCEPT 10951 { 10952 std::size_t seed = 0; 10953 VULKAN_HPP_HASH_COMBINE( seed, subpassDependency2.sType ); 10954 VULKAN_HPP_HASH_COMBINE( seed, subpassDependency2.pNext ); 10955 VULKAN_HPP_HASH_COMBINE( seed, subpassDependency2.srcSubpass ); 10956 VULKAN_HPP_HASH_COMBINE( seed, subpassDependency2.dstSubpass ); 10957 VULKAN_HPP_HASH_COMBINE( seed, subpassDependency2.srcStageMask ); 10958 VULKAN_HPP_HASH_COMBINE( seed, subpassDependency2.dstStageMask ); 10959 VULKAN_HPP_HASH_COMBINE( seed, subpassDependency2.srcAccessMask ); 10960 VULKAN_HPP_HASH_COMBINE( seed, subpassDependency2.dstAccessMask ); 10961 VULKAN_HPP_HASH_COMBINE( seed, subpassDependency2.dependencyFlags ); 10962 VULKAN_HPP_HASH_COMBINE( seed, subpassDependency2.viewOffset ); 10963 return seed; 10964 } 10965 }; 10966 10967 template <> struct hash<VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2> 10968 { operator ()std::hash10969 std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 const & renderPassCreateInfo2) const VULKAN_HPP_NOEXCEPT 10970 { 10971 std::size_t seed = 0; 10972 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo2.sType ); 10973 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo2.pNext ); 10974 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo2.flags ); 10975 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo2.attachmentCount ); 10976 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo2.pAttachments ); 10977 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo2.subpassCount ); 10978 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo2.pSubpasses ); 10979 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo2.dependencyCount ); 10980 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo2.pDependencies ); 10981 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo2.correlatedViewMaskCount ); 10982 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreateInfo2.pCorrelatedViewMasks ); 10983 return seed; 10984 } 10985 }; 10986 10987 template <> struct hash<VULKAN_HPP_NAMESPACE::RenderPassCreationControlEXT> 10988 { operator ()std::hash10989 std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderPassCreationControlEXT const & renderPassCreationControlEXT) const VULKAN_HPP_NOEXCEPT 10990 { 10991 std::size_t seed = 0; 10992 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreationControlEXT.sType ); 10993 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreationControlEXT.pNext ); 10994 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreationControlEXT.disallowMerging ); 10995 return seed; 10996 } 10997 }; 10998 10999 template <> struct hash<VULKAN_HPP_NAMESPACE::RenderPassCreationFeedbackInfoEXT> 11000 { operator ()std::hash11001 std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderPassCreationFeedbackInfoEXT const & renderPassCreationFeedbackInfoEXT) const VULKAN_HPP_NOEXCEPT 11002 { 11003 std::size_t seed = 0; 11004 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreationFeedbackInfoEXT.postMergeSubpassCount ); 11005 return seed; 11006 } 11007 }; 11008 11009 template <> struct hash<VULKAN_HPP_NAMESPACE::RenderPassCreationFeedbackCreateInfoEXT> 11010 { operator ()std::hash11011 std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderPassCreationFeedbackCreateInfoEXT const & renderPassCreationFeedbackCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 11012 { 11013 std::size_t seed = 0; 11014 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreationFeedbackCreateInfoEXT.sType ); 11015 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreationFeedbackCreateInfoEXT.pNext ); 11016 VULKAN_HPP_HASH_COMBINE( seed, renderPassCreationFeedbackCreateInfoEXT.pRenderPassFeedback ); 11017 return seed; 11018 } 11019 }; 11020 11021 template <> struct hash<VULKAN_HPP_NAMESPACE::RenderPassFragmentDensityMapCreateInfoEXT> 11022 { operator ()std::hash11023 std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderPassFragmentDensityMapCreateInfoEXT const & renderPassFragmentDensityMapCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 11024 { 11025 std::size_t seed = 0; 11026 VULKAN_HPP_HASH_COMBINE( seed, renderPassFragmentDensityMapCreateInfoEXT.sType ); 11027 VULKAN_HPP_HASH_COMBINE( seed, renderPassFragmentDensityMapCreateInfoEXT.pNext ); 11028 VULKAN_HPP_HASH_COMBINE( seed, renderPassFragmentDensityMapCreateInfoEXT.fragmentDensityMapAttachment ); 11029 return seed; 11030 } 11031 }; 11032 11033 template <> struct hash<VULKAN_HPP_NAMESPACE::RenderPassInputAttachmentAspectCreateInfo> 11034 { operator ()std::hash11035 std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderPassInputAttachmentAspectCreateInfo const & renderPassInputAttachmentAspectCreateInfo) const VULKAN_HPP_NOEXCEPT 11036 { 11037 std::size_t seed = 0; 11038 VULKAN_HPP_HASH_COMBINE( seed, renderPassInputAttachmentAspectCreateInfo.sType ); 11039 VULKAN_HPP_HASH_COMBINE( seed, renderPassInputAttachmentAspectCreateInfo.pNext ); 11040 VULKAN_HPP_HASH_COMBINE( seed, renderPassInputAttachmentAspectCreateInfo.aspectReferenceCount ); 11041 VULKAN_HPP_HASH_COMBINE( seed, renderPassInputAttachmentAspectCreateInfo.pAspectReferences ); 11042 return seed; 11043 } 11044 }; 11045 11046 template <> struct hash<VULKAN_HPP_NAMESPACE::RenderPassMultiviewCreateInfo> 11047 { operator ()std::hash11048 std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderPassMultiviewCreateInfo const & renderPassMultiviewCreateInfo) const VULKAN_HPP_NOEXCEPT 11049 { 11050 std::size_t seed = 0; 11051 VULKAN_HPP_HASH_COMBINE( seed, renderPassMultiviewCreateInfo.sType ); 11052 VULKAN_HPP_HASH_COMBINE( seed, renderPassMultiviewCreateInfo.pNext ); 11053 VULKAN_HPP_HASH_COMBINE( seed, renderPassMultiviewCreateInfo.subpassCount ); 11054 VULKAN_HPP_HASH_COMBINE( seed, renderPassMultiviewCreateInfo.pViewMasks ); 11055 VULKAN_HPP_HASH_COMBINE( seed, renderPassMultiviewCreateInfo.dependencyCount ); 11056 VULKAN_HPP_HASH_COMBINE( seed, renderPassMultiviewCreateInfo.pViewOffsets ); 11057 VULKAN_HPP_HASH_COMBINE( seed, renderPassMultiviewCreateInfo.correlationMaskCount ); 11058 VULKAN_HPP_HASH_COMBINE( seed, renderPassMultiviewCreateInfo.pCorrelationMasks ); 11059 return seed; 11060 } 11061 }; 11062 11063 template <> struct hash<VULKAN_HPP_NAMESPACE::SubpassSampleLocationsEXT> 11064 { operator ()std::hash11065 std::size_t operator()(VULKAN_HPP_NAMESPACE::SubpassSampleLocationsEXT const & subpassSampleLocationsEXT) const VULKAN_HPP_NOEXCEPT 11066 { 11067 std::size_t seed = 0; 11068 VULKAN_HPP_HASH_COMBINE( seed, subpassSampleLocationsEXT.subpassIndex ); 11069 VULKAN_HPP_HASH_COMBINE( seed, subpassSampleLocationsEXT.sampleLocationsInfo ); 11070 return seed; 11071 } 11072 }; 11073 11074 template <> struct hash<VULKAN_HPP_NAMESPACE::RenderPassSampleLocationsBeginInfoEXT> 11075 { operator ()std::hash11076 std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderPassSampleLocationsBeginInfoEXT const & renderPassSampleLocationsBeginInfoEXT) const VULKAN_HPP_NOEXCEPT 11077 { 11078 std::size_t seed = 0; 11079 VULKAN_HPP_HASH_COMBINE( seed, renderPassSampleLocationsBeginInfoEXT.sType ); 11080 VULKAN_HPP_HASH_COMBINE( seed, renderPassSampleLocationsBeginInfoEXT.pNext ); 11081 VULKAN_HPP_HASH_COMBINE( seed, renderPassSampleLocationsBeginInfoEXT.attachmentInitialSampleLocationsCount ); 11082 VULKAN_HPP_HASH_COMBINE( seed, renderPassSampleLocationsBeginInfoEXT.pAttachmentInitialSampleLocations ); 11083 VULKAN_HPP_HASH_COMBINE( seed, renderPassSampleLocationsBeginInfoEXT.postSubpassSampleLocationsCount ); 11084 VULKAN_HPP_HASH_COMBINE( seed, renderPassSampleLocationsBeginInfoEXT.pPostSubpassSampleLocations ); 11085 return seed; 11086 } 11087 }; 11088 11089 template <> struct hash<VULKAN_HPP_NAMESPACE::RenderPassSubpassFeedbackInfoEXT> 11090 { operator ()std::hash11091 std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderPassSubpassFeedbackInfoEXT const & renderPassSubpassFeedbackInfoEXT) const VULKAN_HPP_NOEXCEPT 11092 { 11093 std::size_t seed = 0; 11094 VULKAN_HPP_HASH_COMBINE( seed, renderPassSubpassFeedbackInfoEXT.subpassMergeStatus ); 11095 for ( size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i ) 11096 { 11097 VULKAN_HPP_HASH_COMBINE( seed, renderPassSubpassFeedbackInfoEXT.description[i] ); 11098 } 11099 VULKAN_HPP_HASH_COMBINE( seed, renderPassSubpassFeedbackInfoEXT.postMergeIndex ); 11100 return seed; 11101 } 11102 }; 11103 11104 template <> struct hash<VULKAN_HPP_NAMESPACE::RenderPassSubpassFeedbackCreateInfoEXT> 11105 { operator ()std::hash11106 std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderPassSubpassFeedbackCreateInfoEXT const & renderPassSubpassFeedbackCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 11107 { 11108 std::size_t seed = 0; 11109 VULKAN_HPP_HASH_COMBINE( seed, renderPassSubpassFeedbackCreateInfoEXT.sType ); 11110 VULKAN_HPP_HASH_COMBINE( seed, renderPassSubpassFeedbackCreateInfoEXT.pNext ); 11111 VULKAN_HPP_HASH_COMBINE( seed, renderPassSubpassFeedbackCreateInfoEXT.pSubpassFeedback ); 11112 return seed; 11113 } 11114 }; 11115 11116 template <> struct hash<VULKAN_HPP_NAMESPACE::RenderPassTransformBeginInfoQCOM> 11117 { operator ()std::hash11118 std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderPassTransformBeginInfoQCOM const & renderPassTransformBeginInfoQCOM) const VULKAN_HPP_NOEXCEPT 11119 { 11120 std::size_t seed = 0; 11121 VULKAN_HPP_HASH_COMBINE( seed, renderPassTransformBeginInfoQCOM.sType ); 11122 VULKAN_HPP_HASH_COMBINE( seed, renderPassTransformBeginInfoQCOM.pNext ); 11123 VULKAN_HPP_HASH_COMBINE( seed, renderPassTransformBeginInfoQCOM.transform ); 11124 return seed; 11125 } 11126 }; 11127 11128 template <> struct hash<VULKAN_HPP_NAMESPACE::RenderingFragmentDensityMapAttachmentInfoEXT> 11129 { operator ()std::hash11130 std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderingFragmentDensityMapAttachmentInfoEXT const & renderingFragmentDensityMapAttachmentInfoEXT) const VULKAN_HPP_NOEXCEPT 11131 { 11132 std::size_t seed = 0; 11133 VULKAN_HPP_HASH_COMBINE( seed, renderingFragmentDensityMapAttachmentInfoEXT.sType ); 11134 VULKAN_HPP_HASH_COMBINE( seed, renderingFragmentDensityMapAttachmentInfoEXT.pNext ); 11135 VULKAN_HPP_HASH_COMBINE( seed, renderingFragmentDensityMapAttachmentInfoEXT.imageView ); 11136 VULKAN_HPP_HASH_COMBINE( seed, renderingFragmentDensityMapAttachmentInfoEXT.imageLayout ); 11137 return seed; 11138 } 11139 }; 11140 11141 template <> struct hash<VULKAN_HPP_NAMESPACE::RenderingFragmentShadingRateAttachmentInfoKHR> 11142 { operator ()std::hash11143 std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderingFragmentShadingRateAttachmentInfoKHR const & renderingFragmentShadingRateAttachmentInfoKHR) const VULKAN_HPP_NOEXCEPT 11144 { 11145 std::size_t seed = 0; 11146 VULKAN_HPP_HASH_COMBINE( seed, renderingFragmentShadingRateAttachmentInfoKHR.sType ); 11147 VULKAN_HPP_HASH_COMBINE( seed, renderingFragmentShadingRateAttachmentInfoKHR.pNext ); 11148 VULKAN_HPP_HASH_COMBINE( seed, renderingFragmentShadingRateAttachmentInfoKHR.imageView ); 11149 VULKAN_HPP_HASH_COMBINE( seed, renderingFragmentShadingRateAttachmentInfoKHR.imageLayout ); 11150 VULKAN_HPP_HASH_COMBINE( seed, renderingFragmentShadingRateAttachmentInfoKHR.shadingRateAttachmentTexelSize ); 11151 return seed; 11152 } 11153 }; 11154 11155 template <> struct hash<VULKAN_HPP_NAMESPACE::RenderingInfo> 11156 { operator ()std::hash11157 std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderingInfo const & renderingInfo) const VULKAN_HPP_NOEXCEPT 11158 { 11159 std::size_t seed = 0; 11160 VULKAN_HPP_HASH_COMBINE( seed, renderingInfo.sType ); 11161 VULKAN_HPP_HASH_COMBINE( seed, renderingInfo.pNext ); 11162 VULKAN_HPP_HASH_COMBINE( seed, renderingInfo.flags ); 11163 VULKAN_HPP_HASH_COMBINE( seed, renderingInfo.renderArea ); 11164 VULKAN_HPP_HASH_COMBINE( seed, renderingInfo.layerCount ); 11165 VULKAN_HPP_HASH_COMBINE( seed, renderingInfo.viewMask ); 11166 VULKAN_HPP_HASH_COMBINE( seed, renderingInfo.colorAttachmentCount ); 11167 VULKAN_HPP_HASH_COMBINE( seed, renderingInfo.pColorAttachments ); 11168 VULKAN_HPP_HASH_COMBINE( seed, renderingInfo.pDepthAttachment ); 11169 VULKAN_HPP_HASH_COMBINE( seed, renderingInfo.pStencilAttachment ); 11170 return seed; 11171 } 11172 }; 11173 11174 template <> struct hash<VULKAN_HPP_NAMESPACE::ResolveImageInfo2> 11175 { operator ()std::hash11176 std::size_t operator()(VULKAN_HPP_NAMESPACE::ResolveImageInfo2 const & resolveImageInfo2) const VULKAN_HPP_NOEXCEPT 11177 { 11178 std::size_t seed = 0; 11179 VULKAN_HPP_HASH_COMBINE( seed, resolveImageInfo2.sType ); 11180 VULKAN_HPP_HASH_COMBINE( seed, resolveImageInfo2.pNext ); 11181 VULKAN_HPP_HASH_COMBINE( seed, resolveImageInfo2.srcImage ); 11182 VULKAN_HPP_HASH_COMBINE( seed, resolveImageInfo2.srcImageLayout ); 11183 VULKAN_HPP_HASH_COMBINE( seed, resolveImageInfo2.dstImage ); 11184 VULKAN_HPP_HASH_COMBINE( seed, resolveImageInfo2.dstImageLayout ); 11185 VULKAN_HPP_HASH_COMBINE( seed, resolveImageInfo2.regionCount ); 11186 VULKAN_HPP_HASH_COMBINE( seed, resolveImageInfo2.pRegions ); 11187 return seed; 11188 } 11189 }; 11190 11191 template <> struct hash<VULKAN_HPP_NAMESPACE::SamplerBorderColorComponentMappingCreateInfoEXT> 11192 { operator ()std::hash11193 std::size_t operator()(VULKAN_HPP_NAMESPACE::SamplerBorderColorComponentMappingCreateInfoEXT const & samplerBorderColorComponentMappingCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 11194 { 11195 std::size_t seed = 0; 11196 VULKAN_HPP_HASH_COMBINE( seed, samplerBorderColorComponentMappingCreateInfoEXT.sType ); 11197 VULKAN_HPP_HASH_COMBINE( seed, samplerBorderColorComponentMappingCreateInfoEXT.pNext ); 11198 VULKAN_HPP_HASH_COMBINE( seed, samplerBorderColorComponentMappingCreateInfoEXT.components ); 11199 VULKAN_HPP_HASH_COMBINE( seed, samplerBorderColorComponentMappingCreateInfoEXT.srgb ); 11200 return seed; 11201 } 11202 }; 11203 11204 template <> struct hash<VULKAN_HPP_NAMESPACE::SamplerCaptureDescriptorDataInfoEXT> 11205 { operator ()std::hash11206 std::size_t operator()(VULKAN_HPP_NAMESPACE::SamplerCaptureDescriptorDataInfoEXT const & samplerCaptureDescriptorDataInfoEXT) const VULKAN_HPP_NOEXCEPT 11207 { 11208 std::size_t seed = 0; 11209 VULKAN_HPP_HASH_COMBINE( seed, samplerCaptureDescriptorDataInfoEXT.sType ); 11210 VULKAN_HPP_HASH_COMBINE( seed, samplerCaptureDescriptorDataInfoEXT.pNext ); 11211 VULKAN_HPP_HASH_COMBINE( seed, samplerCaptureDescriptorDataInfoEXT.sampler ); 11212 return seed; 11213 } 11214 }; 11215 11216 template <> struct hash<VULKAN_HPP_NAMESPACE::SamplerCreateInfo> 11217 { operator ()std::hash11218 std::size_t operator()(VULKAN_HPP_NAMESPACE::SamplerCreateInfo const & samplerCreateInfo) const VULKAN_HPP_NOEXCEPT 11219 { 11220 std::size_t seed = 0; 11221 VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.sType ); 11222 VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.pNext ); 11223 VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.flags ); 11224 VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.magFilter ); 11225 VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.minFilter ); 11226 VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.mipmapMode ); 11227 VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.addressModeU ); 11228 VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.addressModeV ); 11229 VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.addressModeW ); 11230 VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.mipLodBias ); 11231 VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.anisotropyEnable ); 11232 VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.maxAnisotropy ); 11233 VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.compareEnable ); 11234 VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.compareOp ); 11235 VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.minLod ); 11236 VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.maxLod ); 11237 VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.borderColor ); 11238 VULKAN_HPP_HASH_COMBINE( seed, samplerCreateInfo.unnormalizedCoordinates ); 11239 return seed; 11240 } 11241 }; 11242 11243 template <> struct hash<VULKAN_HPP_NAMESPACE::SamplerReductionModeCreateInfo> 11244 { operator ()std::hash11245 std::size_t operator()(VULKAN_HPP_NAMESPACE::SamplerReductionModeCreateInfo const & samplerReductionModeCreateInfo) const VULKAN_HPP_NOEXCEPT 11246 { 11247 std::size_t seed = 0; 11248 VULKAN_HPP_HASH_COMBINE( seed, samplerReductionModeCreateInfo.sType ); 11249 VULKAN_HPP_HASH_COMBINE( seed, samplerReductionModeCreateInfo.pNext ); 11250 VULKAN_HPP_HASH_COMBINE( seed, samplerReductionModeCreateInfo.reductionMode ); 11251 return seed; 11252 } 11253 }; 11254 11255 template <> struct hash<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo> 11256 { operator ()std::hash11257 std::size_t operator()(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo const & samplerYcbcrConversionCreateInfo) const VULKAN_HPP_NOEXCEPT 11258 { 11259 std::size_t seed = 0; 11260 VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionCreateInfo.sType ); 11261 VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionCreateInfo.pNext ); 11262 VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionCreateInfo.format ); 11263 VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionCreateInfo.ycbcrModel ); 11264 VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionCreateInfo.ycbcrRange ); 11265 VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionCreateInfo.components ); 11266 VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionCreateInfo.xChromaOffset ); 11267 VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionCreateInfo.yChromaOffset ); 11268 VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionCreateInfo.chromaFilter ); 11269 VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionCreateInfo.forceExplicitReconstruction ); 11270 return seed; 11271 } 11272 }; 11273 11274 template <> struct hash<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionImageFormatProperties> 11275 { operator ()std::hash11276 std::size_t operator()(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionImageFormatProperties const & samplerYcbcrConversionImageFormatProperties) const VULKAN_HPP_NOEXCEPT 11277 { 11278 std::size_t seed = 0; 11279 VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionImageFormatProperties.sType ); 11280 VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionImageFormatProperties.pNext ); 11281 VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionImageFormatProperties.combinedImageSamplerDescriptorCount ); 11282 return seed; 11283 } 11284 }; 11285 11286 template <> struct hash<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionInfo> 11287 { operator ()std::hash11288 std::size_t operator()(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionInfo const & samplerYcbcrConversionInfo) const VULKAN_HPP_NOEXCEPT 11289 { 11290 std::size_t seed = 0; 11291 VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionInfo.sType ); 11292 VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionInfo.pNext ); 11293 VULKAN_HPP_HASH_COMBINE( seed, samplerYcbcrConversionInfo.conversion ); 11294 return seed; 11295 } 11296 }; 11297 11298 #if defined( VK_USE_PLATFORM_SCREEN_QNX ) 11299 template <> struct hash<VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX> 11300 { operator ()std::hash11301 std::size_t operator()(VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX const & screenSurfaceCreateInfoQNX) const VULKAN_HPP_NOEXCEPT 11302 { 11303 std::size_t seed = 0; 11304 VULKAN_HPP_HASH_COMBINE( seed, screenSurfaceCreateInfoQNX.sType ); 11305 VULKAN_HPP_HASH_COMBINE( seed, screenSurfaceCreateInfoQNX.pNext ); 11306 VULKAN_HPP_HASH_COMBINE( seed, screenSurfaceCreateInfoQNX.flags ); 11307 VULKAN_HPP_HASH_COMBINE( seed, screenSurfaceCreateInfoQNX.context ); 11308 VULKAN_HPP_HASH_COMBINE( seed, screenSurfaceCreateInfoQNX.window ); 11309 return seed; 11310 } 11311 }; 11312 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/ 11313 11314 template <> struct hash<VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo> 11315 { operator ()std::hash11316 std::size_t operator()(VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo const & semaphoreCreateInfo) const VULKAN_HPP_NOEXCEPT 11317 { 11318 std::size_t seed = 0; 11319 VULKAN_HPP_HASH_COMBINE( seed, semaphoreCreateInfo.sType ); 11320 VULKAN_HPP_HASH_COMBINE( seed, semaphoreCreateInfo.pNext ); 11321 VULKAN_HPP_HASH_COMBINE( seed, semaphoreCreateInfo.flags ); 11322 return seed; 11323 } 11324 }; 11325 11326 template <> struct hash<VULKAN_HPP_NAMESPACE::SemaphoreGetFdInfoKHR> 11327 { operator ()std::hash11328 std::size_t operator()(VULKAN_HPP_NAMESPACE::SemaphoreGetFdInfoKHR const & semaphoreGetFdInfoKHR) const VULKAN_HPP_NOEXCEPT 11329 { 11330 std::size_t seed = 0; 11331 VULKAN_HPP_HASH_COMBINE( seed, semaphoreGetFdInfoKHR.sType ); 11332 VULKAN_HPP_HASH_COMBINE( seed, semaphoreGetFdInfoKHR.pNext ); 11333 VULKAN_HPP_HASH_COMBINE( seed, semaphoreGetFdInfoKHR.semaphore ); 11334 VULKAN_HPP_HASH_COMBINE( seed, semaphoreGetFdInfoKHR.handleType ); 11335 return seed; 11336 } 11337 }; 11338 11339 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 11340 template <> struct hash<VULKAN_HPP_NAMESPACE::SemaphoreGetWin32HandleInfoKHR> 11341 { operator ()std::hash11342 std::size_t operator()(VULKAN_HPP_NAMESPACE::SemaphoreGetWin32HandleInfoKHR const & semaphoreGetWin32HandleInfoKHR) const VULKAN_HPP_NOEXCEPT 11343 { 11344 std::size_t seed = 0; 11345 VULKAN_HPP_HASH_COMBINE( seed, semaphoreGetWin32HandleInfoKHR.sType ); 11346 VULKAN_HPP_HASH_COMBINE( seed, semaphoreGetWin32HandleInfoKHR.pNext ); 11347 VULKAN_HPP_HASH_COMBINE( seed, semaphoreGetWin32HandleInfoKHR.semaphore ); 11348 VULKAN_HPP_HASH_COMBINE( seed, semaphoreGetWin32HandleInfoKHR.handleType ); 11349 return seed; 11350 } 11351 }; 11352 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 11353 11354 #if defined( VK_USE_PLATFORM_FUCHSIA ) 11355 template <> struct hash<VULKAN_HPP_NAMESPACE::SemaphoreGetZirconHandleInfoFUCHSIA> 11356 { operator ()std::hash11357 std::size_t operator()(VULKAN_HPP_NAMESPACE::SemaphoreGetZirconHandleInfoFUCHSIA const & semaphoreGetZirconHandleInfoFUCHSIA) const VULKAN_HPP_NOEXCEPT 11358 { 11359 std::size_t seed = 0; 11360 VULKAN_HPP_HASH_COMBINE( seed, semaphoreGetZirconHandleInfoFUCHSIA.sType ); 11361 VULKAN_HPP_HASH_COMBINE( seed, semaphoreGetZirconHandleInfoFUCHSIA.pNext ); 11362 VULKAN_HPP_HASH_COMBINE( seed, semaphoreGetZirconHandleInfoFUCHSIA.semaphore ); 11363 VULKAN_HPP_HASH_COMBINE( seed, semaphoreGetZirconHandleInfoFUCHSIA.handleType ); 11364 return seed; 11365 } 11366 }; 11367 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 11368 11369 template <> struct hash<VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo> 11370 { operator ()std::hash11371 std::size_t operator()(VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo const & semaphoreSignalInfo) const VULKAN_HPP_NOEXCEPT 11372 { 11373 std::size_t seed = 0; 11374 VULKAN_HPP_HASH_COMBINE( seed, semaphoreSignalInfo.sType ); 11375 VULKAN_HPP_HASH_COMBINE( seed, semaphoreSignalInfo.pNext ); 11376 VULKAN_HPP_HASH_COMBINE( seed, semaphoreSignalInfo.semaphore ); 11377 VULKAN_HPP_HASH_COMBINE( seed, semaphoreSignalInfo.value ); 11378 return seed; 11379 } 11380 }; 11381 11382 template <> struct hash<VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfo> 11383 { operator ()std::hash11384 std::size_t operator()(VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfo const & semaphoreSubmitInfo) const VULKAN_HPP_NOEXCEPT 11385 { 11386 std::size_t seed = 0; 11387 VULKAN_HPP_HASH_COMBINE( seed, semaphoreSubmitInfo.sType ); 11388 VULKAN_HPP_HASH_COMBINE( seed, semaphoreSubmitInfo.pNext ); 11389 VULKAN_HPP_HASH_COMBINE( seed, semaphoreSubmitInfo.semaphore ); 11390 VULKAN_HPP_HASH_COMBINE( seed, semaphoreSubmitInfo.value ); 11391 VULKAN_HPP_HASH_COMBINE( seed, semaphoreSubmitInfo.stageMask ); 11392 VULKAN_HPP_HASH_COMBINE( seed, semaphoreSubmitInfo.deviceIndex ); 11393 return seed; 11394 } 11395 }; 11396 11397 template <> struct hash<VULKAN_HPP_NAMESPACE::SemaphoreTypeCreateInfo> 11398 { operator ()std::hash11399 std::size_t operator()(VULKAN_HPP_NAMESPACE::SemaphoreTypeCreateInfo const & semaphoreTypeCreateInfo) const VULKAN_HPP_NOEXCEPT 11400 { 11401 std::size_t seed = 0; 11402 VULKAN_HPP_HASH_COMBINE( seed, semaphoreTypeCreateInfo.sType ); 11403 VULKAN_HPP_HASH_COMBINE( seed, semaphoreTypeCreateInfo.pNext ); 11404 VULKAN_HPP_HASH_COMBINE( seed, semaphoreTypeCreateInfo.semaphoreType ); 11405 VULKAN_HPP_HASH_COMBINE( seed, semaphoreTypeCreateInfo.initialValue ); 11406 return seed; 11407 } 11408 }; 11409 11410 template <> struct hash<VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo> 11411 { operator ()std::hash11412 std::size_t operator()(VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo const & semaphoreWaitInfo) const VULKAN_HPP_NOEXCEPT 11413 { 11414 std::size_t seed = 0; 11415 VULKAN_HPP_HASH_COMBINE( seed, semaphoreWaitInfo.sType ); 11416 VULKAN_HPP_HASH_COMBINE( seed, semaphoreWaitInfo.pNext ); 11417 VULKAN_HPP_HASH_COMBINE( seed, semaphoreWaitInfo.flags ); 11418 VULKAN_HPP_HASH_COMBINE( seed, semaphoreWaitInfo.semaphoreCount ); 11419 VULKAN_HPP_HASH_COMBINE( seed, semaphoreWaitInfo.pSemaphores ); 11420 VULKAN_HPP_HASH_COMBINE( seed, semaphoreWaitInfo.pValues ); 11421 return seed; 11422 } 11423 }; 11424 11425 template <> struct hash<VULKAN_HPP_NAMESPACE::SetStateFlagsIndirectCommandNV> 11426 { operator ()std::hash11427 std::size_t operator()(VULKAN_HPP_NAMESPACE::SetStateFlagsIndirectCommandNV const & setStateFlagsIndirectCommandNV) const VULKAN_HPP_NOEXCEPT 11428 { 11429 std::size_t seed = 0; 11430 VULKAN_HPP_HASH_COMBINE( seed, setStateFlagsIndirectCommandNV.data ); 11431 return seed; 11432 } 11433 }; 11434 11435 template <> struct hash<VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo> 11436 { operator ()std::hash11437 std::size_t operator()(VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo const & shaderModuleCreateInfo) const VULKAN_HPP_NOEXCEPT 11438 { 11439 std::size_t seed = 0; 11440 VULKAN_HPP_HASH_COMBINE( seed, shaderModuleCreateInfo.sType ); 11441 VULKAN_HPP_HASH_COMBINE( seed, shaderModuleCreateInfo.pNext ); 11442 VULKAN_HPP_HASH_COMBINE( seed, shaderModuleCreateInfo.flags ); 11443 VULKAN_HPP_HASH_COMBINE( seed, shaderModuleCreateInfo.codeSize ); 11444 VULKAN_HPP_HASH_COMBINE( seed, shaderModuleCreateInfo.pCode ); 11445 return seed; 11446 } 11447 }; 11448 11449 template <> struct hash<VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT> 11450 { operator ()std::hash11451 std::size_t operator()(VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT const & shaderModuleIdentifierEXT) const VULKAN_HPP_NOEXCEPT 11452 { 11453 std::size_t seed = 0; 11454 VULKAN_HPP_HASH_COMBINE( seed, shaderModuleIdentifierEXT.sType ); 11455 VULKAN_HPP_HASH_COMBINE( seed, shaderModuleIdentifierEXT.pNext ); 11456 VULKAN_HPP_HASH_COMBINE( seed, shaderModuleIdentifierEXT.identifierSize ); 11457 for ( size_t i = 0; i < VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT; ++i ) 11458 { 11459 VULKAN_HPP_HASH_COMBINE( seed, shaderModuleIdentifierEXT.identifier[i] ); 11460 } 11461 return seed; 11462 } 11463 }; 11464 11465 template <> struct hash<VULKAN_HPP_NAMESPACE::ShaderModuleValidationCacheCreateInfoEXT> 11466 { operator ()std::hash11467 std::size_t operator()(VULKAN_HPP_NAMESPACE::ShaderModuleValidationCacheCreateInfoEXT const & shaderModuleValidationCacheCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 11468 { 11469 std::size_t seed = 0; 11470 VULKAN_HPP_HASH_COMBINE( seed, shaderModuleValidationCacheCreateInfoEXT.sType ); 11471 VULKAN_HPP_HASH_COMBINE( seed, shaderModuleValidationCacheCreateInfoEXT.pNext ); 11472 VULKAN_HPP_HASH_COMBINE( seed, shaderModuleValidationCacheCreateInfoEXT.validationCache ); 11473 return seed; 11474 } 11475 }; 11476 11477 template <> struct hash<VULKAN_HPP_NAMESPACE::ShaderResourceUsageAMD> 11478 { operator ()std::hash11479 std::size_t operator()(VULKAN_HPP_NAMESPACE::ShaderResourceUsageAMD const & shaderResourceUsageAMD) const VULKAN_HPP_NOEXCEPT 11480 { 11481 std::size_t seed = 0; 11482 VULKAN_HPP_HASH_COMBINE( seed, shaderResourceUsageAMD.numUsedVgprs ); 11483 VULKAN_HPP_HASH_COMBINE( seed, shaderResourceUsageAMD.numUsedSgprs ); 11484 VULKAN_HPP_HASH_COMBINE( seed, shaderResourceUsageAMD.ldsSizePerLocalWorkGroup ); 11485 VULKAN_HPP_HASH_COMBINE( seed, shaderResourceUsageAMD.ldsUsageSizeInBytes ); 11486 VULKAN_HPP_HASH_COMBINE( seed, shaderResourceUsageAMD.scratchMemUsageInBytes ); 11487 return seed; 11488 } 11489 }; 11490 11491 template <> struct hash<VULKAN_HPP_NAMESPACE::ShaderStatisticsInfoAMD> 11492 { operator ()std::hash11493 std::size_t operator()(VULKAN_HPP_NAMESPACE::ShaderStatisticsInfoAMD const & shaderStatisticsInfoAMD) const VULKAN_HPP_NOEXCEPT 11494 { 11495 std::size_t seed = 0; 11496 VULKAN_HPP_HASH_COMBINE( seed, shaderStatisticsInfoAMD.shaderStageMask ); 11497 VULKAN_HPP_HASH_COMBINE( seed, shaderStatisticsInfoAMD.resourceUsage ); 11498 VULKAN_HPP_HASH_COMBINE( seed, shaderStatisticsInfoAMD.numPhysicalVgprs ); 11499 VULKAN_HPP_HASH_COMBINE( seed, shaderStatisticsInfoAMD.numPhysicalSgprs ); 11500 VULKAN_HPP_HASH_COMBINE( seed, shaderStatisticsInfoAMD.numAvailableVgprs ); 11501 VULKAN_HPP_HASH_COMBINE( seed, shaderStatisticsInfoAMD.numAvailableSgprs ); 11502 for ( size_t i = 0; i < 3; ++i ) 11503 { 11504 VULKAN_HPP_HASH_COMBINE( seed, shaderStatisticsInfoAMD.computeWorkGroupSize[i] ); 11505 } 11506 return seed; 11507 } 11508 }; 11509 11510 template <> struct hash<VULKAN_HPP_NAMESPACE::SharedPresentSurfaceCapabilitiesKHR> 11511 { operator ()std::hash11512 std::size_t operator()(VULKAN_HPP_NAMESPACE::SharedPresentSurfaceCapabilitiesKHR const & sharedPresentSurfaceCapabilitiesKHR) const VULKAN_HPP_NOEXCEPT 11513 { 11514 std::size_t seed = 0; 11515 VULKAN_HPP_HASH_COMBINE( seed, sharedPresentSurfaceCapabilitiesKHR.sType ); 11516 VULKAN_HPP_HASH_COMBINE( seed, sharedPresentSurfaceCapabilitiesKHR.pNext ); 11517 VULKAN_HPP_HASH_COMBINE( seed, sharedPresentSurfaceCapabilitiesKHR.sharedPresentSupportedUsageFlags ); 11518 return seed; 11519 } 11520 }; 11521 11522 template <> struct hash<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties> 11523 { operator ()std::hash11524 std::size_t operator()(VULKAN_HPP_NAMESPACE::SparseImageFormatProperties const & sparseImageFormatProperties) const VULKAN_HPP_NOEXCEPT 11525 { 11526 std::size_t seed = 0; 11527 VULKAN_HPP_HASH_COMBINE( seed, sparseImageFormatProperties.aspectMask ); 11528 VULKAN_HPP_HASH_COMBINE( seed, sparseImageFormatProperties.imageGranularity ); 11529 VULKAN_HPP_HASH_COMBINE( seed, sparseImageFormatProperties.flags ); 11530 return seed; 11531 } 11532 }; 11533 11534 template <> struct hash<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2> 11535 { operator ()std::hash11536 std::size_t operator()(VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2 const & sparseImageFormatProperties2) const VULKAN_HPP_NOEXCEPT 11537 { 11538 std::size_t seed = 0; 11539 VULKAN_HPP_HASH_COMBINE( seed, sparseImageFormatProperties2.sType ); 11540 VULKAN_HPP_HASH_COMBINE( seed, sparseImageFormatProperties2.pNext ); 11541 VULKAN_HPP_HASH_COMBINE( seed, sparseImageFormatProperties2.properties ); 11542 return seed; 11543 } 11544 }; 11545 11546 template <> struct hash<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements> 11547 { operator ()std::hash11548 std::size_t operator()(VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements const & sparseImageMemoryRequirements) const VULKAN_HPP_NOEXCEPT 11549 { 11550 std::size_t seed = 0; 11551 VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryRequirements.formatProperties ); 11552 VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryRequirements.imageMipTailFirstLod ); 11553 VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryRequirements.imageMipTailSize ); 11554 VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryRequirements.imageMipTailOffset ); 11555 VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryRequirements.imageMipTailStride ); 11556 return seed; 11557 } 11558 }; 11559 11560 template <> struct hash<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2> 11561 { operator ()std::hash11562 std::size_t operator()(VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2 const & sparseImageMemoryRequirements2) const VULKAN_HPP_NOEXCEPT 11563 { 11564 std::size_t seed = 0; 11565 VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryRequirements2.sType ); 11566 VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryRequirements2.pNext ); 11567 VULKAN_HPP_HASH_COMBINE( seed, sparseImageMemoryRequirements2.memoryRequirements ); 11568 return seed; 11569 } 11570 }; 11571 11572 #if defined( VK_USE_PLATFORM_GGP ) 11573 template <> struct hash<VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP> 11574 { operator ()std::hash11575 std::size_t operator()(VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP const & streamDescriptorSurfaceCreateInfoGGP) const VULKAN_HPP_NOEXCEPT 11576 { 11577 std::size_t seed = 0; 11578 VULKAN_HPP_HASH_COMBINE( seed, streamDescriptorSurfaceCreateInfoGGP.sType ); 11579 VULKAN_HPP_HASH_COMBINE( seed, streamDescriptorSurfaceCreateInfoGGP.pNext ); 11580 VULKAN_HPP_HASH_COMBINE( seed, streamDescriptorSurfaceCreateInfoGGP.flags ); 11581 VULKAN_HPP_HASH_COMBINE( seed, streamDescriptorSurfaceCreateInfoGGP.streamDescriptor ); 11582 return seed; 11583 } 11584 }; 11585 #endif /*VK_USE_PLATFORM_GGP*/ 11586 11587 template <> struct hash<VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR> 11588 { operator ()std::hash11589 std::size_t operator()(VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR const & stridedDeviceAddressRegionKHR) const VULKAN_HPP_NOEXCEPT 11590 { 11591 std::size_t seed = 0; 11592 VULKAN_HPP_HASH_COMBINE( seed, stridedDeviceAddressRegionKHR.deviceAddress ); 11593 VULKAN_HPP_HASH_COMBINE( seed, stridedDeviceAddressRegionKHR.stride ); 11594 VULKAN_HPP_HASH_COMBINE( seed, stridedDeviceAddressRegionKHR.size ); 11595 return seed; 11596 } 11597 }; 11598 11599 template <> struct hash<VULKAN_HPP_NAMESPACE::SubmitInfo> 11600 { operator ()std::hash11601 std::size_t operator()(VULKAN_HPP_NAMESPACE::SubmitInfo const & submitInfo) const VULKAN_HPP_NOEXCEPT 11602 { 11603 std::size_t seed = 0; 11604 VULKAN_HPP_HASH_COMBINE( seed, submitInfo.sType ); 11605 VULKAN_HPP_HASH_COMBINE( seed, submitInfo.pNext ); 11606 VULKAN_HPP_HASH_COMBINE( seed, submitInfo.waitSemaphoreCount ); 11607 VULKAN_HPP_HASH_COMBINE( seed, submitInfo.pWaitSemaphores ); 11608 VULKAN_HPP_HASH_COMBINE( seed, submitInfo.pWaitDstStageMask ); 11609 VULKAN_HPP_HASH_COMBINE( seed, submitInfo.commandBufferCount ); 11610 VULKAN_HPP_HASH_COMBINE( seed, submitInfo.pCommandBuffers ); 11611 VULKAN_HPP_HASH_COMBINE( seed, submitInfo.signalSemaphoreCount ); 11612 VULKAN_HPP_HASH_COMBINE( seed, submitInfo.pSignalSemaphores ); 11613 return seed; 11614 } 11615 }; 11616 11617 template <> struct hash<VULKAN_HPP_NAMESPACE::SubmitInfo2> 11618 { operator ()std::hash11619 std::size_t operator()(VULKAN_HPP_NAMESPACE::SubmitInfo2 const & submitInfo2) const VULKAN_HPP_NOEXCEPT 11620 { 11621 std::size_t seed = 0; 11622 VULKAN_HPP_HASH_COMBINE( seed, submitInfo2.sType ); 11623 VULKAN_HPP_HASH_COMBINE( seed, submitInfo2.pNext ); 11624 VULKAN_HPP_HASH_COMBINE( seed, submitInfo2.flags ); 11625 VULKAN_HPP_HASH_COMBINE( seed, submitInfo2.waitSemaphoreInfoCount ); 11626 VULKAN_HPP_HASH_COMBINE( seed, submitInfo2.pWaitSemaphoreInfos ); 11627 VULKAN_HPP_HASH_COMBINE( seed, submitInfo2.commandBufferInfoCount ); 11628 VULKAN_HPP_HASH_COMBINE( seed, submitInfo2.pCommandBufferInfos ); 11629 VULKAN_HPP_HASH_COMBINE( seed, submitInfo2.signalSemaphoreInfoCount ); 11630 VULKAN_HPP_HASH_COMBINE( seed, submitInfo2.pSignalSemaphoreInfos ); 11631 return seed; 11632 } 11633 }; 11634 11635 template <> struct hash<VULKAN_HPP_NAMESPACE::SubpassBeginInfo> 11636 { operator ()std::hash11637 std::size_t operator()(VULKAN_HPP_NAMESPACE::SubpassBeginInfo const & subpassBeginInfo) const VULKAN_HPP_NOEXCEPT 11638 { 11639 std::size_t seed = 0; 11640 VULKAN_HPP_HASH_COMBINE( seed, subpassBeginInfo.sType ); 11641 VULKAN_HPP_HASH_COMBINE( seed, subpassBeginInfo.pNext ); 11642 VULKAN_HPP_HASH_COMBINE( seed, subpassBeginInfo.contents ); 11643 return seed; 11644 } 11645 }; 11646 11647 template <> struct hash<VULKAN_HPP_NAMESPACE::SubpassDescriptionDepthStencilResolve> 11648 { operator ()std::hash11649 std::size_t operator()(VULKAN_HPP_NAMESPACE::SubpassDescriptionDepthStencilResolve const & subpassDescriptionDepthStencilResolve) const VULKAN_HPP_NOEXCEPT 11650 { 11651 std::size_t seed = 0; 11652 VULKAN_HPP_HASH_COMBINE( seed, subpassDescriptionDepthStencilResolve.sType ); 11653 VULKAN_HPP_HASH_COMBINE( seed, subpassDescriptionDepthStencilResolve.pNext ); 11654 VULKAN_HPP_HASH_COMBINE( seed, subpassDescriptionDepthStencilResolve.depthResolveMode ); 11655 VULKAN_HPP_HASH_COMBINE( seed, subpassDescriptionDepthStencilResolve.stencilResolveMode ); 11656 VULKAN_HPP_HASH_COMBINE( seed, subpassDescriptionDepthStencilResolve.pDepthStencilResolveAttachment ); 11657 return seed; 11658 } 11659 }; 11660 11661 template <> struct hash<VULKAN_HPP_NAMESPACE::SubpassEndInfo> 11662 { operator ()std::hash11663 std::size_t operator()(VULKAN_HPP_NAMESPACE::SubpassEndInfo const & subpassEndInfo) const VULKAN_HPP_NOEXCEPT 11664 { 11665 std::size_t seed = 0; 11666 VULKAN_HPP_HASH_COMBINE( seed, subpassEndInfo.sType ); 11667 VULKAN_HPP_HASH_COMBINE( seed, subpassEndInfo.pNext ); 11668 return seed; 11669 } 11670 }; 11671 11672 template <> struct hash<VULKAN_HPP_NAMESPACE::SubpassFragmentDensityMapOffsetEndInfoQCOM> 11673 { operator ()std::hash11674 std::size_t operator()(VULKAN_HPP_NAMESPACE::SubpassFragmentDensityMapOffsetEndInfoQCOM const & subpassFragmentDensityMapOffsetEndInfoQCOM) const VULKAN_HPP_NOEXCEPT 11675 { 11676 std::size_t seed = 0; 11677 VULKAN_HPP_HASH_COMBINE( seed, subpassFragmentDensityMapOffsetEndInfoQCOM.sType ); 11678 VULKAN_HPP_HASH_COMBINE( seed, subpassFragmentDensityMapOffsetEndInfoQCOM.pNext ); 11679 VULKAN_HPP_HASH_COMBINE( seed, subpassFragmentDensityMapOffsetEndInfoQCOM.fragmentDensityOffsetCount ); 11680 VULKAN_HPP_HASH_COMBINE( seed, subpassFragmentDensityMapOffsetEndInfoQCOM.pFragmentDensityOffsets ); 11681 return seed; 11682 } 11683 }; 11684 11685 template <> struct hash<VULKAN_HPP_NAMESPACE::SubpassResolvePerformanceQueryEXT> 11686 { operator ()std::hash11687 std::size_t operator()(VULKAN_HPP_NAMESPACE::SubpassResolvePerformanceQueryEXT const & subpassResolvePerformanceQueryEXT) const VULKAN_HPP_NOEXCEPT 11688 { 11689 std::size_t seed = 0; 11690 VULKAN_HPP_HASH_COMBINE( seed, subpassResolvePerformanceQueryEXT.sType ); 11691 VULKAN_HPP_HASH_COMBINE( seed, subpassResolvePerformanceQueryEXT.pNext ); 11692 VULKAN_HPP_HASH_COMBINE( seed, subpassResolvePerformanceQueryEXT.optimal ); 11693 return seed; 11694 } 11695 }; 11696 11697 template <> struct hash<VULKAN_HPP_NAMESPACE::SubpassShadingPipelineCreateInfoHUAWEI> 11698 { operator ()std::hash11699 std::size_t operator()(VULKAN_HPP_NAMESPACE::SubpassShadingPipelineCreateInfoHUAWEI const & subpassShadingPipelineCreateInfoHUAWEI) const VULKAN_HPP_NOEXCEPT 11700 { 11701 std::size_t seed = 0; 11702 VULKAN_HPP_HASH_COMBINE( seed, subpassShadingPipelineCreateInfoHUAWEI.sType ); 11703 VULKAN_HPP_HASH_COMBINE( seed, subpassShadingPipelineCreateInfoHUAWEI.pNext ); 11704 VULKAN_HPP_HASH_COMBINE( seed, subpassShadingPipelineCreateInfoHUAWEI.renderPass ); 11705 VULKAN_HPP_HASH_COMBINE( seed, subpassShadingPipelineCreateInfoHUAWEI.subpass ); 11706 return seed; 11707 } 11708 }; 11709 11710 template <> struct hash<VULKAN_HPP_NAMESPACE::SubresourceLayout2EXT> 11711 { operator ()std::hash11712 std::size_t operator()(VULKAN_HPP_NAMESPACE::SubresourceLayout2EXT const & subresourceLayout2EXT) const VULKAN_HPP_NOEXCEPT 11713 { 11714 std::size_t seed = 0; 11715 VULKAN_HPP_HASH_COMBINE( seed, subresourceLayout2EXT.sType ); 11716 VULKAN_HPP_HASH_COMBINE( seed, subresourceLayout2EXT.pNext ); 11717 VULKAN_HPP_HASH_COMBINE( seed, subresourceLayout2EXT.subresourceLayout ); 11718 return seed; 11719 } 11720 }; 11721 11722 template <> struct hash<VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT> 11723 { operator ()std::hash11724 std::size_t operator()(VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT const & surfaceCapabilities2EXT) const VULKAN_HPP_NOEXCEPT 11725 { 11726 std::size_t seed = 0; 11727 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.sType ); 11728 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.pNext ); 11729 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.minImageCount ); 11730 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.maxImageCount ); 11731 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.currentExtent ); 11732 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.minImageExtent ); 11733 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.maxImageExtent ); 11734 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.maxImageArrayLayers ); 11735 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.supportedTransforms ); 11736 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.currentTransform ); 11737 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.supportedCompositeAlpha ); 11738 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.supportedUsageFlags ); 11739 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2EXT.supportedSurfaceCounters ); 11740 return seed; 11741 } 11742 }; 11743 11744 template <> struct hash<VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR> 11745 { operator ()std::hash11746 std::size_t operator()(VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR const & surfaceCapabilitiesKHR) const VULKAN_HPP_NOEXCEPT 11747 { 11748 std::size_t seed = 0; 11749 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesKHR.minImageCount ); 11750 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesKHR.maxImageCount ); 11751 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesKHR.currentExtent ); 11752 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesKHR.minImageExtent ); 11753 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesKHR.maxImageExtent ); 11754 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesKHR.maxImageArrayLayers ); 11755 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesKHR.supportedTransforms ); 11756 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesKHR.currentTransform ); 11757 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesKHR.supportedCompositeAlpha ); 11758 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesKHR.supportedUsageFlags ); 11759 return seed; 11760 } 11761 }; 11762 11763 template <> struct hash<VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR> 11764 { operator ()std::hash11765 std::size_t operator()(VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR const & surfaceCapabilities2KHR) const VULKAN_HPP_NOEXCEPT 11766 { 11767 std::size_t seed = 0; 11768 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2KHR.sType ); 11769 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2KHR.pNext ); 11770 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilities2KHR.surfaceCapabilities ); 11771 return seed; 11772 } 11773 }; 11774 11775 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 11776 template <> struct hash<VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesFullScreenExclusiveEXT> 11777 { operator ()std::hash11778 std::size_t operator()(VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesFullScreenExclusiveEXT const & surfaceCapabilitiesFullScreenExclusiveEXT) const VULKAN_HPP_NOEXCEPT 11779 { 11780 std::size_t seed = 0; 11781 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesFullScreenExclusiveEXT.sType ); 11782 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesFullScreenExclusiveEXT.pNext ); 11783 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesFullScreenExclusiveEXT.fullScreenExclusiveSupported ); 11784 return seed; 11785 } 11786 }; 11787 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 11788 11789 template <> struct hash<VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesPresentBarrierNV> 11790 { operator ()std::hash11791 std::size_t operator()(VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesPresentBarrierNV const & surfaceCapabilitiesPresentBarrierNV) const VULKAN_HPP_NOEXCEPT 11792 { 11793 std::size_t seed = 0; 11794 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesPresentBarrierNV.sType ); 11795 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesPresentBarrierNV.pNext ); 11796 VULKAN_HPP_HASH_COMBINE( seed, surfaceCapabilitiesPresentBarrierNV.presentBarrierSupported ); 11797 return seed; 11798 } 11799 }; 11800 11801 template <> struct hash<VULKAN_HPP_NAMESPACE::SurfaceFormatKHR> 11802 { operator ()std::hash11803 std::size_t operator()(VULKAN_HPP_NAMESPACE::SurfaceFormatKHR const & surfaceFormatKHR) const VULKAN_HPP_NOEXCEPT 11804 { 11805 std::size_t seed = 0; 11806 VULKAN_HPP_HASH_COMBINE( seed, surfaceFormatKHR.format ); 11807 VULKAN_HPP_HASH_COMBINE( seed, surfaceFormatKHR.colorSpace ); 11808 return seed; 11809 } 11810 }; 11811 11812 template <> struct hash<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR> 11813 { operator ()std::hash11814 std::size_t operator()(VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR const & surfaceFormat2KHR) const VULKAN_HPP_NOEXCEPT 11815 { 11816 std::size_t seed = 0; 11817 VULKAN_HPP_HASH_COMBINE( seed, surfaceFormat2KHR.sType ); 11818 VULKAN_HPP_HASH_COMBINE( seed, surfaceFormat2KHR.pNext ); 11819 VULKAN_HPP_HASH_COMBINE( seed, surfaceFormat2KHR.surfaceFormat ); 11820 return seed; 11821 } 11822 }; 11823 11824 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 11825 template <> struct hash<VULKAN_HPP_NAMESPACE::SurfaceFullScreenExclusiveInfoEXT> 11826 { operator ()std::hash11827 std::size_t operator()(VULKAN_HPP_NAMESPACE::SurfaceFullScreenExclusiveInfoEXT const & surfaceFullScreenExclusiveInfoEXT) const VULKAN_HPP_NOEXCEPT 11828 { 11829 std::size_t seed = 0; 11830 VULKAN_HPP_HASH_COMBINE( seed, surfaceFullScreenExclusiveInfoEXT.sType ); 11831 VULKAN_HPP_HASH_COMBINE( seed, surfaceFullScreenExclusiveInfoEXT.pNext ); 11832 VULKAN_HPP_HASH_COMBINE( seed, surfaceFullScreenExclusiveInfoEXT.fullScreenExclusive ); 11833 return seed; 11834 } 11835 }; 11836 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 11837 11838 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 11839 template <> struct hash<VULKAN_HPP_NAMESPACE::SurfaceFullScreenExclusiveWin32InfoEXT> 11840 { operator ()std::hash11841 std::size_t operator()(VULKAN_HPP_NAMESPACE::SurfaceFullScreenExclusiveWin32InfoEXT const & surfaceFullScreenExclusiveWin32InfoEXT) const VULKAN_HPP_NOEXCEPT 11842 { 11843 std::size_t seed = 0; 11844 VULKAN_HPP_HASH_COMBINE( seed, surfaceFullScreenExclusiveWin32InfoEXT.sType ); 11845 VULKAN_HPP_HASH_COMBINE( seed, surfaceFullScreenExclusiveWin32InfoEXT.pNext ); 11846 VULKAN_HPP_HASH_COMBINE( seed, surfaceFullScreenExclusiveWin32InfoEXT.hmonitor ); 11847 return seed; 11848 } 11849 }; 11850 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 11851 11852 template <> struct hash<VULKAN_HPP_NAMESPACE::SurfacePresentModeCompatibilityEXT> 11853 { operator ()std::hash11854 std::size_t operator()(VULKAN_HPP_NAMESPACE::SurfacePresentModeCompatibilityEXT const & surfacePresentModeCompatibilityEXT) const VULKAN_HPP_NOEXCEPT 11855 { 11856 std::size_t seed = 0; 11857 VULKAN_HPP_HASH_COMBINE( seed, surfacePresentModeCompatibilityEXT.sType ); 11858 VULKAN_HPP_HASH_COMBINE( seed, surfacePresentModeCompatibilityEXT.pNext ); 11859 VULKAN_HPP_HASH_COMBINE( seed, surfacePresentModeCompatibilityEXT.presentModeCount ); 11860 VULKAN_HPP_HASH_COMBINE( seed, surfacePresentModeCompatibilityEXT.pPresentModes ); 11861 return seed; 11862 } 11863 }; 11864 11865 template <> struct hash<VULKAN_HPP_NAMESPACE::SurfacePresentModeEXT> 11866 { operator ()std::hash11867 std::size_t operator()(VULKAN_HPP_NAMESPACE::SurfacePresentModeEXT const & surfacePresentModeEXT) const VULKAN_HPP_NOEXCEPT 11868 { 11869 std::size_t seed = 0; 11870 VULKAN_HPP_HASH_COMBINE( seed, surfacePresentModeEXT.sType ); 11871 VULKAN_HPP_HASH_COMBINE( seed, surfacePresentModeEXT.pNext ); 11872 VULKAN_HPP_HASH_COMBINE( seed, surfacePresentModeEXT.presentMode ); 11873 return seed; 11874 } 11875 }; 11876 11877 template <> struct hash<VULKAN_HPP_NAMESPACE::SurfacePresentScalingCapabilitiesEXT> 11878 { operator ()std::hash11879 std::size_t operator()(VULKAN_HPP_NAMESPACE::SurfacePresentScalingCapabilitiesEXT const & surfacePresentScalingCapabilitiesEXT) const VULKAN_HPP_NOEXCEPT 11880 { 11881 std::size_t seed = 0; 11882 VULKAN_HPP_HASH_COMBINE( seed, surfacePresentScalingCapabilitiesEXT.sType ); 11883 VULKAN_HPP_HASH_COMBINE( seed, surfacePresentScalingCapabilitiesEXT.pNext ); 11884 VULKAN_HPP_HASH_COMBINE( seed, surfacePresentScalingCapabilitiesEXT.supportedPresentScaling ); 11885 VULKAN_HPP_HASH_COMBINE( seed, surfacePresentScalingCapabilitiesEXT.supportedPresentGravityX ); 11886 VULKAN_HPP_HASH_COMBINE( seed, surfacePresentScalingCapabilitiesEXT.supportedPresentGravityY ); 11887 VULKAN_HPP_HASH_COMBINE( seed, surfacePresentScalingCapabilitiesEXT.minScaledImageExtent ); 11888 VULKAN_HPP_HASH_COMBINE( seed, surfacePresentScalingCapabilitiesEXT.maxScaledImageExtent ); 11889 return seed; 11890 } 11891 }; 11892 11893 template <> struct hash<VULKAN_HPP_NAMESPACE::SurfaceProtectedCapabilitiesKHR> 11894 { operator ()std::hash11895 std::size_t operator()(VULKAN_HPP_NAMESPACE::SurfaceProtectedCapabilitiesKHR const & surfaceProtectedCapabilitiesKHR) const VULKAN_HPP_NOEXCEPT 11896 { 11897 std::size_t seed = 0; 11898 VULKAN_HPP_HASH_COMBINE( seed, surfaceProtectedCapabilitiesKHR.sType ); 11899 VULKAN_HPP_HASH_COMBINE( seed, surfaceProtectedCapabilitiesKHR.pNext ); 11900 VULKAN_HPP_HASH_COMBINE( seed, surfaceProtectedCapabilitiesKHR.supportsProtected ); 11901 return seed; 11902 } 11903 }; 11904 11905 template <> struct hash<VULKAN_HPP_NAMESPACE::SwapchainCounterCreateInfoEXT> 11906 { operator ()std::hash11907 std::size_t operator()(VULKAN_HPP_NAMESPACE::SwapchainCounterCreateInfoEXT const & swapchainCounterCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 11908 { 11909 std::size_t seed = 0; 11910 VULKAN_HPP_HASH_COMBINE( seed, swapchainCounterCreateInfoEXT.sType ); 11911 VULKAN_HPP_HASH_COMBINE( seed, swapchainCounterCreateInfoEXT.pNext ); 11912 VULKAN_HPP_HASH_COMBINE( seed, swapchainCounterCreateInfoEXT.surfaceCounters ); 11913 return seed; 11914 } 11915 }; 11916 11917 template <> struct hash<VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> 11918 { operator ()std::hash11919 std::size_t operator()(VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR const & swapchainCreateInfoKHR) const VULKAN_HPP_NOEXCEPT 11920 { 11921 std::size_t seed = 0; 11922 VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.sType ); 11923 VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.pNext ); 11924 VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.flags ); 11925 VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.surface ); 11926 VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.minImageCount ); 11927 VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.imageFormat ); 11928 VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.imageColorSpace ); 11929 VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.imageExtent ); 11930 VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.imageArrayLayers ); 11931 VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.imageUsage ); 11932 VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.imageSharingMode ); 11933 VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.queueFamilyIndexCount ); 11934 VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.pQueueFamilyIndices ); 11935 VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.preTransform ); 11936 VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.compositeAlpha ); 11937 VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.presentMode ); 11938 VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.clipped ); 11939 VULKAN_HPP_HASH_COMBINE( seed, swapchainCreateInfoKHR.oldSwapchain ); 11940 return seed; 11941 } 11942 }; 11943 11944 template <> struct hash<VULKAN_HPP_NAMESPACE::SwapchainDisplayNativeHdrCreateInfoAMD> 11945 { operator ()std::hash11946 std::size_t operator()(VULKAN_HPP_NAMESPACE::SwapchainDisplayNativeHdrCreateInfoAMD const & swapchainDisplayNativeHdrCreateInfoAMD) const VULKAN_HPP_NOEXCEPT 11947 { 11948 std::size_t seed = 0; 11949 VULKAN_HPP_HASH_COMBINE( seed, swapchainDisplayNativeHdrCreateInfoAMD.sType ); 11950 VULKAN_HPP_HASH_COMBINE( seed, swapchainDisplayNativeHdrCreateInfoAMD.pNext ); 11951 VULKAN_HPP_HASH_COMBINE( seed, swapchainDisplayNativeHdrCreateInfoAMD.localDimmingEnable ); 11952 return seed; 11953 } 11954 }; 11955 11956 template <> struct hash<VULKAN_HPP_NAMESPACE::SwapchainPresentBarrierCreateInfoNV> 11957 { operator ()std::hash11958 std::size_t operator()(VULKAN_HPP_NAMESPACE::SwapchainPresentBarrierCreateInfoNV const & swapchainPresentBarrierCreateInfoNV) const VULKAN_HPP_NOEXCEPT 11959 { 11960 std::size_t seed = 0; 11961 VULKAN_HPP_HASH_COMBINE( seed, swapchainPresentBarrierCreateInfoNV.sType ); 11962 VULKAN_HPP_HASH_COMBINE( seed, swapchainPresentBarrierCreateInfoNV.pNext ); 11963 VULKAN_HPP_HASH_COMBINE( seed, swapchainPresentBarrierCreateInfoNV.presentBarrierEnable ); 11964 return seed; 11965 } 11966 }; 11967 11968 template <> struct hash<VULKAN_HPP_NAMESPACE::SwapchainPresentFenceInfoEXT> 11969 { operator ()std::hash11970 std::size_t operator()(VULKAN_HPP_NAMESPACE::SwapchainPresentFenceInfoEXT const & swapchainPresentFenceInfoEXT) const VULKAN_HPP_NOEXCEPT 11971 { 11972 std::size_t seed = 0; 11973 VULKAN_HPP_HASH_COMBINE( seed, swapchainPresentFenceInfoEXT.sType ); 11974 VULKAN_HPP_HASH_COMBINE( seed, swapchainPresentFenceInfoEXT.pNext ); 11975 VULKAN_HPP_HASH_COMBINE( seed, swapchainPresentFenceInfoEXT.swapchainCount ); 11976 VULKAN_HPP_HASH_COMBINE( seed, swapchainPresentFenceInfoEXT.pFences ); 11977 return seed; 11978 } 11979 }; 11980 11981 template <> struct hash<VULKAN_HPP_NAMESPACE::SwapchainPresentModeInfoEXT> 11982 { operator ()std::hash11983 std::size_t operator()(VULKAN_HPP_NAMESPACE::SwapchainPresentModeInfoEXT const & swapchainPresentModeInfoEXT) const VULKAN_HPP_NOEXCEPT 11984 { 11985 std::size_t seed = 0; 11986 VULKAN_HPP_HASH_COMBINE( seed, swapchainPresentModeInfoEXT.sType ); 11987 VULKAN_HPP_HASH_COMBINE( seed, swapchainPresentModeInfoEXT.pNext ); 11988 VULKAN_HPP_HASH_COMBINE( seed, swapchainPresentModeInfoEXT.swapchainCount ); 11989 VULKAN_HPP_HASH_COMBINE( seed, swapchainPresentModeInfoEXT.pPresentModes ); 11990 return seed; 11991 } 11992 }; 11993 11994 template <> struct hash<VULKAN_HPP_NAMESPACE::SwapchainPresentModesCreateInfoEXT> 11995 { operator ()std::hash11996 std::size_t operator()(VULKAN_HPP_NAMESPACE::SwapchainPresentModesCreateInfoEXT const & swapchainPresentModesCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 11997 { 11998 std::size_t seed = 0; 11999 VULKAN_HPP_HASH_COMBINE( seed, swapchainPresentModesCreateInfoEXT.sType ); 12000 VULKAN_HPP_HASH_COMBINE( seed, swapchainPresentModesCreateInfoEXT.pNext ); 12001 VULKAN_HPP_HASH_COMBINE( seed, swapchainPresentModesCreateInfoEXT.presentModeCount ); 12002 VULKAN_HPP_HASH_COMBINE( seed, swapchainPresentModesCreateInfoEXT.pPresentModes ); 12003 return seed; 12004 } 12005 }; 12006 12007 template <> struct hash<VULKAN_HPP_NAMESPACE::SwapchainPresentScalingCreateInfoEXT> 12008 { operator ()std::hash12009 std::size_t operator()(VULKAN_HPP_NAMESPACE::SwapchainPresentScalingCreateInfoEXT const & swapchainPresentScalingCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 12010 { 12011 std::size_t seed = 0; 12012 VULKAN_HPP_HASH_COMBINE( seed, swapchainPresentScalingCreateInfoEXT.sType ); 12013 VULKAN_HPP_HASH_COMBINE( seed, swapchainPresentScalingCreateInfoEXT.pNext ); 12014 VULKAN_HPP_HASH_COMBINE( seed, swapchainPresentScalingCreateInfoEXT.scalingBehavior ); 12015 VULKAN_HPP_HASH_COMBINE( seed, swapchainPresentScalingCreateInfoEXT.presentGravityX ); 12016 VULKAN_HPP_HASH_COMBINE( seed, swapchainPresentScalingCreateInfoEXT.presentGravityY ); 12017 return seed; 12018 } 12019 }; 12020 12021 template <> struct hash<VULKAN_HPP_NAMESPACE::TextureLODGatherFormatPropertiesAMD> 12022 { operator ()std::hash12023 std::size_t operator()(VULKAN_HPP_NAMESPACE::TextureLODGatherFormatPropertiesAMD const & textureLODGatherFormatPropertiesAMD) const VULKAN_HPP_NOEXCEPT 12024 { 12025 std::size_t seed = 0; 12026 VULKAN_HPP_HASH_COMBINE( seed, textureLODGatherFormatPropertiesAMD.sType ); 12027 VULKAN_HPP_HASH_COMBINE( seed, textureLODGatherFormatPropertiesAMD.pNext ); 12028 VULKAN_HPP_HASH_COMBINE( seed, textureLODGatherFormatPropertiesAMD.supportsTextureGatherLODBiasAMD ); 12029 return seed; 12030 } 12031 }; 12032 12033 template <> struct hash<VULKAN_HPP_NAMESPACE::TilePropertiesQCOM> 12034 { operator ()std::hash12035 std::size_t operator()(VULKAN_HPP_NAMESPACE::TilePropertiesQCOM const & tilePropertiesQCOM) const VULKAN_HPP_NOEXCEPT 12036 { 12037 std::size_t seed = 0; 12038 VULKAN_HPP_HASH_COMBINE( seed, tilePropertiesQCOM.sType ); 12039 VULKAN_HPP_HASH_COMBINE( seed, tilePropertiesQCOM.pNext ); 12040 VULKAN_HPP_HASH_COMBINE( seed, tilePropertiesQCOM.tileSize ); 12041 VULKAN_HPP_HASH_COMBINE( seed, tilePropertiesQCOM.apronSize ); 12042 VULKAN_HPP_HASH_COMBINE( seed, tilePropertiesQCOM.origin ); 12043 return seed; 12044 } 12045 }; 12046 12047 template <> struct hash<VULKAN_HPP_NAMESPACE::TimelineSemaphoreSubmitInfo> 12048 { operator ()std::hash12049 std::size_t operator()(VULKAN_HPP_NAMESPACE::TimelineSemaphoreSubmitInfo const & timelineSemaphoreSubmitInfo) const VULKAN_HPP_NOEXCEPT 12050 { 12051 std::size_t seed = 0; 12052 VULKAN_HPP_HASH_COMBINE( seed, timelineSemaphoreSubmitInfo.sType ); 12053 VULKAN_HPP_HASH_COMBINE( seed, timelineSemaphoreSubmitInfo.pNext ); 12054 VULKAN_HPP_HASH_COMBINE( seed, timelineSemaphoreSubmitInfo.waitSemaphoreValueCount ); 12055 VULKAN_HPP_HASH_COMBINE( seed, timelineSemaphoreSubmitInfo.pWaitSemaphoreValues ); 12056 VULKAN_HPP_HASH_COMBINE( seed, timelineSemaphoreSubmitInfo.signalSemaphoreValueCount ); 12057 VULKAN_HPP_HASH_COMBINE( seed, timelineSemaphoreSubmitInfo.pSignalSemaphoreValues ); 12058 return seed; 12059 } 12060 }; 12061 12062 template <> struct hash<VULKAN_HPP_NAMESPACE::TraceRaysIndirectCommand2KHR> 12063 { operator ()std::hash12064 std::size_t operator()(VULKAN_HPP_NAMESPACE::TraceRaysIndirectCommand2KHR const & traceRaysIndirectCommand2KHR) const VULKAN_HPP_NOEXCEPT 12065 { 12066 std::size_t seed = 0; 12067 VULKAN_HPP_HASH_COMBINE( seed, traceRaysIndirectCommand2KHR.raygenShaderRecordAddress ); 12068 VULKAN_HPP_HASH_COMBINE( seed, traceRaysIndirectCommand2KHR.raygenShaderRecordSize ); 12069 VULKAN_HPP_HASH_COMBINE( seed, traceRaysIndirectCommand2KHR.missShaderBindingTableAddress ); 12070 VULKAN_HPP_HASH_COMBINE( seed, traceRaysIndirectCommand2KHR.missShaderBindingTableSize ); 12071 VULKAN_HPP_HASH_COMBINE( seed, traceRaysIndirectCommand2KHR.missShaderBindingTableStride ); 12072 VULKAN_HPP_HASH_COMBINE( seed, traceRaysIndirectCommand2KHR.hitShaderBindingTableAddress ); 12073 VULKAN_HPP_HASH_COMBINE( seed, traceRaysIndirectCommand2KHR.hitShaderBindingTableSize ); 12074 VULKAN_HPP_HASH_COMBINE( seed, traceRaysIndirectCommand2KHR.hitShaderBindingTableStride ); 12075 VULKAN_HPP_HASH_COMBINE( seed, traceRaysIndirectCommand2KHR.callableShaderBindingTableAddress ); 12076 VULKAN_HPP_HASH_COMBINE( seed, traceRaysIndirectCommand2KHR.callableShaderBindingTableSize ); 12077 VULKAN_HPP_HASH_COMBINE( seed, traceRaysIndirectCommand2KHR.callableShaderBindingTableStride ); 12078 VULKAN_HPP_HASH_COMBINE( seed, traceRaysIndirectCommand2KHR.width ); 12079 VULKAN_HPP_HASH_COMBINE( seed, traceRaysIndirectCommand2KHR.height ); 12080 VULKAN_HPP_HASH_COMBINE( seed, traceRaysIndirectCommand2KHR.depth ); 12081 return seed; 12082 } 12083 }; 12084 12085 template <> struct hash<VULKAN_HPP_NAMESPACE::TraceRaysIndirectCommandKHR> 12086 { operator ()std::hash12087 std::size_t operator()(VULKAN_HPP_NAMESPACE::TraceRaysIndirectCommandKHR const & traceRaysIndirectCommandKHR) const VULKAN_HPP_NOEXCEPT 12088 { 12089 std::size_t seed = 0; 12090 VULKAN_HPP_HASH_COMBINE( seed, traceRaysIndirectCommandKHR.width ); 12091 VULKAN_HPP_HASH_COMBINE( seed, traceRaysIndirectCommandKHR.height ); 12092 VULKAN_HPP_HASH_COMBINE( seed, traceRaysIndirectCommandKHR.depth ); 12093 return seed; 12094 } 12095 }; 12096 12097 template <> struct hash<VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT> 12098 { operator ()std::hash12099 std::size_t operator()(VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT const & validationCacheCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 12100 { 12101 std::size_t seed = 0; 12102 VULKAN_HPP_HASH_COMBINE( seed, validationCacheCreateInfoEXT.sType ); 12103 VULKAN_HPP_HASH_COMBINE( seed, validationCacheCreateInfoEXT.pNext ); 12104 VULKAN_HPP_HASH_COMBINE( seed, validationCacheCreateInfoEXT.flags ); 12105 VULKAN_HPP_HASH_COMBINE( seed, validationCacheCreateInfoEXT.initialDataSize ); 12106 VULKAN_HPP_HASH_COMBINE( seed, validationCacheCreateInfoEXT.pInitialData ); 12107 return seed; 12108 } 12109 }; 12110 12111 template <> struct hash<VULKAN_HPP_NAMESPACE::ValidationFeaturesEXT> 12112 { operator ()std::hash12113 std::size_t operator()(VULKAN_HPP_NAMESPACE::ValidationFeaturesEXT const & validationFeaturesEXT) const VULKAN_HPP_NOEXCEPT 12114 { 12115 std::size_t seed = 0; 12116 VULKAN_HPP_HASH_COMBINE( seed, validationFeaturesEXT.sType ); 12117 VULKAN_HPP_HASH_COMBINE( seed, validationFeaturesEXT.pNext ); 12118 VULKAN_HPP_HASH_COMBINE( seed, validationFeaturesEXT.enabledValidationFeatureCount ); 12119 VULKAN_HPP_HASH_COMBINE( seed, validationFeaturesEXT.pEnabledValidationFeatures ); 12120 VULKAN_HPP_HASH_COMBINE( seed, validationFeaturesEXT.disabledValidationFeatureCount ); 12121 VULKAN_HPP_HASH_COMBINE( seed, validationFeaturesEXT.pDisabledValidationFeatures ); 12122 return seed; 12123 } 12124 }; 12125 12126 template <> struct hash<VULKAN_HPP_NAMESPACE::ValidationFlagsEXT> 12127 { operator ()std::hash12128 std::size_t operator()(VULKAN_HPP_NAMESPACE::ValidationFlagsEXT const & validationFlagsEXT) const VULKAN_HPP_NOEXCEPT 12129 { 12130 std::size_t seed = 0; 12131 VULKAN_HPP_HASH_COMBINE( seed, validationFlagsEXT.sType ); 12132 VULKAN_HPP_HASH_COMBINE( seed, validationFlagsEXT.pNext ); 12133 VULKAN_HPP_HASH_COMBINE( seed, validationFlagsEXT.disabledValidationCheckCount ); 12134 VULKAN_HPP_HASH_COMBINE( seed, validationFlagsEXT.pDisabledValidationChecks ); 12135 return seed; 12136 } 12137 }; 12138 12139 template <> struct hash<VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription2EXT> 12140 { operator ()std::hash12141 std::size_t operator()(VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription2EXT const & vertexInputAttributeDescription2EXT) const VULKAN_HPP_NOEXCEPT 12142 { 12143 std::size_t seed = 0; 12144 VULKAN_HPP_HASH_COMBINE( seed, vertexInputAttributeDescription2EXT.sType ); 12145 VULKAN_HPP_HASH_COMBINE( seed, vertexInputAttributeDescription2EXT.pNext ); 12146 VULKAN_HPP_HASH_COMBINE( seed, vertexInputAttributeDescription2EXT.location ); 12147 VULKAN_HPP_HASH_COMBINE( seed, vertexInputAttributeDescription2EXT.binding ); 12148 VULKAN_HPP_HASH_COMBINE( seed, vertexInputAttributeDescription2EXT.format ); 12149 VULKAN_HPP_HASH_COMBINE( seed, vertexInputAttributeDescription2EXT.offset ); 12150 return seed; 12151 } 12152 }; 12153 12154 template <> struct hash<VULKAN_HPP_NAMESPACE::VertexInputBindingDescription2EXT> 12155 { operator ()std::hash12156 std::size_t operator()(VULKAN_HPP_NAMESPACE::VertexInputBindingDescription2EXT const & vertexInputBindingDescription2EXT) const VULKAN_HPP_NOEXCEPT 12157 { 12158 std::size_t seed = 0; 12159 VULKAN_HPP_HASH_COMBINE( seed, vertexInputBindingDescription2EXT.sType ); 12160 VULKAN_HPP_HASH_COMBINE( seed, vertexInputBindingDescription2EXT.pNext ); 12161 VULKAN_HPP_HASH_COMBINE( seed, vertexInputBindingDescription2EXT.binding ); 12162 VULKAN_HPP_HASH_COMBINE( seed, vertexInputBindingDescription2EXT.stride ); 12163 VULKAN_HPP_HASH_COMBINE( seed, vertexInputBindingDescription2EXT.inputRate ); 12164 VULKAN_HPP_HASH_COMBINE( seed, vertexInputBindingDescription2EXT.divisor ); 12165 return seed; 12166 } 12167 }; 12168 12169 #if defined( VK_USE_PLATFORM_VI_NN ) 12170 template <> struct hash<VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN> 12171 { operator ()std::hash12172 std::size_t operator()(VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN const & viSurfaceCreateInfoNN) const VULKAN_HPP_NOEXCEPT 12173 { 12174 std::size_t seed = 0; 12175 VULKAN_HPP_HASH_COMBINE( seed, viSurfaceCreateInfoNN.sType ); 12176 VULKAN_HPP_HASH_COMBINE( seed, viSurfaceCreateInfoNN.pNext ); 12177 VULKAN_HPP_HASH_COMBINE( seed, viSurfaceCreateInfoNN.flags ); 12178 VULKAN_HPP_HASH_COMBINE( seed, viSurfaceCreateInfoNN.window ); 12179 return seed; 12180 } 12181 }; 12182 #endif /*VK_USE_PLATFORM_VI_NN*/ 12183 12184 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoPictureResourceInfoKHR> 12185 { operator ()std::hash12186 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoPictureResourceInfoKHR const & videoPictureResourceInfoKHR) const VULKAN_HPP_NOEXCEPT 12187 { 12188 std::size_t seed = 0; 12189 VULKAN_HPP_HASH_COMBINE( seed, videoPictureResourceInfoKHR.sType ); 12190 VULKAN_HPP_HASH_COMBINE( seed, videoPictureResourceInfoKHR.pNext ); 12191 VULKAN_HPP_HASH_COMBINE( seed, videoPictureResourceInfoKHR.codedOffset ); 12192 VULKAN_HPP_HASH_COMBINE( seed, videoPictureResourceInfoKHR.codedExtent ); 12193 VULKAN_HPP_HASH_COMBINE( seed, videoPictureResourceInfoKHR.baseArrayLayer ); 12194 VULKAN_HPP_HASH_COMBINE( seed, videoPictureResourceInfoKHR.imageViewBinding ); 12195 return seed; 12196 } 12197 }; 12198 12199 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoReferenceSlotInfoKHR> 12200 { operator ()std::hash12201 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoReferenceSlotInfoKHR const & videoReferenceSlotInfoKHR) const VULKAN_HPP_NOEXCEPT 12202 { 12203 std::size_t seed = 0; 12204 VULKAN_HPP_HASH_COMBINE( seed, videoReferenceSlotInfoKHR.sType ); 12205 VULKAN_HPP_HASH_COMBINE( seed, videoReferenceSlotInfoKHR.pNext ); 12206 VULKAN_HPP_HASH_COMBINE( seed, videoReferenceSlotInfoKHR.slotIndex ); 12207 VULKAN_HPP_HASH_COMBINE( seed, videoReferenceSlotInfoKHR.pPictureResource ); 12208 return seed; 12209 } 12210 }; 12211 12212 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoBeginCodingInfoKHR> 12213 { operator ()std::hash12214 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoBeginCodingInfoKHR const & videoBeginCodingInfoKHR) const VULKAN_HPP_NOEXCEPT 12215 { 12216 std::size_t seed = 0; 12217 VULKAN_HPP_HASH_COMBINE( seed, videoBeginCodingInfoKHR.sType ); 12218 VULKAN_HPP_HASH_COMBINE( seed, videoBeginCodingInfoKHR.pNext ); 12219 VULKAN_HPP_HASH_COMBINE( seed, videoBeginCodingInfoKHR.flags ); 12220 VULKAN_HPP_HASH_COMBINE( seed, videoBeginCodingInfoKHR.videoSession ); 12221 VULKAN_HPP_HASH_COMBINE( seed, videoBeginCodingInfoKHR.videoSessionParameters ); 12222 VULKAN_HPP_HASH_COMBINE( seed, videoBeginCodingInfoKHR.referenceSlotCount ); 12223 VULKAN_HPP_HASH_COMBINE( seed, videoBeginCodingInfoKHR.pReferenceSlots ); 12224 return seed; 12225 } 12226 }; 12227 12228 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR> 12229 { operator ()std::hash12230 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR const & videoCapabilitiesKHR) const VULKAN_HPP_NOEXCEPT 12231 { 12232 std::size_t seed = 0; 12233 VULKAN_HPP_HASH_COMBINE( seed, videoCapabilitiesKHR.sType ); 12234 VULKAN_HPP_HASH_COMBINE( seed, videoCapabilitiesKHR.pNext ); 12235 VULKAN_HPP_HASH_COMBINE( seed, videoCapabilitiesKHR.flags ); 12236 VULKAN_HPP_HASH_COMBINE( seed, videoCapabilitiesKHR.minBitstreamBufferOffsetAlignment ); 12237 VULKAN_HPP_HASH_COMBINE( seed, videoCapabilitiesKHR.minBitstreamBufferSizeAlignment ); 12238 VULKAN_HPP_HASH_COMBINE( seed, videoCapabilitiesKHR.pictureAccessGranularity ); 12239 VULKAN_HPP_HASH_COMBINE( seed, videoCapabilitiesKHR.minCodedExtent ); 12240 VULKAN_HPP_HASH_COMBINE( seed, videoCapabilitiesKHR.maxCodedExtent ); 12241 VULKAN_HPP_HASH_COMBINE( seed, videoCapabilitiesKHR.maxDpbSlots ); 12242 VULKAN_HPP_HASH_COMBINE( seed, videoCapabilitiesKHR.maxActiveReferencePictures ); 12243 VULKAN_HPP_HASH_COMBINE( seed, videoCapabilitiesKHR.stdHeaderVersion ); 12244 return seed; 12245 } 12246 }; 12247 12248 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoCodingControlInfoKHR> 12249 { operator ()std::hash12250 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoCodingControlInfoKHR const & videoCodingControlInfoKHR) const VULKAN_HPP_NOEXCEPT 12251 { 12252 std::size_t seed = 0; 12253 VULKAN_HPP_HASH_COMBINE( seed, videoCodingControlInfoKHR.sType ); 12254 VULKAN_HPP_HASH_COMBINE( seed, videoCodingControlInfoKHR.pNext ); 12255 VULKAN_HPP_HASH_COMBINE( seed, videoCodingControlInfoKHR.flags ); 12256 return seed; 12257 } 12258 }; 12259 12260 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeCapabilitiesKHR> 12261 { operator ()std::hash12262 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeCapabilitiesKHR const & videoDecodeCapabilitiesKHR) const VULKAN_HPP_NOEXCEPT 12263 { 12264 std::size_t seed = 0; 12265 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeCapabilitiesKHR.sType ); 12266 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeCapabilitiesKHR.pNext ); 12267 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeCapabilitiesKHR.flags ); 12268 return seed; 12269 } 12270 }; 12271 12272 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH264CapabilitiesKHR> 12273 { operator ()std::hash12274 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeH264CapabilitiesKHR const & videoDecodeH264CapabilitiesKHR) const VULKAN_HPP_NOEXCEPT 12275 { 12276 std::size_t seed = 0; 12277 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264CapabilitiesKHR.sType ); 12278 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264CapabilitiesKHR.pNext ); 12279 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264CapabilitiesKHR.maxLevelIdc ); 12280 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264CapabilitiesKHR.fieldOffsetGranularity ); 12281 return seed; 12282 } 12283 }; 12284 12285 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH264DpbSlotInfoKHR> 12286 { operator ()std::hash12287 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeH264DpbSlotInfoKHR const & videoDecodeH264DpbSlotInfoKHR) const VULKAN_HPP_NOEXCEPT 12288 { 12289 std::size_t seed = 0; 12290 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264DpbSlotInfoKHR.sType ); 12291 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264DpbSlotInfoKHR.pNext ); 12292 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264DpbSlotInfoKHR.pStdReferenceInfo ); 12293 return seed; 12294 } 12295 }; 12296 12297 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH264PictureInfoKHR> 12298 { operator ()std::hash12299 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeH264PictureInfoKHR const & videoDecodeH264PictureInfoKHR) const VULKAN_HPP_NOEXCEPT 12300 { 12301 std::size_t seed = 0; 12302 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264PictureInfoKHR.sType ); 12303 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264PictureInfoKHR.pNext ); 12304 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264PictureInfoKHR.pStdPictureInfo ); 12305 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264PictureInfoKHR.sliceCount ); 12306 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264PictureInfoKHR.pSliceOffsets ); 12307 return seed; 12308 } 12309 }; 12310 12311 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH264ProfileInfoKHR> 12312 { operator ()std::hash12313 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeH264ProfileInfoKHR const & videoDecodeH264ProfileInfoKHR) const VULKAN_HPP_NOEXCEPT 12314 { 12315 std::size_t seed = 0; 12316 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264ProfileInfoKHR.sType ); 12317 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264ProfileInfoKHR.pNext ); 12318 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264ProfileInfoKHR.stdProfileIdc ); 12319 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264ProfileInfoKHR.pictureLayout ); 12320 return seed; 12321 } 12322 }; 12323 12324 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH264SessionParametersAddInfoKHR> 12325 { operator ()std::hash12326 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeH264SessionParametersAddInfoKHR const & videoDecodeH264SessionParametersAddInfoKHR) const VULKAN_HPP_NOEXCEPT 12327 { 12328 std::size_t seed = 0; 12329 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionParametersAddInfoKHR.sType ); 12330 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionParametersAddInfoKHR.pNext ); 12331 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionParametersAddInfoKHR.stdSPSCount ); 12332 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionParametersAddInfoKHR.pStdSPSs ); 12333 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionParametersAddInfoKHR.stdPPSCount ); 12334 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionParametersAddInfoKHR.pStdPPSs ); 12335 return seed; 12336 } 12337 }; 12338 12339 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH264SessionParametersCreateInfoKHR> 12340 { operator ()std::hash12341 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeH264SessionParametersCreateInfoKHR const & videoDecodeH264SessionParametersCreateInfoKHR) const VULKAN_HPP_NOEXCEPT 12342 { 12343 std::size_t seed = 0; 12344 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionParametersCreateInfoKHR.sType ); 12345 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionParametersCreateInfoKHR.pNext ); 12346 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionParametersCreateInfoKHR.maxStdSPSCount ); 12347 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionParametersCreateInfoKHR.maxStdPPSCount ); 12348 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH264SessionParametersCreateInfoKHR.pParametersAddInfo ); 12349 return seed; 12350 } 12351 }; 12352 12353 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH265CapabilitiesKHR> 12354 { operator ()std::hash12355 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeH265CapabilitiesKHR const & videoDecodeH265CapabilitiesKHR) const VULKAN_HPP_NOEXCEPT 12356 { 12357 std::size_t seed = 0; 12358 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265CapabilitiesKHR.sType ); 12359 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265CapabilitiesKHR.pNext ); 12360 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265CapabilitiesKHR.maxLevelIdc ); 12361 return seed; 12362 } 12363 }; 12364 12365 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH265DpbSlotInfoKHR> 12366 { operator ()std::hash12367 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeH265DpbSlotInfoKHR const & videoDecodeH265DpbSlotInfoKHR) const VULKAN_HPP_NOEXCEPT 12368 { 12369 std::size_t seed = 0; 12370 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265DpbSlotInfoKHR.sType ); 12371 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265DpbSlotInfoKHR.pNext ); 12372 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265DpbSlotInfoKHR.pStdReferenceInfo ); 12373 return seed; 12374 } 12375 }; 12376 12377 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH265PictureInfoKHR> 12378 { operator ()std::hash12379 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeH265PictureInfoKHR const & videoDecodeH265PictureInfoKHR) const VULKAN_HPP_NOEXCEPT 12380 { 12381 std::size_t seed = 0; 12382 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265PictureInfoKHR.sType ); 12383 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265PictureInfoKHR.pNext ); 12384 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265PictureInfoKHR.pStdPictureInfo ); 12385 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265PictureInfoKHR.sliceSegmentCount ); 12386 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265PictureInfoKHR.pSliceSegmentOffsets ); 12387 return seed; 12388 } 12389 }; 12390 12391 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH265ProfileInfoKHR> 12392 { operator ()std::hash12393 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeH265ProfileInfoKHR const & videoDecodeH265ProfileInfoKHR) const VULKAN_HPP_NOEXCEPT 12394 { 12395 std::size_t seed = 0; 12396 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265ProfileInfoKHR.sType ); 12397 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265ProfileInfoKHR.pNext ); 12398 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265ProfileInfoKHR.stdProfileIdc ); 12399 return seed; 12400 } 12401 }; 12402 12403 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH265SessionParametersAddInfoKHR> 12404 { operator ()std::hash12405 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeH265SessionParametersAddInfoKHR const & videoDecodeH265SessionParametersAddInfoKHR) const VULKAN_HPP_NOEXCEPT 12406 { 12407 std::size_t seed = 0; 12408 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionParametersAddInfoKHR.sType ); 12409 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionParametersAddInfoKHR.pNext ); 12410 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionParametersAddInfoKHR.stdVPSCount ); 12411 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionParametersAddInfoKHR.pStdVPSs ); 12412 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionParametersAddInfoKHR.stdSPSCount ); 12413 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionParametersAddInfoKHR.pStdSPSs ); 12414 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionParametersAddInfoKHR.stdPPSCount ); 12415 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionParametersAddInfoKHR.pStdPPSs ); 12416 return seed; 12417 } 12418 }; 12419 12420 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH265SessionParametersCreateInfoKHR> 12421 { operator ()std::hash12422 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeH265SessionParametersCreateInfoKHR const & videoDecodeH265SessionParametersCreateInfoKHR) const VULKAN_HPP_NOEXCEPT 12423 { 12424 std::size_t seed = 0; 12425 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionParametersCreateInfoKHR.sType ); 12426 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionParametersCreateInfoKHR.pNext ); 12427 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionParametersCreateInfoKHR.maxStdVPSCount ); 12428 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionParametersCreateInfoKHR.maxStdSPSCount ); 12429 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionParametersCreateInfoKHR.maxStdPPSCount ); 12430 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeH265SessionParametersCreateInfoKHR.pParametersAddInfo ); 12431 return seed; 12432 } 12433 }; 12434 12435 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeInfoKHR> 12436 { operator ()std::hash12437 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeInfoKHR const & videoDecodeInfoKHR) const VULKAN_HPP_NOEXCEPT 12438 { 12439 std::size_t seed = 0; 12440 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.sType ); 12441 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.pNext ); 12442 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.flags ); 12443 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.srcBuffer ); 12444 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.srcBufferOffset ); 12445 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.srcBufferRange ); 12446 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.dstPictureResource ); 12447 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.pSetupReferenceSlot ); 12448 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.referenceSlotCount ); 12449 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.pReferenceSlots ); 12450 return seed; 12451 } 12452 }; 12453 12454 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeUsageInfoKHR> 12455 { operator ()std::hash12456 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeUsageInfoKHR const & videoDecodeUsageInfoKHR) const VULKAN_HPP_NOEXCEPT 12457 { 12458 std::size_t seed = 0; 12459 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeUsageInfoKHR.sType ); 12460 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeUsageInfoKHR.pNext ); 12461 VULKAN_HPP_HASH_COMBINE( seed, videoDecodeUsageInfoKHR.videoUsageHints ); 12462 return seed; 12463 } 12464 }; 12465 12466 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12467 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeCapabilitiesKHR> 12468 { operator ()std::hash12469 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeCapabilitiesKHR const & videoEncodeCapabilitiesKHR) const VULKAN_HPP_NOEXCEPT 12470 { 12471 std::size_t seed = 0; 12472 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeCapabilitiesKHR.sType ); 12473 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeCapabilitiesKHR.pNext ); 12474 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeCapabilitiesKHR.flags ); 12475 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeCapabilitiesKHR.rateControlModes ); 12476 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeCapabilitiesKHR.rateControlLayerCount ); 12477 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeCapabilitiesKHR.qualityLevelCount ); 12478 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeCapabilitiesKHR.inputImageDataFillAlignment ); 12479 return seed; 12480 } 12481 }; 12482 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12483 12484 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12485 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264CapabilitiesEXT> 12486 { operator ()std::hash12487 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264CapabilitiesEXT const & videoEncodeH264CapabilitiesEXT) const VULKAN_HPP_NOEXCEPT 12488 { 12489 std::size_t seed = 0; 12490 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.sType ); 12491 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.pNext ); 12492 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.flags ); 12493 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.inputModeFlags ); 12494 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.outputModeFlags ); 12495 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.maxPPictureL0ReferenceCount ); 12496 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.maxBPictureL0ReferenceCount ); 12497 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.maxL1ReferenceCount ); 12498 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.motionVectorsOverPicBoundariesFlag ); 12499 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.maxBytesPerPicDenom ); 12500 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.maxBitsPerMbDenom ); 12501 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.log2MaxMvLengthHorizontal ); 12502 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264CapabilitiesEXT.log2MaxMvLengthVertical ); 12503 return seed; 12504 } 12505 }; 12506 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12507 12508 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12509 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264DpbSlotInfoEXT> 12510 { operator ()std::hash12511 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264DpbSlotInfoEXT const & videoEncodeH264DpbSlotInfoEXT) const VULKAN_HPP_NOEXCEPT 12512 { 12513 std::size_t seed = 0; 12514 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264DpbSlotInfoEXT.sType ); 12515 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264DpbSlotInfoEXT.pNext ); 12516 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264DpbSlotInfoEXT.slotIndex ); 12517 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264DpbSlotInfoEXT.pStdReferenceInfo ); 12518 return seed; 12519 } 12520 }; 12521 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12522 12523 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12524 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264EmitPictureParametersInfoEXT> 12525 { operator ()std::hash12526 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264EmitPictureParametersInfoEXT const & videoEncodeH264EmitPictureParametersInfoEXT) const VULKAN_HPP_NOEXCEPT 12527 { 12528 std::size_t seed = 0; 12529 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264EmitPictureParametersInfoEXT.sType ); 12530 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264EmitPictureParametersInfoEXT.pNext ); 12531 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264EmitPictureParametersInfoEXT.spsId ); 12532 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264EmitPictureParametersInfoEXT.emitSpsEnable ); 12533 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264EmitPictureParametersInfoEXT.ppsIdEntryCount ); 12534 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264EmitPictureParametersInfoEXT.ppsIdEntries ); 12535 return seed; 12536 } 12537 }; 12538 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12539 12540 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12541 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264FrameSizeEXT> 12542 { operator ()std::hash12543 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264FrameSizeEXT const & videoEncodeH264FrameSizeEXT) const VULKAN_HPP_NOEXCEPT 12544 { 12545 std::size_t seed = 0; 12546 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264FrameSizeEXT.frameISize ); 12547 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264FrameSizeEXT.framePSize ); 12548 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264FrameSizeEXT.frameBSize ); 12549 return seed; 12550 } 12551 }; 12552 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12553 12554 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12555 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264ReferenceListsInfoEXT> 12556 { operator ()std::hash12557 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264ReferenceListsInfoEXT const & videoEncodeH264ReferenceListsInfoEXT) const VULKAN_HPP_NOEXCEPT 12558 { 12559 std::size_t seed = 0; 12560 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264ReferenceListsInfoEXT.sType ); 12561 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264ReferenceListsInfoEXT.pNext ); 12562 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264ReferenceListsInfoEXT.referenceList0EntryCount ); 12563 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264ReferenceListsInfoEXT.pReferenceList0Entries ); 12564 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264ReferenceListsInfoEXT.referenceList1EntryCount ); 12565 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264ReferenceListsInfoEXT.pReferenceList1Entries ); 12566 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264ReferenceListsInfoEXT.pMemMgmtCtrlOperations ); 12567 return seed; 12568 } 12569 }; 12570 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12571 12572 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12573 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264NaluSliceInfoEXT> 12574 { operator ()std::hash12575 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264NaluSliceInfoEXT const & videoEncodeH264NaluSliceInfoEXT) const VULKAN_HPP_NOEXCEPT 12576 { 12577 std::size_t seed = 0; 12578 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264NaluSliceInfoEXT.sType ); 12579 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264NaluSliceInfoEXT.pNext ); 12580 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264NaluSliceInfoEXT.mbCount ); 12581 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264NaluSliceInfoEXT.pReferenceFinalLists ); 12582 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264NaluSliceInfoEXT.pSliceHeaderStd ); 12583 return seed; 12584 } 12585 }; 12586 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12587 12588 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12589 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264ProfileInfoEXT> 12590 { operator ()std::hash12591 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264ProfileInfoEXT const & videoEncodeH264ProfileInfoEXT) const VULKAN_HPP_NOEXCEPT 12592 { 12593 std::size_t seed = 0; 12594 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264ProfileInfoEXT.sType ); 12595 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264ProfileInfoEXT.pNext ); 12596 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264ProfileInfoEXT.stdProfileIdc ); 12597 return seed; 12598 } 12599 }; 12600 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12601 12602 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12603 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264QpEXT> 12604 { operator ()std::hash12605 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264QpEXT const & videoEncodeH264QpEXT) const VULKAN_HPP_NOEXCEPT 12606 { 12607 std::size_t seed = 0; 12608 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264QpEXT.qpI ); 12609 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264QpEXT.qpP ); 12610 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264QpEXT.qpB ); 12611 return seed; 12612 } 12613 }; 12614 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12615 12616 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12617 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264RateControlInfoEXT> 12618 { operator ()std::hash12619 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264RateControlInfoEXT const & videoEncodeH264RateControlInfoEXT) const VULKAN_HPP_NOEXCEPT 12620 { 12621 std::size_t seed = 0; 12622 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlInfoEXT.sType ); 12623 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlInfoEXT.pNext ); 12624 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlInfoEXT.gopFrameCount ); 12625 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlInfoEXT.idrPeriod ); 12626 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlInfoEXT.consecutiveBFrameCount ); 12627 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlInfoEXT.rateControlStructure ); 12628 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlInfoEXT.temporalLayerCount ); 12629 return seed; 12630 } 12631 }; 12632 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12633 12634 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12635 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264RateControlLayerInfoEXT> 12636 { operator ()std::hash12637 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264RateControlLayerInfoEXT const & videoEncodeH264RateControlLayerInfoEXT) const VULKAN_HPP_NOEXCEPT 12638 { 12639 std::size_t seed = 0; 12640 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlLayerInfoEXT.sType ); 12641 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlLayerInfoEXT.pNext ); 12642 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlLayerInfoEXT.temporalLayerId ); 12643 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlLayerInfoEXT.useInitialRcQp ); 12644 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlLayerInfoEXT.initialRcQp ); 12645 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlLayerInfoEXT.useMinQp ); 12646 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlLayerInfoEXT.minQp ); 12647 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlLayerInfoEXT.useMaxQp ); 12648 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlLayerInfoEXT.maxQp ); 12649 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlLayerInfoEXT.useMaxFrameSize ); 12650 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264RateControlLayerInfoEXT.maxFrameSize ); 12651 return seed; 12652 } 12653 }; 12654 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12655 12656 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12657 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264SessionParametersAddInfoEXT> 12658 { operator ()std::hash12659 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264SessionParametersAddInfoEXT const & videoEncodeH264SessionParametersAddInfoEXT) const VULKAN_HPP_NOEXCEPT 12660 { 12661 std::size_t seed = 0; 12662 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionParametersAddInfoEXT.sType ); 12663 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionParametersAddInfoEXT.pNext ); 12664 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionParametersAddInfoEXT.stdSPSCount ); 12665 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionParametersAddInfoEXT.pStdSPSs ); 12666 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionParametersAddInfoEXT.stdPPSCount ); 12667 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionParametersAddInfoEXT.pStdPPSs ); 12668 return seed; 12669 } 12670 }; 12671 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12672 12673 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12674 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264SessionParametersCreateInfoEXT> 12675 { operator ()std::hash12676 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264SessionParametersCreateInfoEXT const & videoEncodeH264SessionParametersCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 12677 { 12678 std::size_t seed = 0; 12679 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionParametersCreateInfoEXT.sType ); 12680 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionParametersCreateInfoEXT.pNext ); 12681 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionParametersCreateInfoEXT.maxStdSPSCount ); 12682 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionParametersCreateInfoEXT.maxStdPPSCount ); 12683 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264SessionParametersCreateInfoEXT.pParametersAddInfo ); 12684 return seed; 12685 } 12686 }; 12687 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12688 12689 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12690 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264VclFrameInfoEXT> 12691 { operator ()std::hash12692 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264VclFrameInfoEXT const & videoEncodeH264VclFrameInfoEXT) const VULKAN_HPP_NOEXCEPT 12693 { 12694 std::size_t seed = 0; 12695 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264VclFrameInfoEXT.sType ); 12696 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264VclFrameInfoEXT.pNext ); 12697 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264VclFrameInfoEXT.pReferenceFinalLists ); 12698 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264VclFrameInfoEXT.naluSliceEntryCount ); 12699 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264VclFrameInfoEXT.pNaluSliceEntries ); 12700 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH264VclFrameInfoEXT.pCurrentPictureInfo ); 12701 return seed; 12702 } 12703 }; 12704 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12705 12706 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12707 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265CapabilitiesEXT> 12708 { operator ()std::hash12709 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265CapabilitiesEXT const & videoEncodeH265CapabilitiesEXT) const VULKAN_HPP_NOEXCEPT 12710 { 12711 std::size_t seed = 0; 12712 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.sType ); 12713 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.pNext ); 12714 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.flags ); 12715 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.inputModeFlags ); 12716 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.outputModeFlags ); 12717 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.ctbSizes ); 12718 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.transformBlockSizes ); 12719 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.maxPPictureL0ReferenceCount ); 12720 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.maxBPictureL0ReferenceCount ); 12721 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.maxL1ReferenceCount ); 12722 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.maxSubLayersCount ); 12723 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.minLog2MinLumaCodingBlockSizeMinus3 ); 12724 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.maxLog2MinLumaCodingBlockSizeMinus3 ); 12725 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.minLog2MinLumaTransformBlockSizeMinus2 ); 12726 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.maxLog2MinLumaTransformBlockSizeMinus2 ); 12727 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.minMaxTransformHierarchyDepthInter ); 12728 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.maxMaxTransformHierarchyDepthInter ); 12729 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.minMaxTransformHierarchyDepthIntra ); 12730 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.maxMaxTransformHierarchyDepthIntra ); 12731 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.maxDiffCuQpDeltaDepth ); 12732 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.minMaxNumMergeCand ); 12733 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265CapabilitiesEXT.maxMaxNumMergeCand ); 12734 return seed; 12735 } 12736 }; 12737 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12738 12739 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12740 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265DpbSlotInfoEXT> 12741 { operator ()std::hash12742 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265DpbSlotInfoEXT const & videoEncodeH265DpbSlotInfoEXT) const VULKAN_HPP_NOEXCEPT 12743 { 12744 std::size_t seed = 0; 12745 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265DpbSlotInfoEXT.sType ); 12746 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265DpbSlotInfoEXT.pNext ); 12747 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265DpbSlotInfoEXT.slotIndex ); 12748 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265DpbSlotInfoEXT.pStdReferenceInfo ); 12749 return seed; 12750 } 12751 }; 12752 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12753 12754 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12755 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265EmitPictureParametersInfoEXT> 12756 { operator ()std::hash12757 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265EmitPictureParametersInfoEXT const & videoEncodeH265EmitPictureParametersInfoEXT) const VULKAN_HPP_NOEXCEPT 12758 { 12759 std::size_t seed = 0; 12760 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265EmitPictureParametersInfoEXT.sType ); 12761 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265EmitPictureParametersInfoEXT.pNext ); 12762 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265EmitPictureParametersInfoEXT.vpsId ); 12763 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265EmitPictureParametersInfoEXT.spsId ); 12764 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265EmitPictureParametersInfoEXT.emitVpsEnable ); 12765 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265EmitPictureParametersInfoEXT.emitSpsEnable ); 12766 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265EmitPictureParametersInfoEXT.ppsIdEntryCount ); 12767 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265EmitPictureParametersInfoEXT.ppsIdEntries ); 12768 return seed; 12769 } 12770 }; 12771 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12772 12773 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12774 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265FrameSizeEXT> 12775 { operator ()std::hash12776 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265FrameSizeEXT const & videoEncodeH265FrameSizeEXT) const VULKAN_HPP_NOEXCEPT 12777 { 12778 std::size_t seed = 0; 12779 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265FrameSizeEXT.frameISize ); 12780 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265FrameSizeEXT.framePSize ); 12781 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265FrameSizeEXT.frameBSize ); 12782 return seed; 12783 } 12784 }; 12785 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12786 12787 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12788 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265ReferenceListsInfoEXT> 12789 { operator ()std::hash12790 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265ReferenceListsInfoEXT const & videoEncodeH265ReferenceListsInfoEXT) const VULKAN_HPP_NOEXCEPT 12791 { 12792 std::size_t seed = 0; 12793 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265ReferenceListsInfoEXT.sType ); 12794 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265ReferenceListsInfoEXT.pNext ); 12795 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265ReferenceListsInfoEXT.referenceList0EntryCount ); 12796 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265ReferenceListsInfoEXT.pReferenceList0Entries ); 12797 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265ReferenceListsInfoEXT.referenceList1EntryCount ); 12798 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265ReferenceListsInfoEXT.pReferenceList1Entries ); 12799 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265ReferenceListsInfoEXT.pReferenceModifications ); 12800 return seed; 12801 } 12802 }; 12803 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12804 12805 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12806 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265NaluSliceSegmentInfoEXT> 12807 { operator ()std::hash12808 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265NaluSliceSegmentInfoEXT const & videoEncodeH265NaluSliceSegmentInfoEXT) const VULKAN_HPP_NOEXCEPT 12809 { 12810 std::size_t seed = 0; 12811 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265NaluSliceSegmentInfoEXT.sType ); 12812 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265NaluSliceSegmentInfoEXT.pNext ); 12813 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265NaluSliceSegmentInfoEXT.ctbCount ); 12814 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265NaluSliceSegmentInfoEXT.pReferenceFinalLists ); 12815 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265NaluSliceSegmentInfoEXT.pSliceSegmentHeaderStd ); 12816 return seed; 12817 } 12818 }; 12819 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12820 12821 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12822 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265ProfileInfoEXT> 12823 { operator ()std::hash12824 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265ProfileInfoEXT const & videoEncodeH265ProfileInfoEXT) const VULKAN_HPP_NOEXCEPT 12825 { 12826 std::size_t seed = 0; 12827 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265ProfileInfoEXT.sType ); 12828 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265ProfileInfoEXT.pNext ); 12829 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265ProfileInfoEXT.stdProfileIdc ); 12830 return seed; 12831 } 12832 }; 12833 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12834 12835 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12836 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265QpEXT> 12837 { operator ()std::hash12838 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265QpEXT const & videoEncodeH265QpEXT) const VULKAN_HPP_NOEXCEPT 12839 { 12840 std::size_t seed = 0; 12841 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265QpEXT.qpI ); 12842 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265QpEXT.qpP ); 12843 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265QpEXT.qpB ); 12844 return seed; 12845 } 12846 }; 12847 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12848 12849 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12850 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265RateControlInfoEXT> 12851 { operator ()std::hash12852 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265RateControlInfoEXT const & videoEncodeH265RateControlInfoEXT) const VULKAN_HPP_NOEXCEPT 12853 { 12854 std::size_t seed = 0; 12855 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlInfoEXT.sType ); 12856 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlInfoEXT.pNext ); 12857 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlInfoEXT.gopFrameCount ); 12858 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlInfoEXT.idrPeriod ); 12859 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlInfoEXT.consecutiveBFrameCount ); 12860 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlInfoEXT.rateControlStructure ); 12861 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlInfoEXT.subLayerCount ); 12862 return seed; 12863 } 12864 }; 12865 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12866 12867 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12868 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265RateControlLayerInfoEXT> 12869 { operator ()std::hash12870 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265RateControlLayerInfoEXT const & videoEncodeH265RateControlLayerInfoEXT) const VULKAN_HPP_NOEXCEPT 12871 { 12872 std::size_t seed = 0; 12873 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlLayerInfoEXT.sType ); 12874 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlLayerInfoEXT.pNext ); 12875 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlLayerInfoEXT.temporalId ); 12876 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlLayerInfoEXT.useInitialRcQp ); 12877 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlLayerInfoEXT.initialRcQp ); 12878 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlLayerInfoEXT.useMinQp ); 12879 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlLayerInfoEXT.minQp ); 12880 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlLayerInfoEXT.useMaxQp ); 12881 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlLayerInfoEXT.maxQp ); 12882 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlLayerInfoEXT.useMaxFrameSize ); 12883 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265RateControlLayerInfoEXT.maxFrameSize ); 12884 return seed; 12885 } 12886 }; 12887 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12888 12889 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12890 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265SessionParametersAddInfoEXT> 12891 { operator ()std::hash12892 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265SessionParametersAddInfoEXT const & videoEncodeH265SessionParametersAddInfoEXT) const VULKAN_HPP_NOEXCEPT 12893 { 12894 std::size_t seed = 0; 12895 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersAddInfoEXT.sType ); 12896 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersAddInfoEXT.pNext ); 12897 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersAddInfoEXT.stdVPSCount ); 12898 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersAddInfoEXT.pStdVPSs ); 12899 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersAddInfoEXT.stdSPSCount ); 12900 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersAddInfoEXT.pStdSPSs ); 12901 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersAddInfoEXT.stdPPSCount ); 12902 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersAddInfoEXT.pStdPPSs ); 12903 return seed; 12904 } 12905 }; 12906 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12907 12908 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12909 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265SessionParametersCreateInfoEXT> 12910 { operator ()std::hash12911 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265SessionParametersCreateInfoEXT const & videoEncodeH265SessionParametersCreateInfoEXT) const VULKAN_HPP_NOEXCEPT 12912 { 12913 std::size_t seed = 0; 12914 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersCreateInfoEXT.sType ); 12915 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersCreateInfoEXT.pNext ); 12916 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersCreateInfoEXT.maxStdVPSCount ); 12917 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersCreateInfoEXT.maxStdSPSCount ); 12918 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersCreateInfoEXT.maxStdPPSCount ); 12919 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265SessionParametersCreateInfoEXT.pParametersAddInfo ); 12920 return seed; 12921 } 12922 }; 12923 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12924 12925 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12926 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265VclFrameInfoEXT> 12927 { operator ()std::hash12928 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265VclFrameInfoEXT const & videoEncodeH265VclFrameInfoEXT) const VULKAN_HPP_NOEXCEPT 12929 { 12930 std::size_t seed = 0; 12931 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265VclFrameInfoEXT.sType ); 12932 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265VclFrameInfoEXT.pNext ); 12933 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265VclFrameInfoEXT.pReferenceFinalLists ); 12934 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265VclFrameInfoEXT.naluSliceSegmentEntryCount ); 12935 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265VclFrameInfoEXT.pNaluSliceSegmentEntries ); 12936 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeH265VclFrameInfoEXT.pCurrentPictureInfo ); 12937 return seed; 12938 } 12939 }; 12940 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12941 12942 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12943 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeInfoKHR> 12944 { operator ()std::hash12945 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeInfoKHR const & videoEncodeInfoKHR) const VULKAN_HPP_NOEXCEPT 12946 { 12947 std::size_t seed = 0; 12948 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.sType ); 12949 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.pNext ); 12950 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.flags ); 12951 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.qualityLevel ); 12952 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.dstBitstreamBuffer ); 12953 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.dstBitstreamBufferOffset ); 12954 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.dstBitstreamBufferMaxRange ); 12955 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.srcPictureResource ); 12956 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.pSetupReferenceSlot ); 12957 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.referenceSlotCount ); 12958 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.pReferenceSlots ); 12959 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.precedingExternallyEncodedBytes ); 12960 return seed; 12961 } 12962 }; 12963 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12964 12965 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12966 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeRateControlLayerInfoKHR> 12967 { operator ()std::hash12968 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeRateControlLayerInfoKHR const & videoEncodeRateControlLayerInfoKHR) const VULKAN_HPP_NOEXCEPT 12969 { 12970 std::size_t seed = 0; 12971 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlLayerInfoKHR.sType ); 12972 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlLayerInfoKHR.pNext ); 12973 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlLayerInfoKHR.averageBitrate ); 12974 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlLayerInfoKHR.maxBitrate ); 12975 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlLayerInfoKHR.frameRateNumerator ); 12976 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlLayerInfoKHR.frameRateDenominator ); 12977 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlLayerInfoKHR.virtualBufferSizeInMs ); 12978 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlLayerInfoKHR.initialVirtualBufferSizeInMs ); 12979 return seed; 12980 } 12981 }; 12982 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 12983 12984 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 12985 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeRateControlInfoKHR> 12986 { operator ()std::hash12987 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeRateControlInfoKHR const & videoEncodeRateControlInfoKHR) const VULKAN_HPP_NOEXCEPT 12988 { 12989 std::size_t seed = 0; 12990 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlInfoKHR.sType ); 12991 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlInfoKHR.pNext ); 12992 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlInfoKHR.flags ); 12993 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlInfoKHR.rateControlMode ); 12994 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlInfoKHR.layerCount ); 12995 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeRateControlInfoKHR.pLayerConfigs ); 12996 return seed; 12997 } 12998 }; 12999 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 13000 13001 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 13002 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeUsageInfoKHR> 13003 { operator ()std::hash13004 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeUsageInfoKHR const & videoEncodeUsageInfoKHR) const VULKAN_HPP_NOEXCEPT 13005 { 13006 std::size_t seed = 0; 13007 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeUsageInfoKHR.sType ); 13008 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeUsageInfoKHR.pNext ); 13009 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeUsageInfoKHR.videoUsageHints ); 13010 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeUsageInfoKHR.videoContentHints ); 13011 VULKAN_HPP_HASH_COMBINE( seed, videoEncodeUsageInfoKHR.tuningMode ); 13012 return seed; 13013 } 13014 }; 13015 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 13016 13017 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoEndCodingInfoKHR> 13018 { operator ()std::hash13019 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEndCodingInfoKHR const & videoEndCodingInfoKHR) const VULKAN_HPP_NOEXCEPT 13020 { 13021 std::size_t seed = 0; 13022 VULKAN_HPP_HASH_COMBINE( seed, videoEndCodingInfoKHR.sType ); 13023 VULKAN_HPP_HASH_COMBINE( seed, videoEndCodingInfoKHR.pNext ); 13024 VULKAN_HPP_HASH_COMBINE( seed, videoEndCodingInfoKHR.flags ); 13025 return seed; 13026 } 13027 }; 13028 13029 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR> 13030 { operator ()std::hash13031 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR const & videoFormatPropertiesKHR) const VULKAN_HPP_NOEXCEPT 13032 { 13033 std::size_t seed = 0; 13034 VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.sType ); 13035 VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.pNext ); 13036 VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.format ); 13037 VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.componentMapping ); 13038 VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.imageCreateFlags ); 13039 VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.imageType ); 13040 VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.imageTiling ); 13041 VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.imageUsageFlags ); 13042 return seed; 13043 } 13044 }; 13045 13046 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoProfileInfoKHR> 13047 { operator ()std::hash13048 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoProfileInfoKHR const & videoProfileInfoKHR) const VULKAN_HPP_NOEXCEPT 13049 { 13050 std::size_t seed = 0; 13051 VULKAN_HPP_HASH_COMBINE( seed, videoProfileInfoKHR.sType ); 13052 VULKAN_HPP_HASH_COMBINE( seed, videoProfileInfoKHR.pNext ); 13053 VULKAN_HPP_HASH_COMBINE( seed, videoProfileInfoKHR.videoCodecOperation ); 13054 VULKAN_HPP_HASH_COMBINE( seed, videoProfileInfoKHR.chromaSubsampling ); 13055 VULKAN_HPP_HASH_COMBINE( seed, videoProfileInfoKHR.lumaBitDepth ); 13056 VULKAN_HPP_HASH_COMBINE( seed, videoProfileInfoKHR.chromaBitDepth ); 13057 return seed; 13058 } 13059 }; 13060 13061 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoProfileListInfoKHR> 13062 { operator ()std::hash13063 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoProfileListInfoKHR const & videoProfileListInfoKHR) const VULKAN_HPP_NOEXCEPT 13064 { 13065 std::size_t seed = 0; 13066 VULKAN_HPP_HASH_COMBINE( seed, videoProfileListInfoKHR.sType ); 13067 VULKAN_HPP_HASH_COMBINE( seed, videoProfileListInfoKHR.pNext ); 13068 VULKAN_HPP_HASH_COMBINE( seed, videoProfileListInfoKHR.profileCount ); 13069 VULKAN_HPP_HASH_COMBINE( seed, videoProfileListInfoKHR.pProfiles ); 13070 return seed; 13071 } 13072 }; 13073 13074 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoSessionCreateInfoKHR> 13075 { operator ()std::hash13076 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoSessionCreateInfoKHR const & videoSessionCreateInfoKHR) const VULKAN_HPP_NOEXCEPT 13077 { 13078 std::size_t seed = 0; 13079 VULKAN_HPP_HASH_COMBINE( seed, videoSessionCreateInfoKHR.sType ); 13080 VULKAN_HPP_HASH_COMBINE( seed, videoSessionCreateInfoKHR.pNext ); 13081 VULKAN_HPP_HASH_COMBINE( seed, videoSessionCreateInfoKHR.queueFamilyIndex ); 13082 VULKAN_HPP_HASH_COMBINE( seed, videoSessionCreateInfoKHR.flags ); 13083 VULKAN_HPP_HASH_COMBINE( seed, videoSessionCreateInfoKHR.pVideoProfile ); 13084 VULKAN_HPP_HASH_COMBINE( seed, videoSessionCreateInfoKHR.pictureFormat ); 13085 VULKAN_HPP_HASH_COMBINE( seed, videoSessionCreateInfoKHR.maxCodedExtent ); 13086 VULKAN_HPP_HASH_COMBINE( seed, videoSessionCreateInfoKHR.referencePictureFormat ); 13087 VULKAN_HPP_HASH_COMBINE( seed, videoSessionCreateInfoKHR.maxDpbSlots ); 13088 VULKAN_HPP_HASH_COMBINE( seed, videoSessionCreateInfoKHR.maxActiveReferencePictures ); 13089 VULKAN_HPP_HASH_COMBINE( seed, videoSessionCreateInfoKHR.pStdHeaderVersion ); 13090 return seed; 13091 } 13092 }; 13093 13094 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoSessionMemoryRequirementsKHR> 13095 { operator ()std::hash13096 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoSessionMemoryRequirementsKHR const & videoSessionMemoryRequirementsKHR) const VULKAN_HPP_NOEXCEPT 13097 { 13098 std::size_t seed = 0; 13099 VULKAN_HPP_HASH_COMBINE( seed, videoSessionMemoryRequirementsKHR.sType ); 13100 VULKAN_HPP_HASH_COMBINE( seed, videoSessionMemoryRequirementsKHR.pNext ); 13101 VULKAN_HPP_HASH_COMBINE( seed, videoSessionMemoryRequirementsKHR.memoryBindIndex ); 13102 VULKAN_HPP_HASH_COMBINE( seed, videoSessionMemoryRequirementsKHR.memoryRequirements ); 13103 return seed; 13104 } 13105 }; 13106 13107 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateInfoKHR> 13108 { operator ()std::hash13109 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateInfoKHR const & videoSessionParametersCreateInfoKHR) const VULKAN_HPP_NOEXCEPT 13110 { 13111 std::size_t seed = 0; 13112 VULKAN_HPP_HASH_COMBINE( seed, videoSessionParametersCreateInfoKHR.sType ); 13113 VULKAN_HPP_HASH_COMBINE( seed, videoSessionParametersCreateInfoKHR.pNext ); 13114 VULKAN_HPP_HASH_COMBINE( seed, videoSessionParametersCreateInfoKHR.flags ); 13115 VULKAN_HPP_HASH_COMBINE( seed, videoSessionParametersCreateInfoKHR.videoSessionParametersTemplate ); 13116 VULKAN_HPP_HASH_COMBINE( seed, videoSessionParametersCreateInfoKHR.videoSession ); 13117 return seed; 13118 } 13119 }; 13120 13121 template <> struct hash<VULKAN_HPP_NAMESPACE::VideoSessionParametersUpdateInfoKHR> 13122 { operator ()std::hash13123 std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoSessionParametersUpdateInfoKHR const & videoSessionParametersUpdateInfoKHR) const VULKAN_HPP_NOEXCEPT 13124 { 13125 std::size_t seed = 0; 13126 VULKAN_HPP_HASH_COMBINE( seed, videoSessionParametersUpdateInfoKHR.sType ); 13127 VULKAN_HPP_HASH_COMBINE( seed, videoSessionParametersUpdateInfoKHR.pNext ); 13128 VULKAN_HPP_HASH_COMBINE( seed, videoSessionParametersUpdateInfoKHR.updateSequenceCount ); 13129 return seed; 13130 } 13131 }; 13132 13133 #if defined( VK_USE_PLATFORM_WAYLAND_KHR ) 13134 template <> struct hash<VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR> 13135 { operator ()std::hash13136 std::size_t operator()(VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR const & waylandSurfaceCreateInfoKHR) const VULKAN_HPP_NOEXCEPT 13137 { 13138 std::size_t seed = 0; 13139 VULKAN_HPP_HASH_COMBINE( seed, waylandSurfaceCreateInfoKHR.sType ); 13140 VULKAN_HPP_HASH_COMBINE( seed, waylandSurfaceCreateInfoKHR.pNext ); 13141 VULKAN_HPP_HASH_COMBINE( seed, waylandSurfaceCreateInfoKHR.flags ); 13142 VULKAN_HPP_HASH_COMBINE( seed, waylandSurfaceCreateInfoKHR.display ); 13143 VULKAN_HPP_HASH_COMBINE( seed, waylandSurfaceCreateInfoKHR.surface ); 13144 return seed; 13145 } 13146 }; 13147 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/ 13148 13149 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 13150 template <> struct hash<VULKAN_HPP_NAMESPACE::Win32KeyedMutexAcquireReleaseInfoKHR> 13151 { operator ()std::hash13152 std::size_t operator()(VULKAN_HPP_NAMESPACE::Win32KeyedMutexAcquireReleaseInfoKHR const & win32KeyedMutexAcquireReleaseInfoKHR) const VULKAN_HPP_NOEXCEPT 13153 { 13154 std::size_t seed = 0; 13155 VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoKHR.sType ); 13156 VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoKHR.pNext ); 13157 VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoKHR.acquireCount ); 13158 VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoKHR.pAcquireSyncs ); 13159 VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoKHR.pAcquireKeys ); 13160 VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoKHR.pAcquireTimeouts ); 13161 VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoKHR.releaseCount ); 13162 VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoKHR.pReleaseSyncs ); 13163 VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoKHR.pReleaseKeys ); 13164 return seed; 13165 } 13166 }; 13167 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 13168 13169 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 13170 template <> struct hash<VULKAN_HPP_NAMESPACE::Win32KeyedMutexAcquireReleaseInfoNV> 13171 { operator ()std::hash13172 std::size_t operator()(VULKAN_HPP_NAMESPACE::Win32KeyedMutexAcquireReleaseInfoNV const & win32KeyedMutexAcquireReleaseInfoNV) const VULKAN_HPP_NOEXCEPT 13173 { 13174 std::size_t seed = 0; 13175 VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoNV.sType ); 13176 VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoNV.pNext ); 13177 VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoNV.acquireCount ); 13178 VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoNV.pAcquireSyncs ); 13179 VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoNV.pAcquireKeys ); 13180 VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoNV.pAcquireTimeoutMilliseconds ); 13181 VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoNV.releaseCount ); 13182 VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoNV.pReleaseSyncs ); 13183 VULKAN_HPP_HASH_COMBINE( seed, win32KeyedMutexAcquireReleaseInfoNV.pReleaseKeys ); 13184 return seed; 13185 } 13186 }; 13187 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 13188 13189 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 13190 template <> struct hash<VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR> 13191 { operator ()std::hash13192 std::size_t operator()(VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR const & win32SurfaceCreateInfoKHR) const VULKAN_HPP_NOEXCEPT 13193 { 13194 std::size_t seed = 0; 13195 VULKAN_HPP_HASH_COMBINE( seed, win32SurfaceCreateInfoKHR.sType ); 13196 VULKAN_HPP_HASH_COMBINE( seed, win32SurfaceCreateInfoKHR.pNext ); 13197 VULKAN_HPP_HASH_COMBINE( seed, win32SurfaceCreateInfoKHR.flags ); 13198 VULKAN_HPP_HASH_COMBINE( seed, win32SurfaceCreateInfoKHR.hinstance ); 13199 VULKAN_HPP_HASH_COMBINE( seed, win32SurfaceCreateInfoKHR.hwnd ); 13200 return seed; 13201 } 13202 }; 13203 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 13204 13205 template <> struct hash<VULKAN_HPP_NAMESPACE::WriteDescriptorSet> 13206 { operator ()std::hash13207 std::size_t operator()(VULKAN_HPP_NAMESPACE::WriteDescriptorSet const & writeDescriptorSet) const VULKAN_HPP_NOEXCEPT 13208 { 13209 std::size_t seed = 0; 13210 VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSet.sType ); 13211 VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSet.pNext ); 13212 VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSet.dstSet ); 13213 VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSet.dstBinding ); 13214 VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSet.dstArrayElement ); 13215 VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSet.descriptorCount ); 13216 VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSet.descriptorType ); 13217 VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSet.pImageInfo ); 13218 VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSet.pBufferInfo ); 13219 VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSet.pTexelBufferView ); 13220 return seed; 13221 } 13222 }; 13223 13224 template <> struct hash<VULKAN_HPP_NAMESPACE::WriteDescriptorSetAccelerationStructureKHR> 13225 { operator ()std::hash13226 std::size_t operator()(VULKAN_HPP_NAMESPACE::WriteDescriptorSetAccelerationStructureKHR const & writeDescriptorSetAccelerationStructureKHR) const VULKAN_HPP_NOEXCEPT 13227 { 13228 std::size_t seed = 0; 13229 VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSetAccelerationStructureKHR.sType ); 13230 VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSetAccelerationStructureKHR.pNext ); 13231 VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSetAccelerationStructureKHR.accelerationStructureCount ); 13232 VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSetAccelerationStructureKHR.pAccelerationStructures ); 13233 return seed; 13234 } 13235 }; 13236 13237 template <> struct hash<VULKAN_HPP_NAMESPACE::WriteDescriptorSetAccelerationStructureNV> 13238 { operator ()std::hash13239 std::size_t operator()(VULKAN_HPP_NAMESPACE::WriteDescriptorSetAccelerationStructureNV const & writeDescriptorSetAccelerationStructureNV) const VULKAN_HPP_NOEXCEPT 13240 { 13241 std::size_t seed = 0; 13242 VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSetAccelerationStructureNV.sType ); 13243 VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSetAccelerationStructureNV.pNext ); 13244 VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSetAccelerationStructureNV.accelerationStructureCount ); 13245 VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSetAccelerationStructureNV.pAccelerationStructures ); 13246 return seed; 13247 } 13248 }; 13249 13250 template <> struct hash<VULKAN_HPP_NAMESPACE::WriteDescriptorSetInlineUniformBlock> 13251 { operator ()std::hash13252 std::size_t operator()(VULKAN_HPP_NAMESPACE::WriteDescriptorSetInlineUniformBlock const & writeDescriptorSetInlineUniformBlock) const VULKAN_HPP_NOEXCEPT 13253 { 13254 std::size_t seed = 0; 13255 VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSetInlineUniformBlock.sType ); 13256 VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSetInlineUniformBlock.pNext ); 13257 VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSetInlineUniformBlock.dataSize ); 13258 VULKAN_HPP_HASH_COMBINE( seed, writeDescriptorSetInlineUniformBlock.pData ); 13259 return seed; 13260 } 13261 }; 13262 13263 #if defined( VK_USE_PLATFORM_XCB_KHR ) 13264 template <> struct hash<VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR> 13265 { operator ()std::hash13266 std::size_t operator()(VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR const & xcbSurfaceCreateInfoKHR) const VULKAN_HPP_NOEXCEPT 13267 { 13268 std::size_t seed = 0; 13269 VULKAN_HPP_HASH_COMBINE( seed, xcbSurfaceCreateInfoKHR.sType ); 13270 VULKAN_HPP_HASH_COMBINE( seed, xcbSurfaceCreateInfoKHR.pNext ); 13271 VULKAN_HPP_HASH_COMBINE( seed, xcbSurfaceCreateInfoKHR.flags ); 13272 VULKAN_HPP_HASH_COMBINE( seed, xcbSurfaceCreateInfoKHR.connection ); 13273 VULKAN_HPP_HASH_COMBINE( seed, xcbSurfaceCreateInfoKHR.window ); 13274 return seed; 13275 } 13276 }; 13277 #endif /*VK_USE_PLATFORM_XCB_KHR*/ 13278 13279 #if defined( VK_USE_PLATFORM_XLIB_KHR ) 13280 template <> struct hash<VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR> 13281 { operator ()std::hash13282 std::size_t operator()(VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR const & xlibSurfaceCreateInfoKHR) const VULKAN_HPP_NOEXCEPT 13283 { 13284 std::size_t seed = 0; 13285 VULKAN_HPP_HASH_COMBINE( seed, xlibSurfaceCreateInfoKHR.sType ); 13286 VULKAN_HPP_HASH_COMBINE( seed, xlibSurfaceCreateInfoKHR.pNext ); 13287 VULKAN_HPP_HASH_COMBINE( seed, xlibSurfaceCreateInfoKHR.flags ); 13288 VULKAN_HPP_HASH_COMBINE( seed, xlibSurfaceCreateInfoKHR.dpy ); 13289 VULKAN_HPP_HASH_COMBINE( seed, xlibSurfaceCreateInfoKHR.window ); 13290 return seed; 13291 } 13292 }; 13293 #endif /*VK_USE_PLATFORM_XLIB_KHR*/ 13294 13295 #endif // 14 <= VULKAN_HPP_CPP_VERSION 13296 13297 } // namespace std 13298 #endif 13299