blob: 8cd8453cc05f2c4f377fb97dd8b4a96c5b744c0c [file] [log] [blame]
// Copyright 2015-2022 The Khronos Group Inc.
//
// SPDX-License-Identifier: Apache-2.0 OR MIT
//
// This header is generated from the Khronos Vulkan XML API Registry.
#ifndef VULKAN_HASH_HPP
#define VULKAN_HASH_HPP
#include <vulkan/vulkan.hpp>
namespace std {
//=======================================
//=== HASH structures for Flags types ===
//=======================================
template<typename BitType>
struct hash<VULKAN_HPP_NAMESPACE::Flags<BitType>>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::Flags<BitType> const &flags) const VULKAN_HPP_NOEXCEPT
{
return std::hash<typename std::underlying_type<BitType>::type>{}(static_cast<typename std::underlying_type<BitType>::type>(flags));
}
};
//===================================
//=== HASH structures for handles ===
//===================================
//=== VK_VERSION_1_0 ===
template<>
struct hash<VULKAN_HPP_NAMESPACE::Instance>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::Instance const &instance) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkInstance>{}(static_cast<VkInstance>(instance));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevice>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevice const &physicalDevice) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkPhysicalDevice>{}(static_cast<VkPhysicalDevice>(physicalDevice));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::Device>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::Device const &device) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkDevice>{}(static_cast<VkDevice>(device));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::Queue>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::Queue const &queue) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkQueue>{}(static_cast<VkQueue>(queue));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DeviceMemory>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceMemory const &deviceMemory) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkDeviceMemory>{}(static_cast<VkDeviceMemory>(deviceMemory));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::Fence>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::Fence const &fence) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkFence>{}(static_cast<VkFence>(fence));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::Semaphore>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::Semaphore const &semaphore) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkSemaphore>{}(static_cast<VkSemaphore>(semaphore));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::Event>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::Event const &event) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkEvent>{}(static_cast<VkEvent>(event));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::QueryPool>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::QueryPool const &queryPool) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkQueryPool>{}(static_cast<VkQueryPool>(queryPool));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::Buffer>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::Buffer const &buffer) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkBuffer>{}(static_cast<VkBuffer>(buffer));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::BufferView>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferView const &bufferView) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkBufferView>{}(static_cast<VkBufferView>(bufferView));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::Image>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::Image const &image) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkImage>{}(static_cast<VkImage>(image));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageView>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageView const &imageView) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkImageView>{}(static_cast<VkImageView>(imageView));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ShaderModule>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ShaderModule const &shaderModule) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkShaderModule>{}(static_cast<VkShaderModule>(shaderModule));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineCache>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineCache const &pipelineCache) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkPipelineCache>{}(static_cast<VkPipelineCache>(pipelineCache));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::Pipeline>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::Pipeline const &pipeline) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkPipeline>{}(static_cast<VkPipeline>(pipeline));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineLayout>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineLayout const &pipelineLayout) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkPipelineLayout>{}(static_cast<VkPipelineLayout>(pipelineLayout));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::Sampler>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::Sampler const &sampler) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkSampler>{}(static_cast<VkSampler>(sampler));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DescriptorPool>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorPool const &descriptorPool) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkDescriptorPool>{}(static_cast<VkDescriptorPool>(descriptorPool));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DescriptorSet>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorSet const &descriptorSet) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkDescriptorSet>{}(static_cast<VkDescriptorSet>(descriptorSet));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetLayout>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorSetLayout const &descriptorSetLayout) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkDescriptorSetLayout>{}(static_cast<VkDescriptorSetLayout>(descriptorSetLayout));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::Framebuffer>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::Framebuffer const &framebuffer) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkFramebuffer>{}(static_cast<VkFramebuffer>(framebuffer));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::RenderPass>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderPass const &renderPass) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkRenderPass>{}(static_cast<VkRenderPass>(renderPass));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CommandPool>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CommandPool const &commandPool) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkCommandPool>{}(static_cast<VkCommandPool>(commandPool));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CommandBuffer>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CommandBuffer const &commandBuffer) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkCommandBuffer>{}(static_cast<VkCommandBuffer>(commandBuffer));
}
};
//=== VK_VERSION_1_1 ===
template<>
struct hash<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion const &samplerYcbcrConversion) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkSamplerYcbcrConversion>{}(static_cast<VkSamplerYcbcrConversion>(samplerYcbcrConversion));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate const &descriptorUpdateTemplate) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkDescriptorUpdateTemplate>{}(static_cast<VkDescriptorUpdateTemplate>(descriptorUpdateTemplate));
}
};
//=== VK_VERSION_1_3 ===
template<>
struct hash<VULKAN_HPP_NAMESPACE::PrivateDataSlot>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PrivateDataSlot const &privateDataSlot) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkPrivateDataSlot>{}(static_cast<VkPrivateDataSlot>(privateDataSlot));
}
};
//=== VK_KHR_surface ===
template<>
struct hash<VULKAN_HPP_NAMESPACE::SurfaceKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SurfaceKHR const &surfaceKHR) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkSurfaceKHR>{}(static_cast<VkSurfaceKHR>(surfaceKHR));
}
};
//=== VK_KHR_swapchain ===
template<>
struct hash<VULKAN_HPP_NAMESPACE::SwapchainKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SwapchainKHR const &swapchainKHR) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkSwapchainKHR>{}(static_cast<VkSwapchainKHR>(swapchainKHR));
}
};
//=== VK_KHR_display ===
template<>
struct hash<VULKAN_HPP_NAMESPACE::DisplayKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayKHR const &displayKHR) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkDisplayKHR>{}(static_cast<VkDisplayKHR>(displayKHR));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DisplayModeKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayModeKHR const &displayModeKHR) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkDisplayModeKHR>{}(static_cast<VkDisplayModeKHR>(displayModeKHR));
}
};
//=== VK_EXT_debug_report ===
template<>
struct hash<VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT const &debugReportCallbackEXT) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkDebugReportCallbackEXT>{}(static_cast<VkDebugReportCallbackEXT>(debugReportCallbackEXT));
}
};
#if defined(VK_ENABLE_BETA_EXTENSIONS)
//=== VK_KHR_video_queue ===
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoSessionKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoSessionKHR const &videoSessionKHR) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkVideoSessionKHR>{}(static_cast<VkVideoSessionKHR>(videoSessionKHR));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR const &videoSessionParametersKHR) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkVideoSessionParametersKHR>{}(static_cast<VkVideoSessionParametersKHR>(videoSessionParametersKHR));
}
};
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
//=== VK_NVX_binary_import ===
template<>
struct hash<VULKAN_HPP_NAMESPACE::CuModuleNVX>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CuModuleNVX const &cuModuleNVX) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkCuModuleNVX>{}(static_cast<VkCuModuleNVX>(cuModuleNVX));
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CuFunctionNVX>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CuFunctionNVX const &cuFunctionNVX) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkCuFunctionNVX>{}(static_cast<VkCuFunctionNVX>(cuFunctionNVX));
}
};
//=== VK_EXT_debug_utils ===
template<>
struct hash<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT const &debugUtilsMessengerEXT) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkDebugUtilsMessengerEXT>{}(static_cast<VkDebugUtilsMessengerEXT>(debugUtilsMessengerEXT));
}
};
//=== VK_KHR_acceleration_structure ===
template<>
struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureKHR const &accelerationStructureKHR) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkAccelerationStructureKHR>{}(static_cast<VkAccelerationStructureKHR>(accelerationStructureKHR));
}
};
//=== VK_EXT_validation_cache ===
template<>
struct hash<VULKAN_HPP_NAMESPACE::ValidationCacheEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ValidationCacheEXT const &validationCacheEXT) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkValidationCacheEXT>{}(static_cast<VkValidationCacheEXT>(validationCacheEXT));
}
};
//=== VK_NV_ray_tracing ===
template<>
struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureNV const &accelerationStructureNV) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkAccelerationStructureNV>{}(static_cast<VkAccelerationStructureNV>(accelerationStructureNV));
}
};
//=== VK_INTEL_performance_query ===
template<>
struct hash<VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL const &performanceConfigurationINTEL) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkPerformanceConfigurationINTEL>{}(static_cast<VkPerformanceConfigurationINTEL>(performanceConfigurationINTEL));
}
};
//=== VK_KHR_deferred_host_operations ===
template<>
struct hash<VULKAN_HPP_NAMESPACE::DeferredOperationKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DeferredOperationKHR const &deferredOperationKHR) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkDeferredOperationKHR>{}(static_cast<VkDeferredOperationKHR>(deferredOperationKHR));
}
};
//=== VK_NV_device_generated_commands ===
template<>
struct hash<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV const &indirectCommandsLayoutNV) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkIndirectCommandsLayoutNV>{}(static_cast<VkIndirectCommandsLayoutNV>(indirectCommandsLayoutNV));
}
};
#if defined(VK_USE_PLATFORM_FUCHSIA)
//=== VK_FUCHSIA_buffer_collection ===
template<>
struct hash<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA const &bufferCollectionFUCHSIA) const VULKAN_HPP_NOEXCEPT
{
return std::hash<VkBufferCollectionFUCHSIA>{}(static_cast<VkBufferCollectionFUCHSIA>(bufferCollectionFUCHSIA));
}
};
#endif /*VK_USE_PLATFORM_FUCHSIA*/
#if 14 <= VULKAN_HPP_CPP_VERSION
//======================================
//=== HASH structures for structures ===
//======================================
# if !defined(VULKAN_HPP_HASH_COMBINE)
# define VULKAN_HPP_HASH_COMBINE(seed, value) \
seed ^= std::hash<std::decay<decltype(value)>::type>{}(value) + 0x9e3779b9 + (seed << 6) + (seed >> 2)
# endif
template<>
struct hash<VULKAN_HPP_NAMESPACE::AabbPositionsKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AabbPositionsKHR const &aabbPositionsKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, aabbPositionsKHR.minX);
VULKAN_HPP_HASH_COMBINE(seed, aabbPositionsKHR.minY);
VULKAN_HPP_HASH_COMBINE(seed, aabbPositionsKHR.minZ);
VULKAN_HPP_HASH_COMBINE(seed, aabbPositionsKHR.maxX);
VULKAN_HPP_HASH_COMBINE(seed, aabbPositionsKHR.maxY);
VULKAN_HPP_HASH_COMBINE(seed, aabbPositionsKHR.maxZ);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR const &accelerationStructureBuildRangeInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureBuildRangeInfoKHR.primitiveCount);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureBuildRangeInfoKHR.primitiveOffset);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureBuildRangeInfoKHR.firstVertex);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureBuildRangeInfoKHR.transformOffset);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR const &accelerationStructureBuildSizesInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureBuildSizesInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureBuildSizesInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureBuildSizesInfoKHR.accelerationStructureSize);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureBuildSizesInfoKHR.updateScratchSize);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureBuildSizesInfoKHR.buildScratchSize);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR const &accelerationStructureCreateInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureCreateInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureCreateInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureCreateInfoKHR.createFlags);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureCreateInfoKHR.buffer);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureCreateInfoKHR.offset);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureCreateInfoKHR.size);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureCreateInfoKHR.type);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureCreateInfoKHR.deviceAddress);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::GeometryTrianglesNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::GeometryTrianglesNV const &geometryTrianglesNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, geometryTrianglesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, geometryTrianglesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, geometryTrianglesNV.vertexData);
VULKAN_HPP_HASH_COMBINE(seed, geometryTrianglesNV.vertexOffset);
VULKAN_HPP_HASH_COMBINE(seed, geometryTrianglesNV.vertexCount);
VULKAN_HPP_HASH_COMBINE(seed, geometryTrianglesNV.vertexStride);
VULKAN_HPP_HASH_COMBINE(seed, geometryTrianglesNV.vertexFormat);
VULKAN_HPP_HASH_COMBINE(seed, geometryTrianglesNV.indexData);
VULKAN_HPP_HASH_COMBINE(seed, geometryTrianglesNV.indexOffset);
VULKAN_HPP_HASH_COMBINE(seed, geometryTrianglesNV.indexCount);
VULKAN_HPP_HASH_COMBINE(seed, geometryTrianglesNV.indexType);
VULKAN_HPP_HASH_COMBINE(seed, geometryTrianglesNV.transformData);
VULKAN_HPP_HASH_COMBINE(seed, geometryTrianglesNV.transformOffset);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::GeometryAABBNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::GeometryAABBNV const &geometryAABBNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, geometryAABBNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, geometryAABBNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, geometryAABBNV.aabbData);
VULKAN_HPP_HASH_COMBINE(seed, geometryAABBNV.numAABBs);
VULKAN_HPP_HASH_COMBINE(seed, geometryAABBNV.stride);
VULKAN_HPP_HASH_COMBINE(seed, geometryAABBNV.offset);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::GeometryDataNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::GeometryDataNV const &geometryDataNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, geometryDataNV.triangles);
VULKAN_HPP_HASH_COMBINE(seed, geometryDataNV.aabbs);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::GeometryNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::GeometryNV const &geometryNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, geometryNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, geometryNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, geometryNV.geometryType);
VULKAN_HPP_HASH_COMBINE(seed, geometryNV.geometry);
VULKAN_HPP_HASH_COMBINE(seed, geometryNV.flags);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV const &accelerationStructureInfoNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureInfoNV.type);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureInfoNV.flags);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureInfoNV.instanceCount);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureInfoNV.geometryCount);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureInfoNV.pGeometries);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV const &accelerationStructureCreateInfoNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureCreateInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureCreateInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureCreateInfoNV.compactedSize);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureCreateInfoNV.info);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureDeviceAddressInfoKHR>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureDeviceAddressInfoKHR const &accelerationStructureDeviceAddressInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureDeviceAddressInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureDeviceAddressInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureDeviceAddressInfoKHR.accelerationStructure);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::TransformMatrixKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::TransformMatrixKHR const &transformMatrixKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
for(size_t i = 0; i < 3; ++i)
{
for(size_t j = 0; j < 4; ++j)
{
VULKAN_HPP_HASH_COMBINE(seed, transformMatrixKHR.matrix[i][j]);
}
}
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureInstanceKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureInstanceKHR const &accelerationStructureInstanceKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureInstanceKHR.transform);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureInstanceKHR.instanceCustomIndex);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureInstanceKHR.mask);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureInstanceKHR.instanceShaderBindingTableRecordOffset);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureInstanceKHR.flags);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureInstanceKHR.accelerationStructureReference);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureMatrixMotionInstanceNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureMatrixMotionInstanceNV const &accelerationStructureMatrixMotionInstanceNV) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureMatrixMotionInstanceNV.transformT0);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureMatrixMotionInstanceNV.transformT1);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureMatrixMotionInstanceNV.instanceCustomIndex);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureMatrixMotionInstanceNV.mask);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureMatrixMotionInstanceNV.instanceShaderBindingTableRecordOffset);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureMatrixMotionInstanceNV.flags);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureMatrixMotionInstanceNV.accelerationStructureReference);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV const &accelerationStructureMemoryRequirementsInfoNV) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureMemoryRequirementsInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureMemoryRequirementsInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureMemoryRequirementsInfoNV.type);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureMemoryRequirementsInfoNV.accelerationStructure);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureMotionInfoNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureMotionInfoNV const &accelerationStructureMotionInfoNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureMotionInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureMotionInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureMotionInfoNV.maxInstances);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureMotionInfoNV.flags);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SRTDataNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SRTDataNV const &sRTDataNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, sRTDataNV.sx);
VULKAN_HPP_HASH_COMBINE(seed, sRTDataNV.a);
VULKAN_HPP_HASH_COMBINE(seed, sRTDataNV.b);
VULKAN_HPP_HASH_COMBINE(seed, sRTDataNV.pvx);
VULKAN_HPP_HASH_COMBINE(seed, sRTDataNV.sy);
VULKAN_HPP_HASH_COMBINE(seed, sRTDataNV.c);
VULKAN_HPP_HASH_COMBINE(seed, sRTDataNV.pvy);
VULKAN_HPP_HASH_COMBINE(seed, sRTDataNV.sz);
VULKAN_HPP_HASH_COMBINE(seed, sRTDataNV.pvz);
VULKAN_HPP_HASH_COMBINE(seed, sRTDataNV.qx);
VULKAN_HPP_HASH_COMBINE(seed, sRTDataNV.qy);
VULKAN_HPP_HASH_COMBINE(seed, sRTDataNV.qz);
VULKAN_HPP_HASH_COMBINE(seed, sRTDataNV.qw);
VULKAN_HPP_HASH_COMBINE(seed, sRTDataNV.tx);
VULKAN_HPP_HASH_COMBINE(seed, sRTDataNV.ty);
VULKAN_HPP_HASH_COMBINE(seed, sRTDataNV.tz);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureSRTMotionInstanceNV>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureSRTMotionInstanceNV const &accelerationStructureSRTMotionInstanceNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureSRTMotionInstanceNV.transformT0);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureSRTMotionInstanceNV.transformT1);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureSRTMotionInstanceNV.instanceCustomIndex);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureSRTMotionInstanceNV.mask);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureSRTMotionInstanceNV.instanceShaderBindingTableRecordOffset);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureSRTMotionInstanceNV.flags);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureSRTMotionInstanceNV.accelerationStructureReference);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureVersionInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AccelerationStructureVersionInfoKHR const &accelerationStructureVersionInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureVersionInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureVersionInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, accelerationStructureVersionInfoKHR.pVersionData);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR const &acquireNextImageInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, acquireNextImageInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, acquireNextImageInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, acquireNextImageInfoKHR.swapchain);
VULKAN_HPP_HASH_COMBINE(seed, acquireNextImageInfoKHR.timeout);
VULKAN_HPP_HASH_COMBINE(seed, acquireNextImageInfoKHR.semaphore);
VULKAN_HPP_HASH_COMBINE(seed, acquireNextImageInfoKHR.fence);
VULKAN_HPP_HASH_COMBINE(seed, acquireNextImageInfoKHR.deviceMask);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::AcquireProfilingLockInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AcquireProfilingLockInfoKHR const &acquireProfilingLockInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, acquireProfilingLockInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, acquireProfilingLockInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, acquireProfilingLockInfoKHR.flags);
VULKAN_HPP_HASH_COMBINE(seed, acquireProfilingLockInfoKHR.timeout);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::AllocationCallbacks>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AllocationCallbacks const &allocationCallbacks) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, allocationCallbacks.pUserData);
VULKAN_HPP_HASH_COMBINE(seed, allocationCallbacks.pfnAllocation);
VULKAN_HPP_HASH_COMBINE(seed, allocationCallbacks.pfnReallocation);
VULKAN_HPP_HASH_COMBINE(seed, allocationCallbacks.pfnFree);
VULKAN_HPP_HASH_COMBINE(seed, allocationCallbacks.pfnInternalAllocation);
VULKAN_HPP_HASH_COMBINE(seed, allocationCallbacks.pfnInternalFree);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ComponentMapping>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ComponentMapping const &componentMapping) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, componentMapping.r);
VULKAN_HPP_HASH_COMBINE(seed, componentMapping.g);
VULKAN_HPP_HASH_COMBINE(seed, componentMapping.b);
VULKAN_HPP_HASH_COMBINE(seed, componentMapping.a);
return seed;
}
};
# if defined(VK_USE_PLATFORM_ANDROID_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferFormatProperties2ANDROID>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AndroidHardwareBufferFormatProperties2ANDROID const &androidHardwareBufferFormatProperties2ANDROID) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferFormatProperties2ANDROID.sType);
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferFormatProperties2ANDROID.pNext);
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferFormatProperties2ANDROID.format);
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferFormatProperties2ANDROID.externalFormat);
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferFormatProperties2ANDROID.formatFeatures);
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferFormatProperties2ANDROID.samplerYcbcrConversionComponents);
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferFormatProperties2ANDROID.suggestedYcbcrModel);
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferFormatProperties2ANDROID.suggestedYcbcrRange);
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferFormatProperties2ANDROID.suggestedXChromaOffset);
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferFormatProperties2ANDROID.suggestedYChromaOffset);
return seed;
}
};
# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
# if defined(VK_USE_PLATFORM_ANDROID_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferFormatPropertiesANDROID>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AndroidHardwareBufferFormatPropertiesANDROID const &androidHardwareBufferFormatPropertiesANDROID) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferFormatPropertiesANDROID.sType);
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferFormatPropertiesANDROID.pNext);
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferFormatPropertiesANDROID.format);
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferFormatPropertiesANDROID.externalFormat);
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferFormatPropertiesANDROID.formatFeatures);
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferFormatPropertiesANDROID.samplerYcbcrConversionComponents);
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferFormatPropertiesANDROID.suggestedYcbcrModel);
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferFormatPropertiesANDROID.suggestedYcbcrRange);
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferFormatPropertiesANDROID.suggestedXChromaOffset);
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferFormatPropertiesANDROID.suggestedYChromaOffset);
return seed;
}
};
# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
# if defined(VK_USE_PLATFORM_ANDROID_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID const &androidHardwareBufferPropertiesANDROID) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferPropertiesANDROID.sType);
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferPropertiesANDROID.pNext);
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferPropertiesANDROID.allocationSize);
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferPropertiesANDROID.memoryTypeBits);
return seed;
}
};
# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
# if defined(VK_USE_PLATFORM_ANDROID_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferUsageANDROID>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AndroidHardwareBufferUsageANDROID const &androidHardwareBufferUsageANDROID) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferUsageANDROID.sType);
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferUsageANDROID.pNext);
VULKAN_HPP_HASH_COMBINE(seed, androidHardwareBufferUsageANDROID.androidHardwareBufferUsage);
return seed;
}
};
# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
# if defined(VK_USE_PLATFORM_ANDROID_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR const &androidSurfaceCreateInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, androidSurfaceCreateInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, androidSurfaceCreateInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, androidSurfaceCreateInfoKHR.flags);
VULKAN_HPP_HASH_COMBINE(seed, androidSurfaceCreateInfoKHR.window);
return seed;
}
};
# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::ApplicationInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ApplicationInfo const &applicationInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, applicationInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, applicationInfo.pNext);
for(const char *p = applicationInfo.pApplicationName; *p != '\0'; ++p)
{
VULKAN_HPP_HASH_COMBINE(seed, *p);
}
VULKAN_HPP_HASH_COMBINE(seed, applicationInfo.applicationVersion);
for(const char *p = applicationInfo.pEngineName; *p != '\0'; ++p)
{
VULKAN_HPP_HASH_COMBINE(seed, *p);
}
VULKAN_HPP_HASH_COMBINE(seed, applicationInfo.engineVersion);
VULKAN_HPP_HASH_COMBINE(seed, applicationInfo.apiVersion);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::AttachmentDescription>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AttachmentDescription const &attachmentDescription) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, attachmentDescription.flags);
VULKAN_HPP_HASH_COMBINE(seed, attachmentDescription.format);
VULKAN_HPP_HASH_COMBINE(seed, attachmentDescription.samples);
VULKAN_HPP_HASH_COMBINE(seed, attachmentDescription.loadOp);
VULKAN_HPP_HASH_COMBINE(seed, attachmentDescription.storeOp);
VULKAN_HPP_HASH_COMBINE(seed, attachmentDescription.stencilLoadOp);
VULKAN_HPP_HASH_COMBINE(seed, attachmentDescription.stencilStoreOp);
VULKAN_HPP_HASH_COMBINE(seed, attachmentDescription.initialLayout);
VULKAN_HPP_HASH_COMBINE(seed, attachmentDescription.finalLayout);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::AttachmentDescription2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AttachmentDescription2 const &attachmentDescription2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, attachmentDescription2.sType);
VULKAN_HPP_HASH_COMBINE(seed, attachmentDescription2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, attachmentDescription2.flags);
VULKAN_HPP_HASH_COMBINE(seed, attachmentDescription2.format);
VULKAN_HPP_HASH_COMBINE(seed, attachmentDescription2.samples);
VULKAN_HPP_HASH_COMBINE(seed, attachmentDescription2.loadOp);
VULKAN_HPP_HASH_COMBINE(seed, attachmentDescription2.storeOp);
VULKAN_HPP_HASH_COMBINE(seed, attachmentDescription2.stencilLoadOp);
VULKAN_HPP_HASH_COMBINE(seed, attachmentDescription2.stencilStoreOp);
VULKAN_HPP_HASH_COMBINE(seed, attachmentDescription2.initialLayout);
VULKAN_HPP_HASH_COMBINE(seed, attachmentDescription2.finalLayout);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::AttachmentDescriptionStencilLayout>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AttachmentDescriptionStencilLayout const &attachmentDescriptionStencilLayout) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, attachmentDescriptionStencilLayout.sType);
VULKAN_HPP_HASH_COMBINE(seed, attachmentDescriptionStencilLayout.pNext);
VULKAN_HPP_HASH_COMBINE(seed, attachmentDescriptionStencilLayout.stencilInitialLayout);
VULKAN_HPP_HASH_COMBINE(seed, attachmentDescriptionStencilLayout.stencilFinalLayout);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::AttachmentReference>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AttachmentReference const &attachmentReference) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, attachmentReference.attachment);
VULKAN_HPP_HASH_COMBINE(seed, attachmentReference.layout);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::AttachmentReference2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AttachmentReference2 const &attachmentReference2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, attachmentReference2.sType);
VULKAN_HPP_HASH_COMBINE(seed, attachmentReference2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, attachmentReference2.attachment);
VULKAN_HPP_HASH_COMBINE(seed, attachmentReference2.layout);
VULKAN_HPP_HASH_COMBINE(seed, attachmentReference2.aspectMask);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::AttachmentReferenceStencilLayout>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AttachmentReferenceStencilLayout const &attachmentReferenceStencilLayout) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, attachmentReferenceStencilLayout.sType);
VULKAN_HPP_HASH_COMBINE(seed, attachmentReferenceStencilLayout.pNext);
VULKAN_HPP_HASH_COMBINE(seed, attachmentReferenceStencilLayout.stencilLayout);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::AttachmentSampleCountInfoAMD>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AttachmentSampleCountInfoAMD const &attachmentSampleCountInfoAMD) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, attachmentSampleCountInfoAMD.sType);
VULKAN_HPP_HASH_COMBINE(seed, attachmentSampleCountInfoAMD.pNext);
VULKAN_HPP_HASH_COMBINE(seed, attachmentSampleCountInfoAMD.colorAttachmentCount);
VULKAN_HPP_HASH_COMBINE(seed, attachmentSampleCountInfoAMD.pColorAttachmentSamples);
VULKAN_HPP_HASH_COMBINE(seed, attachmentSampleCountInfoAMD.depthStencilAttachmentSamples);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::Extent2D>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::Extent2D const &extent2D) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, extent2D.width);
VULKAN_HPP_HASH_COMBINE(seed, extent2D.height);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SampleLocationEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SampleLocationEXT const &sampleLocationEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, sampleLocationEXT.x);
VULKAN_HPP_HASH_COMBINE(seed, sampleLocationEXT.y);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT const &sampleLocationsInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, sampleLocationsInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, sampleLocationsInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, sampleLocationsInfoEXT.sampleLocationsPerPixel);
VULKAN_HPP_HASH_COMBINE(seed, sampleLocationsInfoEXT.sampleLocationGridSize);
VULKAN_HPP_HASH_COMBINE(seed, sampleLocationsInfoEXT.sampleLocationsCount);
VULKAN_HPP_HASH_COMBINE(seed, sampleLocationsInfoEXT.pSampleLocations);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT const &attachmentSampleLocationsEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, attachmentSampleLocationsEXT.attachmentIndex);
VULKAN_HPP_HASH_COMBINE(seed, attachmentSampleLocationsEXT.sampleLocationsInfo);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::BaseInStructure>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BaseInStructure const &baseInStructure) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, baseInStructure.sType);
VULKAN_HPP_HASH_COMBINE(seed, baseInStructure.pNext);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::BaseOutStructure>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BaseOutStructure const &baseOutStructure) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, baseOutStructure.sType);
VULKAN_HPP_HASH_COMBINE(seed, baseOutStructure.pNext);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV const &bindAccelerationStructureMemoryInfoNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bindAccelerationStructureMemoryInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, bindAccelerationStructureMemoryInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, bindAccelerationStructureMemoryInfoNV.accelerationStructure);
VULKAN_HPP_HASH_COMBINE(seed, bindAccelerationStructureMemoryInfoNV.memory);
VULKAN_HPP_HASH_COMBINE(seed, bindAccelerationStructureMemoryInfoNV.memoryOffset);
VULKAN_HPP_HASH_COMBINE(seed, bindAccelerationStructureMemoryInfoNV.deviceIndexCount);
VULKAN_HPP_HASH_COMBINE(seed, bindAccelerationStructureMemoryInfoNV.pDeviceIndices);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::BindBufferMemoryDeviceGroupInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BindBufferMemoryDeviceGroupInfo const &bindBufferMemoryDeviceGroupInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bindBufferMemoryDeviceGroupInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, bindBufferMemoryDeviceGroupInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, bindBufferMemoryDeviceGroupInfo.deviceIndexCount);
VULKAN_HPP_HASH_COMBINE(seed, bindBufferMemoryDeviceGroupInfo.pDeviceIndices);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo const &bindBufferMemoryInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bindBufferMemoryInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, bindBufferMemoryInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, bindBufferMemoryInfo.buffer);
VULKAN_HPP_HASH_COMBINE(seed, bindBufferMemoryInfo.memory);
VULKAN_HPP_HASH_COMBINE(seed, bindBufferMemoryInfo.memoryOffset);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::Offset2D>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::Offset2D const &offset2D) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, offset2D.x);
VULKAN_HPP_HASH_COMBINE(seed, offset2D.y);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::Rect2D>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::Rect2D const &rect2D) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, rect2D.offset);
VULKAN_HPP_HASH_COMBINE(seed, rect2D.extent);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::BindImageMemoryDeviceGroupInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BindImageMemoryDeviceGroupInfo const &bindImageMemoryDeviceGroupInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bindImageMemoryDeviceGroupInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, bindImageMemoryDeviceGroupInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, bindImageMemoryDeviceGroupInfo.deviceIndexCount);
VULKAN_HPP_HASH_COMBINE(seed, bindImageMemoryDeviceGroupInfo.pDeviceIndices);
VULKAN_HPP_HASH_COMBINE(seed, bindImageMemoryDeviceGroupInfo.splitInstanceBindRegionCount);
VULKAN_HPP_HASH_COMBINE(seed, bindImageMemoryDeviceGroupInfo.pSplitInstanceBindRegions);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::BindImageMemoryInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BindImageMemoryInfo const &bindImageMemoryInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bindImageMemoryInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, bindImageMemoryInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, bindImageMemoryInfo.image);
VULKAN_HPP_HASH_COMBINE(seed, bindImageMemoryInfo.memory);
VULKAN_HPP_HASH_COMBINE(seed, bindImageMemoryInfo.memoryOffset);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::BindImageMemorySwapchainInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BindImageMemorySwapchainInfoKHR const &bindImageMemorySwapchainInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bindImageMemorySwapchainInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, bindImageMemorySwapchainInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, bindImageMemorySwapchainInfoKHR.swapchain);
VULKAN_HPP_HASH_COMBINE(seed, bindImageMemorySwapchainInfoKHR.imageIndex);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::BindImagePlaneMemoryInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BindImagePlaneMemoryInfo const &bindImagePlaneMemoryInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bindImagePlaneMemoryInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, bindImagePlaneMemoryInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, bindImagePlaneMemoryInfo.planeAspect);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::BindIndexBufferIndirectCommandNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BindIndexBufferIndirectCommandNV const &bindIndexBufferIndirectCommandNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bindIndexBufferIndirectCommandNV.bufferAddress);
VULKAN_HPP_HASH_COMBINE(seed, bindIndexBufferIndirectCommandNV.size);
VULKAN_HPP_HASH_COMBINE(seed, bindIndexBufferIndirectCommandNV.indexType);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::BindShaderGroupIndirectCommandNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BindShaderGroupIndirectCommandNV const &bindShaderGroupIndirectCommandNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bindShaderGroupIndirectCommandNV.groupIndex);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SparseMemoryBind>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SparseMemoryBind const &sparseMemoryBind) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, sparseMemoryBind.resourceOffset);
VULKAN_HPP_HASH_COMBINE(seed, sparseMemoryBind.size);
VULKAN_HPP_HASH_COMBINE(seed, sparseMemoryBind.memory);
VULKAN_HPP_HASH_COMBINE(seed, sparseMemoryBind.memoryOffset);
VULKAN_HPP_HASH_COMBINE(seed, sparseMemoryBind.flags);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SparseBufferMemoryBindInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SparseBufferMemoryBindInfo const &sparseBufferMemoryBindInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, sparseBufferMemoryBindInfo.buffer);
VULKAN_HPP_HASH_COMBINE(seed, sparseBufferMemoryBindInfo.bindCount);
VULKAN_HPP_HASH_COMBINE(seed, sparseBufferMemoryBindInfo.pBinds);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SparseImageOpaqueMemoryBindInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SparseImageOpaqueMemoryBindInfo const &sparseImageOpaqueMemoryBindInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, sparseImageOpaqueMemoryBindInfo.image);
VULKAN_HPP_HASH_COMBINE(seed, sparseImageOpaqueMemoryBindInfo.bindCount);
VULKAN_HPP_HASH_COMBINE(seed, sparseImageOpaqueMemoryBindInfo.pBinds);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageSubresource>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageSubresource const &imageSubresource) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageSubresource.aspectMask);
VULKAN_HPP_HASH_COMBINE(seed, imageSubresource.mipLevel);
VULKAN_HPP_HASH_COMBINE(seed, imageSubresource.arrayLayer);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::Offset3D>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::Offset3D const &offset3D) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, offset3D.x);
VULKAN_HPP_HASH_COMBINE(seed, offset3D.y);
VULKAN_HPP_HASH_COMBINE(seed, offset3D.z);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::Extent3D>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::Extent3D const &extent3D) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, extent3D.width);
VULKAN_HPP_HASH_COMBINE(seed, extent3D.height);
VULKAN_HPP_HASH_COMBINE(seed, extent3D.depth);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SparseImageMemoryBind>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SparseImageMemoryBind const &sparseImageMemoryBind) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, sparseImageMemoryBind.subresource);
VULKAN_HPP_HASH_COMBINE(seed, sparseImageMemoryBind.offset);
VULKAN_HPP_HASH_COMBINE(seed, sparseImageMemoryBind.extent);
VULKAN_HPP_HASH_COMBINE(seed, sparseImageMemoryBind.memory);
VULKAN_HPP_HASH_COMBINE(seed, sparseImageMemoryBind.memoryOffset);
VULKAN_HPP_HASH_COMBINE(seed, sparseImageMemoryBind.flags);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SparseImageMemoryBindInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SparseImageMemoryBindInfo const &sparseImageMemoryBindInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, sparseImageMemoryBindInfo.image);
VULKAN_HPP_HASH_COMBINE(seed, sparseImageMemoryBindInfo.bindCount);
VULKAN_HPP_HASH_COMBINE(seed, sparseImageMemoryBindInfo.pBinds);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::BindSparseInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BindSparseInfo const &bindSparseInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bindSparseInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, bindSparseInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, bindSparseInfo.waitSemaphoreCount);
VULKAN_HPP_HASH_COMBINE(seed, bindSparseInfo.pWaitSemaphores);
VULKAN_HPP_HASH_COMBINE(seed, bindSparseInfo.bufferBindCount);
VULKAN_HPP_HASH_COMBINE(seed, bindSparseInfo.pBufferBinds);
VULKAN_HPP_HASH_COMBINE(seed, bindSparseInfo.imageOpaqueBindCount);
VULKAN_HPP_HASH_COMBINE(seed, bindSparseInfo.pImageOpaqueBinds);
VULKAN_HPP_HASH_COMBINE(seed, bindSparseInfo.imageBindCount);
VULKAN_HPP_HASH_COMBINE(seed, bindSparseInfo.pImageBinds);
VULKAN_HPP_HASH_COMBINE(seed, bindSparseInfo.signalSemaphoreCount);
VULKAN_HPP_HASH_COMBINE(seed, bindSparseInfo.pSignalSemaphores);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::BindVertexBufferIndirectCommandNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BindVertexBufferIndirectCommandNV const &bindVertexBufferIndirectCommandNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bindVertexBufferIndirectCommandNV.bufferAddress);
VULKAN_HPP_HASH_COMBINE(seed, bindVertexBufferIndirectCommandNV.size);
VULKAN_HPP_HASH_COMBINE(seed, bindVertexBufferIndirectCommandNV.stride);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageSubresourceLayers>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &imageSubresourceLayers) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageSubresourceLayers.aspectMask);
VULKAN_HPP_HASH_COMBINE(seed, imageSubresourceLayers.mipLevel);
VULKAN_HPP_HASH_COMBINE(seed, imageSubresourceLayers.baseArrayLayer);
VULKAN_HPP_HASH_COMBINE(seed, imageSubresourceLayers.layerCount);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageBlit2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageBlit2 const &imageBlit2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageBlit2.sType);
VULKAN_HPP_HASH_COMBINE(seed, imageBlit2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, imageBlit2.srcSubresource);
for(size_t i = 0; i < 2; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, imageBlit2.srcOffsets[i]);
}
VULKAN_HPP_HASH_COMBINE(seed, imageBlit2.dstSubresource);
for(size_t i = 0; i < 2; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, imageBlit2.dstOffsets[i]);
}
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::BlitImageInfo2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BlitImageInfo2 const &blitImageInfo2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, blitImageInfo2.sType);
VULKAN_HPP_HASH_COMBINE(seed, blitImageInfo2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, blitImageInfo2.srcImage);
VULKAN_HPP_HASH_COMBINE(seed, blitImageInfo2.srcImageLayout);
VULKAN_HPP_HASH_COMBINE(seed, blitImageInfo2.dstImage);
VULKAN_HPP_HASH_COMBINE(seed, blitImageInfo2.dstImageLayout);
VULKAN_HPP_HASH_COMBINE(seed, blitImageInfo2.regionCount);
VULKAN_HPP_HASH_COMBINE(seed, blitImageInfo2.pRegions);
VULKAN_HPP_HASH_COMBINE(seed, blitImageInfo2.filter);
return seed;
}
};
# if defined(VK_USE_PLATFORM_FUCHSIA)
template<>
struct hash<VULKAN_HPP_NAMESPACE::BufferCollectionBufferCreateInfoFUCHSIA>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::BufferCollectionBufferCreateInfoFUCHSIA const &bufferCollectionBufferCreateInfoFUCHSIA) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionBufferCreateInfoFUCHSIA.sType);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionBufferCreateInfoFUCHSIA.pNext);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionBufferCreateInfoFUCHSIA.collection);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionBufferCreateInfoFUCHSIA.index);
return seed;
}
};
# endif /*VK_USE_PLATFORM_FUCHSIA*/
# if defined(VK_USE_PLATFORM_FUCHSIA)
template<>
struct hash<VULKAN_HPP_NAMESPACE::BufferCollectionConstraintsInfoFUCHSIA>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::BufferCollectionConstraintsInfoFUCHSIA const &bufferCollectionConstraintsInfoFUCHSIA) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionConstraintsInfoFUCHSIA.sType);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionConstraintsInfoFUCHSIA.pNext);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionConstraintsInfoFUCHSIA.minBufferCount);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionConstraintsInfoFUCHSIA.maxBufferCount);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionConstraintsInfoFUCHSIA.minBufferCountForCamping);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionConstraintsInfoFUCHSIA.minBufferCountForDedicatedSlack);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionConstraintsInfoFUCHSIA.minBufferCountForSharedSlack);
return seed;
}
};
# endif /*VK_USE_PLATFORM_FUCHSIA*/
# if defined(VK_USE_PLATFORM_FUCHSIA)
template<>
struct hash<VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA const &bufferCollectionCreateInfoFUCHSIA) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionCreateInfoFUCHSIA.sType);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionCreateInfoFUCHSIA.pNext);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionCreateInfoFUCHSIA.collectionToken);
return seed;
}
};
# endif /*VK_USE_PLATFORM_FUCHSIA*/
# if defined(VK_USE_PLATFORM_FUCHSIA)
template<>
struct hash<VULKAN_HPP_NAMESPACE::BufferCollectionImageCreateInfoFUCHSIA>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::BufferCollectionImageCreateInfoFUCHSIA const &bufferCollectionImageCreateInfoFUCHSIA) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionImageCreateInfoFUCHSIA.sType);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionImageCreateInfoFUCHSIA.pNext);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionImageCreateInfoFUCHSIA.collection);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionImageCreateInfoFUCHSIA.index);
return seed;
}
};
# endif /*VK_USE_PLATFORM_FUCHSIA*/
# if defined(VK_USE_PLATFORM_FUCHSIA)
template<>
struct hash<VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA const &sysmemColorSpaceFUCHSIA) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, sysmemColorSpaceFUCHSIA.sType);
VULKAN_HPP_HASH_COMBINE(seed, sysmemColorSpaceFUCHSIA.pNext);
VULKAN_HPP_HASH_COMBINE(seed, sysmemColorSpaceFUCHSIA.colorSpace);
return seed;
}
};
# endif /*VK_USE_PLATFORM_FUCHSIA*/
# if defined(VK_USE_PLATFORM_FUCHSIA)
template<>
struct hash<VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA const &bufferCollectionPropertiesFUCHSIA) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionPropertiesFUCHSIA.sType);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionPropertiesFUCHSIA.pNext);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionPropertiesFUCHSIA.memoryTypeBits);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionPropertiesFUCHSIA.bufferCount);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionPropertiesFUCHSIA.createInfoIndex);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionPropertiesFUCHSIA.sysmemPixelFormat);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionPropertiesFUCHSIA.formatFeatures);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionPropertiesFUCHSIA.sysmemColorSpaceIndex);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionPropertiesFUCHSIA.samplerYcbcrConversionComponents);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionPropertiesFUCHSIA.suggestedYcbcrModel);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionPropertiesFUCHSIA.suggestedYcbcrRange);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionPropertiesFUCHSIA.suggestedXChromaOffset);
VULKAN_HPP_HASH_COMBINE(seed, bufferCollectionPropertiesFUCHSIA.suggestedYChromaOffset);
return seed;
}
};
# endif /*VK_USE_PLATFORM_FUCHSIA*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::BufferCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferCreateInfo const &bufferCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bufferCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, bufferCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, bufferCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, bufferCreateInfo.size);
VULKAN_HPP_HASH_COMBINE(seed, bufferCreateInfo.usage);
VULKAN_HPP_HASH_COMBINE(seed, bufferCreateInfo.sharingMode);
VULKAN_HPP_HASH_COMBINE(seed, bufferCreateInfo.queueFamilyIndexCount);
VULKAN_HPP_HASH_COMBINE(seed, bufferCreateInfo.pQueueFamilyIndices);
return seed;
}
};
# if defined(VK_USE_PLATFORM_FUCHSIA)
template<>
struct hash<VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIA>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIA const &bufferConstraintsInfoFUCHSIA) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bufferConstraintsInfoFUCHSIA.sType);
VULKAN_HPP_HASH_COMBINE(seed, bufferConstraintsInfoFUCHSIA.pNext);
VULKAN_HPP_HASH_COMBINE(seed, bufferConstraintsInfoFUCHSIA.createInfo);
VULKAN_HPP_HASH_COMBINE(seed, bufferConstraintsInfoFUCHSIA.requiredFormatFeatures);
VULKAN_HPP_HASH_COMBINE(seed, bufferConstraintsInfoFUCHSIA.bufferCollectionConstraints);
return seed;
}
};
# endif /*VK_USE_PLATFORM_FUCHSIA*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::BufferCopy>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferCopy const &bufferCopy) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bufferCopy.srcOffset);
VULKAN_HPP_HASH_COMBINE(seed, bufferCopy.dstOffset);
VULKAN_HPP_HASH_COMBINE(seed, bufferCopy.size);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::BufferCopy2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferCopy2 const &bufferCopy2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bufferCopy2.sType);
VULKAN_HPP_HASH_COMBINE(seed, bufferCopy2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, bufferCopy2.srcOffset);
VULKAN_HPP_HASH_COMBINE(seed, bufferCopy2.dstOffset);
VULKAN_HPP_HASH_COMBINE(seed, bufferCopy2.size);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::BufferDeviceAddressCreateInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferDeviceAddressCreateInfoEXT const &bufferDeviceAddressCreateInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bufferDeviceAddressCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, bufferDeviceAddressCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, bufferDeviceAddressCreateInfoEXT.deviceAddress);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo const &bufferDeviceAddressInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bufferDeviceAddressInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, bufferDeviceAddressInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, bufferDeviceAddressInfo.buffer);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::BufferImageCopy>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferImageCopy const &bufferImageCopy) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bufferImageCopy.bufferOffset);
VULKAN_HPP_HASH_COMBINE(seed, bufferImageCopy.bufferRowLength);
VULKAN_HPP_HASH_COMBINE(seed, bufferImageCopy.bufferImageHeight);
VULKAN_HPP_HASH_COMBINE(seed, bufferImageCopy.imageSubresource);
VULKAN_HPP_HASH_COMBINE(seed, bufferImageCopy.imageOffset);
VULKAN_HPP_HASH_COMBINE(seed, bufferImageCopy.imageExtent);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::BufferImageCopy2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferImageCopy2 const &bufferImageCopy2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bufferImageCopy2.sType);
VULKAN_HPP_HASH_COMBINE(seed, bufferImageCopy2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, bufferImageCopy2.bufferOffset);
VULKAN_HPP_HASH_COMBINE(seed, bufferImageCopy2.bufferRowLength);
VULKAN_HPP_HASH_COMBINE(seed, bufferImageCopy2.bufferImageHeight);
VULKAN_HPP_HASH_COMBINE(seed, bufferImageCopy2.imageSubresource);
VULKAN_HPP_HASH_COMBINE(seed, bufferImageCopy2.imageOffset);
VULKAN_HPP_HASH_COMBINE(seed, bufferImageCopy2.imageExtent);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::BufferMemoryBarrier>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferMemoryBarrier const &bufferMemoryBarrier) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bufferMemoryBarrier.sType);
VULKAN_HPP_HASH_COMBINE(seed, bufferMemoryBarrier.pNext);
VULKAN_HPP_HASH_COMBINE(seed, bufferMemoryBarrier.srcAccessMask);
VULKAN_HPP_HASH_COMBINE(seed, bufferMemoryBarrier.dstAccessMask);
VULKAN_HPP_HASH_COMBINE(seed, bufferMemoryBarrier.srcQueueFamilyIndex);
VULKAN_HPP_HASH_COMBINE(seed, bufferMemoryBarrier.dstQueueFamilyIndex);
VULKAN_HPP_HASH_COMBINE(seed, bufferMemoryBarrier.buffer);
VULKAN_HPP_HASH_COMBINE(seed, bufferMemoryBarrier.offset);
VULKAN_HPP_HASH_COMBINE(seed, bufferMemoryBarrier.size);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::BufferMemoryBarrier2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferMemoryBarrier2 const &bufferMemoryBarrier2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bufferMemoryBarrier2.sType);
VULKAN_HPP_HASH_COMBINE(seed, bufferMemoryBarrier2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, bufferMemoryBarrier2.srcStageMask);
VULKAN_HPP_HASH_COMBINE(seed, bufferMemoryBarrier2.srcAccessMask);
VULKAN_HPP_HASH_COMBINE(seed, bufferMemoryBarrier2.dstStageMask);
VULKAN_HPP_HASH_COMBINE(seed, bufferMemoryBarrier2.dstAccessMask);
VULKAN_HPP_HASH_COMBINE(seed, bufferMemoryBarrier2.srcQueueFamilyIndex);
VULKAN_HPP_HASH_COMBINE(seed, bufferMemoryBarrier2.dstQueueFamilyIndex);
VULKAN_HPP_HASH_COMBINE(seed, bufferMemoryBarrier2.buffer);
VULKAN_HPP_HASH_COMBINE(seed, bufferMemoryBarrier2.offset);
VULKAN_HPP_HASH_COMBINE(seed, bufferMemoryBarrier2.size);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 const &bufferMemoryRequirementsInfo2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bufferMemoryRequirementsInfo2.sType);
VULKAN_HPP_HASH_COMBINE(seed, bufferMemoryRequirementsInfo2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, bufferMemoryRequirementsInfo2.buffer);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::BufferOpaqueCaptureAddressCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferOpaqueCaptureAddressCreateInfo const &bufferOpaqueCaptureAddressCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bufferOpaqueCaptureAddressCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, bufferOpaqueCaptureAddressCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, bufferOpaqueCaptureAddressCreateInfo.opaqueCaptureAddress);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::BufferViewCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::BufferViewCreateInfo const &bufferViewCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, bufferViewCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, bufferViewCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, bufferViewCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, bufferViewCreateInfo.buffer);
VULKAN_HPP_HASH_COMBINE(seed, bufferViewCreateInfo.format);
VULKAN_HPP_HASH_COMBINE(seed, bufferViewCreateInfo.offset);
VULKAN_HPP_HASH_COMBINE(seed, bufferViewCreateInfo.range);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT const &calibratedTimestampInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, calibratedTimestampInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, calibratedTimestampInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, calibratedTimestampInfoEXT.timeDomain);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CheckpointData2NV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CheckpointData2NV const &checkpointData2NV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, checkpointData2NV.sType);
VULKAN_HPP_HASH_COMBINE(seed, checkpointData2NV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, checkpointData2NV.stage);
VULKAN_HPP_HASH_COMBINE(seed, checkpointData2NV.pCheckpointMarker);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CheckpointDataNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CheckpointDataNV const &checkpointDataNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, checkpointDataNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, checkpointDataNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, checkpointDataNV.stage);
VULKAN_HPP_HASH_COMBINE(seed, checkpointDataNV.pCheckpointMarker);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ClearDepthStencilValue>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ClearDepthStencilValue const &clearDepthStencilValue) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, clearDepthStencilValue.depth);
VULKAN_HPP_HASH_COMBINE(seed, clearDepthStencilValue.stencil);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ClearRect>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ClearRect const &clearRect) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, clearRect.rect);
VULKAN_HPP_HASH_COMBINE(seed, clearRect.baseArrayLayer);
VULKAN_HPP_HASH_COMBINE(seed, clearRect.layerCount);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CoarseSampleLocationNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CoarseSampleLocationNV const &coarseSampleLocationNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, coarseSampleLocationNV.pixelX);
VULKAN_HPP_HASH_COMBINE(seed, coarseSampleLocationNV.pixelY);
VULKAN_HPP_HASH_COMBINE(seed, coarseSampleLocationNV.sample);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV const &coarseSampleOrderCustomNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, coarseSampleOrderCustomNV.shadingRate);
VULKAN_HPP_HASH_COMBINE(seed, coarseSampleOrderCustomNV.sampleCount);
VULKAN_HPP_HASH_COMBINE(seed, coarseSampleOrderCustomNV.sampleLocationCount);
VULKAN_HPP_HASH_COMBINE(seed, coarseSampleOrderCustomNV.pSampleLocations);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo const &commandBufferAllocateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, commandBufferAllocateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferAllocateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferAllocateInfo.commandPool);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferAllocateInfo.level);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferAllocateInfo.commandBufferCount);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CommandBufferInheritanceInfo const &commandBufferInheritanceInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceInfo.renderPass);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceInfo.subpass);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceInfo.framebuffer);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceInfo.occlusionQueryEnable);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceInfo.queryFlags);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceInfo.pipelineStatistics);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CommandBufferBeginInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CommandBufferBeginInfo const &commandBufferBeginInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, commandBufferBeginInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferBeginInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferBeginInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferBeginInfo.pInheritanceInfo);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceConditionalRenderingInfoEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::CommandBufferInheritanceConditionalRenderingInfoEXT const &commandBufferInheritanceConditionalRenderingInfoEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceConditionalRenderingInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceConditionalRenderingInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceConditionalRenderingInfoEXT.conditionalRenderingEnable);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceRenderPassTransformInfoQCOM>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::CommandBufferInheritanceRenderPassTransformInfoQCOM const &commandBufferInheritanceRenderPassTransformInfoQCOM) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceRenderPassTransformInfoQCOM.sType);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceRenderPassTransformInfoQCOM.pNext);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceRenderPassTransformInfoQCOM.transform);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceRenderPassTransformInfoQCOM.renderArea);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceRenderingInfo>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::CommandBufferInheritanceRenderingInfo const &commandBufferInheritanceRenderingInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceRenderingInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceRenderingInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceRenderingInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceRenderingInfo.viewMask);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceRenderingInfo.colorAttachmentCount);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceRenderingInfo.pColorAttachmentFormats);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceRenderingInfo.depthAttachmentFormat);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceRenderingInfo.stencilAttachmentFormat);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceRenderingInfo.rasterizationSamples);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::Viewport>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::Viewport const &viewport) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, viewport.x);
VULKAN_HPP_HASH_COMBINE(seed, viewport.y);
VULKAN_HPP_HASH_COMBINE(seed, viewport.width);
VULKAN_HPP_HASH_COMBINE(seed, viewport.height);
VULKAN_HPP_HASH_COMBINE(seed, viewport.minDepth);
VULKAN_HPP_HASH_COMBINE(seed, viewport.maxDepth);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceViewportScissorInfoNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CommandBufferInheritanceViewportScissorInfoNV const &commandBufferInheritanceViewportScissorInfoNV) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceViewportScissorInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceViewportScissorInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceViewportScissorInfoNV.viewportScissor2D);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceViewportScissorInfoNV.viewportDepthCount);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferInheritanceViewportScissorInfoNV.pViewportDepths);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CommandBufferSubmitInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CommandBufferSubmitInfo const &commandBufferSubmitInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, commandBufferSubmitInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferSubmitInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferSubmitInfo.commandBuffer);
VULKAN_HPP_HASH_COMBINE(seed, commandBufferSubmitInfo.deviceMask);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo const &commandPoolCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, commandPoolCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, commandPoolCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, commandPoolCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, commandPoolCreateInfo.queueFamilyIndex);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SpecializationMapEntry>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SpecializationMapEntry const &specializationMapEntry) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, specializationMapEntry.constantID);
VULKAN_HPP_HASH_COMBINE(seed, specializationMapEntry.offset);
VULKAN_HPP_HASH_COMBINE(seed, specializationMapEntry.size);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SpecializationInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SpecializationInfo const &specializationInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, specializationInfo.mapEntryCount);
VULKAN_HPP_HASH_COMBINE(seed, specializationInfo.pMapEntries);
VULKAN_HPP_HASH_COMBINE(seed, specializationInfo.dataSize);
VULKAN_HPP_HASH_COMBINE(seed, specializationInfo.pData);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo const &pipelineShaderStageCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineShaderStageCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineShaderStageCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineShaderStageCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, pipelineShaderStageCreateInfo.stage);
VULKAN_HPP_HASH_COMBINE(seed, pipelineShaderStageCreateInfo.module);
for(const char *p = pipelineShaderStageCreateInfo.pName; *p != '\0'; ++p)
{
VULKAN_HPP_HASH_COMBINE(seed, *p);
}
VULKAN_HPP_HASH_COMBINE(seed, pipelineShaderStageCreateInfo.pSpecializationInfo);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo const &computePipelineCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, computePipelineCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, computePipelineCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, computePipelineCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, computePipelineCreateInfo.stage);
VULKAN_HPP_HASH_COMBINE(seed, computePipelineCreateInfo.layout);
VULKAN_HPP_HASH_COMBINE(seed, computePipelineCreateInfo.basePipelineHandle);
VULKAN_HPP_HASH_COMBINE(seed, computePipelineCreateInfo.basePipelineIndex);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ConditionalRenderingBeginInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ConditionalRenderingBeginInfoEXT const &conditionalRenderingBeginInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, conditionalRenderingBeginInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, conditionalRenderingBeginInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, conditionalRenderingBeginInfoEXT.buffer);
VULKAN_HPP_HASH_COMBINE(seed, conditionalRenderingBeginInfoEXT.offset);
VULKAN_HPP_HASH_COMBINE(seed, conditionalRenderingBeginInfoEXT.flags);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ConformanceVersion>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ConformanceVersion const &conformanceVersion) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, conformanceVersion.major);
VULKAN_HPP_HASH_COMBINE(seed, conformanceVersion.minor);
VULKAN_HPP_HASH_COMBINE(seed, conformanceVersion.subminor);
VULKAN_HPP_HASH_COMBINE(seed, conformanceVersion.patch);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV const &cooperativeMatrixPropertiesNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, cooperativeMatrixPropertiesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, cooperativeMatrixPropertiesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, cooperativeMatrixPropertiesNV.MSize);
VULKAN_HPP_HASH_COMBINE(seed, cooperativeMatrixPropertiesNV.NSize);
VULKAN_HPP_HASH_COMBINE(seed, cooperativeMatrixPropertiesNV.KSize);
VULKAN_HPP_HASH_COMBINE(seed, cooperativeMatrixPropertiesNV.AType);
VULKAN_HPP_HASH_COMBINE(seed, cooperativeMatrixPropertiesNV.BType);
VULKAN_HPP_HASH_COMBINE(seed, cooperativeMatrixPropertiesNV.CType);
VULKAN_HPP_HASH_COMBINE(seed, cooperativeMatrixPropertiesNV.DType);
VULKAN_HPP_HASH_COMBINE(seed, cooperativeMatrixPropertiesNV.scope);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR const &copyAccelerationStructureInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, copyAccelerationStructureInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, copyAccelerationStructureInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, copyAccelerationStructureInfoKHR.src);
VULKAN_HPP_HASH_COMBINE(seed, copyAccelerationStructureInfoKHR.dst);
VULKAN_HPP_HASH_COMBINE(seed, copyAccelerationStructureInfoKHR.mode);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CopyBufferInfo2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CopyBufferInfo2 const &copyBufferInfo2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, copyBufferInfo2.sType);
VULKAN_HPP_HASH_COMBINE(seed, copyBufferInfo2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, copyBufferInfo2.srcBuffer);
VULKAN_HPP_HASH_COMBINE(seed, copyBufferInfo2.dstBuffer);
VULKAN_HPP_HASH_COMBINE(seed, copyBufferInfo2.regionCount);
VULKAN_HPP_HASH_COMBINE(seed, copyBufferInfo2.pRegions);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2 const &copyBufferToImageInfo2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, copyBufferToImageInfo2.sType);
VULKAN_HPP_HASH_COMBINE(seed, copyBufferToImageInfo2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, copyBufferToImageInfo2.srcBuffer);
VULKAN_HPP_HASH_COMBINE(seed, copyBufferToImageInfo2.dstImage);
VULKAN_HPP_HASH_COMBINE(seed, copyBufferToImageInfo2.dstImageLayout);
VULKAN_HPP_HASH_COMBINE(seed, copyBufferToImageInfo2.regionCount);
VULKAN_HPP_HASH_COMBINE(seed, copyBufferToImageInfo2.pRegions);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CopyCommandTransformInfoQCOM>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CopyCommandTransformInfoQCOM const &copyCommandTransformInfoQCOM) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, copyCommandTransformInfoQCOM.sType);
VULKAN_HPP_HASH_COMBINE(seed, copyCommandTransformInfoQCOM.pNext);
VULKAN_HPP_HASH_COMBINE(seed, copyCommandTransformInfoQCOM.transform);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CopyDescriptorSet>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CopyDescriptorSet const &copyDescriptorSet) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, copyDescriptorSet.sType);
VULKAN_HPP_HASH_COMBINE(seed, copyDescriptorSet.pNext);
VULKAN_HPP_HASH_COMBINE(seed, copyDescriptorSet.srcSet);
VULKAN_HPP_HASH_COMBINE(seed, copyDescriptorSet.srcBinding);
VULKAN_HPP_HASH_COMBINE(seed, copyDescriptorSet.srcArrayElement);
VULKAN_HPP_HASH_COMBINE(seed, copyDescriptorSet.dstSet);
VULKAN_HPP_HASH_COMBINE(seed, copyDescriptorSet.dstBinding);
VULKAN_HPP_HASH_COMBINE(seed, copyDescriptorSet.dstArrayElement);
VULKAN_HPP_HASH_COMBINE(seed, copyDescriptorSet.descriptorCount);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageCopy2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageCopy2 const &imageCopy2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageCopy2.sType);
VULKAN_HPP_HASH_COMBINE(seed, imageCopy2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, imageCopy2.srcSubresource);
VULKAN_HPP_HASH_COMBINE(seed, imageCopy2.srcOffset);
VULKAN_HPP_HASH_COMBINE(seed, imageCopy2.dstSubresource);
VULKAN_HPP_HASH_COMBINE(seed, imageCopy2.dstOffset);
VULKAN_HPP_HASH_COMBINE(seed, imageCopy2.extent);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CopyImageInfo2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CopyImageInfo2 const &copyImageInfo2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, copyImageInfo2.sType);
VULKAN_HPP_HASH_COMBINE(seed, copyImageInfo2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, copyImageInfo2.srcImage);
VULKAN_HPP_HASH_COMBINE(seed, copyImageInfo2.srcImageLayout);
VULKAN_HPP_HASH_COMBINE(seed, copyImageInfo2.dstImage);
VULKAN_HPP_HASH_COMBINE(seed, copyImageInfo2.dstImageLayout);
VULKAN_HPP_HASH_COMBINE(seed, copyImageInfo2.regionCount);
VULKAN_HPP_HASH_COMBINE(seed, copyImageInfo2.pRegions);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2 const &copyImageToBufferInfo2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, copyImageToBufferInfo2.sType);
VULKAN_HPP_HASH_COMBINE(seed, copyImageToBufferInfo2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, copyImageToBufferInfo2.srcImage);
VULKAN_HPP_HASH_COMBINE(seed, copyImageToBufferInfo2.srcImageLayout);
VULKAN_HPP_HASH_COMBINE(seed, copyImageToBufferInfo2.dstBuffer);
VULKAN_HPP_HASH_COMBINE(seed, copyImageToBufferInfo2.regionCount);
VULKAN_HPP_HASH_COMBINE(seed, copyImageToBufferInfo2.pRegions);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CuFunctionCreateInfoNVX>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CuFunctionCreateInfoNVX const &cuFunctionCreateInfoNVX) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, cuFunctionCreateInfoNVX.sType);
VULKAN_HPP_HASH_COMBINE(seed, cuFunctionCreateInfoNVX.pNext);
VULKAN_HPP_HASH_COMBINE(seed, cuFunctionCreateInfoNVX.module);
for(const char *p = cuFunctionCreateInfoNVX.pName; *p != '\0'; ++p)
{
VULKAN_HPP_HASH_COMBINE(seed, *p);
}
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CuLaunchInfoNVX>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CuLaunchInfoNVX const &cuLaunchInfoNVX) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, cuLaunchInfoNVX.sType);
VULKAN_HPP_HASH_COMBINE(seed, cuLaunchInfoNVX.pNext);
VULKAN_HPP_HASH_COMBINE(seed, cuLaunchInfoNVX.function);
VULKAN_HPP_HASH_COMBINE(seed, cuLaunchInfoNVX.gridDimX);
VULKAN_HPP_HASH_COMBINE(seed, cuLaunchInfoNVX.gridDimY);
VULKAN_HPP_HASH_COMBINE(seed, cuLaunchInfoNVX.gridDimZ);
VULKAN_HPP_HASH_COMBINE(seed, cuLaunchInfoNVX.blockDimX);
VULKAN_HPP_HASH_COMBINE(seed, cuLaunchInfoNVX.blockDimY);
VULKAN_HPP_HASH_COMBINE(seed, cuLaunchInfoNVX.blockDimZ);
VULKAN_HPP_HASH_COMBINE(seed, cuLaunchInfoNVX.sharedMemBytes);
VULKAN_HPP_HASH_COMBINE(seed, cuLaunchInfoNVX.paramCount);
VULKAN_HPP_HASH_COMBINE(seed, cuLaunchInfoNVX.pParams);
VULKAN_HPP_HASH_COMBINE(seed, cuLaunchInfoNVX.extraCount);
VULKAN_HPP_HASH_COMBINE(seed, cuLaunchInfoNVX.pExtras);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::CuModuleCreateInfoNVX>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::CuModuleCreateInfoNVX const &cuModuleCreateInfoNVX) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, cuModuleCreateInfoNVX.sType);
VULKAN_HPP_HASH_COMBINE(seed, cuModuleCreateInfoNVX.pNext);
VULKAN_HPP_HASH_COMBINE(seed, cuModuleCreateInfoNVX.dataSize);
VULKAN_HPP_HASH_COMBINE(seed, cuModuleCreateInfoNVX.pData);
return seed;
}
};
# if defined(VK_USE_PLATFORM_WIN32_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::D3D12FenceSubmitInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::D3D12FenceSubmitInfoKHR const &d3D12FenceSubmitInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, d3D12FenceSubmitInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, d3D12FenceSubmitInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, d3D12FenceSubmitInfoKHR.waitSemaphoreValuesCount);
VULKAN_HPP_HASH_COMBINE(seed, d3D12FenceSubmitInfoKHR.pWaitSemaphoreValues);
VULKAN_HPP_HASH_COMBINE(seed, d3D12FenceSubmitInfoKHR.signalSemaphoreValuesCount);
VULKAN_HPP_HASH_COMBINE(seed, d3D12FenceSubmitInfoKHR.pSignalSemaphoreValues);
return seed;
}
};
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT const &debugMarkerMarkerInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, debugMarkerMarkerInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, debugMarkerMarkerInfoEXT.pNext);
for(const char *p = debugMarkerMarkerInfoEXT.pMarkerName; *p != '\0'; ++p)
{
VULKAN_HPP_HASH_COMBINE(seed, *p);
}
for(size_t i = 0; i < 4; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, debugMarkerMarkerInfoEXT.color[i]);
}
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DebugMarkerObjectNameInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DebugMarkerObjectNameInfoEXT const &debugMarkerObjectNameInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, debugMarkerObjectNameInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, debugMarkerObjectNameInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, debugMarkerObjectNameInfoEXT.objectType);
VULKAN_HPP_HASH_COMBINE(seed, debugMarkerObjectNameInfoEXT.object);
for(const char *p = debugMarkerObjectNameInfoEXT.pObjectName; *p != '\0'; ++p)
{
VULKAN_HPP_HASH_COMBINE(seed, *p);
}
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DebugMarkerObjectTagInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DebugMarkerObjectTagInfoEXT const &debugMarkerObjectTagInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, debugMarkerObjectTagInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, debugMarkerObjectTagInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, debugMarkerObjectTagInfoEXT.objectType);
VULKAN_HPP_HASH_COMBINE(seed, debugMarkerObjectTagInfoEXT.object);
VULKAN_HPP_HASH_COMBINE(seed, debugMarkerObjectTagInfoEXT.tagName);
VULKAN_HPP_HASH_COMBINE(seed, debugMarkerObjectTagInfoEXT.tagSize);
VULKAN_HPP_HASH_COMBINE(seed, debugMarkerObjectTagInfoEXT.pTag);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT const &debugReportCallbackCreateInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, debugReportCallbackCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, debugReportCallbackCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, debugReportCallbackCreateInfoEXT.flags);
VULKAN_HPP_HASH_COMBINE(seed, debugReportCallbackCreateInfoEXT.pfnCallback);
VULKAN_HPP_HASH_COMBINE(seed, debugReportCallbackCreateInfoEXT.pUserData);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT const &debugUtilsLabelEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsLabelEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsLabelEXT.pNext);
for(const char *p = debugUtilsLabelEXT.pLabelName; *p != '\0'; ++p)
{
VULKAN_HPP_HASH_COMBINE(seed, *p);
}
for(size_t i = 0; i < 4; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsLabelEXT.color[i]);
}
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT const &debugUtilsObjectNameInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsObjectNameInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsObjectNameInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsObjectNameInfoEXT.objectType);
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsObjectNameInfoEXT.objectHandle);
for(const char *p = debugUtilsObjectNameInfoEXT.pObjectName; *p != '\0'; ++p)
{
VULKAN_HPP_HASH_COMBINE(seed, *p);
}
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataEXT const &debugUtilsMessengerCallbackDataEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsMessengerCallbackDataEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsMessengerCallbackDataEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsMessengerCallbackDataEXT.flags);
for(const char *p = debugUtilsMessengerCallbackDataEXT.pMessageIdName; *p != '\0'; ++p)
{
VULKAN_HPP_HASH_COMBINE(seed, *p);
}
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsMessengerCallbackDataEXT.messageIdNumber);
for(const char *p = debugUtilsMessengerCallbackDataEXT.pMessage; *p != '\0'; ++p)
{
VULKAN_HPP_HASH_COMBINE(seed, *p);
}
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsMessengerCallbackDataEXT.queueLabelCount);
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsMessengerCallbackDataEXT.pQueueLabels);
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsMessengerCallbackDataEXT.cmdBufLabelCount);
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsMessengerCallbackDataEXT.pCmdBufLabels);
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsMessengerCallbackDataEXT.objectCount);
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsMessengerCallbackDataEXT.pObjects);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT const &debugUtilsMessengerCreateInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsMessengerCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsMessengerCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsMessengerCreateInfoEXT.flags);
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsMessengerCreateInfoEXT.messageSeverity);
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsMessengerCreateInfoEXT.messageType);
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsMessengerCreateInfoEXT.pfnUserCallback);
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsMessengerCreateInfoEXT.pUserData);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT const &debugUtilsObjectTagInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsObjectTagInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsObjectTagInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsObjectTagInfoEXT.objectType);
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsObjectTagInfoEXT.objectHandle);
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsObjectTagInfoEXT.tagName);
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsObjectTagInfoEXT.tagSize);
VULKAN_HPP_HASH_COMBINE(seed, debugUtilsObjectTagInfoEXT.pTag);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DedicatedAllocationBufferCreateInfoNV>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::DedicatedAllocationBufferCreateInfoNV const &dedicatedAllocationBufferCreateInfoNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, dedicatedAllocationBufferCreateInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, dedicatedAllocationBufferCreateInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, dedicatedAllocationBufferCreateInfoNV.dedicatedAllocation);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DedicatedAllocationImageCreateInfoNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DedicatedAllocationImageCreateInfoNV const &dedicatedAllocationImageCreateInfoNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, dedicatedAllocationImageCreateInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, dedicatedAllocationImageCreateInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, dedicatedAllocationImageCreateInfoNV.dedicatedAllocation);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DedicatedAllocationMemoryAllocateInfoNV>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::DedicatedAllocationMemoryAllocateInfoNV const &dedicatedAllocationMemoryAllocateInfoNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, dedicatedAllocationMemoryAllocateInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, dedicatedAllocationMemoryAllocateInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, dedicatedAllocationMemoryAllocateInfoNV.image);
VULKAN_HPP_HASH_COMBINE(seed, dedicatedAllocationMemoryAllocateInfoNV.buffer);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::MemoryBarrier2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryBarrier2 const &memoryBarrier2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, memoryBarrier2.sType);
VULKAN_HPP_HASH_COMBINE(seed, memoryBarrier2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, memoryBarrier2.srcStageMask);
VULKAN_HPP_HASH_COMBINE(seed, memoryBarrier2.srcAccessMask);
VULKAN_HPP_HASH_COMBINE(seed, memoryBarrier2.dstStageMask);
VULKAN_HPP_HASH_COMBINE(seed, memoryBarrier2.dstAccessMask);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageSubresourceRange>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageSubresourceRange const &imageSubresourceRange) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageSubresourceRange.aspectMask);
VULKAN_HPP_HASH_COMBINE(seed, imageSubresourceRange.baseMipLevel);
VULKAN_HPP_HASH_COMBINE(seed, imageSubresourceRange.levelCount);
VULKAN_HPP_HASH_COMBINE(seed, imageSubresourceRange.baseArrayLayer);
VULKAN_HPP_HASH_COMBINE(seed, imageSubresourceRange.layerCount);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageMemoryBarrier2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageMemoryBarrier2 const &imageMemoryBarrier2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageMemoryBarrier2.sType);
VULKAN_HPP_HASH_COMBINE(seed, imageMemoryBarrier2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, imageMemoryBarrier2.srcStageMask);
VULKAN_HPP_HASH_COMBINE(seed, imageMemoryBarrier2.srcAccessMask);
VULKAN_HPP_HASH_COMBINE(seed, imageMemoryBarrier2.dstStageMask);
VULKAN_HPP_HASH_COMBINE(seed, imageMemoryBarrier2.dstAccessMask);
VULKAN_HPP_HASH_COMBINE(seed, imageMemoryBarrier2.oldLayout);
VULKAN_HPP_HASH_COMBINE(seed, imageMemoryBarrier2.newLayout);
VULKAN_HPP_HASH_COMBINE(seed, imageMemoryBarrier2.srcQueueFamilyIndex);
VULKAN_HPP_HASH_COMBINE(seed, imageMemoryBarrier2.dstQueueFamilyIndex);
VULKAN_HPP_HASH_COMBINE(seed, imageMemoryBarrier2.image);
VULKAN_HPP_HASH_COMBINE(seed, imageMemoryBarrier2.subresourceRange);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DependencyInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DependencyInfo const &dependencyInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, dependencyInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, dependencyInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, dependencyInfo.dependencyFlags);
VULKAN_HPP_HASH_COMBINE(seed, dependencyInfo.memoryBarrierCount);
VULKAN_HPP_HASH_COMBINE(seed, dependencyInfo.pMemoryBarriers);
VULKAN_HPP_HASH_COMBINE(seed, dependencyInfo.bufferMemoryBarrierCount);
VULKAN_HPP_HASH_COMBINE(seed, dependencyInfo.pBufferMemoryBarriers);
VULKAN_HPP_HASH_COMBINE(seed, dependencyInfo.imageMemoryBarrierCount);
VULKAN_HPP_HASH_COMBINE(seed, dependencyInfo.pImageMemoryBarriers);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DescriptorBufferInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorBufferInfo const &descriptorBufferInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, descriptorBufferInfo.buffer);
VULKAN_HPP_HASH_COMBINE(seed, descriptorBufferInfo.offset);
VULKAN_HPP_HASH_COMBINE(seed, descriptorBufferInfo.range);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DescriptorImageInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorImageInfo const &descriptorImageInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, descriptorImageInfo.sampler);
VULKAN_HPP_HASH_COMBINE(seed, descriptorImageInfo.imageView);
VULKAN_HPP_HASH_COMBINE(seed, descriptorImageInfo.imageLayout);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DescriptorPoolSize>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorPoolSize const &descriptorPoolSize) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, descriptorPoolSize.type);
VULKAN_HPP_HASH_COMBINE(seed, descriptorPoolSize.descriptorCount);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo const &descriptorPoolCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, descriptorPoolCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, descriptorPoolCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, descriptorPoolCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, descriptorPoolCreateInfo.maxSets);
VULKAN_HPP_HASH_COMBINE(seed, descriptorPoolCreateInfo.poolSizeCount);
VULKAN_HPP_HASH_COMBINE(seed, descriptorPoolCreateInfo.pPoolSizes);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DescriptorPoolInlineUniformBlockCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorPoolInlineUniformBlockCreateInfo const &descriptorPoolInlineUniformBlockCreateInfo) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, descriptorPoolInlineUniformBlockCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, descriptorPoolInlineUniformBlockCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, descriptorPoolInlineUniformBlockCreateInfo.maxInlineUniformBlockBindings);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo const &descriptorSetAllocateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetAllocateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetAllocateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetAllocateInfo.descriptorPool);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetAllocateInfo.descriptorSetCount);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetAllocateInfo.pSetLayouts);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetBindingReferenceVALVE>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorSetBindingReferenceVALVE const &descriptorSetBindingReferenceVALVE) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetBindingReferenceVALVE.sType);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetBindingReferenceVALVE.pNext);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetBindingReferenceVALVE.descriptorSetLayout);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetBindingReferenceVALVE.binding);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBinding>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBinding const &descriptorSetLayoutBinding) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetLayoutBinding.binding);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetLayoutBinding.descriptorType);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetLayoutBinding.descriptorCount);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetLayoutBinding.stageFlags);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetLayoutBinding.pImmutableSamplers);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBindingFlagsCreateInfo>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBindingFlagsCreateInfo const &descriptorSetLayoutBindingFlagsCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetLayoutBindingFlagsCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetLayoutBindingFlagsCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetLayoutBindingFlagsCreateInfo.bindingCount);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetLayoutBindingFlagsCreateInfo.pBindingFlags);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo const &descriptorSetLayoutCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetLayoutCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetLayoutCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetLayoutCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetLayoutCreateInfo.bindingCount);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetLayoutCreateInfo.pBindings);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutHostMappingInfoVALVE>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::DescriptorSetLayoutHostMappingInfoVALVE const &descriptorSetLayoutHostMappingInfoVALVE) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetLayoutHostMappingInfoVALVE.sType);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetLayoutHostMappingInfoVALVE.pNext);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetLayoutHostMappingInfoVALVE.descriptorOffset);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetLayoutHostMappingInfoVALVE.descriptorSize);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport const &descriptorSetLayoutSupport) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetLayoutSupport.sType);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetLayoutSupport.pNext);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetLayoutSupport.supported);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetVariableDescriptorCountAllocateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorSetVariableDescriptorCountAllocateInfo const &descriptorSetVariableDescriptorCountAllocateInfo)
const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetVariableDescriptorCountAllocateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetVariableDescriptorCountAllocateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetVariableDescriptorCountAllocateInfo.descriptorSetCount);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetVariableDescriptorCountAllocateInfo.pDescriptorCounts);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetVariableDescriptorCountLayoutSupport>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorSetVariableDescriptorCountLayoutSupport const &descriptorSetVariableDescriptorCountLayoutSupport)
const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetVariableDescriptorCountLayoutSupport.sType);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetVariableDescriptorCountLayoutSupport.pNext);
VULKAN_HPP_HASH_COMBINE(seed, descriptorSetVariableDescriptorCountLayoutSupport.maxVariableDescriptorCount);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateEntry>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateEntry const &descriptorUpdateTemplateEntry) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, descriptorUpdateTemplateEntry.dstBinding);
VULKAN_HPP_HASH_COMBINE(seed, descriptorUpdateTemplateEntry.dstArrayElement);
VULKAN_HPP_HASH_COMBINE(seed, descriptorUpdateTemplateEntry.descriptorCount);
VULKAN_HPP_HASH_COMBINE(seed, descriptorUpdateTemplateEntry.descriptorType);
VULKAN_HPP_HASH_COMBINE(seed, descriptorUpdateTemplateEntry.offset);
VULKAN_HPP_HASH_COMBINE(seed, descriptorUpdateTemplateEntry.stride);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo const &descriptorUpdateTemplateCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, descriptorUpdateTemplateCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, descriptorUpdateTemplateCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, descriptorUpdateTemplateCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, descriptorUpdateTemplateCreateInfo.descriptorUpdateEntryCount);
VULKAN_HPP_HASH_COMBINE(seed, descriptorUpdateTemplateCreateInfo.pDescriptorUpdateEntries);
VULKAN_HPP_HASH_COMBINE(seed, descriptorUpdateTemplateCreateInfo.templateType);
VULKAN_HPP_HASH_COMBINE(seed, descriptorUpdateTemplateCreateInfo.descriptorSetLayout);
VULKAN_HPP_HASH_COMBINE(seed, descriptorUpdateTemplateCreateInfo.pipelineBindPoint);
VULKAN_HPP_HASH_COMBINE(seed, descriptorUpdateTemplateCreateInfo.pipelineLayout);
VULKAN_HPP_HASH_COMBINE(seed, descriptorUpdateTemplateCreateInfo.set);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements const &deviceBufferMemoryRequirements) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, deviceBufferMemoryRequirements.sType);
VULKAN_HPP_HASH_COMBINE(seed, deviceBufferMemoryRequirements.pNext);
VULKAN_HPP_HASH_COMBINE(seed, deviceBufferMemoryRequirements.pCreateInfo);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo const &deviceQueueCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, deviceQueueCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, deviceQueueCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, deviceQueueCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, deviceQueueCreateInfo.queueFamilyIndex);
VULKAN_HPP_HASH_COMBINE(seed, deviceQueueCreateInfo.queueCount);
VULKAN_HPP_HASH_COMBINE(seed, deviceQueueCreateInfo.pQueuePriorities);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures const &physicalDeviceFeatures) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.robustBufferAccess);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.fullDrawIndexUint32);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.imageCubeArray);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.independentBlend);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.geometryShader);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.tessellationShader);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.sampleRateShading);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.dualSrcBlend);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.logicOp);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.multiDrawIndirect);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.drawIndirectFirstInstance);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.depthClamp);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.depthBiasClamp);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.fillModeNonSolid);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.depthBounds);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.wideLines);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.largePoints);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.alphaToOne);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.multiViewport);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.samplerAnisotropy);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.textureCompressionETC2);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.textureCompressionASTC_LDR);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.textureCompressionBC);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.occlusionQueryPrecise);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.pipelineStatisticsQuery);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.vertexPipelineStoresAndAtomics);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.fragmentStoresAndAtomics);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.shaderTessellationAndGeometryPointSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.shaderImageGatherExtended);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.shaderStorageImageExtendedFormats);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.shaderStorageImageMultisample);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.shaderStorageImageReadWithoutFormat);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.shaderStorageImageWriteWithoutFormat);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.shaderUniformBufferArrayDynamicIndexing);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.shaderSampledImageArrayDynamicIndexing);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.shaderStorageBufferArrayDynamicIndexing);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.shaderStorageImageArrayDynamicIndexing);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.shaderClipDistance);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.shaderCullDistance);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.shaderFloat64);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.shaderInt64);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.shaderInt16);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.shaderResourceResidency);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.shaderResourceMinLod);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.sparseBinding);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.sparseResidencyBuffer);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.sparseResidencyImage2D);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.sparseResidencyImage3D);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.sparseResidency2Samples);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.sparseResidency4Samples);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.sparseResidency8Samples);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.sparseResidency16Samples);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.sparseResidencyAliased);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.variableMultisampleRate);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures.inheritedQueries);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DeviceCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceCreateInfo const &deviceCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, deviceCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, deviceCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, deviceCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, deviceCreateInfo.queueCreateInfoCount);
VULKAN_HPP_HASH_COMBINE(seed, deviceCreateInfo.pQueueCreateInfos);
VULKAN_HPP_HASH_COMBINE(seed, deviceCreateInfo.enabledLayerCount);
for(size_t i = 0; i < deviceCreateInfo.enabledLayerCount; ++i)
{
for(const char *p = deviceCreateInfo.ppEnabledLayerNames[i]; *p != '\0'; ++p)
{
VULKAN_HPP_HASH_COMBINE(seed, *p);
}
}
VULKAN_HPP_HASH_COMBINE(seed, deviceCreateInfo.enabledExtensionCount);
for(size_t i = 0; i < deviceCreateInfo.enabledExtensionCount; ++i)
{
for(const char *p = deviceCreateInfo.ppEnabledExtensionNames[i]; *p != '\0'; ++p)
{
VULKAN_HPP_HASH_COMBINE(seed, *p);
}
}
VULKAN_HPP_HASH_COMBINE(seed, deviceCreateInfo.pEnabledFeatures);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DeviceDeviceMemoryReportCreateInfoEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::DeviceDeviceMemoryReportCreateInfoEXT const &deviceDeviceMemoryReportCreateInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, deviceDeviceMemoryReportCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, deviceDeviceMemoryReportCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, deviceDeviceMemoryReportCreateInfoEXT.flags);
VULKAN_HPP_HASH_COMBINE(seed, deviceDeviceMemoryReportCreateInfoEXT.pfnUserCallback);
VULKAN_HPP_HASH_COMBINE(seed, deviceDeviceMemoryReportCreateInfoEXT.pUserData);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DeviceDiagnosticsConfigCreateInfoNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceDiagnosticsConfigCreateInfoNV const &deviceDiagnosticsConfigCreateInfoNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, deviceDiagnosticsConfigCreateInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, deviceDiagnosticsConfigCreateInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, deviceDiagnosticsConfigCreateInfoNV.flags);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT const &deviceEventInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, deviceEventInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, deviceEventInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, deviceEventInfoEXT.deviceEvent);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DeviceGroupBindSparseInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceGroupBindSparseInfo const &deviceGroupBindSparseInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupBindSparseInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupBindSparseInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupBindSparseInfo.resourceDeviceIndex);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupBindSparseInfo.memoryDeviceIndex);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DeviceGroupCommandBufferBeginInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceGroupCommandBufferBeginInfo const &deviceGroupCommandBufferBeginInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupCommandBufferBeginInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupCommandBufferBeginInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupCommandBufferBeginInfo.deviceMask);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DeviceGroupDeviceCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceGroupDeviceCreateInfo const &deviceGroupDeviceCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupDeviceCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupDeviceCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupDeviceCreateInfo.physicalDeviceCount);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupDeviceCreateInfo.pPhysicalDevices);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR const &deviceGroupPresentCapabilitiesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupPresentCapabilitiesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupPresentCapabilitiesKHR.pNext);
for(size_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupPresentCapabilitiesKHR.presentMask[i]);
}
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupPresentCapabilitiesKHR.modes);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DeviceGroupPresentInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceGroupPresentInfoKHR const &deviceGroupPresentInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupPresentInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupPresentInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupPresentInfoKHR.swapchainCount);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupPresentInfoKHR.pDeviceMasks);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupPresentInfoKHR.mode);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DeviceGroupRenderPassBeginInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceGroupRenderPassBeginInfo const &deviceGroupRenderPassBeginInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupRenderPassBeginInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupRenderPassBeginInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupRenderPassBeginInfo.deviceMask);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupRenderPassBeginInfo.deviceRenderAreaCount);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupRenderPassBeginInfo.pDeviceRenderAreas);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DeviceGroupSubmitInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceGroupSubmitInfo const &deviceGroupSubmitInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupSubmitInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupSubmitInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupSubmitInfo.waitSemaphoreCount);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupSubmitInfo.pWaitSemaphoreDeviceIndices);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupSubmitInfo.commandBufferCount);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupSubmitInfo.pCommandBufferDeviceMasks);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupSubmitInfo.signalSemaphoreCount);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupSubmitInfo.pSignalSemaphoreDeviceIndices);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DeviceGroupSwapchainCreateInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceGroupSwapchainCreateInfoKHR const &deviceGroupSwapchainCreateInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupSwapchainCreateInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupSwapchainCreateInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, deviceGroupSwapchainCreateInfoKHR.modes);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageCreateInfo const &imageCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, imageCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, imageCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, imageCreateInfo.imageType);
VULKAN_HPP_HASH_COMBINE(seed, imageCreateInfo.format);
VULKAN_HPP_HASH_COMBINE(seed, imageCreateInfo.extent);
VULKAN_HPP_HASH_COMBINE(seed, imageCreateInfo.mipLevels);
VULKAN_HPP_HASH_COMBINE(seed, imageCreateInfo.arrayLayers);
VULKAN_HPP_HASH_COMBINE(seed, imageCreateInfo.samples);
VULKAN_HPP_HASH_COMBINE(seed, imageCreateInfo.tiling);
VULKAN_HPP_HASH_COMBINE(seed, imageCreateInfo.usage);
VULKAN_HPP_HASH_COMBINE(seed, imageCreateInfo.sharingMode);
VULKAN_HPP_HASH_COMBINE(seed, imageCreateInfo.queueFamilyIndexCount);
VULKAN_HPP_HASH_COMBINE(seed, imageCreateInfo.pQueueFamilyIndices);
VULKAN_HPP_HASH_COMBINE(seed, imageCreateInfo.initialLayout);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements const &deviceImageMemoryRequirements) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, deviceImageMemoryRequirements.sType);
VULKAN_HPP_HASH_COMBINE(seed, deviceImageMemoryRequirements.pNext);
VULKAN_HPP_HASH_COMBINE(seed, deviceImageMemoryRequirements.pCreateInfo);
VULKAN_HPP_HASH_COMBINE(seed, deviceImageMemoryRequirements.planeAspect);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo const &deviceMemoryOpaqueCaptureAddressInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, deviceMemoryOpaqueCaptureAddressInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, deviceMemoryOpaqueCaptureAddressInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, deviceMemoryOpaqueCaptureAddressInfo.memory);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DeviceMemoryOverallocationCreateInfoAMD>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::DeviceMemoryOverallocationCreateInfoAMD const &deviceMemoryOverallocationCreateInfoAMD) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, deviceMemoryOverallocationCreateInfoAMD.sType);
VULKAN_HPP_HASH_COMBINE(seed, deviceMemoryOverallocationCreateInfoAMD.pNext);
VULKAN_HPP_HASH_COMBINE(seed, deviceMemoryOverallocationCreateInfoAMD.overallocationBehavior);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DeviceMemoryReportCallbackDataEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceMemoryReportCallbackDataEXT const &deviceMemoryReportCallbackDataEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, deviceMemoryReportCallbackDataEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, deviceMemoryReportCallbackDataEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, deviceMemoryReportCallbackDataEXT.flags);
VULKAN_HPP_HASH_COMBINE(seed, deviceMemoryReportCallbackDataEXT.type);
VULKAN_HPP_HASH_COMBINE(seed, deviceMemoryReportCallbackDataEXT.memoryObjectId);
VULKAN_HPP_HASH_COMBINE(seed, deviceMemoryReportCallbackDataEXT.size);
VULKAN_HPP_HASH_COMBINE(seed, deviceMemoryReportCallbackDataEXT.objectType);
VULKAN_HPP_HASH_COMBINE(seed, deviceMemoryReportCallbackDataEXT.objectHandle);
VULKAN_HPP_HASH_COMBINE(seed, deviceMemoryReportCallbackDataEXT.heapIndex);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DevicePrivateDataCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DevicePrivateDataCreateInfo const &devicePrivateDataCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, devicePrivateDataCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, devicePrivateDataCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, devicePrivateDataCreateInfo.privateDataSlotRequestCount);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DeviceQueueGlobalPriorityCreateInfoKHR>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::DeviceQueueGlobalPriorityCreateInfoKHR const &deviceQueueGlobalPriorityCreateInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, deviceQueueGlobalPriorityCreateInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, deviceQueueGlobalPriorityCreateInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, deviceQueueGlobalPriorityCreateInfoKHR.globalPriority);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DeviceQueueInfo2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 const &deviceQueueInfo2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, deviceQueueInfo2.sType);
VULKAN_HPP_HASH_COMBINE(seed, deviceQueueInfo2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, deviceQueueInfo2.flags);
VULKAN_HPP_HASH_COMBINE(seed, deviceQueueInfo2.queueFamilyIndex);
VULKAN_HPP_HASH_COMBINE(seed, deviceQueueInfo2.queueIndex);
return seed;
}
};
# if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
template<>
struct hash<VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT const &directFBSurfaceCreateInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, directFBSurfaceCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, directFBSurfaceCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, directFBSurfaceCreateInfoEXT.flags);
VULKAN_HPP_HASH_COMBINE(seed, directFBSurfaceCreateInfoEXT.dfb);
VULKAN_HPP_HASH_COMBINE(seed, directFBSurfaceCreateInfoEXT.surface);
return seed;
}
};
# endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::DispatchIndirectCommand>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DispatchIndirectCommand const &dispatchIndirectCommand) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, dispatchIndirectCommand.x);
VULKAN_HPP_HASH_COMBINE(seed, dispatchIndirectCommand.y);
VULKAN_HPP_HASH_COMBINE(seed, dispatchIndirectCommand.z);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT const &displayEventInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, displayEventInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, displayEventInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, displayEventInfoEXT.displayEvent);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DisplayModeParametersKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayModeParametersKHR const &displayModeParametersKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, displayModeParametersKHR.visibleRegion);
VULKAN_HPP_HASH_COMBINE(seed, displayModeParametersKHR.refreshRate);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR const &displayModeCreateInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, displayModeCreateInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, displayModeCreateInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, displayModeCreateInfoKHR.flags);
VULKAN_HPP_HASH_COMBINE(seed, displayModeCreateInfoKHR.parameters);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR const &displayModePropertiesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, displayModePropertiesKHR.displayMode);
VULKAN_HPP_HASH_COMBINE(seed, displayModePropertiesKHR.parameters);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR const &displayModeProperties2KHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, displayModeProperties2KHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, displayModeProperties2KHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, displayModeProperties2KHR.displayModeProperties);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DisplayNativeHdrSurfaceCapabilitiesAMD>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::DisplayNativeHdrSurfaceCapabilitiesAMD const &displayNativeHdrSurfaceCapabilitiesAMD) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, displayNativeHdrSurfaceCapabilitiesAMD.sType);
VULKAN_HPP_HASH_COMBINE(seed, displayNativeHdrSurfaceCapabilitiesAMD.pNext);
VULKAN_HPP_HASH_COMBINE(seed, displayNativeHdrSurfaceCapabilitiesAMD.localDimmingSupport);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR const &displayPlaneCapabilitiesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, displayPlaneCapabilitiesKHR.supportedAlpha);
VULKAN_HPP_HASH_COMBINE(seed, displayPlaneCapabilitiesKHR.minSrcPosition);
VULKAN_HPP_HASH_COMBINE(seed, displayPlaneCapabilitiesKHR.maxSrcPosition);
VULKAN_HPP_HASH_COMBINE(seed, displayPlaneCapabilitiesKHR.minSrcExtent);
VULKAN_HPP_HASH_COMBINE(seed, displayPlaneCapabilitiesKHR.maxSrcExtent);
VULKAN_HPP_HASH_COMBINE(seed, displayPlaneCapabilitiesKHR.minDstPosition);
VULKAN_HPP_HASH_COMBINE(seed, displayPlaneCapabilitiesKHR.maxDstPosition);
VULKAN_HPP_HASH_COMBINE(seed, displayPlaneCapabilitiesKHR.minDstExtent);
VULKAN_HPP_HASH_COMBINE(seed, displayPlaneCapabilitiesKHR.maxDstExtent);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR const &displayPlaneCapabilities2KHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, displayPlaneCapabilities2KHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, displayPlaneCapabilities2KHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, displayPlaneCapabilities2KHR.capabilities);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DisplayPlaneInfo2KHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayPlaneInfo2KHR const &displayPlaneInfo2KHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, displayPlaneInfo2KHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, displayPlaneInfo2KHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, displayPlaneInfo2KHR.mode);
VULKAN_HPP_HASH_COMBINE(seed, displayPlaneInfo2KHR.planeIndex);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR const &displayPlanePropertiesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, displayPlanePropertiesKHR.currentDisplay);
VULKAN_HPP_HASH_COMBINE(seed, displayPlanePropertiesKHR.currentStackIndex);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR const &displayPlaneProperties2KHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, displayPlaneProperties2KHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, displayPlaneProperties2KHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, displayPlaneProperties2KHR.displayPlaneProperties);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DisplayPowerInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayPowerInfoEXT const &displayPowerInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, displayPowerInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, displayPowerInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, displayPowerInfoEXT.powerState);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DisplayPresentInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayPresentInfoKHR const &displayPresentInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, displayPresentInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, displayPresentInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, displayPresentInfoKHR.srcRect);
VULKAN_HPP_HASH_COMBINE(seed, displayPresentInfoKHR.dstRect);
VULKAN_HPP_HASH_COMBINE(seed, displayPresentInfoKHR.persistent);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR const &displayPropertiesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, displayPropertiesKHR.display);
for(const char *p = displayPropertiesKHR.displayName; *p != '\0'; ++p)
{
VULKAN_HPP_HASH_COMBINE(seed, *p);
}
VULKAN_HPP_HASH_COMBINE(seed, displayPropertiesKHR.physicalDimensions);
VULKAN_HPP_HASH_COMBINE(seed, displayPropertiesKHR.physicalResolution);
VULKAN_HPP_HASH_COMBINE(seed, displayPropertiesKHR.supportedTransforms);
VULKAN_HPP_HASH_COMBINE(seed, displayPropertiesKHR.planeReorderPossible);
VULKAN_HPP_HASH_COMBINE(seed, displayPropertiesKHR.persistentContent);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DisplayProperties2KHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplayProperties2KHR const &displayProperties2KHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, displayProperties2KHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, displayProperties2KHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, displayProperties2KHR.displayProperties);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR const &displaySurfaceCreateInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, displaySurfaceCreateInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, displaySurfaceCreateInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, displaySurfaceCreateInfoKHR.flags);
VULKAN_HPP_HASH_COMBINE(seed, displaySurfaceCreateInfoKHR.displayMode);
VULKAN_HPP_HASH_COMBINE(seed, displaySurfaceCreateInfoKHR.planeIndex);
VULKAN_HPP_HASH_COMBINE(seed, displaySurfaceCreateInfoKHR.planeStackIndex);
VULKAN_HPP_HASH_COMBINE(seed, displaySurfaceCreateInfoKHR.transform);
VULKAN_HPP_HASH_COMBINE(seed, displaySurfaceCreateInfoKHR.globalAlpha);
VULKAN_HPP_HASH_COMBINE(seed, displaySurfaceCreateInfoKHR.alphaMode);
VULKAN_HPP_HASH_COMBINE(seed, displaySurfaceCreateInfoKHR.imageExtent);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DrawIndexedIndirectCommand>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DrawIndexedIndirectCommand const &drawIndexedIndirectCommand) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, drawIndexedIndirectCommand.indexCount);
VULKAN_HPP_HASH_COMBINE(seed, drawIndexedIndirectCommand.instanceCount);
VULKAN_HPP_HASH_COMBINE(seed, drawIndexedIndirectCommand.firstIndex);
VULKAN_HPP_HASH_COMBINE(seed, drawIndexedIndirectCommand.vertexOffset);
VULKAN_HPP_HASH_COMBINE(seed, drawIndexedIndirectCommand.firstInstance);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DrawIndirectCommand>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DrawIndirectCommand const &drawIndirectCommand) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, drawIndirectCommand.vertexCount);
VULKAN_HPP_HASH_COMBINE(seed, drawIndirectCommand.instanceCount);
VULKAN_HPP_HASH_COMBINE(seed, drawIndirectCommand.firstVertex);
VULKAN_HPP_HASH_COMBINE(seed, drawIndirectCommand.firstInstance);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DrawMeshTasksIndirectCommandNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DrawMeshTasksIndirectCommandNV const &drawMeshTasksIndirectCommandNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, drawMeshTasksIndirectCommandNV.taskCount);
VULKAN_HPP_HASH_COMBINE(seed, drawMeshTasksIndirectCommandNV.firstTask);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DrmFormatModifierProperties2EXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DrmFormatModifierProperties2EXT const &drmFormatModifierProperties2EXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, drmFormatModifierProperties2EXT.drmFormatModifier);
VULKAN_HPP_HASH_COMBINE(seed, drmFormatModifierProperties2EXT.drmFormatModifierPlaneCount);
VULKAN_HPP_HASH_COMBINE(seed, drmFormatModifierProperties2EXT.drmFormatModifierTilingFeatures);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesEXT const &drmFormatModifierPropertiesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, drmFormatModifierPropertiesEXT.drmFormatModifier);
VULKAN_HPP_HASH_COMBINE(seed, drmFormatModifierPropertiesEXT.drmFormatModifierPlaneCount);
VULKAN_HPP_HASH_COMBINE(seed, drmFormatModifierPropertiesEXT.drmFormatModifierTilingFeatures);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesList2EXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesList2EXT const &drmFormatModifierPropertiesList2EXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, drmFormatModifierPropertiesList2EXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, drmFormatModifierPropertiesList2EXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, drmFormatModifierPropertiesList2EXT.drmFormatModifierCount);
VULKAN_HPP_HASH_COMBINE(seed, drmFormatModifierPropertiesList2EXT.pDrmFormatModifierProperties);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesListEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesListEXT const &drmFormatModifierPropertiesListEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, drmFormatModifierPropertiesListEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, drmFormatModifierPropertiesListEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, drmFormatModifierPropertiesListEXT.drmFormatModifierCount);
VULKAN_HPP_HASH_COMBINE(seed, drmFormatModifierPropertiesListEXT.pDrmFormatModifierProperties);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::EventCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::EventCreateInfo const &eventCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, eventCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, eventCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, eventCreateInfo.flags);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ExportFenceCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ExportFenceCreateInfo const &exportFenceCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, exportFenceCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, exportFenceCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, exportFenceCreateInfo.handleTypes);
return seed;
}
};
# if defined(VK_USE_PLATFORM_WIN32_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::ExportFenceWin32HandleInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ExportFenceWin32HandleInfoKHR const &exportFenceWin32HandleInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, exportFenceWin32HandleInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, exportFenceWin32HandleInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, exportFenceWin32HandleInfoKHR.pAttributes);
VULKAN_HPP_HASH_COMBINE(seed, exportFenceWin32HandleInfoKHR.dwAccess);
VULKAN_HPP_HASH_COMBINE(seed, exportFenceWin32HandleInfoKHR.name);
return seed;
}
};
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::ExportMemoryAllocateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ExportMemoryAllocateInfo const &exportMemoryAllocateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, exportMemoryAllocateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, exportMemoryAllocateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, exportMemoryAllocateInfo.handleTypes);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ExportMemoryAllocateInfoNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ExportMemoryAllocateInfoNV const &exportMemoryAllocateInfoNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, exportMemoryAllocateInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, exportMemoryAllocateInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, exportMemoryAllocateInfoNV.handleTypes);
return seed;
}
};
# if defined(VK_USE_PLATFORM_WIN32_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::ExportMemoryWin32HandleInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ExportMemoryWin32HandleInfoKHR const &exportMemoryWin32HandleInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, exportMemoryWin32HandleInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, exportMemoryWin32HandleInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, exportMemoryWin32HandleInfoKHR.pAttributes);
VULKAN_HPP_HASH_COMBINE(seed, exportMemoryWin32HandleInfoKHR.dwAccess);
VULKAN_HPP_HASH_COMBINE(seed, exportMemoryWin32HandleInfoKHR.name);
return seed;
}
};
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
# if defined(VK_USE_PLATFORM_WIN32_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::ExportMemoryWin32HandleInfoNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ExportMemoryWin32HandleInfoNV const &exportMemoryWin32HandleInfoNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, exportMemoryWin32HandleInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, exportMemoryWin32HandleInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, exportMemoryWin32HandleInfoNV.pAttributes);
VULKAN_HPP_HASH_COMBINE(seed, exportMemoryWin32HandleInfoNV.dwAccess);
return seed;
}
};
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::ExportSemaphoreCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ExportSemaphoreCreateInfo const &exportSemaphoreCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, exportSemaphoreCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, exportSemaphoreCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, exportSemaphoreCreateInfo.handleTypes);
return seed;
}
};
# if defined(VK_USE_PLATFORM_WIN32_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::ExportSemaphoreWin32HandleInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ExportSemaphoreWin32HandleInfoKHR const &exportSemaphoreWin32HandleInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, exportSemaphoreWin32HandleInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, exportSemaphoreWin32HandleInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, exportSemaphoreWin32HandleInfoKHR.pAttributes);
VULKAN_HPP_HASH_COMBINE(seed, exportSemaphoreWin32HandleInfoKHR.dwAccess);
VULKAN_HPP_HASH_COMBINE(seed, exportSemaphoreWin32HandleInfoKHR.name);
return seed;
}
};
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::ExtensionProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ExtensionProperties const &extensionProperties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
for(size_t i = 0; i < VK_MAX_EXTENSION_NAME_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, extensionProperties.extensionName[i]);
}
VULKAN_HPP_HASH_COMBINE(seed, extensionProperties.specVersion);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ExternalMemoryProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ExternalMemoryProperties const &externalMemoryProperties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, externalMemoryProperties.externalMemoryFeatures);
VULKAN_HPP_HASH_COMBINE(seed, externalMemoryProperties.exportFromImportedHandleTypes);
VULKAN_HPP_HASH_COMBINE(seed, externalMemoryProperties.compatibleHandleTypes);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ExternalBufferProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ExternalBufferProperties const &externalBufferProperties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, externalBufferProperties.sType);
VULKAN_HPP_HASH_COMBINE(seed, externalBufferProperties.pNext);
VULKAN_HPP_HASH_COMBINE(seed, externalBufferProperties.externalMemoryProperties);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ExternalFenceProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ExternalFenceProperties const &externalFenceProperties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, externalFenceProperties.sType);
VULKAN_HPP_HASH_COMBINE(seed, externalFenceProperties.pNext);
VULKAN_HPP_HASH_COMBINE(seed, externalFenceProperties.exportFromImportedHandleTypes);
VULKAN_HPP_HASH_COMBINE(seed, externalFenceProperties.compatibleHandleTypes);
VULKAN_HPP_HASH_COMBINE(seed, externalFenceProperties.externalFenceFeatures);
return seed;
}
};
# if defined(VK_USE_PLATFORM_ANDROID_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::ExternalFormatANDROID>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ExternalFormatANDROID const &externalFormatANDROID) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, externalFormatANDROID.sType);
VULKAN_HPP_HASH_COMBINE(seed, externalFormatANDROID.pNext);
VULKAN_HPP_HASH_COMBINE(seed, externalFormatANDROID.externalFormat);
return seed;
}
};
# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::ExternalImageFormatProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ExternalImageFormatProperties const &externalImageFormatProperties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, externalImageFormatProperties.sType);
VULKAN_HPP_HASH_COMBINE(seed, externalImageFormatProperties.pNext);
VULKAN_HPP_HASH_COMBINE(seed, externalImageFormatProperties.externalMemoryProperties);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageFormatProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageFormatProperties const &imageFormatProperties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageFormatProperties.maxExtent);
VULKAN_HPP_HASH_COMBINE(seed, imageFormatProperties.maxMipLevels);
VULKAN_HPP_HASH_COMBINE(seed, imageFormatProperties.maxArrayLayers);
VULKAN_HPP_HASH_COMBINE(seed, imageFormatProperties.sampleCounts);
VULKAN_HPP_HASH_COMBINE(seed, imageFormatProperties.maxResourceSize);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV const &externalImageFormatPropertiesNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, externalImageFormatPropertiesNV.imageFormatProperties);
VULKAN_HPP_HASH_COMBINE(seed, externalImageFormatPropertiesNV.externalMemoryFeatures);
VULKAN_HPP_HASH_COMBINE(seed, externalImageFormatPropertiesNV.exportFromImportedHandleTypes);
VULKAN_HPP_HASH_COMBINE(seed, externalImageFormatPropertiesNV.compatibleHandleTypes);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ExternalMemoryBufferCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ExternalMemoryBufferCreateInfo const &externalMemoryBufferCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, externalMemoryBufferCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, externalMemoryBufferCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, externalMemoryBufferCreateInfo.handleTypes);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ExternalMemoryImageCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ExternalMemoryImageCreateInfo const &externalMemoryImageCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, externalMemoryImageCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, externalMemoryImageCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, externalMemoryImageCreateInfo.handleTypes);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ExternalMemoryImageCreateInfoNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ExternalMemoryImageCreateInfoNV const &externalMemoryImageCreateInfoNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, externalMemoryImageCreateInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, externalMemoryImageCreateInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, externalMemoryImageCreateInfoNV.handleTypes);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties const &externalSemaphoreProperties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, externalSemaphoreProperties.sType);
VULKAN_HPP_HASH_COMBINE(seed, externalSemaphoreProperties.pNext);
VULKAN_HPP_HASH_COMBINE(seed, externalSemaphoreProperties.exportFromImportedHandleTypes);
VULKAN_HPP_HASH_COMBINE(seed, externalSemaphoreProperties.compatibleHandleTypes);
VULKAN_HPP_HASH_COMBINE(seed, externalSemaphoreProperties.externalSemaphoreFeatures);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::FenceCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::FenceCreateInfo const &fenceCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, fenceCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, fenceCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, fenceCreateInfo.flags);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::FenceGetFdInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::FenceGetFdInfoKHR const &fenceGetFdInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, fenceGetFdInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, fenceGetFdInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, fenceGetFdInfoKHR.fence);
VULKAN_HPP_HASH_COMBINE(seed, fenceGetFdInfoKHR.handleType);
return seed;
}
};
# if defined(VK_USE_PLATFORM_WIN32_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::FenceGetWin32HandleInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::FenceGetWin32HandleInfoKHR const &fenceGetWin32HandleInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, fenceGetWin32HandleInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, fenceGetWin32HandleInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, fenceGetWin32HandleInfoKHR.fence);
VULKAN_HPP_HASH_COMBINE(seed, fenceGetWin32HandleInfoKHR.handleType);
return seed;
}
};
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::FilterCubicImageViewImageFormatPropertiesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::FilterCubicImageViewImageFormatPropertiesEXT const &filterCubicImageViewImageFormatPropertiesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, filterCubicImageViewImageFormatPropertiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, filterCubicImageViewImageFormatPropertiesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, filterCubicImageViewImageFormatPropertiesEXT.filterCubic);
VULKAN_HPP_HASH_COMBINE(seed, filterCubicImageViewImageFormatPropertiesEXT.filterCubicMinmax);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::FormatProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::FormatProperties const &formatProperties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, formatProperties.linearTilingFeatures);
VULKAN_HPP_HASH_COMBINE(seed, formatProperties.optimalTilingFeatures);
VULKAN_HPP_HASH_COMBINE(seed, formatProperties.bufferFeatures);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::FormatProperties2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::FormatProperties2 const &formatProperties2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, formatProperties2.sType);
VULKAN_HPP_HASH_COMBINE(seed, formatProperties2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, formatProperties2.formatProperties);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::FormatProperties3>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::FormatProperties3 const &formatProperties3) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, formatProperties3.sType);
VULKAN_HPP_HASH_COMBINE(seed, formatProperties3.pNext);
VULKAN_HPP_HASH_COMBINE(seed, formatProperties3.linearTilingFeatures);
VULKAN_HPP_HASH_COMBINE(seed, formatProperties3.optimalTilingFeatures);
VULKAN_HPP_HASH_COMBINE(seed, formatProperties3.bufferFeatures);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::FragmentShadingRateAttachmentInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::FragmentShadingRateAttachmentInfoKHR const &fragmentShadingRateAttachmentInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, fragmentShadingRateAttachmentInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, fragmentShadingRateAttachmentInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, fragmentShadingRateAttachmentInfoKHR.pFragmentShadingRateAttachment);
VULKAN_HPP_HASH_COMBINE(seed, fragmentShadingRateAttachmentInfoKHR.shadingRateAttachmentTexelSize);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::FramebufferAttachmentImageInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::FramebufferAttachmentImageInfo const &framebufferAttachmentImageInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, framebufferAttachmentImageInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, framebufferAttachmentImageInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, framebufferAttachmentImageInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, framebufferAttachmentImageInfo.usage);
VULKAN_HPP_HASH_COMBINE(seed, framebufferAttachmentImageInfo.width);
VULKAN_HPP_HASH_COMBINE(seed, framebufferAttachmentImageInfo.height);
VULKAN_HPP_HASH_COMBINE(seed, framebufferAttachmentImageInfo.layerCount);
VULKAN_HPP_HASH_COMBINE(seed, framebufferAttachmentImageInfo.viewFormatCount);
VULKAN_HPP_HASH_COMBINE(seed, framebufferAttachmentImageInfo.pViewFormats);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::FramebufferAttachmentsCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::FramebufferAttachmentsCreateInfo const &framebufferAttachmentsCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, framebufferAttachmentsCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, framebufferAttachmentsCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, framebufferAttachmentsCreateInfo.attachmentImageInfoCount);
VULKAN_HPP_HASH_COMBINE(seed, framebufferAttachmentsCreateInfo.pAttachmentImageInfos);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::FramebufferCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::FramebufferCreateInfo const &framebufferCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, framebufferCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, framebufferCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, framebufferCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, framebufferCreateInfo.renderPass);
VULKAN_HPP_HASH_COMBINE(seed, framebufferCreateInfo.attachmentCount);
VULKAN_HPP_HASH_COMBINE(seed, framebufferCreateInfo.pAttachments);
VULKAN_HPP_HASH_COMBINE(seed, framebufferCreateInfo.width);
VULKAN_HPP_HASH_COMBINE(seed, framebufferCreateInfo.height);
VULKAN_HPP_HASH_COMBINE(seed, framebufferCreateInfo.layers);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV const &framebufferMixedSamplesCombinationNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, framebufferMixedSamplesCombinationNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, framebufferMixedSamplesCombinationNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, framebufferMixedSamplesCombinationNV.coverageReductionMode);
VULKAN_HPP_HASH_COMBINE(seed, framebufferMixedSamplesCombinationNV.rasterizationSamples);
VULKAN_HPP_HASH_COMBINE(seed, framebufferMixedSamplesCombinationNV.depthStencilSamples);
VULKAN_HPP_HASH_COMBINE(seed, framebufferMixedSamplesCombinationNV.colorSamples);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::IndirectCommandsStreamNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::IndirectCommandsStreamNV const &indirectCommandsStreamNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, indirectCommandsStreamNV.buffer);
VULKAN_HPP_HASH_COMBINE(seed, indirectCommandsStreamNV.offset);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV const &generatedCommandsInfoNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, generatedCommandsInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, generatedCommandsInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, generatedCommandsInfoNV.pipelineBindPoint);
VULKAN_HPP_HASH_COMBINE(seed, generatedCommandsInfoNV.pipeline);
VULKAN_HPP_HASH_COMBINE(seed, generatedCommandsInfoNV.indirectCommandsLayout);
VULKAN_HPP_HASH_COMBINE(seed, generatedCommandsInfoNV.streamCount);
VULKAN_HPP_HASH_COMBINE(seed, generatedCommandsInfoNV.pStreams);
VULKAN_HPP_HASH_COMBINE(seed, generatedCommandsInfoNV.sequencesCount);
VULKAN_HPP_HASH_COMBINE(seed, generatedCommandsInfoNV.preprocessBuffer);
VULKAN_HPP_HASH_COMBINE(seed, generatedCommandsInfoNV.preprocessOffset);
VULKAN_HPP_HASH_COMBINE(seed, generatedCommandsInfoNV.preprocessSize);
VULKAN_HPP_HASH_COMBINE(seed, generatedCommandsInfoNV.sequencesCountBuffer);
VULKAN_HPP_HASH_COMBINE(seed, generatedCommandsInfoNV.sequencesCountOffset);
VULKAN_HPP_HASH_COMBINE(seed, generatedCommandsInfoNV.sequencesIndexBuffer);
VULKAN_HPP_HASH_COMBINE(seed, generatedCommandsInfoNV.sequencesIndexOffset);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV const &generatedCommandsMemoryRequirementsInfoNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, generatedCommandsMemoryRequirementsInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, generatedCommandsMemoryRequirementsInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, generatedCommandsMemoryRequirementsInfoNV.pipelineBindPoint);
VULKAN_HPP_HASH_COMBINE(seed, generatedCommandsMemoryRequirementsInfoNV.pipeline);
VULKAN_HPP_HASH_COMBINE(seed, generatedCommandsMemoryRequirementsInfoNV.indirectCommandsLayout);
VULKAN_HPP_HASH_COMBINE(seed, generatedCommandsMemoryRequirementsInfoNV.maxSequencesCount);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::VertexInputBindingDescription>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VertexInputBindingDescription const &vertexInputBindingDescription) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, vertexInputBindingDescription.binding);
VULKAN_HPP_HASH_COMBINE(seed, vertexInputBindingDescription.stride);
VULKAN_HPP_HASH_COMBINE(seed, vertexInputBindingDescription.inputRate);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription const &vertexInputAttributeDescription) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, vertexInputAttributeDescription.location);
VULKAN_HPP_HASH_COMBINE(seed, vertexInputAttributeDescription.binding);
VULKAN_HPP_HASH_COMBINE(seed, vertexInputAttributeDescription.format);
VULKAN_HPP_HASH_COMBINE(seed, vertexInputAttributeDescription.offset);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo const &pipelineVertexInputStateCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineVertexInputStateCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineVertexInputStateCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineVertexInputStateCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, pipelineVertexInputStateCreateInfo.vertexBindingDescriptionCount);
VULKAN_HPP_HASH_COMBINE(seed, pipelineVertexInputStateCreateInfo.pVertexBindingDescriptions);
VULKAN_HPP_HASH_COMBINE(seed, pipelineVertexInputStateCreateInfo.vertexAttributeDescriptionCount);
VULKAN_HPP_HASH_COMBINE(seed, pipelineVertexInputStateCreateInfo.pVertexAttributeDescriptions);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateInfo const &pipelineInputAssemblyStateCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineInputAssemblyStateCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineInputAssemblyStateCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineInputAssemblyStateCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, pipelineInputAssemblyStateCreateInfo.topology);
VULKAN_HPP_HASH_COMBINE(seed, pipelineInputAssemblyStateCreateInfo.primitiveRestartEnable);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo const &pipelineTessellationStateCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineTessellationStateCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineTessellationStateCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineTessellationStateCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, pipelineTessellationStateCreateInfo.patchControlPoints);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateInfo const &pipelineViewportStateCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportStateCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportStateCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportStateCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportStateCreateInfo.viewportCount);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportStateCreateInfo.pViewports);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportStateCreateInfo.scissorCount);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportStateCreateInfo.pScissors);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateInfo const &pipelineRasterizationStateCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationStateCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationStateCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationStateCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationStateCreateInfo.depthClampEnable);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationStateCreateInfo.rasterizerDiscardEnable);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationStateCreateInfo.polygonMode);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationStateCreateInfo.cullMode);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationStateCreateInfo.frontFace);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationStateCreateInfo.depthBiasEnable);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationStateCreateInfo.depthBiasConstantFactor);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationStateCreateInfo.depthBiasClamp);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationStateCreateInfo.depthBiasSlopeFactor);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationStateCreateInfo.lineWidth);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateInfo const &pipelineMultisampleStateCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineMultisampleStateCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineMultisampleStateCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineMultisampleStateCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, pipelineMultisampleStateCreateInfo.rasterizationSamples);
VULKAN_HPP_HASH_COMBINE(seed, pipelineMultisampleStateCreateInfo.sampleShadingEnable);
VULKAN_HPP_HASH_COMBINE(seed, pipelineMultisampleStateCreateInfo.minSampleShading);
VULKAN_HPP_HASH_COMBINE(seed, pipelineMultisampleStateCreateInfo.pSampleMask);
VULKAN_HPP_HASH_COMBINE(seed, pipelineMultisampleStateCreateInfo.alphaToCoverageEnable);
VULKAN_HPP_HASH_COMBINE(seed, pipelineMultisampleStateCreateInfo.alphaToOneEnable);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::StencilOpState>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::StencilOpState const &stencilOpState) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, stencilOpState.failOp);
VULKAN_HPP_HASH_COMBINE(seed, stencilOpState.passOp);
VULKAN_HPP_HASH_COMBINE(seed, stencilOpState.depthFailOp);
VULKAN_HPP_HASH_COMBINE(seed, stencilOpState.compareOp);
VULKAN_HPP_HASH_COMBINE(seed, stencilOpState.compareMask);
VULKAN_HPP_HASH_COMBINE(seed, stencilOpState.writeMask);
VULKAN_HPP_HASH_COMBINE(seed, stencilOpState.reference);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateInfo const &pipelineDepthStencilStateCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineDepthStencilStateCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineDepthStencilStateCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineDepthStencilStateCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, pipelineDepthStencilStateCreateInfo.depthTestEnable);
VULKAN_HPP_HASH_COMBINE(seed, pipelineDepthStencilStateCreateInfo.depthWriteEnable);
VULKAN_HPP_HASH_COMBINE(seed, pipelineDepthStencilStateCreateInfo.depthCompareOp);
VULKAN_HPP_HASH_COMBINE(seed, pipelineDepthStencilStateCreateInfo.depthBoundsTestEnable);
VULKAN_HPP_HASH_COMBINE(seed, pipelineDepthStencilStateCreateInfo.stencilTestEnable);
VULKAN_HPP_HASH_COMBINE(seed, pipelineDepthStencilStateCreateInfo.front);
VULKAN_HPP_HASH_COMBINE(seed, pipelineDepthStencilStateCreateInfo.back);
VULKAN_HPP_HASH_COMBINE(seed, pipelineDepthStencilStateCreateInfo.minDepthBounds);
VULKAN_HPP_HASH_COMBINE(seed, pipelineDepthStencilStateCreateInfo.maxDepthBounds);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineColorBlendAttachmentState>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineColorBlendAttachmentState const &pipelineColorBlendAttachmentState) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineColorBlendAttachmentState.blendEnable);
VULKAN_HPP_HASH_COMBINE(seed, pipelineColorBlendAttachmentState.srcColorBlendFactor);
VULKAN_HPP_HASH_COMBINE(seed, pipelineColorBlendAttachmentState.dstColorBlendFactor);
VULKAN_HPP_HASH_COMBINE(seed, pipelineColorBlendAttachmentState.colorBlendOp);
VULKAN_HPP_HASH_COMBINE(seed, pipelineColorBlendAttachmentState.srcAlphaBlendFactor);
VULKAN_HPP_HASH_COMBINE(seed, pipelineColorBlendAttachmentState.dstAlphaBlendFactor);
VULKAN_HPP_HASH_COMBINE(seed, pipelineColorBlendAttachmentState.alphaBlendOp);
VULKAN_HPP_HASH_COMBINE(seed, pipelineColorBlendAttachmentState.colorWriteMask);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateInfo const &pipelineColorBlendStateCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineColorBlendStateCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineColorBlendStateCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineColorBlendStateCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, pipelineColorBlendStateCreateInfo.logicOpEnable);
VULKAN_HPP_HASH_COMBINE(seed, pipelineColorBlendStateCreateInfo.logicOp);
VULKAN_HPP_HASH_COMBINE(seed, pipelineColorBlendStateCreateInfo.attachmentCount);
VULKAN_HPP_HASH_COMBINE(seed, pipelineColorBlendStateCreateInfo.pAttachments);
for(size_t i = 0; i < 4; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, pipelineColorBlendStateCreateInfo.blendConstants[i]);
}
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo const &pipelineDynamicStateCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineDynamicStateCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineDynamicStateCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineDynamicStateCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, pipelineDynamicStateCreateInfo.dynamicStateCount);
VULKAN_HPP_HASH_COMBINE(seed, pipelineDynamicStateCreateInfo.pDynamicStates);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo const &graphicsPipelineCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineCreateInfo.stageCount);
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineCreateInfo.pStages);
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineCreateInfo.pVertexInputState);
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineCreateInfo.pInputAssemblyState);
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineCreateInfo.pTessellationState);
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineCreateInfo.pViewportState);
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineCreateInfo.pRasterizationState);
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineCreateInfo.pMultisampleState);
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineCreateInfo.pDepthStencilState);
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineCreateInfo.pColorBlendState);
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineCreateInfo.pDynamicState);
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineCreateInfo.layout);
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineCreateInfo.renderPass);
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineCreateInfo.subpass);
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineCreateInfo.basePipelineHandle);
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineCreateInfo.basePipelineIndex);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::GraphicsPipelineLibraryCreateInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::GraphicsPipelineLibraryCreateInfoEXT const &graphicsPipelineLibraryCreateInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineLibraryCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineLibraryCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineLibraryCreateInfoEXT.flags);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::GraphicsShaderGroupCreateInfoNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::GraphicsShaderGroupCreateInfoNV const &graphicsShaderGroupCreateInfoNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, graphicsShaderGroupCreateInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, graphicsShaderGroupCreateInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, graphicsShaderGroupCreateInfoNV.stageCount);
VULKAN_HPP_HASH_COMBINE(seed, graphicsShaderGroupCreateInfoNV.pStages);
VULKAN_HPP_HASH_COMBINE(seed, graphicsShaderGroupCreateInfoNV.pVertexInputState);
VULKAN_HPP_HASH_COMBINE(seed, graphicsShaderGroupCreateInfoNV.pTessellationState);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::GraphicsPipelineShaderGroupsCreateInfoNV>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::GraphicsPipelineShaderGroupsCreateInfoNV const &graphicsPipelineShaderGroupsCreateInfoNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineShaderGroupsCreateInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineShaderGroupsCreateInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineShaderGroupsCreateInfoNV.groupCount);
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineShaderGroupsCreateInfoNV.pGroups);
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineShaderGroupsCreateInfoNV.pipelineCount);
VULKAN_HPP_HASH_COMBINE(seed, graphicsPipelineShaderGroupsCreateInfoNV.pPipelines);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::XYColorEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::XYColorEXT const &xYColorEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, xYColorEXT.x);
VULKAN_HPP_HASH_COMBINE(seed, xYColorEXT.y);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::HdrMetadataEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::HdrMetadataEXT const &hdrMetadataEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, hdrMetadataEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, hdrMetadataEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, hdrMetadataEXT.displayPrimaryRed);
VULKAN_HPP_HASH_COMBINE(seed, hdrMetadataEXT.displayPrimaryGreen);
VULKAN_HPP_HASH_COMBINE(seed, hdrMetadataEXT.displayPrimaryBlue);
VULKAN_HPP_HASH_COMBINE(seed, hdrMetadataEXT.whitePoint);
VULKAN_HPP_HASH_COMBINE(seed, hdrMetadataEXT.maxLuminance);
VULKAN_HPP_HASH_COMBINE(seed, hdrMetadataEXT.minLuminance);
VULKAN_HPP_HASH_COMBINE(seed, hdrMetadataEXT.maxContentLightLevel);
VULKAN_HPP_HASH_COMBINE(seed, hdrMetadataEXT.maxFrameAverageLightLevel);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT const &headlessSurfaceCreateInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, headlessSurfaceCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, headlessSurfaceCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, headlessSurfaceCreateInfoEXT.flags);
return seed;
}
};
# if defined(VK_USE_PLATFORM_IOS_MVK)
template<>
struct hash<VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK const &iOSSurfaceCreateInfoMVK) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, iOSSurfaceCreateInfoMVK.sType);
VULKAN_HPP_HASH_COMBINE(seed, iOSSurfaceCreateInfoMVK.pNext);
VULKAN_HPP_HASH_COMBINE(seed, iOSSurfaceCreateInfoMVK.flags);
VULKAN_HPP_HASH_COMBINE(seed, iOSSurfaceCreateInfoMVK.pView);
return seed;
}
};
# endif /*VK_USE_PLATFORM_IOS_MVK*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageBlit>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageBlit const &imageBlit) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageBlit.srcSubresource);
for(size_t i = 0; i < 2; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, imageBlit.srcOffsets[i]);
}
VULKAN_HPP_HASH_COMBINE(seed, imageBlit.dstSubresource);
for(size_t i = 0; i < 2; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, imageBlit.dstOffsets[i]);
}
return seed;
}
};
# if defined(VK_USE_PLATFORM_FUCHSIA)
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIA>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIA const &imageFormatConstraintsInfoFUCHSIA) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageFormatConstraintsInfoFUCHSIA.sType);
VULKAN_HPP_HASH_COMBINE(seed, imageFormatConstraintsInfoFUCHSIA.pNext);
VULKAN_HPP_HASH_COMBINE(seed, imageFormatConstraintsInfoFUCHSIA.imageCreateInfo);
VULKAN_HPP_HASH_COMBINE(seed, imageFormatConstraintsInfoFUCHSIA.requiredFormatFeatures);
VULKAN_HPP_HASH_COMBINE(seed, imageFormatConstraintsInfoFUCHSIA.flags);
VULKAN_HPP_HASH_COMBINE(seed, imageFormatConstraintsInfoFUCHSIA.sysmemPixelFormat);
VULKAN_HPP_HASH_COMBINE(seed, imageFormatConstraintsInfoFUCHSIA.colorSpaceCount);
VULKAN_HPP_HASH_COMBINE(seed, imageFormatConstraintsInfoFUCHSIA.pColorSpaces);
return seed;
}
};
# endif /*VK_USE_PLATFORM_FUCHSIA*/
# if defined(VK_USE_PLATFORM_FUCHSIA)
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIA>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIA const &imageConstraintsInfoFUCHSIA) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageConstraintsInfoFUCHSIA.sType);
VULKAN_HPP_HASH_COMBINE(seed, imageConstraintsInfoFUCHSIA.pNext);
VULKAN_HPP_HASH_COMBINE(seed, imageConstraintsInfoFUCHSIA.formatConstraintsCount);
VULKAN_HPP_HASH_COMBINE(seed, imageConstraintsInfoFUCHSIA.pFormatConstraints);
VULKAN_HPP_HASH_COMBINE(seed, imageConstraintsInfoFUCHSIA.bufferCollectionConstraints);
VULKAN_HPP_HASH_COMBINE(seed, imageConstraintsInfoFUCHSIA.flags);
return seed;
}
};
# endif /*VK_USE_PLATFORM_FUCHSIA*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageCopy>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageCopy const &imageCopy) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageCopy.srcSubresource);
VULKAN_HPP_HASH_COMBINE(seed, imageCopy.srcOffset);
VULKAN_HPP_HASH_COMBINE(seed, imageCopy.dstSubresource);
VULKAN_HPP_HASH_COMBINE(seed, imageCopy.dstOffset);
VULKAN_HPP_HASH_COMBINE(seed, imageCopy.extent);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SubresourceLayout>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SubresourceLayout const &subresourceLayout) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, subresourceLayout.offset);
VULKAN_HPP_HASH_COMBINE(seed, subresourceLayout.size);
VULKAN_HPP_HASH_COMBINE(seed, subresourceLayout.rowPitch);
VULKAN_HPP_HASH_COMBINE(seed, subresourceLayout.arrayPitch);
VULKAN_HPP_HASH_COMBINE(seed, subresourceLayout.depthPitch);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierExplicitCreateInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierExplicitCreateInfoEXT const &imageDrmFormatModifierExplicitCreateInfoEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageDrmFormatModifierExplicitCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, imageDrmFormatModifierExplicitCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, imageDrmFormatModifierExplicitCreateInfoEXT.drmFormatModifier);
VULKAN_HPP_HASH_COMBINE(seed, imageDrmFormatModifierExplicitCreateInfoEXT.drmFormatModifierPlaneCount);
VULKAN_HPP_HASH_COMBINE(seed, imageDrmFormatModifierExplicitCreateInfoEXT.pPlaneLayouts);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierListCreateInfoEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierListCreateInfoEXT const &imageDrmFormatModifierListCreateInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageDrmFormatModifierListCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, imageDrmFormatModifierListCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, imageDrmFormatModifierListCreateInfoEXT.drmFormatModifierCount);
VULKAN_HPP_HASH_COMBINE(seed, imageDrmFormatModifierListCreateInfoEXT.pDrmFormatModifiers);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT const &imageDrmFormatModifierPropertiesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageDrmFormatModifierPropertiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, imageDrmFormatModifierPropertiesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, imageDrmFormatModifierPropertiesEXT.drmFormatModifier);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageFormatListCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageFormatListCreateInfo const &imageFormatListCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageFormatListCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, imageFormatListCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, imageFormatListCreateInfo.viewFormatCount);
VULKAN_HPP_HASH_COMBINE(seed, imageFormatListCreateInfo.pViewFormats);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageFormatProperties2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageFormatProperties2 const &imageFormatProperties2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageFormatProperties2.sType);
VULKAN_HPP_HASH_COMBINE(seed, imageFormatProperties2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, imageFormatProperties2.imageFormatProperties);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageMemoryBarrier>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageMemoryBarrier const &imageMemoryBarrier) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageMemoryBarrier.sType);
VULKAN_HPP_HASH_COMBINE(seed, imageMemoryBarrier.pNext);
VULKAN_HPP_HASH_COMBINE(seed, imageMemoryBarrier.srcAccessMask);
VULKAN_HPP_HASH_COMBINE(seed, imageMemoryBarrier.dstAccessMask);
VULKAN_HPP_HASH_COMBINE(seed, imageMemoryBarrier.oldLayout);
VULKAN_HPP_HASH_COMBINE(seed, imageMemoryBarrier.newLayout);
VULKAN_HPP_HASH_COMBINE(seed, imageMemoryBarrier.srcQueueFamilyIndex);
VULKAN_HPP_HASH_COMBINE(seed, imageMemoryBarrier.dstQueueFamilyIndex);
VULKAN_HPP_HASH_COMBINE(seed, imageMemoryBarrier.image);
VULKAN_HPP_HASH_COMBINE(seed, imageMemoryBarrier.subresourceRange);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 const &imageMemoryRequirementsInfo2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageMemoryRequirementsInfo2.sType);
VULKAN_HPP_HASH_COMBINE(seed, imageMemoryRequirementsInfo2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, imageMemoryRequirementsInfo2.image);
return seed;
}
};
# if defined(VK_USE_PLATFORM_FUCHSIA)
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA const &imagePipeSurfaceCreateInfoFUCHSIA) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imagePipeSurfaceCreateInfoFUCHSIA.sType);
VULKAN_HPP_HASH_COMBINE(seed, imagePipeSurfaceCreateInfoFUCHSIA.pNext);
VULKAN_HPP_HASH_COMBINE(seed, imagePipeSurfaceCreateInfoFUCHSIA.flags);
VULKAN_HPP_HASH_COMBINE(seed, imagePipeSurfaceCreateInfoFUCHSIA.imagePipeHandle);
return seed;
}
};
# endif /*VK_USE_PLATFORM_FUCHSIA*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImagePlaneMemoryRequirementsInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImagePlaneMemoryRequirementsInfo const &imagePlaneMemoryRequirementsInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imagePlaneMemoryRequirementsInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, imagePlaneMemoryRequirementsInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, imagePlaneMemoryRequirementsInfo.planeAspect);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageResolve>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageResolve const &imageResolve) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageResolve.srcSubresource);
VULKAN_HPP_HASH_COMBINE(seed, imageResolve.srcOffset);
VULKAN_HPP_HASH_COMBINE(seed, imageResolve.dstSubresource);
VULKAN_HPP_HASH_COMBINE(seed, imageResolve.dstOffset);
VULKAN_HPP_HASH_COMBINE(seed, imageResolve.extent);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageResolve2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageResolve2 const &imageResolve2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageResolve2.sType);
VULKAN_HPP_HASH_COMBINE(seed, imageResolve2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, imageResolve2.srcSubresource);
VULKAN_HPP_HASH_COMBINE(seed, imageResolve2.srcOffset);
VULKAN_HPP_HASH_COMBINE(seed, imageResolve2.dstSubresource);
VULKAN_HPP_HASH_COMBINE(seed, imageResolve2.dstOffset);
VULKAN_HPP_HASH_COMBINE(seed, imageResolve2.extent);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 const &imageSparseMemoryRequirementsInfo2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageSparseMemoryRequirementsInfo2.sType);
VULKAN_HPP_HASH_COMBINE(seed, imageSparseMemoryRequirementsInfo2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, imageSparseMemoryRequirementsInfo2.image);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageStencilUsageCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageStencilUsageCreateInfo const &imageStencilUsageCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageStencilUsageCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, imageStencilUsageCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, imageStencilUsageCreateInfo.stencilUsage);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageSwapchainCreateInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageSwapchainCreateInfoKHR const &imageSwapchainCreateInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageSwapchainCreateInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, imageSwapchainCreateInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, imageSwapchainCreateInfoKHR.swapchain);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageViewASTCDecodeModeEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageViewASTCDecodeModeEXT const &imageViewASTCDecodeModeEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageViewASTCDecodeModeEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, imageViewASTCDecodeModeEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, imageViewASTCDecodeModeEXT.decodeMode);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX const &imageViewAddressPropertiesNVX) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageViewAddressPropertiesNVX.sType);
VULKAN_HPP_HASH_COMBINE(seed, imageViewAddressPropertiesNVX.pNext);
VULKAN_HPP_HASH_COMBINE(seed, imageViewAddressPropertiesNVX.deviceAddress);
VULKAN_HPP_HASH_COMBINE(seed, imageViewAddressPropertiesNVX.size);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageViewCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageViewCreateInfo const &imageViewCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageViewCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, imageViewCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, imageViewCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, imageViewCreateInfo.image);
VULKAN_HPP_HASH_COMBINE(seed, imageViewCreateInfo.viewType);
VULKAN_HPP_HASH_COMBINE(seed, imageViewCreateInfo.format);
VULKAN_HPP_HASH_COMBINE(seed, imageViewCreateInfo.components);
VULKAN_HPP_HASH_COMBINE(seed, imageViewCreateInfo.subresourceRange);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageViewHandleInfoNVX>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageViewHandleInfoNVX const &imageViewHandleInfoNVX) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageViewHandleInfoNVX.sType);
VULKAN_HPP_HASH_COMBINE(seed, imageViewHandleInfoNVX.pNext);
VULKAN_HPP_HASH_COMBINE(seed, imageViewHandleInfoNVX.imageView);
VULKAN_HPP_HASH_COMBINE(seed, imageViewHandleInfoNVX.descriptorType);
VULKAN_HPP_HASH_COMBINE(seed, imageViewHandleInfoNVX.sampler);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageViewMinLodCreateInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageViewMinLodCreateInfoEXT const &imageViewMinLodCreateInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageViewMinLodCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, imageViewMinLodCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, imageViewMinLodCreateInfoEXT.minLod);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImageViewUsageCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImageViewUsageCreateInfo const &imageViewUsageCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, imageViewUsageCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, imageViewUsageCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, imageViewUsageCreateInfo.usage);
return seed;
}
};
# if defined(VK_USE_PLATFORM_ANDROID_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImportAndroidHardwareBufferInfoANDROID>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::ImportAndroidHardwareBufferInfoANDROID const &importAndroidHardwareBufferInfoANDROID) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, importAndroidHardwareBufferInfoANDROID.sType);
VULKAN_HPP_HASH_COMBINE(seed, importAndroidHardwareBufferInfoANDROID.pNext);
VULKAN_HPP_HASH_COMBINE(seed, importAndroidHardwareBufferInfoANDROID.buffer);
return seed;
}
};
# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImportFenceFdInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportFenceFdInfoKHR const &importFenceFdInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, importFenceFdInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, importFenceFdInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, importFenceFdInfoKHR.fence);
VULKAN_HPP_HASH_COMBINE(seed, importFenceFdInfoKHR.flags);
VULKAN_HPP_HASH_COMBINE(seed, importFenceFdInfoKHR.handleType);
VULKAN_HPP_HASH_COMBINE(seed, importFenceFdInfoKHR.fd);
return seed;
}
};
# if defined(VK_USE_PLATFORM_WIN32_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImportFenceWin32HandleInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportFenceWin32HandleInfoKHR const &importFenceWin32HandleInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, importFenceWin32HandleInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, importFenceWin32HandleInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, importFenceWin32HandleInfoKHR.fence);
VULKAN_HPP_HASH_COMBINE(seed, importFenceWin32HandleInfoKHR.flags);
VULKAN_HPP_HASH_COMBINE(seed, importFenceWin32HandleInfoKHR.handleType);
VULKAN_HPP_HASH_COMBINE(seed, importFenceWin32HandleInfoKHR.handle);
VULKAN_HPP_HASH_COMBINE(seed, importFenceWin32HandleInfoKHR.name);
return seed;
}
};
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
# if defined(VK_USE_PLATFORM_FUCHSIA)
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImportMemoryBufferCollectionFUCHSIA>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportMemoryBufferCollectionFUCHSIA const &importMemoryBufferCollectionFUCHSIA) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, importMemoryBufferCollectionFUCHSIA.sType);
VULKAN_HPP_HASH_COMBINE(seed, importMemoryBufferCollectionFUCHSIA.pNext);
VULKAN_HPP_HASH_COMBINE(seed, importMemoryBufferCollectionFUCHSIA.collection);
VULKAN_HPP_HASH_COMBINE(seed, importMemoryBufferCollectionFUCHSIA.index);
return seed;
}
};
# endif /*VK_USE_PLATFORM_FUCHSIA*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImportMemoryFdInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportMemoryFdInfoKHR const &importMemoryFdInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, importMemoryFdInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, importMemoryFdInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, importMemoryFdInfoKHR.handleType);
VULKAN_HPP_HASH_COMBINE(seed, importMemoryFdInfoKHR.fd);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImportMemoryHostPointerInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportMemoryHostPointerInfoEXT const &importMemoryHostPointerInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, importMemoryHostPointerInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, importMemoryHostPointerInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, importMemoryHostPointerInfoEXT.handleType);
VULKAN_HPP_HASH_COMBINE(seed, importMemoryHostPointerInfoEXT.pHostPointer);
return seed;
}
};
# if defined(VK_USE_PLATFORM_WIN32_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImportMemoryWin32HandleInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportMemoryWin32HandleInfoKHR const &importMemoryWin32HandleInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, importMemoryWin32HandleInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, importMemoryWin32HandleInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, importMemoryWin32HandleInfoKHR.handleType);
VULKAN_HPP_HASH_COMBINE(seed, importMemoryWin32HandleInfoKHR.handle);
VULKAN_HPP_HASH_COMBINE(seed, importMemoryWin32HandleInfoKHR.name);
return seed;
}
};
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
# if defined(VK_USE_PLATFORM_WIN32_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImportMemoryWin32HandleInfoNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportMemoryWin32HandleInfoNV const &importMemoryWin32HandleInfoNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, importMemoryWin32HandleInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, importMemoryWin32HandleInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, importMemoryWin32HandleInfoNV.handleType);
VULKAN_HPP_HASH_COMBINE(seed, importMemoryWin32HandleInfoNV.handle);
return seed;
}
};
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
# if defined(VK_USE_PLATFORM_FUCHSIA)
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImportMemoryZirconHandleInfoFUCHSIA>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportMemoryZirconHandleInfoFUCHSIA const &importMemoryZirconHandleInfoFUCHSIA) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, importMemoryZirconHandleInfoFUCHSIA.sType);
VULKAN_HPP_HASH_COMBINE(seed, importMemoryZirconHandleInfoFUCHSIA.pNext);
VULKAN_HPP_HASH_COMBINE(seed, importMemoryZirconHandleInfoFUCHSIA.handleType);
VULKAN_HPP_HASH_COMBINE(seed, importMemoryZirconHandleInfoFUCHSIA.handle);
return seed;
}
};
# endif /*VK_USE_PLATFORM_FUCHSIA*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImportSemaphoreFdInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportSemaphoreFdInfoKHR const &importSemaphoreFdInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, importSemaphoreFdInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, importSemaphoreFdInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, importSemaphoreFdInfoKHR.semaphore);
VULKAN_HPP_HASH_COMBINE(seed, importSemaphoreFdInfoKHR.flags);
VULKAN_HPP_HASH_COMBINE(seed, importSemaphoreFdInfoKHR.handleType);
VULKAN_HPP_HASH_COMBINE(seed, importSemaphoreFdInfoKHR.fd);
return seed;
}
};
# if defined(VK_USE_PLATFORM_WIN32_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImportSemaphoreWin32HandleInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ImportSemaphoreWin32HandleInfoKHR const &importSemaphoreWin32HandleInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, importSemaphoreWin32HandleInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, importSemaphoreWin32HandleInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, importSemaphoreWin32HandleInfoKHR.semaphore);
VULKAN_HPP_HASH_COMBINE(seed, importSemaphoreWin32HandleInfoKHR.flags);
VULKAN_HPP_HASH_COMBINE(seed, importSemaphoreWin32HandleInfoKHR.handleType);
VULKAN_HPP_HASH_COMBINE(seed, importSemaphoreWin32HandleInfoKHR.handle);
VULKAN_HPP_HASH_COMBINE(seed, importSemaphoreWin32HandleInfoKHR.name);
return seed;
}
};
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
# if defined(VK_USE_PLATFORM_FUCHSIA)
template<>
struct hash<VULKAN_HPP_NAMESPACE::ImportSemaphoreZirconHandleInfoFUCHSIA>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::ImportSemaphoreZirconHandleInfoFUCHSIA const &importSemaphoreZirconHandleInfoFUCHSIA) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, importSemaphoreZirconHandleInfoFUCHSIA.sType);
VULKAN_HPP_HASH_COMBINE(seed, importSemaphoreZirconHandleInfoFUCHSIA.pNext);
VULKAN_HPP_HASH_COMBINE(seed, importSemaphoreZirconHandleInfoFUCHSIA.semaphore);
VULKAN_HPP_HASH_COMBINE(seed, importSemaphoreZirconHandleInfoFUCHSIA.flags);
VULKAN_HPP_HASH_COMBINE(seed, importSemaphoreZirconHandleInfoFUCHSIA.handleType);
VULKAN_HPP_HASH_COMBINE(seed, importSemaphoreZirconHandleInfoFUCHSIA.zirconHandle);
return seed;
}
};
# endif /*VK_USE_PLATFORM_FUCHSIA*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutTokenNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutTokenNV const &indirectCommandsLayoutTokenNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, indirectCommandsLayoutTokenNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, indirectCommandsLayoutTokenNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, indirectCommandsLayoutTokenNV.tokenType);
VULKAN_HPP_HASH_COMBINE(seed, indirectCommandsLayoutTokenNV.stream);
VULKAN_HPP_HASH_COMBINE(seed, indirectCommandsLayoutTokenNV.offset);
VULKAN_HPP_HASH_COMBINE(seed, indirectCommandsLayoutTokenNV.vertexBindingUnit);
VULKAN_HPP_HASH_COMBINE(seed, indirectCommandsLayoutTokenNV.vertexDynamicStride);
VULKAN_HPP_HASH_COMBINE(seed, indirectCommandsLayoutTokenNV.pushconstantPipelineLayout);
VULKAN_HPP_HASH_COMBINE(seed, indirectCommandsLayoutTokenNV.pushconstantShaderStageFlags);
VULKAN_HPP_HASH_COMBINE(seed, indirectCommandsLayoutTokenNV.pushconstantOffset);
VULKAN_HPP_HASH_COMBINE(seed, indirectCommandsLayoutTokenNV.pushconstantSize);
VULKAN_HPP_HASH_COMBINE(seed, indirectCommandsLayoutTokenNV.indirectStateFlags);
VULKAN_HPP_HASH_COMBINE(seed, indirectCommandsLayoutTokenNV.indexTypeCount);
VULKAN_HPP_HASH_COMBINE(seed, indirectCommandsLayoutTokenNV.pIndexTypes);
VULKAN_HPP_HASH_COMBINE(seed, indirectCommandsLayoutTokenNV.pIndexTypeValues);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV const &indirectCommandsLayoutCreateInfoNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, indirectCommandsLayoutCreateInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, indirectCommandsLayoutCreateInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, indirectCommandsLayoutCreateInfoNV.flags);
VULKAN_HPP_HASH_COMBINE(seed, indirectCommandsLayoutCreateInfoNV.pipelineBindPoint);
VULKAN_HPP_HASH_COMBINE(seed, indirectCommandsLayoutCreateInfoNV.tokenCount);
VULKAN_HPP_HASH_COMBINE(seed, indirectCommandsLayoutCreateInfoNV.pTokens);
VULKAN_HPP_HASH_COMBINE(seed, indirectCommandsLayoutCreateInfoNV.streamCount);
VULKAN_HPP_HASH_COMBINE(seed, indirectCommandsLayoutCreateInfoNV.pStreamStrides);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::InitializePerformanceApiInfoINTEL>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::InitializePerformanceApiInfoINTEL const &initializePerformanceApiInfoINTEL) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, initializePerformanceApiInfoINTEL.sType);
VULKAN_HPP_HASH_COMBINE(seed, initializePerformanceApiInfoINTEL.pNext);
VULKAN_HPP_HASH_COMBINE(seed, initializePerformanceApiInfoINTEL.pUserData);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::InputAttachmentAspectReference>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::InputAttachmentAspectReference const &inputAttachmentAspectReference) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, inputAttachmentAspectReference.subpass);
VULKAN_HPP_HASH_COMBINE(seed, inputAttachmentAspectReference.inputAttachmentIndex);
VULKAN_HPP_HASH_COMBINE(seed, inputAttachmentAspectReference.aspectMask);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::InstanceCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::InstanceCreateInfo const &instanceCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, instanceCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, instanceCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, instanceCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, instanceCreateInfo.pApplicationInfo);
VULKAN_HPP_HASH_COMBINE(seed, instanceCreateInfo.enabledLayerCount);
for(size_t i = 0; i < instanceCreateInfo.enabledLayerCount; ++i)
{
for(const char *p = instanceCreateInfo.ppEnabledLayerNames[i]; *p != '\0'; ++p)
{
VULKAN_HPP_HASH_COMBINE(seed, *p);
}
}
VULKAN_HPP_HASH_COMBINE(seed, instanceCreateInfo.enabledExtensionCount);
for(size_t i = 0; i < instanceCreateInfo.enabledExtensionCount; ++i)
{
for(const char *p = instanceCreateInfo.ppEnabledExtensionNames[i]; *p != '\0'; ++p)
{
VULKAN_HPP_HASH_COMBINE(seed, *p);
}
}
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::LayerProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::LayerProperties const &layerProperties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
for(size_t i = 0; i < VK_MAX_EXTENSION_NAME_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, layerProperties.layerName[i]);
}
VULKAN_HPP_HASH_COMBINE(seed, layerProperties.specVersion);
VULKAN_HPP_HASH_COMBINE(seed, layerProperties.implementationVersion);
for(size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, layerProperties.description[i]);
}
return seed;
}
};
# if defined(VK_USE_PLATFORM_MACOS_MVK)
template<>
struct hash<VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK const &macOSSurfaceCreateInfoMVK) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, macOSSurfaceCreateInfoMVK.sType);
VULKAN_HPP_HASH_COMBINE(seed, macOSSurfaceCreateInfoMVK.pNext);
VULKAN_HPP_HASH_COMBINE(seed, macOSSurfaceCreateInfoMVK.flags);
VULKAN_HPP_HASH_COMBINE(seed, macOSSurfaceCreateInfoMVK.pView);
return seed;
}
};
# endif /*VK_USE_PLATFORM_MACOS_MVK*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::MappedMemoryRange>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MappedMemoryRange const &mappedMemoryRange) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, mappedMemoryRange.sType);
VULKAN_HPP_HASH_COMBINE(seed, mappedMemoryRange.pNext);
VULKAN_HPP_HASH_COMBINE(seed, mappedMemoryRange.memory);
VULKAN_HPP_HASH_COMBINE(seed, mappedMemoryRange.offset);
VULKAN_HPP_HASH_COMBINE(seed, mappedMemoryRange.size);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::MemoryAllocateFlagsInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryAllocateFlagsInfo const &memoryAllocateFlagsInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, memoryAllocateFlagsInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, memoryAllocateFlagsInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, memoryAllocateFlagsInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, memoryAllocateFlagsInfo.deviceMask);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::MemoryAllocateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryAllocateInfo const &memoryAllocateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, memoryAllocateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, memoryAllocateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, memoryAllocateInfo.allocationSize);
VULKAN_HPP_HASH_COMBINE(seed, memoryAllocateInfo.memoryTypeIndex);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::MemoryBarrier>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryBarrier const &memoryBarrier) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, memoryBarrier.sType);
VULKAN_HPP_HASH_COMBINE(seed, memoryBarrier.pNext);
VULKAN_HPP_HASH_COMBINE(seed, memoryBarrier.srcAccessMask);
VULKAN_HPP_HASH_COMBINE(seed, memoryBarrier.dstAccessMask);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::MemoryDedicatedAllocateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryDedicatedAllocateInfo const &memoryDedicatedAllocateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, memoryDedicatedAllocateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, memoryDedicatedAllocateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, memoryDedicatedAllocateInfo.image);
VULKAN_HPP_HASH_COMBINE(seed, memoryDedicatedAllocateInfo.buffer);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::MemoryDedicatedRequirements>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryDedicatedRequirements const &memoryDedicatedRequirements) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, memoryDedicatedRequirements.sType);
VULKAN_HPP_HASH_COMBINE(seed, memoryDedicatedRequirements.pNext);
VULKAN_HPP_HASH_COMBINE(seed, memoryDedicatedRequirements.prefersDedicatedAllocation);
VULKAN_HPP_HASH_COMBINE(seed, memoryDedicatedRequirements.requiresDedicatedAllocation);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR const &memoryFdPropertiesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, memoryFdPropertiesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, memoryFdPropertiesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, memoryFdPropertiesKHR.memoryTypeBits);
return seed;
}
};
# if defined(VK_USE_PLATFORM_ANDROID_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::MemoryGetAndroidHardwareBufferInfoANDROID>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::MemoryGetAndroidHardwareBufferInfoANDROID const &memoryGetAndroidHardwareBufferInfoANDROID) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, memoryGetAndroidHardwareBufferInfoANDROID.sType);
VULKAN_HPP_HASH_COMBINE(seed, memoryGetAndroidHardwareBufferInfoANDROID.pNext);
VULKAN_HPP_HASH_COMBINE(seed, memoryGetAndroidHardwareBufferInfoANDROID.memory);
return seed;
}
};
# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::MemoryGetFdInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryGetFdInfoKHR const &memoryGetFdInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, memoryGetFdInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, memoryGetFdInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, memoryGetFdInfoKHR.memory);
VULKAN_HPP_HASH_COMBINE(seed, memoryGetFdInfoKHR.handleType);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::MemoryGetRemoteAddressInfoNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryGetRemoteAddressInfoNV const &memoryGetRemoteAddressInfoNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, memoryGetRemoteAddressInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, memoryGetRemoteAddressInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, memoryGetRemoteAddressInfoNV.memory);
VULKAN_HPP_HASH_COMBINE(seed, memoryGetRemoteAddressInfoNV.handleType);
return seed;
}
};
# if defined(VK_USE_PLATFORM_WIN32_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::MemoryGetWin32HandleInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryGetWin32HandleInfoKHR const &memoryGetWin32HandleInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, memoryGetWin32HandleInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, memoryGetWin32HandleInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, memoryGetWin32HandleInfoKHR.memory);
VULKAN_HPP_HASH_COMBINE(seed, memoryGetWin32HandleInfoKHR.handleType);
return seed;
}
};
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
# if defined(VK_USE_PLATFORM_FUCHSIA)
template<>
struct hash<VULKAN_HPP_NAMESPACE::MemoryGetZirconHandleInfoFUCHSIA>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryGetZirconHandleInfoFUCHSIA const &memoryGetZirconHandleInfoFUCHSIA) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, memoryGetZirconHandleInfoFUCHSIA.sType);
VULKAN_HPP_HASH_COMBINE(seed, memoryGetZirconHandleInfoFUCHSIA.pNext);
VULKAN_HPP_HASH_COMBINE(seed, memoryGetZirconHandleInfoFUCHSIA.memory);
VULKAN_HPP_HASH_COMBINE(seed, memoryGetZirconHandleInfoFUCHSIA.handleType);
return seed;
}
};
# endif /*VK_USE_PLATFORM_FUCHSIA*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::MemoryHeap>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryHeap const &memoryHeap) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, memoryHeap.size);
VULKAN_HPP_HASH_COMBINE(seed, memoryHeap.flags);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT const &memoryHostPointerPropertiesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, memoryHostPointerPropertiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, memoryHostPointerPropertiesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, memoryHostPointerPropertiesEXT.memoryTypeBits);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::MemoryOpaqueCaptureAddressAllocateInfo>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::MemoryOpaqueCaptureAddressAllocateInfo const &memoryOpaqueCaptureAddressAllocateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, memoryOpaqueCaptureAddressAllocateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, memoryOpaqueCaptureAddressAllocateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, memoryOpaqueCaptureAddressAllocateInfo.opaqueCaptureAddress);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::MemoryPriorityAllocateInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryPriorityAllocateInfoEXT const &memoryPriorityAllocateInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, memoryPriorityAllocateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, memoryPriorityAllocateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, memoryPriorityAllocateInfoEXT.priority);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::MemoryRequirements>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryRequirements const &memoryRequirements) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, memoryRequirements.size);
VULKAN_HPP_HASH_COMBINE(seed, memoryRequirements.alignment);
VULKAN_HPP_HASH_COMBINE(seed, memoryRequirements.memoryTypeBits);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::MemoryRequirements2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryRequirements2 const &memoryRequirements2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, memoryRequirements2.sType);
VULKAN_HPP_HASH_COMBINE(seed, memoryRequirements2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, memoryRequirements2.memoryRequirements);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::MemoryType>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryType const &memoryType) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, memoryType.propertyFlags);
VULKAN_HPP_HASH_COMBINE(seed, memoryType.heapIndex);
return seed;
}
};
# if defined(VK_USE_PLATFORM_WIN32_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR const &memoryWin32HandlePropertiesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, memoryWin32HandlePropertiesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, memoryWin32HandlePropertiesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, memoryWin32HandlePropertiesKHR.memoryTypeBits);
return seed;
}
};
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
# if defined(VK_USE_PLATFORM_FUCHSIA)
template<>
struct hash<VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA const &memoryZirconHandlePropertiesFUCHSIA) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, memoryZirconHandlePropertiesFUCHSIA.sType);
VULKAN_HPP_HASH_COMBINE(seed, memoryZirconHandlePropertiesFUCHSIA.pNext);
VULKAN_HPP_HASH_COMBINE(seed, memoryZirconHandlePropertiesFUCHSIA.memoryTypeBits);
return seed;
}
};
# endif /*VK_USE_PLATFORM_FUCHSIA*/
# if defined(VK_USE_PLATFORM_METAL_EXT)
template<>
struct hash<VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT const &metalSurfaceCreateInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, metalSurfaceCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, metalSurfaceCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, metalSurfaceCreateInfoEXT.flags);
VULKAN_HPP_HASH_COMBINE(seed, metalSurfaceCreateInfoEXT.pLayer);
return seed;
}
};
# endif /*VK_USE_PLATFORM_METAL_EXT*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::MultiDrawIndexedInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MultiDrawIndexedInfoEXT const &multiDrawIndexedInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, multiDrawIndexedInfoEXT.firstIndex);
VULKAN_HPP_HASH_COMBINE(seed, multiDrawIndexedInfoEXT.indexCount);
VULKAN_HPP_HASH_COMBINE(seed, multiDrawIndexedInfoEXT.vertexOffset);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::MultiDrawInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MultiDrawInfoEXT const &multiDrawInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, multiDrawInfoEXT.firstVertex);
VULKAN_HPP_HASH_COMBINE(seed, multiDrawInfoEXT.vertexCount);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT const &multisamplePropertiesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, multisamplePropertiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, multisamplePropertiesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, multisamplePropertiesEXT.maxSampleLocationGridSize);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::MultiviewPerViewAttributesInfoNVX>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MultiviewPerViewAttributesInfoNVX const &multiviewPerViewAttributesInfoNVX) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, multiviewPerViewAttributesInfoNVX.sType);
VULKAN_HPP_HASH_COMBINE(seed, multiviewPerViewAttributesInfoNVX.pNext);
VULKAN_HPP_HASH_COMBINE(seed, multiviewPerViewAttributesInfoNVX.perViewAttributes);
VULKAN_HPP_HASH_COMBINE(seed, multiviewPerViewAttributesInfoNVX.perViewAttributesPositionXOnly);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::MutableDescriptorTypeListVALVE>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MutableDescriptorTypeListVALVE const &mutableDescriptorTypeListVALVE) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, mutableDescriptorTypeListVALVE.descriptorTypeCount);
VULKAN_HPP_HASH_COMBINE(seed, mutableDescriptorTypeListVALVE.pDescriptorTypes);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::MutableDescriptorTypeCreateInfoVALVE>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::MutableDescriptorTypeCreateInfoVALVE const &mutableDescriptorTypeCreateInfoVALVE) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, mutableDescriptorTypeCreateInfoVALVE.sType);
VULKAN_HPP_HASH_COMBINE(seed, mutableDescriptorTypeCreateInfoVALVE.pNext);
VULKAN_HPP_HASH_COMBINE(seed, mutableDescriptorTypeCreateInfoVALVE.mutableDescriptorTypeListCount);
VULKAN_HPP_HASH_COMBINE(seed, mutableDescriptorTypeCreateInfoVALVE.pMutableDescriptorTypeLists);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE const &pastPresentationTimingGOOGLE) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pastPresentationTimingGOOGLE.presentID);
VULKAN_HPP_HASH_COMBINE(seed, pastPresentationTimingGOOGLE.desiredPresentTime);
VULKAN_HPP_HASH_COMBINE(seed, pastPresentationTimingGOOGLE.actualPresentTime);
VULKAN_HPP_HASH_COMBINE(seed, pastPresentationTimingGOOGLE.earliestPresentTime);
VULKAN_HPP_HASH_COMBINE(seed, pastPresentationTimingGOOGLE.presentMargin);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL const &performanceConfigurationAcquireInfoINTEL) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, performanceConfigurationAcquireInfoINTEL.sType);
VULKAN_HPP_HASH_COMBINE(seed, performanceConfigurationAcquireInfoINTEL.pNext);
VULKAN_HPP_HASH_COMBINE(seed, performanceConfigurationAcquireInfoINTEL.type);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR const &performanceCounterDescriptionKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, performanceCounterDescriptionKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, performanceCounterDescriptionKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, performanceCounterDescriptionKHR.flags);
for(size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, performanceCounterDescriptionKHR.name[i]);
}
for(size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, performanceCounterDescriptionKHR.category[i]);
}
for(size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, performanceCounterDescriptionKHR.description[i]);
}
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PerformanceCounterKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PerformanceCounterKHR const &performanceCounterKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, performanceCounterKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, performanceCounterKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, performanceCounterKHR.unit);
VULKAN_HPP_HASH_COMBINE(seed, performanceCounterKHR.scope);
VULKAN_HPP_HASH_COMBINE(seed, performanceCounterKHR.storage);
for(size_t i = 0; i < VK_UUID_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, performanceCounterKHR.uuid[i]);
}
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PerformanceMarkerInfoINTEL>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PerformanceMarkerInfoINTEL const &performanceMarkerInfoINTEL) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, performanceMarkerInfoINTEL.sType);
VULKAN_HPP_HASH_COMBINE(seed, performanceMarkerInfoINTEL.pNext);
VULKAN_HPP_HASH_COMBINE(seed, performanceMarkerInfoINTEL.marker);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PerformanceOverrideInfoINTEL>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PerformanceOverrideInfoINTEL const &performanceOverrideInfoINTEL) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, performanceOverrideInfoINTEL.sType);
VULKAN_HPP_HASH_COMBINE(seed, performanceOverrideInfoINTEL.pNext);
VULKAN_HPP_HASH_COMBINE(seed, performanceOverrideInfoINTEL.type);
VULKAN_HPP_HASH_COMBINE(seed, performanceOverrideInfoINTEL.enable);
VULKAN_HPP_HASH_COMBINE(seed, performanceOverrideInfoINTEL.parameter);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PerformanceQuerySubmitInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PerformanceQuerySubmitInfoKHR const &performanceQuerySubmitInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, performanceQuerySubmitInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, performanceQuerySubmitInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, performanceQuerySubmitInfoKHR.counterPassIndex);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PerformanceStreamMarkerInfoINTEL>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PerformanceStreamMarkerInfoINTEL const &performanceStreamMarkerInfoINTEL) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, performanceStreamMarkerInfoINTEL.sType);
VULKAN_HPP_HASH_COMBINE(seed, performanceStreamMarkerInfoINTEL.pNext);
VULKAN_HPP_HASH_COMBINE(seed, performanceStreamMarkerInfoINTEL.marker);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevice16BitStorageFeatures>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevice16BitStorageFeatures const &physicalDevice16BitStorageFeatures) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDevice16BitStorageFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevice16BitStorageFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevice16BitStorageFeatures.storageBuffer16BitAccess);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevice16BitStorageFeatures.uniformAndStorageBuffer16BitAccess);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevice16BitStorageFeatures.storagePushConstant16);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevice16BitStorageFeatures.storageInputOutput16);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevice4444FormatsFeaturesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevice4444FormatsFeaturesEXT const &physicalDevice4444FormatsFeaturesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDevice4444FormatsFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevice4444FormatsFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevice4444FormatsFeaturesEXT.formatA4R4G4B4);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevice4444FormatsFeaturesEXT.formatA4B4G4R4);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevice8BitStorageFeatures>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevice8BitStorageFeatures const &physicalDevice8BitStorageFeatures) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDevice8BitStorageFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevice8BitStorageFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevice8BitStorageFeatures.storageBuffer8BitAccess);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevice8BitStorageFeatures.uniformAndStorageBuffer8BitAccess);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevice8BitStorageFeatures.storagePushConstant8);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceASTCDecodeFeaturesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceASTCDecodeFeaturesEXT const &physicalDeviceASTCDecodeFeaturesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceASTCDecodeFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceASTCDecodeFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceASTCDecodeFeaturesEXT.decodeModeSharedExponent);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceAccelerationStructureFeaturesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceAccelerationStructureFeaturesKHR const &physicalDeviceAccelerationStructureFeaturesKHR) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceAccelerationStructureFeaturesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceAccelerationStructureFeaturesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceAccelerationStructureFeaturesKHR.accelerationStructure);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceAccelerationStructureFeaturesKHR.accelerationStructureCaptureReplay);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceAccelerationStructureFeaturesKHR.accelerationStructureIndirectBuild);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceAccelerationStructureFeaturesKHR.accelerationStructureHostCommands);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceAccelerationStructureFeaturesKHR.descriptorBindingAccelerationStructureUpdateAfterBind);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceAccelerationStructurePropertiesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceAccelerationStructurePropertiesKHR const &physicalDeviceAccelerationStructurePropertiesKHR)
const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceAccelerationStructurePropertiesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceAccelerationStructurePropertiesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceAccelerationStructurePropertiesKHR.maxGeometryCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceAccelerationStructurePropertiesKHR.maxInstanceCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceAccelerationStructurePropertiesKHR.maxPrimitiveCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceAccelerationStructurePropertiesKHR.maxPerStageDescriptorAccelerationStructures);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceAccelerationStructurePropertiesKHR.maxPerStageDescriptorUpdateAfterBindAccelerationStructures);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceAccelerationStructurePropertiesKHR.maxDescriptorSetAccelerationStructures);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceAccelerationStructurePropertiesKHR.maxDescriptorSetUpdateAfterBindAccelerationStructures);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceAccelerationStructurePropertiesKHR.minAccelerationStructureScratchOffsetAlignment);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceBlendOperationAdvancedFeaturesEXT>
{
std::size_t operator()(
VULKAN_HPP_NAMESPACE::PhysicalDeviceBlendOperationAdvancedFeaturesEXT const &physicalDeviceBlendOperationAdvancedFeaturesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceBlendOperationAdvancedFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceBlendOperationAdvancedFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceBlendOperationAdvancedFeaturesEXT.advancedBlendCoherentOperations);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceBlendOperationAdvancedPropertiesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceBlendOperationAdvancedPropertiesEXT const &physicalDeviceBlendOperationAdvancedPropertiesEXT)
const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceBlendOperationAdvancedPropertiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceBlendOperationAdvancedPropertiesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceBlendOperationAdvancedPropertiesEXT.advancedBlendMaxColorAttachments);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceBlendOperationAdvancedPropertiesEXT.advancedBlendIndependentBlend);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceBlendOperationAdvancedPropertiesEXT.advancedBlendNonPremultipliedSrcColor);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceBlendOperationAdvancedPropertiesEXT.advancedBlendNonPremultipliedDstColor);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceBlendOperationAdvancedPropertiesEXT.advancedBlendCorrelatedOverlap);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceBlendOperationAdvancedPropertiesEXT.advancedBlendAllOperations);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceBorderColorSwizzleFeaturesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceBorderColorSwizzleFeaturesEXT const &physicalDeviceBorderColorSwizzleFeaturesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceBorderColorSwizzleFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceBorderColorSwizzleFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceBorderColorSwizzleFeaturesEXT.borderColorSwizzle);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceBorderColorSwizzleFeaturesEXT.borderColorSwizzleFromImage);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceBufferDeviceAddressFeatures>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceBufferDeviceAddressFeatures const &physicalDeviceBufferDeviceAddressFeatures) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceBufferDeviceAddressFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceBufferDeviceAddressFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceBufferDeviceAddressFeatures.bufferDeviceAddress);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceBufferDeviceAddressFeatures.bufferDeviceAddressCaptureReplay);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceBufferDeviceAddressFeatures.bufferDeviceAddressMultiDevice);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceBufferDeviceAddressFeaturesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceBufferDeviceAddressFeaturesEXT const &physicalDeviceBufferDeviceAddressFeaturesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceBufferDeviceAddressFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceBufferDeviceAddressFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceBufferDeviceAddressFeaturesEXT.bufferDeviceAddress);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceBufferDeviceAddressFeaturesEXT.bufferDeviceAddressCaptureReplay);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceBufferDeviceAddressFeaturesEXT.bufferDeviceAddressMultiDevice);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCoherentMemoryFeaturesAMD>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceCoherentMemoryFeaturesAMD const &physicalDeviceCoherentMemoryFeaturesAMD) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceCoherentMemoryFeaturesAMD.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceCoherentMemoryFeaturesAMD.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceCoherentMemoryFeaturesAMD.deviceCoherentMemory);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceColorWriteEnableFeaturesEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceColorWriteEnableFeaturesEXT const &physicalDeviceColorWriteEnableFeaturesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceColorWriteEnableFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceColorWriteEnableFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceColorWriteEnableFeaturesEXT.colorWriteEnable);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceComputeShaderDerivativesFeaturesNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceComputeShaderDerivativesFeaturesNV const &physicalDeviceComputeShaderDerivativesFeaturesNV)
const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceComputeShaderDerivativesFeaturesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceComputeShaderDerivativesFeaturesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceComputeShaderDerivativesFeaturesNV.computeDerivativeGroupQuads);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceComputeShaderDerivativesFeaturesNV.computeDerivativeGroupLinear);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceConditionalRenderingFeaturesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceConditionalRenderingFeaturesEXT const &physicalDeviceConditionalRenderingFeaturesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceConditionalRenderingFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceConditionalRenderingFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceConditionalRenderingFeaturesEXT.conditionalRendering);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceConditionalRenderingFeaturesEXT.inheritedConditionalRendering);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceConservativeRasterizationPropertiesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceConservativeRasterizationPropertiesEXT const &
physicalDeviceConservativeRasterizationPropertiesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceConservativeRasterizationPropertiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceConservativeRasterizationPropertiesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceConservativeRasterizationPropertiesEXT.primitiveOverestimationSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceConservativeRasterizationPropertiesEXT.maxExtraPrimitiveOverestimationSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceConservativeRasterizationPropertiesEXT.extraPrimitiveOverestimationSizeGranularity);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceConservativeRasterizationPropertiesEXT.primitiveUnderestimation);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceConservativeRasterizationPropertiesEXT.conservativePointAndLineRasterization);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceConservativeRasterizationPropertiesEXT.degenerateTrianglesRasterized);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceConservativeRasterizationPropertiesEXT.degenerateLinesRasterized);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceConservativeRasterizationPropertiesEXT.fullyCoveredFragmentShaderInputVariable);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceConservativeRasterizationPropertiesEXT.conservativeRasterizationPostDepthCoverage);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCooperativeMatrixFeaturesNV>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceCooperativeMatrixFeaturesNV const &physicalDeviceCooperativeMatrixFeaturesNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceCooperativeMatrixFeaturesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceCooperativeMatrixFeaturesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceCooperativeMatrixFeaturesNV.cooperativeMatrix);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceCooperativeMatrixFeaturesNV.cooperativeMatrixRobustBufferAccess);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCooperativeMatrixPropertiesNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceCooperativeMatrixPropertiesNV const &physicalDeviceCooperativeMatrixPropertiesNV) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceCooperativeMatrixPropertiesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceCooperativeMatrixPropertiesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceCooperativeMatrixPropertiesNV.cooperativeMatrixSupportedStages);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCornerSampledImageFeaturesNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceCornerSampledImageFeaturesNV const &physicalDeviceCornerSampledImageFeaturesNV) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceCornerSampledImageFeaturesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceCornerSampledImageFeaturesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceCornerSampledImageFeaturesNV.cornerSampledImage);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCoverageReductionModeFeaturesNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceCoverageReductionModeFeaturesNV const &physicalDeviceCoverageReductionModeFeaturesNV) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceCoverageReductionModeFeaturesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceCoverageReductionModeFeaturesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceCoverageReductionModeFeaturesNV.coverageReductionMode);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomBorderColorFeaturesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomBorderColorFeaturesEXT const &physicalDeviceCustomBorderColorFeaturesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceCustomBorderColorFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceCustomBorderColorFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceCustomBorderColorFeaturesEXT.customBorderColors);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceCustomBorderColorFeaturesEXT.customBorderColorWithoutFormat);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomBorderColorPropertiesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomBorderColorPropertiesEXT const &physicalDeviceCustomBorderColorPropertiesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceCustomBorderColorPropertiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceCustomBorderColorPropertiesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceCustomBorderColorPropertiesEXT.maxCustomBorderColorSamplers);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const &
physicalDeviceDedicatedAllocationImageAliasingFeaturesNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDedicatedAllocationImageAliasingFeaturesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDedicatedAllocationImageAliasingFeaturesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDedicatedAllocationImageAliasingFeaturesNV.dedicatedAllocationImageAliasing);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClipControlFeaturesEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClipControlFeaturesEXT const &physicalDeviceDepthClipControlFeaturesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDepthClipControlFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDepthClipControlFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDepthClipControlFeaturesEXT.depthClipControl);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClipEnableFeaturesEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClipEnableFeaturesEXT const &physicalDeviceDepthClipEnableFeaturesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDepthClipEnableFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDepthClipEnableFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDepthClipEnableFeaturesEXT.depthClipEnable);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthStencilResolveProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthStencilResolveProperties const &physicalDeviceDepthStencilResolveProperties) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDepthStencilResolveProperties.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDepthStencilResolveProperties.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDepthStencilResolveProperties.supportedDepthResolveModes);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDepthStencilResolveProperties.supportedStencilResolveModes);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDepthStencilResolveProperties.independentResolveNone);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDepthStencilResolveProperties.independentResolve);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorIndexingFeatures>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorIndexingFeatures const &physicalDeviceDescriptorIndexingFeatures) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingFeatures.shaderInputAttachmentArrayDynamicIndexing);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingFeatures.shaderUniformTexelBufferArrayDynamicIndexing);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingFeatures.shaderStorageTexelBufferArrayDynamicIndexing);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingFeatures.shaderUniformBufferArrayNonUniformIndexing);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingFeatures.shaderSampledImageArrayNonUniformIndexing);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingFeatures.shaderStorageBufferArrayNonUniformIndexing);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingFeatures.shaderStorageImageArrayNonUniformIndexing);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingFeatures.shaderInputAttachmentArrayNonUniformIndexing);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingFeatures.shaderUniformTexelBufferArrayNonUniformIndexing);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingFeatures.shaderStorageTexelBufferArrayNonUniformIndexing);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingFeatures.descriptorBindingUniformBufferUpdateAfterBind);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingFeatures.descriptorBindingSampledImageUpdateAfterBind);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingFeatures.descriptorBindingStorageImageUpdateAfterBind);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingFeatures.descriptorBindingStorageBufferUpdateAfterBind);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingFeatures.descriptorBindingUniformTexelBufferUpdateAfterBind);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingFeatures.descriptorBindingStorageTexelBufferUpdateAfterBind);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingFeatures.descriptorBindingUpdateUnusedWhilePending);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingFeatures.descriptorBindingPartiallyBound);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingFeatures.descriptorBindingVariableDescriptorCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingFeatures.runtimeDescriptorArray);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorIndexingProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorIndexingProperties const &physicalDeviceDescriptorIndexingProperties) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingProperties.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingProperties.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingProperties.maxUpdateAfterBindDescriptorsInAllPools);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingProperties.shaderUniformBufferArrayNonUniformIndexingNative);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingProperties.shaderSampledImageArrayNonUniformIndexingNative);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingProperties.shaderStorageBufferArrayNonUniformIndexingNative);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingProperties.shaderStorageImageArrayNonUniformIndexingNative);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingProperties.shaderInputAttachmentArrayNonUniformIndexingNative);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingProperties.robustBufferAccessUpdateAfterBind);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingProperties.quadDivergentImplicitLod);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingProperties.maxPerStageDescriptorUpdateAfterBindSamplers);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingProperties.maxPerStageDescriptorUpdateAfterBindUniformBuffers);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingProperties.maxPerStageDescriptorUpdateAfterBindStorageBuffers);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingProperties.maxPerStageDescriptorUpdateAfterBindSampledImages);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingProperties.maxPerStageDescriptorUpdateAfterBindStorageImages);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingProperties.maxPerStageDescriptorUpdateAfterBindInputAttachments);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingProperties.maxPerStageUpdateAfterBindResources);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingProperties.maxDescriptorSetUpdateAfterBindSamplers);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingProperties.maxDescriptorSetUpdateAfterBindUniformBuffers);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingProperties.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingProperties.maxDescriptorSetUpdateAfterBindStorageBuffers);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingProperties.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingProperties.maxDescriptorSetUpdateAfterBindSampledImages);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingProperties.maxDescriptorSetUpdateAfterBindStorageImages);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorIndexingProperties.maxDescriptorSetUpdateAfterBindInputAttachments);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE const &physicalDeviceDescriptorSetHostMappingFeaturesVALVE) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorSetHostMappingFeaturesVALVE.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorSetHostMappingFeaturesVALVE.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDescriptorSetHostMappingFeaturesVALVE.descriptorSetHostMapping);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDeviceGeneratedCommandsFeaturesNV>
{
std::size_t operator()(
VULKAN_HPP_NAMESPACE::PhysicalDeviceDeviceGeneratedCommandsFeaturesNV const &physicalDeviceDeviceGeneratedCommandsFeaturesNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDeviceGeneratedCommandsFeaturesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDeviceGeneratedCommandsFeaturesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDeviceGeneratedCommandsFeaturesNV.deviceGeneratedCommands);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDeviceGeneratedCommandsPropertiesNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDeviceGeneratedCommandsPropertiesNV const &physicalDeviceDeviceGeneratedCommandsPropertiesNV)
const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.maxGraphicsShaderGroupCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.maxIndirectSequenceCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.maxIndirectCommandsTokenCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.maxIndirectCommandsStreamCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.maxIndirectCommandsTokenOffset);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.maxIndirectCommandsStreamStride);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.minSequencesCountBufferOffsetAlignment);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.minSequencesIndexBufferOffsetAlignment);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDeviceGeneratedCommandsPropertiesNV.minIndirectCommandsBufferOffsetAlignment);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDeviceMemoryReportFeaturesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDeviceMemoryReportFeaturesEXT const &physicalDeviceDeviceMemoryReportFeaturesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDeviceMemoryReportFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDeviceMemoryReportFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDeviceMemoryReportFeaturesEXT.deviceMemoryReport);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDiagnosticsConfigFeaturesNV>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDiagnosticsConfigFeaturesNV const &physicalDeviceDiagnosticsConfigFeaturesNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDiagnosticsConfigFeaturesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDiagnosticsConfigFeaturesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDiagnosticsConfigFeaturesNV.diagnosticsConfig);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDiscardRectanglePropertiesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDiscardRectanglePropertiesEXT const &physicalDeviceDiscardRectanglePropertiesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDiscardRectanglePropertiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDiscardRectanglePropertiesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDiscardRectanglePropertiesEXT.maxDiscardRectangles);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDriverProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDriverProperties const &physicalDeviceDriverProperties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDriverProperties.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDriverProperties.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDriverProperties.driverID);
for(size_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDriverProperties.driverName[i]);
}
for(size_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDriverProperties.driverInfo[i]);
}
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDriverProperties.conformanceVersion);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDrmPropertiesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDrmPropertiesEXT const &physicalDeviceDrmPropertiesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDrmPropertiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDrmPropertiesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDrmPropertiesEXT.hasPrimary);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDrmPropertiesEXT.hasRender);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDrmPropertiesEXT.primaryMajor);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDrmPropertiesEXT.primaryMinor);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDrmPropertiesEXT.renderMajor);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDrmPropertiesEXT.renderMinor);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDynamicRenderingFeatures>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceDynamicRenderingFeatures const &physicalDeviceDynamicRenderingFeatures) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDynamicRenderingFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDynamicRenderingFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceDynamicRenderingFeatures.dynamicRendering);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExclusiveScissorFeaturesNV>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceExclusiveScissorFeaturesNV const &physicalDeviceExclusiveScissorFeaturesNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExclusiveScissorFeaturesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExclusiveScissorFeaturesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExclusiveScissorFeaturesNV.exclusiveScissor);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExtendedDynamicState2FeaturesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceExtendedDynamicState2FeaturesEXT const &physicalDeviceExtendedDynamicState2FeaturesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExtendedDynamicState2FeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExtendedDynamicState2FeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExtendedDynamicState2FeaturesEXT.extendedDynamicState2);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExtendedDynamicState2FeaturesEXT.extendedDynamicState2LogicOp);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExtendedDynamicState2FeaturesEXT.extendedDynamicState2PatchControlPoints);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExtendedDynamicStateFeaturesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceExtendedDynamicStateFeaturesEXT const &physicalDeviceExtendedDynamicStateFeaturesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExtendedDynamicStateFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExtendedDynamicStateFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExtendedDynamicStateFeaturesEXT.extendedDynamicState);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo const &physicalDeviceExternalBufferInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExternalBufferInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExternalBufferInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExternalBufferInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExternalBufferInfo.usage);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExternalBufferInfo.handleType);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo const &physicalDeviceExternalFenceInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExternalFenceInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExternalFenceInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExternalFenceInfo.handleType);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalImageFormatInfo>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalImageFormatInfo const &physicalDeviceExternalImageFormatInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExternalImageFormatInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExternalImageFormatInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExternalImageFormatInfo.handleType);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalMemoryHostPropertiesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalMemoryHostPropertiesEXT const &physicalDeviceExternalMemoryHostPropertiesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExternalMemoryHostPropertiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExternalMemoryHostPropertiesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExternalMemoryHostPropertiesEXT.minImportedHostPointerAlignment);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalMemoryRDMAFeaturesNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalMemoryRDMAFeaturesNV const &physicalDeviceExternalMemoryRDMAFeaturesNV) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExternalMemoryRDMAFeaturesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExternalMemoryRDMAFeaturesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExternalMemoryRDMAFeaturesNV.externalMemoryRDMA);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo const &physicalDeviceExternalSemaphoreInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExternalSemaphoreInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExternalSemaphoreInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceExternalSemaphoreInfo.handleType);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 const &physicalDeviceFeatures2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures2.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFeatures2.features);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFloatControlsProperties>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFloatControlsProperties const &physicalDeviceFloatControlsProperties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFloatControlsProperties.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFloatControlsProperties.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFloatControlsProperties.denormBehaviorIndependence);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFloatControlsProperties.roundingModeIndependence);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFloatControlsProperties.shaderSignedZeroInfNanPreserveFloat16);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFloatControlsProperties.shaderSignedZeroInfNanPreserveFloat32);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFloatControlsProperties.shaderSignedZeroInfNanPreserveFloat64);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFloatControlsProperties.shaderDenormPreserveFloat16);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFloatControlsProperties.shaderDenormPreserveFloat32);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFloatControlsProperties.shaderDenormPreserveFloat64);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFloatControlsProperties.shaderDenormFlushToZeroFloat16);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFloatControlsProperties.shaderDenormFlushToZeroFloat32);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFloatControlsProperties.shaderDenormFlushToZeroFloat64);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFloatControlsProperties.shaderRoundingModeRTEFloat16);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFloatControlsProperties.shaderRoundingModeRTEFloat32);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFloatControlsProperties.shaderRoundingModeRTEFloat64);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFloatControlsProperties.shaderRoundingModeRTZFloat16);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFloatControlsProperties.shaderRoundingModeRTZFloat32);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFloatControlsProperties.shaderRoundingModeRTZFloat64);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMap2FeaturesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMap2FeaturesEXT const &physicalDeviceFragmentDensityMap2FeaturesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentDensityMap2FeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentDensityMap2FeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentDensityMap2FeaturesEXT.fragmentDensityMapDeferred);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMap2PropertiesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMap2PropertiesEXT const &physicalDeviceFragmentDensityMap2PropertiesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentDensityMap2PropertiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentDensityMap2PropertiesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentDensityMap2PropertiesEXT.subsampledLoads);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentDensityMap2PropertiesEXT.subsampledCoarseReconstructionEarlyAccess);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentDensityMap2PropertiesEXT.maxSubsampledArrayLayers);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentDensityMap2PropertiesEXT.maxDescriptorSetSubsampledSamplers);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapFeaturesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapFeaturesEXT const &physicalDeviceFragmentDensityMapFeaturesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentDensityMapFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentDensityMapFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentDensityMapFeaturesEXT.fragmentDensityMap);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentDensityMapFeaturesEXT.fragmentDensityMapDynamic);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentDensityMapFeaturesEXT.fragmentDensityMapNonSubsampledImages);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM const &physicalDeviceFragmentDensityMapOffsetFeaturesQCOM) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentDensityMapOffsetFeaturesQCOM.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentDensityMapOffsetFeaturesQCOM.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentDensityMapOffsetFeaturesQCOM.fragmentDensityMapOffset);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM const &
physicalDeviceFragmentDensityMapOffsetPropertiesQCOM) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentDensityMapOffsetPropertiesQCOM.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentDensityMapOffsetPropertiesQCOM.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentDensityMapOffsetPropertiesQCOM.fragmentDensityOffsetGranularity);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapPropertiesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapPropertiesEXT const &physicalDeviceFragmentDensityMapPropertiesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentDensityMapPropertiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentDensityMapPropertiesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentDensityMapPropertiesEXT.minFragmentDensityTexelSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentDensityMapPropertiesEXT.maxFragmentDensityTexelSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentDensityMapPropertiesEXT.fragmentDensityInvocations);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShaderBarycentricFeaturesNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShaderBarycentricFeaturesNV const &physicalDeviceFragmentShaderBarycentricFeaturesNV)
const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShaderBarycentricFeaturesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShaderBarycentricFeaturesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShaderBarycentricFeaturesNV.fragmentShaderBarycentric);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShaderInterlockFeaturesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShaderInterlockFeaturesEXT const &physicalDeviceFragmentShaderInterlockFeaturesEXT)
const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShaderInterlockFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShaderInterlockFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShaderInterlockFeaturesEXT.fragmentShaderSampleInterlock);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShaderInterlockFeaturesEXT.fragmentShaderPixelInterlock);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShaderInterlockFeaturesEXT.fragmentShaderShadingRateInterlock);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateEnumsFeaturesNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateEnumsFeaturesNV const &physicalDeviceFragmentShadingRateEnumsFeaturesNV)
const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRateEnumsFeaturesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRateEnumsFeaturesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRateEnumsFeaturesNV.fragmentShadingRateEnums);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRateEnumsFeaturesNV.supersampleFragmentShadingRates);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRateEnumsFeaturesNV.noInvocationFragmentShadingRates);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateEnumsPropertiesNV>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateEnumsPropertiesNV const &physicalDeviceFragmentShadingRateEnumsPropertiesNV) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRateEnumsPropertiesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRateEnumsPropertiesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRateEnumsPropertiesNV.maxFragmentShadingRateInvocationCount);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateFeaturesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateFeaturesKHR const &physicalDeviceFragmentShadingRateFeaturesKHR) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRateFeaturesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRateFeaturesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRateFeaturesKHR.pipelineFragmentShadingRate);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRateFeaturesKHR.primitiveFragmentShadingRate);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRateFeaturesKHR.attachmentFragmentShadingRate);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR const &physicalDeviceFragmentShadingRateKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRateKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRateKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRateKHR.sampleCounts);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRateKHR.fragmentSize);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRatePropertiesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRatePropertiesKHR const &physicalDeviceFragmentShadingRatePropertiesKHR) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRatePropertiesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRatePropertiesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRatePropertiesKHR.minFragmentShadingRateAttachmentTexelSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRatePropertiesKHR.maxFragmentShadingRateAttachmentTexelSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRatePropertiesKHR.maxFragmentShadingRateAttachmentTexelSizeAspectRatio);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRatePropertiesKHR.primitiveFragmentShadingRateWithMultipleViewports);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRatePropertiesKHR.layeredShadingRateAttachments);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRatePropertiesKHR.fragmentShadingRateNonTrivialCombinerOps);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRatePropertiesKHR.maxFragmentSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRatePropertiesKHR.maxFragmentSizeAspectRatio);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRatePropertiesKHR.maxFragmentShadingRateCoverageSamples);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRatePropertiesKHR.maxFragmentShadingRateRasterizationSamples);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRatePropertiesKHR.fragmentShadingRateWithShaderDepthStencilWrites);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRatePropertiesKHR.fragmentShadingRateWithSampleMask);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRatePropertiesKHR.fragmentShadingRateWithShaderSampleMask);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRatePropertiesKHR.fragmentShadingRateWithConservativeRasterization);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRatePropertiesKHR.fragmentShadingRateWithFragmentShaderInterlock);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRatePropertiesKHR.fragmentShadingRateWithCustomSampleLocations);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceFragmentShadingRatePropertiesKHR.fragmentShadingRateStrictMultiplyCombiner);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceGlobalPriorityQueryFeaturesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceGlobalPriorityQueryFeaturesKHR const &physicalDeviceGlobalPriorityQueryFeaturesKHR) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceGlobalPriorityQueryFeaturesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceGlobalPriorityQueryFeaturesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceGlobalPriorityQueryFeaturesKHR.globalPriorityQuery);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT const &physicalDeviceGraphicsPipelineLibraryFeaturesEXT)
const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceGraphicsPipelineLibraryFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceGraphicsPipelineLibraryFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceGraphicsPipelineLibraryFeaturesEXT.graphicsPipelineLibrary);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT const &physicalDeviceGraphicsPipelineLibraryPropertiesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceGraphicsPipelineLibraryPropertiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceGraphicsPipelineLibraryPropertiesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceGraphicsPipelineLibraryPropertiesEXT.graphicsPipelineLibraryFastLinking);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceGraphicsPipelineLibraryPropertiesEXT.graphicsPipelineLibraryIndependentInterpolationDecoration);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties const &physicalDeviceGroupProperties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceGroupProperties.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceGroupProperties.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceGroupProperties.physicalDeviceCount);
for(size_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceGroupProperties.physicalDevices[i]);
}
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceGroupProperties.subsetAllocation);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceHostQueryResetFeatures>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceHostQueryResetFeatures const &physicalDeviceHostQueryResetFeatures) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceHostQueryResetFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceHostQueryResetFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceHostQueryResetFeatures.hostQueryReset);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceIDProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceIDProperties const &physicalDeviceIDProperties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceIDProperties.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceIDProperties.pNext);
for(size_t i = 0; i < VK_UUID_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceIDProperties.deviceUUID[i]);
}
for(size_t i = 0; i < VK_UUID_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceIDProperties.driverUUID[i]);
}
for(size_t i = 0; i < VK_LUID_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceIDProperties.deviceLUID[i]);
}
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceIDProperties.deviceNodeMask);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceIDProperties.deviceLUIDValid);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImage2DViewOf3DFeaturesEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceImage2DViewOf3DFeaturesEXT const &physicalDeviceImage2DViewOf3DFeaturesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImage2DViewOf3DFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImage2DViewOf3DFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImage2DViewOf3DFeaturesEXT.image2DViewOf3D);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImage2DViewOf3DFeaturesEXT.sampler2DViewOf3D);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageDrmFormatModifierInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceImageDrmFormatModifierInfoEXT const &physicalDeviceImageDrmFormatModifierInfoEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImageDrmFormatModifierInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImageDrmFormatModifierInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImageDrmFormatModifierInfoEXT.drmFormatModifier);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImageDrmFormatModifierInfoEXT.sharingMode);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImageDrmFormatModifierInfoEXT.queueFamilyIndexCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImageDrmFormatModifierInfoEXT.pQueueFamilyIndices);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 const &physicalDeviceImageFormatInfo2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImageFormatInfo2.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImageFormatInfo2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImageFormatInfo2.format);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImageFormatInfo2.type);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImageFormatInfo2.tiling);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImageFormatInfo2.usage);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImageFormatInfo2.flags);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageRobustnessFeatures>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceImageRobustnessFeatures const &physicalDeviceImageRobustnessFeatures) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImageRobustnessFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImageRobustnessFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImageRobustnessFeatures.robustImageAccess);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageViewImageFormatInfoEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceImageViewImageFormatInfoEXT const &physicalDeviceImageViewImageFormatInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImageViewImageFormatInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImageViewImageFormatInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImageViewImageFormatInfoEXT.imageViewType);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageViewMinLodFeaturesEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceImageViewMinLodFeaturesEXT const &physicalDeviceImageViewMinLodFeaturesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImageViewMinLodFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImageViewMinLodFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImageViewMinLodFeaturesEXT.minLod);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImagelessFramebufferFeatures>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceImagelessFramebufferFeatures const &physicalDeviceImagelessFramebufferFeatures) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImagelessFramebufferFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImagelessFramebufferFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceImagelessFramebufferFeatures.imagelessFramebuffer);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceIndexTypeUint8FeaturesEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceIndexTypeUint8FeaturesEXT const &physicalDeviceIndexTypeUint8FeaturesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceIndexTypeUint8FeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceIndexTypeUint8FeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceIndexTypeUint8FeaturesEXT.indexTypeUint8);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceInheritedViewportScissorFeaturesNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceInheritedViewportScissorFeaturesNV const &physicalDeviceInheritedViewportScissorFeaturesNV)
const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceInheritedViewportScissorFeaturesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceInheritedViewportScissorFeaturesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceInheritedViewportScissorFeaturesNV.inheritedViewportScissor2D);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceInlineUniformBlockFeatures>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceInlineUniformBlockFeatures const &physicalDeviceInlineUniformBlockFeatures) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceInlineUniformBlockFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceInlineUniformBlockFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceInlineUniformBlockFeatures.inlineUniformBlock);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceInlineUniformBlockFeatures.descriptorBindingInlineUniformBlockUpdateAfterBind);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceInlineUniformBlockProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceInlineUniformBlockProperties const &physicalDeviceInlineUniformBlockProperties) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceInlineUniformBlockProperties.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceInlineUniformBlockProperties.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceInlineUniformBlockProperties.maxInlineUniformBlockSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceInlineUniformBlockProperties.maxPerStageDescriptorInlineUniformBlocks);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceInlineUniformBlockProperties.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceInlineUniformBlockProperties.maxDescriptorSetInlineUniformBlocks);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceInlineUniformBlockProperties.maxDescriptorSetUpdateAfterBindInlineUniformBlocks);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceInvocationMaskFeaturesHUAWEI>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceInvocationMaskFeaturesHUAWEI const &physicalDeviceInvocationMaskFeaturesHUAWEI) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceInvocationMaskFeaturesHUAWEI.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceInvocationMaskFeaturesHUAWEI.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceInvocationMaskFeaturesHUAWEI.invocationMask);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceLimits>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceLimits const &physicalDeviceLimits) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxImageDimension1D);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxImageDimension2D);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxImageDimension3D);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxImageDimensionCube);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxImageArrayLayers);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxTexelBufferElements);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxUniformBufferRange);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxStorageBufferRange);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxPushConstantsSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxMemoryAllocationCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxSamplerAllocationCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.bufferImageGranularity);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.sparseAddressSpaceSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxBoundDescriptorSets);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxPerStageDescriptorSamplers);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxPerStageDescriptorUniformBuffers);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxPerStageDescriptorStorageBuffers);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxPerStageDescriptorSampledImages);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxPerStageDescriptorStorageImages);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxPerStageDescriptorInputAttachments);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxPerStageResources);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxDescriptorSetSamplers);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxDescriptorSetUniformBuffers);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxDescriptorSetUniformBuffersDynamic);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxDescriptorSetStorageBuffers);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxDescriptorSetStorageBuffersDynamic);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxDescriptorSetSampledImages);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxDescriptorSetStorageImages);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxDescriptorSetInputAttachments);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxVertexInputAttributes);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxVertexInputBindings);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxVertexInputAttributeOffset);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxVertexInputBindingStride);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxVertexOutputComponents);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxTessellationGenerationLevel);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxTessellationPatchSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxTessellationControlPerVertexInputComponents);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxTessellationControlPerVertexOutputComponents);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxTessellationControlPerPatchOutputComponents);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxTessellationControlTotalOutputComponents);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxTessellationEvaluationInputComponents);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxTessellationEvaluationOutputComponents);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxGeometryShaderInvocations);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxGeometryInputComponents);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxGeometryOutputComponents);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxGeometryOutputVertices);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxGeometryTotalOutputComponents);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxFragmentInputComponents);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxFragmentOutputAttachments);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxFragmentDualSrcAttachments);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxFragmentCombinedOutputResources);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxComputeSharedMemorySize);
for(size_t i = 0; i < 3; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxComputeWorkGroupCount[i]);
}
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxComputeWorkGroupInvocations);
for(size_t i = 0; i < 3; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxComputeWorkGroupSize[i]);
}
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.subPixelPrecisionBits);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.subTexelPrecisionBits);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.mipmapPrecisionBits);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxDrawIndexedIndexValue);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxDrawIndirectCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxSamplerLodBias);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxSamplerAnisotropy);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxViewports);
for(size_t i = 0; i < 2; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxViewportDimensions[i]);
}
for(size_t i = 0; i < 2; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.viewportBoundsRange[i]);
}
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.viewportSubPixelBits);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.minMemoryMapAlignment);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.minTexelBufferOffsetAlignment);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.minUniformBufferOffsetAlignment);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.minStorageBufferOffsetAlignment);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.minTexelOffset);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxTexelOffset);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.minTexelGatherOffset);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxTexelGatherOffset);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.minInterpolationOffset);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxInterpolationOffset);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.subPixelInterpolationOffsetBits);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxFramebufferWidth);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxFramebufferHeight);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxFramebufferLayers);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.framebufferColorSampleCounts);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.framebufferDepthSampleCounts);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.framebufferStencilSampleCounts);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.framebufferNoAttachmentsSampleCounts);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxColorAttachments);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.sampledImageColorSampleCounts);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.sampledImageIntegerSampleCounts);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.sampledImageDepthSampleCounts);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.sampledImageStencilSampleCounts);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.storageImageSampleCounts);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxSampleMaskWords);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.timestampComputeAndGraphics);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.timestampPeriod);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxClipDistances);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxCullDistances);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.maxCombinedClipAndCullDistances);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.discreteQueuePriorities);
for(size_t i = 0; i < 2; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.pointSizeRange[i]);
}
for(size_t i = 0; i < 2; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.lineWidthRange[i]);
}
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.pointSizeGranularity);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.lineWidthGranularity);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.strictLines);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.standardSampleLocations);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.optimalBufferCopyOffsetAlignment);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.optimalBufferCopyRowPitchAlignment);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLimits.nonCoherentAtomSize);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationFeaturesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationFeaturesEXT const &physicalDeviceLineRasterizationFeaturesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLineRasterizationFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLineRasterizationFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLineRasterizationFeaturesEXT.rectangularLines);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLineRasterizationFeaturesEXT.bresenhamLines);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLineRasterizationFeaturesEXT.smoothLines);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLineRasterizationFeaturesEXT.stippledRectangularLines);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLineRasterizationFeaturesEXT.stippledBresenhamLines);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLineRasterizationFeaturesEXT.stippledSmoothLines);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationPropertiesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationPropertiesEXT const &physicalDeviceLineRasterizationPropertiesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLineRasterizationPropertiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLineRasterizationPropertiesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLineRasterizationPropertiesEXT.lineSubPixelPrecisionBits);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceLinearColorAttachmentFeaturesNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceLinearColorAttachmentFeaturesNV const &physicalDeviceLinearColorAttachmentFeaturesNV) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLinearColorAttachmentFeaturesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLinearColorAttachmentFeaturesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceLinearColorAttachmentFeaturesNV.linearColorAttachment);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance3Properties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance3Properties const &physicalDeviceMaintenance3Properties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMaintenance3Properties.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMaintenance3Properties.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMaintenance3Properties.maxPerSetDescriptors);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMaintenance3Properties.maxMemoryAllocationSize);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance4Features>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance4Features const &physicalDeviceMaintenance4Features) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMaintenance4Features.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMaintenance4Features.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMaintenance4Features.maintenance4);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance4Properties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance4Properties const &physicalDeviceMaintenance4Properties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMaintenance4Properties.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMaintenance4Properties.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMaintenance4Properties.maxBufferSize);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryBudgetPropertiesEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryBudgetPropertiesEXT const &physicalDeviceMemoryBudgetPropertiesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMemoryBudgetPropertiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMemoryBudgetPropertiesEXT.pNext);
for(size_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMemoryBudgetPropertiesEXT.heapBudget[i]);
}
for(size_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMemoryBudgetPropertiesEXT.heapUsage[i]);
}
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryPriorityFeaturesEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryPriorityFeaturesEXT const &physicalDeviceMemoryPriorityFeaturesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMemoryPriorityFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMemoryPriorityFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMemoryPriorityFeaturesEXT.memoryPriority);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties const &physicalDeviceMemoryProperties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMemoryProperties.memoryTypeCount);
for(size_t i = 0; i < VK_MAX_MEMORY_TYPES; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMemoryProperties.memoryTypes[i]);
}
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMemoryProperties.memoryHeapCount);
for(size_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMemoryProperties.memoryHeaps[i]);
}
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 const &physicalDeviceMemoryProperties2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMemoryProperties2.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMemoryProperties2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMemoryProperties2.memoryProperties);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMeshShaderFeaturesNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMeshShaderFeaturesNV const &physicalDeviceMeshShaderFeaturesNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMeshShaderFeaturesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMeshShaderFeaturesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMeshShaderFeaturesNV.taskShader);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMeshShaderFeaturesNV.meshShader);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMeshShaderPropertiesNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMeshShaderPropertiesNV const &physicalDeviceMeshShaderPropertiesNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMeshShaderPropertiesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMeshShaderPropertiesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMeshShaderPropertiesNV.maxDrawMeshTasksCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMeshShaderPropertiesNV.maxTaskWorkGroupInvocations);
for(size_t i = 0; i < 3; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMeshShaderPropertiesNV.maxTaskWorkGroupSize[i]);
}
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMeshShaderPropertiesNV.maxTaskTotalMemorySize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMeshShaderPropertiesNV.maxTaskOutputCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMeshShaderPropertiesNV.maxMeshWorkGroupInvocations);
for(size_t i = 0; i < 3; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMeshShaderPropertiesNV.maxMeshWorkGroupSize[i]);
}
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMeshShaderPropertiesNV.maxMeshTotalMemorySize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMeshShaderPropertiesNV.maxMeshOutputVertices);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMeshShaderPropertiesNV.maxMeshOutputPrimitives);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMeshShaderPropertiesNV.maxMeshMultiviewViewCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMeshShaderPropertiesNV.meshOutputPerVertexGranularity);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMeshShaderPropertiesNV.meshOutputPerPrimitiveGranularity);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiDrawFeaturesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiDrawFeaturesEXT const &physicalDeviceMultiDrawFeaturesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMultiDrawFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMultiDrawFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMultiDrawFeaturesEXT.multiDraw);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiDrawPropertiesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiDrawPropertiesEXT const &physicalDeviceMultiDrawPropertiesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMultiDrawPropertiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMultiDrawPropertiesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMultiDrawPropertiesEXT.maxMultiDrawCount);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewFeatures>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewFeatures const &physicalDeviceMultiviewFeatures) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMultiviewFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMultiviewFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMultiviewFeatures.multiview);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMultiviewFeatures.multiviewGeometryShader);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMultiviewFeatures.multiviewTessellationShader);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const &
physicalDeviceMultiviewPerViewAttributesPropertiesNVX) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMultiviewPerViewAttributesPropertiesNVX.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMultiviewPerViewAttributesPropertiesNVX.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMultiviewPerViewAttributesPropertiesNVX.perViewPositionAllComponents);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewProperties const &physicalDeviceMultiviewProperties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMultiviewProperties.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMultiviewProperties.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMultiviewProperties.maxMultiviewViewCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMultiviewProperties.maxMultiviewInstanceIndex);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMutableDescriptorTypeFeaturesVALVE>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceMutableDescriptorTypeFeaturesVALVE const &physicalDeviceMutableDescriptorTypeFeaturesVALVE)
const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMutableDescriptorTypeFeaturesVALVE.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMutableDescriptorTypeFeaturesVALVE.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceMutableDescriptorTypeFeaturesVALVE.mutableDescriptorType);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePCIBusInfoPropertiesEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePCIBusInfoPropertiesEXT const &physicalDevicePCIBusInfoPropertiesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePCIBusInfoPropertiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePCIBusInfoPropertiesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePCIBusInfoPropertiesEXT.pciDomain);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePCIBusInfoPropertiesEXT.pciBus);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePCIBusInfoPropertiesEXT.pciDevice);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePCIBusInfoPropertiesEXT.pciFunction);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT const &physicalDevicePageableDeviceLocalMemoryFeaturesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePageableDeviceLocalMemoryFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePageableDeviceLocalMemoryFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePageableDeviceLocalMemoryFeaturesEXT.pageableDeviceLocalMemory);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePerformanceQueryFeaturesKHR>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePerformanceQueryFeaturesKHR const &physicalDevicePerformanceQueryFeaturesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePerformanceQueryFeaturesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePerformanceQueryFeaturesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePerformanceQueryFeaturesKHR.performanceCounterQueryPools);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePerformanceQueryFeaturesKHR.performanceCounterMultipleQueryPools);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePerformanceQueryPropertiesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePerformanceQueryPropertiesKHR const &physicalDevicePerformanceQueryPropertiesKHR) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePerformanceQueryPropertiesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePerformanceQueryPropertiesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePerformanceQueryPropertiesKHR.allowCommandBufferQueryCopies);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineCreationCacheControlFeatures>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineCreationCacheControlFeatures const &physicalDevicePipelineCreationCacheControlFeatures) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePipelineCreationCacheControlFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePipelineCreationCacheControlFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePipelineCreationCacheControlFeatures.pipelineCreationCacheControl);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineExecutablePropertiesFeaturesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineExecutablePropertiesFeaturesKHR const &
physicalDevicePipelineExecutablePropertiesFeaturesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePipelineExecutablePropertiesFeaturesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePipelineExecutablePropertiesFeaturesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePipelineExecutablePropertiesFeaturesKHR.pipelineExecutableInfo);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePointClippingProperties>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePointClippingProperties const &physicalDevicePointClippingProperties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePointClippingProperties.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePointClippingProperties.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePointClippingProperties.pointClippingBehavior);
return seed;
}
};
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePortabilitySubsetFeaturesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePortabilitySubsetFeaturesKHR const &physicalDevicePortabilitySubsetFeaturesKHR) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePortabilitySubsetFeaturesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePortabilitySubsetFeaturesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePortabilitySubsetFeaturesKHR.constantAlphaColorBlendFactors);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePortabilitySubsetFeaturesKHR.events);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePortabilitySubsetFeaturesKHR.imageViewFormatReinterpretation);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePortabilitySubsetFeaturesKHR.imageViewFormatSwizzle);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePortabilitySubsetFeaturesKHR.imageView2DOn3DImage);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePortabilitySubsetFeaturesKHR.multisampleArrayImage);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePortabilitySubsetFeaturesKHR.mutableComparisonSamplers);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePortabilitySubsetFeaturesKHR.pointPolygons);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePortabilitySubsetFeaturesKHR.samplerMipLodBias);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePortabilitySubsetFeaturesKHR.separateStencilMaskRef);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePortabilitySubsetFeaturesKHR.shaderSampleRateInterpolationFunctions);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePortabilitySubsetFeaturesKHR.tessellationIsolines);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePortabilitySubsetFeaturesKHR.tessellationPointMode);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePortabilitySubsetFeaturesKHR.triangleFans);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePortabilitySubsetFeaturesKHR.vertexAttributeAccessBeyondStride);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePortabilitySubsetPropertiesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePortabilitySubsetPropertiesKHR const &physicalDevicePortabilitySubsetPropertiesKHR) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePortabilitySubsetPropertiesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePortabilitySubsetPropertiesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePortabilitySubsetPropertiesKHR.minVertexInputBindingStrideAlignment);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePresentIdFeaturesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePresentIdFeaturesKHR const &physicalDevicePresentIdFeaturesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePresentIdFeaturesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePresentIdFeaturesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePresentIdFeaturesKHR.presentId);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePresentWaitFeaturesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePresentWaitFeaturesKHR const &physicalDevicePresentWaitFeaturesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePresentWaitFeaturesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePresentWaitFeaturesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePresentWaitFeaturesKHR.presentWait);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT const &
physicalDevicePrimitiveTopologyListRestartFeaturesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePrimitiveTopologyListRestartFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePrimitiveTopologyListRestartFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePrimitiveTopologyListRestartFeaturesEXT.primitiveTopologyListRestart);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePrimitiveTopologyListRestartFeaturesEXT.primitiveTopologyPatchListRestart);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT const &physicalDevicePrimitivesGeneratedQueryFeaturesEXT)
const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePrimitivesGeneratedQueryFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePrimitivesGeneratedQueryFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePrimitivesGeneratedQueryFeaturesEXT.primitivesGeneratedQuery);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePrimitivesGeneratedQueryFeaturesEXT.primitivesGeneratedQueryWithRasterizerDiscard);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePrimitivesGeneratedQueryFeaturesEXT.primitivesGeneratedQueryWithNonZeroStreams);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePrivateDataFeatures>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePrivateDataFeatures const &physicalDevicePrivateDataFeatures) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePrivateDataFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePrivateDataFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePrivateDataFeatures.privateData);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseProperties const &physicalDeviceSparseProperties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSparseProperties.residencyStandard2DBlockShape);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSparseProperties.residencyStandard2DMultisampleBlockShape);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSparseProperties.residencyStandard3DBlockShape);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSparseProperties.residencyAlignedMipSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSparseProperties.residencyNonResidentStrict);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties const &physicalDeviceProperties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProperties.apiVersion);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProperties.driverVersion);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProperties.vendorID);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProperties.deviceID);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProperties.deviceType);
for(size_t i = 0; i < VK_MAX_PHYSICAL_DEVICE_NAME_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProperties.deviceName[i]);
}
for(size_t i = 0; i < VK_UUID_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProperties.pipelineCacheUUID[i]);
}
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProperties.limits);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProperties.sparseProperties);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 const &physicalDeviceProperties2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProperties2.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProperties2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProperties2.properties);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceProtectedMemoryFeatures>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceProtectedMemoryFeatures const &physicalDeviceProtectedMemoryFeatures) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProtectedMemoryFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProtectedMemoryFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProtectedMemoryFeatures.protectedMemory);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceProtectedMemoryProperties>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceProtectedMemoryProperties const &physicalDeviceProtectedMemoryProperties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProtectedMemoryProperties.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProtectedMemoryProperties.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProtectedMemoryProperties.protectedNoFault);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceProvokingVertexFeaturesEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceProvokingVertexFeaturesEXT const &physicalDeviceProvokingVertexFeaturesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProvokingVertexFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProvokingVertexFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProvokingVertexFeaturesEXT.provokingVertexLast);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProvokingVertexFeaturesEXT.transformFeedbackPreservesProvokingVertex);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceProvokingVertexPropertiesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceProvokingVertexPropertiesEXT const &physicalDeviceProvokingVertexPropertiesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProvokingVertexPropertiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProvokingVertexPropertiesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProvokingVertexPropertiesEXT.provokingVertexModePerPipeline);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceProvokingVertexPropertiesEXT.transformFeedbackPreservesTriangleFanProvokingVertex);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePushDescriptorPropertiesKHR>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDevicePushDescriptorPropertiesKHR const &physicalDevicePushDescriptorPropertiesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePushDescriptorPropertiesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePushDescriptorPropertiesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDevicePushDescriptorPropertiesKHR.maxPushDescriptors);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRGBA10X6FormatsFeaturesEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceRGBA10X6FormatsFeaturesEXT const &physicalDeviceRGBA10X6FormatsFeaturesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRGBA10X6FormatsFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRGBA10X6FormatsFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRGBA10X6FormatsFeaturesEXT.formatRgba10x6WithoutYCbCrSampler);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM const &
physicalDeviceRasterizationOrderAttachmentAccessFeaturesARM) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRasterizationOrderAttachmentAccessFeaturesARM.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRasterizationOrderAttachmentAccessFeaturesARM.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRasterizationOrderAttachmentAccessFeaturesARM.rasterizationOrderColorAttachmentAccess);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRasterizationOrderAttachmentAccessFeaturesARM.rasterizationOrderDepthAttachmentAccess);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRasterizationOrderAttachmentAccessFeaturesARM.rasterizationOrderStencilAttachmentAccess);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayQueryFeaturesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceRayQueryFeaturesKHR const &physicalDeviceRayQueryFeaturesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayQueryFeaturesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayQueryFeaturesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayQueryFeaturesKHR.rayQuery);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingMotionBlurFeaturesNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingMotionBlurFeaturesNV const &physicalDeviceRayTracingMotionBlurFeaturesNV) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingMotionBlurFeaturesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingMotionBlurFeaturesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingMotionBlurFeaturesNV.rayTracingMotionBlur);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingMotionBlurFeaturesNV.rayTracingMotionBlurPipelineTraceRaysIndirect);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelineFeaturesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelineFeaturesKHR const &physicalDeviceRayTracingPipelineFeaturesKHR) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPipelineFeaturesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPipelineFeaturesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPipelineFeaturesKHR.rayTracingPipeline);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPipelineFeaturesKHR.rayTracingPipelineShaderGroupHandleCaptureReplay);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPipelineFeaturesKHR.rayTracingPipelineShaderGroupHandleCaptureReplayMixed);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPipelineFeaturesKHR.rayTracingPipelineTraceRaysIndirect);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPipelineFeaturesKHR.rayTraversalPrimitiveCulling);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelinePropertiesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelinePropertiesKHR const &physicalDeviceRayTracingPipelinePropertiesKHR) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPipelinePropertiesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPipelinePropertiesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPipelinePropertiesKHR.shaderGroupHandleSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPipelinePropertiesKHR.maxRayRecursionDepth);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPipelinePropertiesKHR.maxShaderGroupStride);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPipelinePropertiesKHR.shaderGroupBaseAlignment);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPipelinePropertiesKHR.shaderGroupHandleCaptureReplaySize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPipelinePropertiesKHR.maxRayDispatchInvocationCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPipelinePropertiesKHR.shaderGroupHandleAlignment);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPipelinePropertiesKHR.maxRayHitAttributeSize);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPropertiesNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPropertiesNV const &physicalDeviceRayTracingPropertiesNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPropertiesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPropertiesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPropertiesNV.shaderGroupHandleSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPropertiesNV.maxRecursionDepth);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPropertiesNV.maxShaderGroupStride);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPropertiesNV.shaderGroupBaseAlignment);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPropertiesNV.maxGeometryCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPropertiesNV.maxInstanceCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPropertiesNV.maxTriangleCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRayTracingPropertiesNV.maxDescriptorSetAccelerationStructures);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRepresentativeFragmentTestFeaturesNV>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceRepresentativeFragmentTestFeaturesNV const &physicalDeviceRepresentativeFragmentTestFeaturesNV) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRepresentativeFragmentTestFeaturesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRepresentativeFragmentTestFeaturesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRepresentativeFragmentTestFeaturesNV.representativeFragmentTest);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRobustness2FeaturesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceRobustness2FeaturesEXT const &physicalDeviceRobustness2FeaturesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRobustness2FeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRobustness2FeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRobustness2FeaturesEXT.robustBufferAccess2);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRobustness2FeaturesEXT.robustImageAccess2);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRobustness2FeaturesEXT.nullDescriptor);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRobustness2PropertiesEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceRobustness2PropertiesEXT const &physicalDeviceRobustness2PropertiesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRobustness2PropertiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRobustness2PropertiesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRobustness2PropertiesEXT.robustStorageBufferAccessSizeAlignment);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceRobustness2PropertiesEXT.robustUniformBufferAccessSizeAlignment);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSampleLocationsPropertiesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSampleLocationsPropertiesEXT const &physicalDeviceSampleLocationsPropertiesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSampleLocationsPropertiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSampleLocationsPropertiesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSampleLocationsPropertiesEXT.sampleLocationSampleCounts);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSampleLocationsPropertiesEXT.maxSampleLocationGridSize);
for(size_t i = 0; i < 2; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSampleLocationsPropertiesEXT.sampleLocationCoordinateRange[i]);
}
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSampleLocationsPropertiesEXT.sampleLocationSubPixelBits);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSampleLocationsPropertiesEXT.variableSampleLocations);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSamplerFilterMinmaxProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSamplerFilterMinmaxProperties const &physicalDeviceSamplerFilterMinmaxProperties) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSamplerFilterMinmaxProperties.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSamplerFilterMinmaxProperties.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSamplerFilterMinmaxProperties.filterMinmaxSingleComponentFormats);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSamplerFilterMinmaxProperties.filterMinmaxImageComponentMapping);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSamplerYcbcrConversionFeatures>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSamplerYcbcrConversionFeatures const &physicalDeviceSamplerYcbcrConversionFeatures) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSamplerYcbcrConversionFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSamplerYcbcrConversionFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSamplerYcbcrConversionFeatures.samplerYcbcrConversion);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceScalarBlockLayoutFeatures>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceScalarBlockLayoutFeatures const &physicalDeviceScalarBlockLayoutFeatures) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceScalarBlockLayoutFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceScalarBlockLayoutFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceScalarBlockLayoutFeatures.scalarBlockLayout);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSeparateDepthStencilLayoutsFeatures>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSeparateDepthStencilLayoutsFeatures const &physicalDeviceSeparateDepthStencilLayoutsFeatures)
const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSeparateDepthStencilLayoutsFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSeparateDepthStencilLayoutsFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSeparateDepthStencilLayoutsFeatures.separateDepthStencilLayouts);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicFloat2FeaturesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicFloat2FeaturesEXT const &physicalDeviceShaderAtomicFloat2FeaturesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderBufferFloat16Atomics);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderBufferFloat16AtomicAdd);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderBufferFloat16AtomicMinMax);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderBufferFloat32AtomicMinMax);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderBufferFloat64AtomicMinMax);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderSharedFloat16Atomics);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderSharedFloat16AtomicAdd);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderSharedFloat16AtomicMinMax);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderSharedFloat32AtomicMinMax);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderSharedFloat64AtomicMinMax);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderImageFloat32AtomicMinMax);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloat2FeaturesEXT.sparseImageFloat32AtomicMinMax);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicFloatFeaturesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicFloatFeaturesEXT const &physicalDeviceShaderAtomicFloatFeaturesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloatFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloatFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderBufferFloat32Atomics);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderBufferFloat32AtomicAdd);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderBufferFloat64Atomics);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderBufferFloat64AtomicAdd);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderSharedFloat32Atomics);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderSharedFloat32AtomicAdd);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderSharedFloat64Atomics);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderSharedFloat64AtomicAdd);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderImageFloat32Atomics);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloatFeaturesEXT.shaderImageFloat32AtomicAdd);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloatFeaturesEXT.sparseImageFloat32Atomics);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicFloatFeaturesEXT.sparseImageFloat32AtomicAdd);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicInt64Features>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicInt64Features const &physicalDeviceShaderAtomicInt64Features) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicInt64Features.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicInt64Features.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicInt64Features.shaderBufferInt64Atomics);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderAtomicInt64Features.shaderSharedInt64Atomics);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderClockFeaturesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderClockFeaturesKHR const &physicalDeviceShaderClockFeaturesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderClockFeaturesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderClockFeaturesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderClockFeaturesKHR.shaderSubgroupClock);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderClockFeaturesKHR.shaderDeviceClock);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCoreProperties2AMD>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCoreProperties2AMD const &physicalDeviceShaderCoreProperties2AMD) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderCoreProperties2AMD.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderCoreProperties2AMD.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderCoreProperties2AMD.shaderCoreFeatures);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderCoreProperties2AMD.activeComputeUnitCount);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCorePropertiesAMD>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCorePropertiesAMD const &physicalDeviceShaderCorePropertiesAMD) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderCorePropertiesAMD.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderCorePropertiesAMD.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderCorePropertiesAMD.shaderEngineCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderCorePropertiesAMD.shaderArraysPerEngineCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderCorePropertiesAMD.computeUnitsPerShaderArray);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderCorePropertiesAMD.simdPerComputeUnit);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderCorePropertiesAMD.wavefrontsPerSimd);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderCorePropertiesAMD.wavefrontSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderCorePropertiesAMD.sgprsPerSimd);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderCorePropertiesAMD.minSgprAllocation);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderCorePropertiesAMD.maxSgprAllocation);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderCorePropertiesAMD.sgprAllocationGranularity);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderCorePropertiesAMD.vgprsPerSimd);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderCorePropertiesAMD.minVgprAllocation);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderCorePropertiesAMD.maxVgprAllocation);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderCorePropertiesAMD.vgprAllocationGranularity);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderDemoteToHelperInvocationFeatures>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderDemoteToHelperInvocationFeatures const &
physicalDeviceShaderDemoteToHelperInvocationFeatures) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderDemoteToHelperInvocationFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderDemoteToHelperInvocationFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderDemoteToHelperInvocationFeatures.shaderDemoteToHelperInvocation);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderDrawParametersFeatures>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderDrawParametersFeatures const &physicalDeviceShaderDrawParametersFeatures) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderDrawParametersFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderDrawParametersFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderDrawParametersFeatures.shaderDrawParameters);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderFloat16Int8Features>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderFloat16Int8Features const &physicalDeviceShaderFloat16Int8Features) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderFloat16Int8Features.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderFloat16Int8Features.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderFloat16Int8Features.shaderFloat16);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderFloat16Int8Features.shaderInt8);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderImageAtomicInt64FeaturesEXT>
{
std::size_t operator()(
VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderImageAtomicInt64FeaturesEXT const &physicalDeviceShaderImageAtomicInt64FeaturesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderImageAtomicInt64FeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderImageAtomicInt64FeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderImageAtomicInt64FeaturesEXT.shaderImageInt64Atomics);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderImageAtomicInt64FeaturesEXT.sparseImageInt64Atomics);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderImageFootprintFeaturesNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderImageFootprintFeaturesNV const &physicalDeviceShaderImageFootprintFeaturesNV) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderImageFootprintFeaturesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderImageFootprintFeaturesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderImageFootprintFeaturesNV.imageFootprint);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderIntegerDotProductFeatures>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderIntegerDotProductFeatures const &physicalDeviceShaderIntegerDotProductFeatures) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductFeatures.shaderIntegerDotProduct);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderIntegerDotProductProperties>
{
std::size_t operator()(
VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderIntegerDotProductProperties const &physicalDeviceShaderIntegerDotProductProperties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct8BitUnsignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct8BitSignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct8BitMixedSignednessAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct4x8BitPackedUnsignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct4x8BitPackedSignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct4x8BitPackedMixedSignednessAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct16BitUnsignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct16BitSignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct16BitMixedSignednessAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct32BitUnsignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct32BitSignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct32BitMixedSignednessAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct64BitUnsignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct64BitSignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProduct64BitMixedSignednessAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating8BitUnsignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating8BitSignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed,
physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating16BitUnsignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating16BitSignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating32BitUnsignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating32BitSignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating64BitUnsignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating64BitSignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerDotProductProperties.integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const &physicalDeviceShaderIntegerFunctions2FeaturesINTEL) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerFunctions2FeaturesINTEL.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerFunctions2FeaturesINTEL.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderIntegerFunctions2FeaturesINTEL.shaderIntegerFunctions2);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSMBuiltinsFeaturesNV>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSMBuiltinsFeaturesNV const &physicalDeviceShaderSMBuiltinsFeaturesNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderSMBuiltinsFeaturesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderSMBuiltinsFeaturesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderSMBuiltinsFeaturesNV.shaderSMBuiltins);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSMBuiltinsPropertiesNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSMBuiltinsPropertiesNV const &physicalDeviceShaderSMBuiltinsPropertiesNV) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderSMBuiltinsPropertiesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderSMBuiltinsPropertiesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderSMBuiltinsPropertiesNV.shaderSMCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderSMBuiltinsPropertiesNV.shaderWarpsPerSM);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSubgroupExtendedTypesFeatures>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSubgroupExtendedTypesFeatures const &physicalDeviceShaderSubgroupExtendedTypesFeatures)
const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderSubgroupExtendedTypesFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderSubgroupExtendedTypesFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderSubgroupExtendedTypesFeatures.shaderSubgroupExtendedTypes);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR const &
physicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR.shaderSubgroupUniformControlFlow);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderTerminateInvocationFeatures>
{
std::size_t operator()(
VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderTerminateInvocationFeatures const &physicalDeviceShaderTerminateInvocationFeatures) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderTerminateInvocationFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderTerminateInvocationFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShaderTerminateInvocationFeatures.shaderTerminateInvocation);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShadingRateImageFeaturesNV>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShadingRateImageFeaturesNV const &physicalDeviceShadingRateImageFeaturesNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShadingRateImageFeaturesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShadingRateImageFeaturesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShadingRateImageFeaturesNV.shadingRateImage);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShadingRateImageFeaturesNV.shadingRateCoarseSampleOrder);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShadingRateImagePropertiesNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceShadingRateImagePropertiesNV const &physicalDeviceShadingRateImagePropertiesNV) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShadingRateImagePropertiesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShadingRateImagePropertiesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShadingRateImagePropertiesNV.shadingRateTexelSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShadingRateImagePropertiesNV.shadingRatePaletteSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceShadingRateImagePropertiesNV.shadingRateMaxCoarseSamples);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 const &physicalDeviceSparseImageFormatInfo2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSparseImageFormatInfo2.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSparseImageFormatInfo2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSparseImageFormatInfo2.format);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSparseImageFormatInfo2.type);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSparseImageFormatInfo2.samples);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSparseImageFormatInfo2.usage);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSparseImageFormatInfo2.tiling);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupProperties const &physicalDeviceSubgroupProperties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSubgroupProperties.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSubgroupProperties.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSubgroupProperties.subgroupSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSubgroupProperties.supportedStages);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSubgroupProperties.supportedOperations);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSubgroupProperties.quadOperationsInAllStages);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupSizeControlFeatures>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupSizeControlFeatures const &physicalDeviceSubgroupSizeControlFeatures) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSubgroupSizeControlFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSubgroupSizeControlFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSubgroupSizeControlFeatures.subgroupSizeControl);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSubgroupSizeControlFeatures.computeFullSubgroups);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupSizeControlProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupSizeControlProperties const &physicalDeviceSubgroupSizeControlProperties) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSubgroupSizeControlProperties.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSubgroupSizeControlProperties.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSubgroupSizeControlProperties.minSubgroupSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSubgroupSizeControlProperties.maxSubgroupSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSubgroupSizeControlProperties.maxComputeWorkgroupSubgroups);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSubgroupSizeControlProperties.requiredSubgroupSizeStages);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSubpassShadingFeaturesHUAWEI>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSubpassShadingFeaturesHUAWEI const &physicalDeviceSubpassShadingFeaturesHUAWEI) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSubpassShadingFeaturesHUAWEI.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSubpassShadingFeaturesHUAWEI.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSubpassShadingFeaturesHUAWEI.subpassShading);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSubpassShadingPropertiesHUAWEI>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSubpassShadingPropertiesHUAWEI const &physicalDeviceSubpassShadingPropertiesHUAWEI) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSubpassShadingPropertiesHUAWEI.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSubpassShadingPropertiesHUAWEI.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSubpassShadingPropertiesHUAWEI.maxSubpassShadingWorkgroupSizeAspectRatio);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR const &physicalDeviceSurfaceInfo2KHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSurfaceInfo2KHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSurfaceInfo2KHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSurfaceInfo2KHR.surface);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceSynchronization2Features>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceSynchronization2Features const &physicalDeviceSynchronization2Features) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSynchronization2Features.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSynchronization2Features.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceSynchronization2Features.synchronization2);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceTexelBufferAlignmentFeaturesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceTexelBufferAlignmentFeaturesEXT const &physicalDeviceTexelBufferAlignmentFeaturesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTexelBufferAlignmentFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTexelBufferAlignmentFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTexelBufferAlignmentFeaturesEXT.texelBufferAlignment);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceTexelBufferAlignmentProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceTexelBufferAlignmentProperties const &physicalDeviceTexelBufferAlignmentProperties) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTexelBufferAlignmentProperties.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTexelBufferAlignmentProperties.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTexelBufferAlignmentProperties.storageTexelBufferOffsetAlignmentBytes);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTexelBufferAlignmentProperties.storageTexelBufferOffsetSingleTexelAlignment);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTexelBufferAlignmentProperties.uniformTexelBufferOffsetAlignmentBytes);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTexelBufferAlignmentProperties.uniformTexelBufferOffsetSingleTexelAlignment);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceTextureCompressionASTCHDRFeatures>
{
std::size_t operator()(
VULKAN_HPP_NAMESPACE::PhysicalDeviceTextureCompressionASTCHDRFeatures const &physicalDeviceTextureCompressionASTCHDRFeatures) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTextureCompressionASTCHDRFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTextureCompressionASTCHDRFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTextureCompressionASTCHDRFeatures.textureCompressionASTC_HDR);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceTimelineSemaphoreFeatures>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceTimelineSemaphoreFeatures const &physicalDeviceTimelineSemaphoreFeatures) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTimelineSemaphoreFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTimelineSemaphoreFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTimelineSemaphoreFeatures.timelineSemaphore);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceTimelineSemaphoreProperties>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceTimelineSemaphoreProperties const &physicalDeviceTimelineSemaphoreProperties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTimelineSemaphoreProperties.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTimelineSemaphoreProperties.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTimelineSemaphoreProperties.maxTimelineSemaphoreValueDifference);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties const &physicalDeviceToolProperties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceToolProperties.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceToolProperties.pNext);
for(size_t i = 0; i < VK_MAX_EXTENSION_NAME_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceToolProperties.name[i]);
}
for(size_t i = 0; i < VK_MAX_EXTENSION_NAME_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceToolProperties.version[i]);
}
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceToolProperties.purposes);
for(size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceToolProperties.description[i]);
}
for(size_t i = 0; i < VK_MAX_EXTENSION_NAME_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceToolProperties.layer[i]);
}
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceTransformFeedbackFeaturesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceTransformFeedbackFeaturesEXT const &physicalDeviceTransformFeedbackFeaturesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTransformFeedbackFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTransformFeedbackFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTransformFeedbackFeaturesEXT.transformFeedback);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTransformFeedbackFeaturesEXT.geometryStreams);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceTransformFeedbackPropertiesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceTransformFeedbackPropertiesEXT const &physicalDeviceTransformFeedbackPropertiesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTransformFeedbackPropertiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTransformFeedbackPropertiesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTransformFeedbackPropertiesEXT.maxTransformFeedbackStreams);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTransformFeedbackPropertiesEXT.maxTransformFeedbackBuffers);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTransformFeedbackPropertiesEXT.maxTransformFeedbackBufferSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTransformFeedbackPropertiesEXT.maxTransformFeedbackStreamDataSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTransformFeedbackPropertiesEXT.maxTransformFeedbackBufferDataSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTransformFeedbackPropertiesEXT.maxTransformFeedbackBufferDataStride);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTransformFeedbackPropertiesEXT.transformFeedbackQueries);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTransformFeedbackPropertiesEXT.transformFeedbackStreamsLinesTriangles);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTransformFeedbackPropertiesEXT.transformFeedbackRasterizationStreamSelect);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceTransformFeedbackPropertiesEXT.transformFeedbackDraw);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceUniformBufferStandardLayoutFeatures>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceUniformBufferStandardLayoutFeatures const &physicalDeviceUniformBufferStandardLayoutFeatures)
const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceUniformBufferStandardLayoutFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceUniformBufferStandardLayoutFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceUniformBufferStandardLayoutFeatures.uniformBufferStandardLayout);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVariablePointersFeatures>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceVariablePointersFeatures const &physicalDeviceVariablePointersFeatures) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVariablePointersFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVariablePointersFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVariablePointersFeatures.variablePointersStorageBuffer);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVariablePointersFeatures.variablePointers);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVertexAttributeDivisorFeaturesEXT>
{
std::size_t operator()(
VULKAN_HPP_NAMESPACE::PhysicalDeviceVertexAttributeDivisorFeaturesEXT const &physicalDeviceVertexAttributeDivisorFeaturesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVertexAttributeDivisorFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVertexAttributeDivisorFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVertexAttributeDivisorFeaturesEXT.vertexAttributeInstanceRateDivisor);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVertexAttributeDivisorFeaturesEXT.vertexAttributeInstanceRateZeroDivisor);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVertexAttributeDivisorPropertiesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceVertexAttributeDivisorPropertiesEXT const &physicalDeviceVertexAttributeDivisorPropertiesEXT)
const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVertexAttributeDivisorPropertiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVertexAttributeDivisorPropertiesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVertexAttributeDivisorPropertiesEXT.maxVertexAttribDivisor);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVertexInputDynamicStateFeaturesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceVertexInputDynamicStateFeaturesEXT const &physicalDeviceVertexInputDynamicStateFeaturesEXT)
const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVertexInputDynamicStateFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVertexInputDynamicStateFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVertexInputDynamicStateFeaturesEXT.vertexInputDynamicState);
return seed;
}
};
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoProfileKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoProfileKHR const &videoProfileKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoProfileKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoProfileKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoProfileKHR.videoCodecOperation);
VULKAN_HPP_HASH_COMBINE(seed, videoProfileKHR.chromaSubsampling);
VULKAN_HPP_HASH_COMBINE(seed, videoProfileKHR.lumaBitDepth);
VULKAN_HPP_HASH_COMBINE(seed, videoProfileKHR.chromaBitDepth);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoProfilesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoProfilesKHR const &videoProfilesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoProfilesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoProfilesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoProfilesKHR.profileCount);
VULKAN_HPP_HASH_COMBINE(seed, videoProfilesKHR.pProfiles);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR const &physicalDeviceVideoFormatInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVideoFormatInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVideoFormatInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVideoFormatInfoKHR.imageUsage);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVideoFormatInfoKHR.pVideoProfiles);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan11Features>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan11Features const &physicalDeviceVulkan11Features) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Features.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Features.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Features.storageBuffer16BitAccess);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Features.uniformAndStorageBuffer16BitAccess);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Features.storagePushConstant16);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Features.storageInputOutput16);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Features.multiview);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Features.multiviewGeometryShader);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Features.multiviewTessellationShader);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Features.variablePointersStorageBuffer);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Features.variablePointers);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Features.protectedMemory);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Features.samplerYcbcrConversion);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Features.shaderDrawParameters);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan11Properties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan11Properties const &physicalDeviceVulkan11Properties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Properties.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Properties.pNext);
for(size_t i = 0; i < VK_UUID_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Properties.deviceUUID[i]);
}
for(size_t i = 0; i < VK_UUID_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Properties.driverUUID[i]);
}
for(size_t i = 0; i < VK_LUID_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Properties.deviceLUID[i]);
}
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Properties.deviceNodeMask);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Properties.deviceLUIDValid);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Properties.subgroupSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Properties.subgroupSupportedStages);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Properties.subgroupSupportedOperations);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Properties.subgroupQuadOperationsInAllStages);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Properties.pointClippingBehavior);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Properties.maxMultiviewViewCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Properties.maxMultiviewInstanceIndex);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Properties.protectedNoFault);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Properties.maxPerSetDescriptors);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan11Properties.maxMemoryAllocationSize);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan12Features>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan12Features const &physicalDeviceVulkan12Features) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.samplerMirrorClampToEdge);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.drawIndirectCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.storageBuffer8BitAccess);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.uniformAndStorageBuffer8BitAccess);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.storagePushConstant8);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.shaderBufferInt64Atomics);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.shaderSharedInt64Atomics);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.shaderFloat16);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.shaderInt8);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.descriptorIndexing);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.shaderInputAttachmentArrayDynamicIndexing);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.shaderUniformTexelBufferArrayDynamicIndexing);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.shaderStorageTexelBufferArrayDynamicIndexing);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.shaderUniformBufferArrayNonUniformIndexing);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.shaderSampledImageArrayNonUniformIndexing);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.shaderStorageBufferArrayNonUniformIndexing);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.shaderStorageImageArrayNonUniformIndexing);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.shaderInputAttachmentArrayNonUniformIndexing);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.shaderUniformTexelBufferArrayNonUniformIndexing);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.shaderStorageTexelBufferArrayNonUniformIndexing);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.descriptorBindingUniformBufferUpdateAfterBind);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.descriptorBindingSampledImageUpdateAfterBind);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.descriptorBindingStorageImageUpdateAfterBind);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.descriptorBindingStorageBufferUpdateAfterBind);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.descriptorBindingUniformTexelBufferUpdateAfterBind);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.descriptorBindingStorageTexelBufferUpdateAfterBind);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.descriptorBindingUpdateUnusedWhilePending);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.descriptorBindingPartiallyBound);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.descriptorBindingVariableDescriptorCount);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.runtimeDescriptorArray);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.samplerFilterMinmax);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.scalarBlockLayout);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.imagelessFramebuffer);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.uniformBufferStandardLayout);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.shaderSubgroupExtendedTypes);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.separateDepthStencilLayouts);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.hostQueryReset);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.timelineSemaphore);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.bufferDeviceAddress);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.bufferDeviceAddressCaptureReplay);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.bufferDeviceAddressMultiDevice);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.vulkanMemoryModel);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.vulkanMemoryModelDeviceScope);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.vulkanMemoryModelAvailabilityVisibilityChains);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.shaderOutputViewportIndex);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.shaderOutputLayer);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Features.subgroupBroadcastDynamicId);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan12Properties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan12Properties const &physicalDeviceVulkan12Properties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.driverID);
for(size_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.driverName[i]);
}
for(size_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.driverInfo[i]);
}
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.conformanceVersion);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.denormBehaviorIndependence);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.roundingModeIndependence);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.shaderSignedZeroInfNanPreserveFloat16);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.shaderSignedZeroInfNanPreserveFloat32);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.shaderSignedZeroInfNanPreserveFloat64);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.shaderDenormPreserveFloat16);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.shaderDenormPreserveFloat32);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.shaderDenormPreserveFloat64);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.shaderDenormFlushToZeroFloat16);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.shaderDenormFlushToZeroFloat32);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.shaderDenormFlushToZeroFloat64);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.shaderRoundingModeRTEFloat16);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.shaderRoundingModeRTEFloat32);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.shaderRoundingModeRTEFloat64);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.shaderRoundingModeRTZFloat16);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.shaderRoundingModeRTZFloat32);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.shaderRoundingModeRTZFloat64);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.maxUpdateAfterBindDescriptorsInAllPools);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.shaderUniformBufferArrayNonUniformIndexingNative);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.shaderSampledImageArrayNonUniformIndexingNative);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.shaderStorageBufferArrayNonUniformIndexingNative);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.shaderStorageImageArrayNonUniformIndexingNative);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.shaderInputAttachmentArrayNonUniformIndexingNative);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.robustBufferAccessUpdateAfterBind);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.quadDivergentImplicitLod);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.maxPerStageDescriptorUpdateAfterBindSamplers);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.maxPerStageDescriptorUpdateAfterBindUniformBuffers);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.maxPerStageDescriptorUpdateAfterBindStorageBuffers);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.maxPerStageDescriptorUpdateAfterBindSampledImages);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.maxPerStageDescriptorUpdateAfterBindStorageImages);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.maxPerStageDescriptorUpdateAfterBindInputAttachments);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.maxPerStageUpdateAfterBindResources);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.maxDescriptorSetUpdateAfterBindSamplers);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.maxDescriptorSetUpdateAfterBindUniformBuffers);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.maxDescriptorSetUpdateAfterBindStorageBuffers);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.maxDescriptorSetUpdateAfterBindSampledImages);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.maxDescriptorSetUpdateAfterBindStorageImages);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.maxDescriptorSetUpdateAfterBindInputAttachments);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.supportedDepthResolveModes);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.supportedStencilResolveModes);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.independentResolveNone);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.independentResolve);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.filterMinmaxSingleComponentFormats);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.filterMinmaxImageComponentMapping);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.maxTimelineSemaphoreValueDifference);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan12Properties.framebufferIntegerColorSampleCounts);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan13Features>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan13Features const &physicalDeviceVulkan13Features) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Features.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Features.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Features.robustImageAccess);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Features.inlineUniformBlock);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Features.descriptorBindingInlineUniformBlockUpdateAfterBind);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Features.pipelineCreationCacheControl);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Features.privateData);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Features.shaderDemoteToHelperInvocation);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Features.shaderTerminateInvocation);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Features.subgroupSizeControl);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Features.computeFullSubgroups);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Features.synchronization2);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Features.textureCompressionASTC_HDR);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Features.shaderZeroInitializeWorkgroupMemory);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Features.dynamicRendering);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Features.shaderIntegerDotProduct);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Features.maintenance4);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan13Properties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan13Properties const &physicalDeviceVulkan13Properties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.minSubgroupSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.maxSubgroupSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.maxComputeWorkgroupSubgroups);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.requiredSubgroupSizeStages);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.maxInlineUniformBlockSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.maxPerStageDescriptorInlineUniformBlocks);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.maxDescriptorSetInlineUniformBlocks);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.maxDescriptorSetUpdateAfterBindInlineUniformBlocks);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.maxInlineUniformTotalSize);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProduct8BitUnsignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProduct8BitSignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProduct8BitMixedSignednessAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProduct4x8BitPackedUnsignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProduct4x8BitPackedSignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProduct4x8BitPackedMixedSignednessAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProduct16BitUnsignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProduct16BitSignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProduct16BitMixedSignednessAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProduct32BitUnsignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProduct32BitSignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProduct32BitMixedSignednessAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProduct64BitUnsignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProduct64BitSignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProduct64BitMixedSignednessAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating8BitUnsignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating8BitSignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating16BitUnsignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating16BitSignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating32BitUnsignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating32BitSignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating64BitUnsignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating64BitSignedAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.storageTexelBufferOffsetAlignmentBytes);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.storageTexelBufferOffsetSingleTexelAlignment);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.uniformTexelBufferOffsetAlignmentBytes);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.uniformTexelBufferOffsetSingleTexelAlignment);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkan13Properties.maxBufferSize);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkanMemoryModelFeatures>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkanMemoryModelFeatures const &physicalDeviceVulkanMemoryModelFeatures) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkanMemoryModelFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkanMemoryModelFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkanMemoryModelFeatures.vulkanMemoryModel);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkanMemoryModelFeatures.vulkanMemoryModelDeviceScope);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceVulkanMemoryModelFeatures.vulkanMemoryModelAvailabilityVisibilityChains);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR const &
physicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR.workgroupMemoryExplicitLayout);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR.workgroupMemoryExplicitLayoutScalarBlockLayout);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR.workgroupMemoryExplicitLayout8BitAccess);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR.workgroupMemoryExplicitLayout16BitAccess);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT const &physicalDeviceYcbcr2Plane444FormatsFeaturesEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceYcbcr2Plane444FormatsFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceYcbcr2Plane444FormatsFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceYcbcr2Plane444FormatsFeaturesEXT.ycbcr2plane444Formats);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceYcbcrImageArraysFeaturesEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceYcbcrImageArraysFeaturesEXT const &physicalDeviceYcbcrImageArraysFeaturesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceYcbcrImageArraysFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceYcbcrImageArraysFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceYcbcrImageArraysFeaturesEXT.ycbcrImageArrays);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures const &physicalDeviceZeroInitializeWorkgroupMemoryFeatures) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceZeroInitializeWorkgroupMemoryFeatures.sType);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceZeroInitializeWorkgroupMemoryFeatures.pNext);
VULKAN_HPP_HASH_COMBINE(seed, physicalDeviceZeroInitializeWorkgroupMemoryFeatures.shaderZeroInitializeWorkgroupMemory);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo const &pipelineCacheCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineCacheCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCacheCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCacheCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCacheCreateInfo.initialDataSize);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCacheCreateInfo.pInitialData);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineCacheHeaderVersionOne>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineCacheHeaderVersionOne const &pipelineCacheHeaderVersionOne) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineCacheHeaderVersionOne.headerSize);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCacheHeaderVersionOne.headerVersion);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCacheHeaderVersionOne.vendorID);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCacheHeaderVersionOne.deviceID);
for(size_t i = 0; i < VK_UUID_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, pipelineCacheHeaderVersionOne.pipelineCacheUUID[i]);
}
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineColorBlendAdvancedStateCreateInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineColorBlendAdvancedStateCreateInfoEXT const &pipelineColorBlendAdvancedStateCreateInfoEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineColorBlendAdvancedStateCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineColorBlendAdvancedStateCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineColorBlendAdvancedStateCreateInfoEXT.srcPremultiplied);
VULKAN_HPP_HASH_COMBINE(seed, pipelineColorBlendAdvancedStateCreateInfoEXT.dstPremultiplied);
VULKAN_HPP_HASH_COMBINE(seed, pipelineColorBlendAdvancedStateCreateInfoEXT.blendOverlap);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineColorWriteCreateInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineColorWriteCreateInfoEXT const &pipelineColorWriteCreateInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineColorWriteCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineColorWriteCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineColorWriteCreateInfoEXT.attachmentCount);
VULKAN_HPP_HASH_COMBINE(seed, pipelineColorWriteCreateInfoEXT.pColorWriteEnables);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineCompilerControlCreateInfoAMD>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineCompilerControlCreateInfoAMD const &pipelineCompilerControlCreateInfoAMD) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineCompilerControlCreateInfoAMD.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCompilerControlCreateInfoAMD.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCompilerControlCreateInfoAMD.compilerControlFlags);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineCoverageModulationStateCreateInfoNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineCoverageModulationStateCreateInfoNV const &pipelineCoverageModulationStateCreateInfoNV) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineCoverageModulationStateCreateInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCoverageModulationStateCreateInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCoverageModulationStateCreateInfoNV.flags);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCoverageModulationStateCreateInfoNV.coverageModulationMode);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCoverageModulationStateCreateInfoNV.coverageModulationTableEnable);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCoverageModulationStateCreateInfoNV.coverageModulationTableCount);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCoverageModulationStateCreateInfoNV.pCoverageModulationTable);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineCoverageReductionStateCreateInfoNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineCoverageReductionStateCreateInfoNV const &pipelineCoverageReductionStateCreateInfoNV) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineCoverageReductionStateCreateInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCoverageReductionStateCreateInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCoverageReductionStateCreateInfoNV.flags);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCoverageReductionStateCreateInfoNV.coverageReductionMode);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineCoverageToColorStateCreateInfoNV>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PipelineCoverageToColorStateCreateInfoNV const &pipelineCoverageToColorStateCreateInfoNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineCoverageToColorStateCreateInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCoverageToColorStateCreateInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCoverageToColorStateCreateInfoNV.flags);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCoverageToColorStateCreateInfoNV.coverageToColorEnable);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCoverageToColorStateCreateInfoNV.coverageToColorLocation);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineCreationFeedback>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineCreationFeedback const &pipelineCreationFeedback) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineCreationFeedback.flags);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCreationFeedback.duration);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackCreateInfo const &pipelineCreationFeedbackCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineCreationFeedbackCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCreationFeedbackCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCreationFeedbackCreateInfo.pPipelineCreationFeedback);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCreationFeedbackCreateInfo.pipelineStageCreationFeedbackCount);
VULKAN_HPP_HASH_COMBINE(seed, pipelineCreationFeedbackCreateInfo.pPipelineStageCreationFeedbacks);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineDiscardRectangleStateCreateInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineDiscardRectangleStateCreateInfoEXT const &pipelineDiscardRectangleStateCreateInfoEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineDiscardRectangleStateCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineDiscardRectangleStateCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineDiscardRectangleStateCreateInfoEXT.flags);
VULKAN_HPP_HASH_COMBINE(seed, pipelineDiscardRectangleStateCreateInfoEXT.discardRectangleMode);
VULKAN_HPP_HASH_COMBINE(seed, pipelineDiscardRectangleStateCreateInfoEXT.discardRectangleCount);
VULKAN_HPP_HASH_COMBINE(seed, pipelineDiscardRectangleStateCreateInfoEXT.pDiscardRectangles);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR const &pipelineExecutableInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineExecutableInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineExecutableInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineExecutableInfoKHR.pipeline);
VULKAN_HPP_HASH_COMBINE(seed, pipelineExecutableInfoKHR.executableIndex);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR const &pipelineExecutableInternalRepresentationKHR) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineExecutableInternalRepresentationKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineExecutableInternalRepresentationKHR.pNext);
for(size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, pipelineExecutableInternalRepresentationKHR.name[i]);
}
for(size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, pipelineExecutableInternalRepresentationKHR.description[i]);
}
VULKAN_HPP_HASH_COMBINE(seed, pipelineExecutableInternalRepresentationKHR.isText);
VULKAN_HPP_HASH_COMBINE(seed, pipelineExecutableInternalRepresentationKHR.dataSize);
VULKAN_HPP_HASH_COMBINE(seed, pipelineExecutableInternalRepresentationKHR.pData);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR const &pipelineExecutablePropertiesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineExecutablePropertiesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineExecutablePropertiesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineExecutablePropertiesKHR.stages);
for(size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, pipelineExecutablePropertiesKHR.name[i]);
}
for(size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, pipelineExecutablePropertiesKHR.description[i]);
}
VULKAN_HPP_HASH_COMBINE(seed, pipelineExecutablePropertiesKHR.subgroupSize);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineFragmentShadingRateEnumStateCreateInfoNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineFragmentShadingRateEnumStateCreateInfoNV const &pipelineFragmentShadingRateEnumStateCreateInfoNV)
const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineFragmentShadingRateEnumStateCreateInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineFragmentShadingRateEnumStateCreateInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineFragmentShadingRateEnumStateCreateInfoNV.shadingRateType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineFragmentShadingRateEnumStateCreateInfoNV.shadingRate);
for(size_t i = 0; i < 2; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, pipelineFragmentShadingRateEnumStateCreateInfoNV.combinerOps[i]);
}
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineFragmentShadingRateStateCreateInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineFragmentShadingRateStateCreateInfoKHR const &pipelineFragmentShadingRateStateCreateInfoKHR) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineFragmentShadingRateStateCreateInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineFragmentShadingRateStateCreateInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineFragmentShadingRateStateCreateInfoKHR.fragmentSize);
for(size_t i = 0; i < 2; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, pipelineFragmentShadingRateStateCreateInfoKHR.combinerOps[i]);
}
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineInfoKHR const &pipelineInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineInfoKHR.pipeline);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PushConstantRange>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PushConstantRange const &pushConstantRange) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pushConstantRange.stageFlags);
VULKAN_HPP_HASH_COMBINE(seed, pushConstantRange.offset);
VULKAN_HPP_HASH_COMBINE(seed, pushConstantRange.size);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo const &pipelineLayoutCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineLayoutCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineLayoutCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineLayoutCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, pipelineLayoutCreateInfo.setLayoutCount);
VULKAN_HPP_HASH_COMBINE(seed, pipelineLayoutCreateInfo.pSetLayouts);
VULKAN_HPP_HASH_COMBINE(seed, pipelineLayoutCreateInfo.pushConstantRangeCount);
VULKAN_HPP_HASH_COMBINE(seed, pipelineLayoutCreateInfo.pPushConstantRanges);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineLibraryCreateInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineLibraryCreateInfoKHR const &pipelineLibraryCreateInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineLibraryCreateInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineLibraryCreateInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineLibraryCreateInfoKHR.libraryCount);
VULKAN_HPP_HASH_COMBINE(seed, pipelineLibraryCreateInfoKHR.pLibraries);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineRasterizationConservativeStateCreateInfoEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PipelineRasterizationConservativeStateCreateInfoEXT const &pipelineRasterizationConservativeStateCreateInfoEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationConservativeStateCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationConservativeStateCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationConservativeStateCreateInfoEXT.flags);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationConservativeStateCreateInfoEXT.conservativeRasterizationMode);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationConservativeStateCreateInfoEXT.extraPrimitiveOverestimationSize);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineRasterizationDepthClipStateCreateInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineRasterizationDepthClipStateCreateInfoEXT const &pipelineRasterizationDepthClipStateCreateInfoEXT)
const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationDepthClipStateCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationDepthClipStateCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationDepthClipStateCreateInfoEXT.flags);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationDepthClipStateCreateInfoEXT.depthClipEnable);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineRasterizationLineStateCreateInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineRasterizationLineStateCreateInfoEXT const &pipelineRasterizationLineStateCreateInfoEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationLineStateCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationLineStateCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationLineStateCreateInfoEXT.lineRasterizationMode);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationLineStateCreateInfoEXT.stippledLineEnable);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationLineStateCreateInfoEXT.lineStippleFactor);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationLineStateCreateInfoEXT.lineStipplePattern);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineRasterizationProvokingVertexStateCreateInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineRasterizationProvokingVertexStateCreateInfoEXT const &
pipelineRasterizationProvokingVertexStateCreateInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationProvokingVertexStateCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationProvokingVertexStateCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationProvokingVertexStateCreateInfoEXT.provokingVertexMode);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineRasterizationStateRasterizationOrderAMD>
{
std::size_t operator()(
VULKAN_HPP_NAMESPACE::PipelineRasterizationStateRasterizationOrderAMD const &pipelineRasterizationStateRasterizationOrderAMD) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationStateRasterizationOrderAMD.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationStateRasterizationOrderAMD.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationStateRasterizationOrderAMD.rasterizationOrder);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineRasterizationStateStreamCreateInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineRasterizationStateStreamCreateInfoEXT const &pipelineRasterizationStateStreamCreateInfoEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationStateStreamCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationStateStreamCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationStateStreamCreateInfoEXT.flags);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRasterizationStateStreamCreateInfoEXT.rasterizationStream);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineRenderingCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineRenderingCreateInfo const &pipelineRenderingCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineRenderingCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRenderingCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRenderingCreateInfo.viewMask);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRenderingCreateInfo.colorAttachmentCount);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRenderingCreateInfo.pColorAttachmentFormats);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRenderingCreateInfo.depthAttachmentFormat);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRenderingCreateInfo.stencilAttachmentFormat);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineRepresentativeFragmentTestStateCreateInfoNV>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PipelineRepresentativeFragmentTestStateCreateInfoNV const &pipelineRepresentativeFragmentTestStateCreateInfoNV) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineRepresentativeFragmentTestStateCreateInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRepresentativeFragmentTestStateCreateInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineRepresentativeFragmentTestStateCreateInfoNV.representativeFragmentTestEnable);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineSampleLocationsStateCreateInfoEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PipelineSampleLocationsStateCreateInfoEXT const &pipelineSampleLocationsStateCreateInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineSampleLocationsStateCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineSampleLocationsStateCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineSampleLocationsStateCreateInfoEXT.sampleLocationsEnable);
VULKAN_HPP_HASH_COMBINE(seed, pipelineSampleLocationsStateCreateInfoEXT.sampleLocationsInfo);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineShaderStageRequiredSubgroupSizeCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineShaderStageRequiredSubgroupSizeCreateInfo const &pipelineShaderStageRequiredSubgroupSizeCreateInfo)
const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineShaderStageRequiredSubgroupSizeCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineShaderStageRequiredSubgroupSizeCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineShaderStageRequiredSubgroupSizeCreateInfo.requiredSubgroupSize);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineTessellationDomainOriginStateCreateInfo>
{
std::size_t operator()(
VULKAN_HPP_NAMESPACE::PipelineTessellationDomainOriginStateCreateInfo const &pipelineTessellationDomainOriginStateCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineTessellationDomainOriginStateCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineTessellationDomainOriginStateCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineTessellationDomainOriginStateCreateInfo.domainOrigin);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::VertexInputBindingDivisorDescriptionEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::VertexInputBindingDivisorDescriptionEXT const &vertexInputBindingDivisorDescriptionEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, vertexInputBindingDivisorDescriptionEXT.binding);
VULKAN_HPP_HASH_COMBINE(seed, vertexInputBindingDivisorDescriptionEXT.divisor);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineVertexInputDivisorStateCreateInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineVertexInputDivisorStateCreateInfoEXT const &pipelineVertexInputDivisorStateCreateInfoEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineVertexInputDivisorStateCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineVertexInputDivisorStateCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineVertexInputDivisorStateCreateInfoEXT.vertexBindingDivisorCount);
VULKAN_HPP_HASH_COMBINE(seed, pipelineVertexInputDivisorStateCreateInfoEXT.pVertexBindingDivisors);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineViewportCoarseSampleOrderStateCreateInfoNV>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PipelineViewportCoarseSampleOrderStateCreateInfoNV const &pipelineViewportCoarseSampleOrderStateCreateInfoNV) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportCoarseSampleOrderStateCreateInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportCoarseSampleOrderStateCreateInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportCoarseSampleOrderStateCreateInfoNV.sampleOrderType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportCoarseSampleOrderStateCreateInfoNV.customSampleOrderCount);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportCoarseSampleOrderStateCreateInfoNV.pCustomSampleOrders);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineViewportDepthClipControlCreateInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineViewportDepthClipControlCreateInfoEXT const &pipelineViewportDepthClipControlCreateInfoEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportDepthClipControlCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportDepthClipControlCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportDepthClipControlCreateInfoEXT.negativeOneToOne);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineViewportExclusiveScissorStateCreateInfoNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineViewportExclusiveScissorStateCreateInfoNV const &pipelineViewportExclusiveScissorStateCreateInfoNV)
const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportExclusiveScissorStateCreateInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportExclusiveScissorStateCreateInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportExclusiveScissorStateCreateInfoNV.exclusiveScissorCount);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportExclusiveScissorStateCreateInfoNV.pExclusiveScissors);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV const &shadingRatePaletteNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, shadingRatePaletteNV.shadingRatePaletteEntryCount);
VULKAN_HPP_HASH_COMBINE(seed, shadingRatePaletteNV.pShadingRatePaletteEntries);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineViewportShadingRateImageStateCreateInfoNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PipelineViewportShadingRateImageStateCreateInfoNV const &pipelineViewportShadingRateImageStateCreateInfoNV)
const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportShadingRateImageStateCreateInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportShadingRateImageStateCreateInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportShadingRateImageStateCreateInfoNV.shadingRateImageEnable);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportShadingRateImageStateCreateInfoNV.viewportCount);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportShadingRateImageStateCreateInfoNV.pShadingRatePalettes);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ViewportSwizzleNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ViewportSwizzleNV const &viewportSwizzleNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, viewportSwizzleNV.x);
VULKAN_HPP_HASH_COMBINE(seed, viewportSwizzleNV.y);
VULKAN_HPP_HASH_COMBINE(seed, viewportSwizzleNV.z);
VULKAN_HPP_HASH_COMBINE(seed, viewportSwizzleNV.w);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineViewportSwizzleStateCreateInfoNV>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PipelineViewportSwizzleStateCreateInfoNV const &pipelineViewportSwizzleStateCreateInfoNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportSwizzleStateCreateInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportSwizzleStateCreateInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportSwizzleStateCreateInfoNV.flags);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportSwizzleStateCreateInfoNV.viewportCount);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportSwizzleStateCreateInfoNV.pViewportSwizzles);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ViewportWScalingNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ViewportWScalingNV const &viewportWScalingNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, viewportWScalingNV.xcoeff);
VULKAN_HPP_HASH_COMBINE(seed, viewportWScalingNV.ycoeff);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PipelineViewportWScalingStateCreateInfoNV>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::PipelineViewportWScalingStateCreateInfoNV const &pipelineViewportWScalingStateCreateInfoNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportWScalingStateCreateInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportWScalingStateCreateInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportWScalingStateCreateInfoNV.viewportWScalingEnable);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportWScalingStateCreateInfoNV.viewportCount);
VULKAN_HPP_HASH_COMBINE(seed, pipelineViewportWScalingStateCreateInfoNV.pViewportWScalings);
return seed;
}
};
# if defined(VK_USE_PLATFORM_GGP)
template<>
struct hash<VULKAN_HPP_NAMESPACE::PresentFrameTokenGGP>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PresentFrameTokenGGP const &presentFrameTokenGGP) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, presentFrameTokenGGP.sType);
VULKAN_HPP_HASH_COMBINE(seed, presentFrameTokenGGP.pNext);
VULKAN_HPP_HASH_COMBINE(seed, presentFrameTokenGGP.frameToken);
return seed;
}
};
# endif /*VK_USE_PLATFORM_GGP*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::PresentIdKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PresentIdKHR const &presentIdKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, presentIdKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, presentIdKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, presentIdKHR.swapchainCount);
VULKAN_HPP_HASH_COMBINE(seed, presentIdKHR.pPresentIds);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PresentInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PresentInfoKHR const &presentInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, presentInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, presentInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, presentInfoKHR.waitSemaphoreCount);
VULKAN_HPP_HASH_COMBINE(seed, presentInfoKHR.pWaitSemaphores);
VULKAN_HPP_HASH_COMBINE(seed, presentInfoKHR.swapchainCount);
VULKAN_HPP_HASH_COMBINE(seed, presentInfoKHR.pSwapchains);
VULKAN_HPP_HASH_COMBINE(seed, presentInfoKHR.pImageIndices);
VULKAN_HPP_HASH_COMBINE(seed, presentInfoKHR.pResults);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::RectLayerKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::RectLayerKHR const &rectLayerKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, rectLayerKHR.offset);
VULKAN_HPP_HASH_COMBINE(seed, rectLayerKHR.extent);
VULKAN_HPP_HASH_COMBINE(seed, rectLayerKHR.layer);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PresentRegionKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PresentRegionKHR const &presentRegionKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, presentRegionKHR.rectangleCount);
VULKAN_HPP_HASH_COMBINE(seed, presentRegionKHR.pRectangles);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PresentRegionsKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PresentRegionsKHR const &presentRegionsKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, presentRegionsKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, presentRegionsKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, presentRegionsKHR.swapchainCount);
VULKAN_HPP_HASH_COMBINE(seed, presentRegionsKHR.pRegions);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PresentTimeGOOGLE>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PresentTimeGOOGLE const &presentTimeGOOGLE) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, presentTimeGOOGLE.presentID);
VULKAN_HPP_HASH_COMBINE(seed, presentTimeGOOGLE.desiredPresentTime);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PresentTimesInfoGOOGLE>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PresentTimesInfoGOOGLE const &presentTimesInfoGOOGLE) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, presentTimesInfoGOOGLE.sType);
VULKAN_HPP_HASH_COMBINE(seed, presentTimesInfoGOOGLE.pNext);
VULKAN_HPP_HASH_COMBINE(seed, presentTimesInfoGOOGLE.swapchainCount);
VULKAN_HPP_HASH_COMBINE(seed, presentTimesInfoGOOGLE.pTimes);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo const &privateDataSlotCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, privateDataSlotCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, privateDataSlotCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, privateDataSlotCreateInfo.flags);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ProtectedSubmitInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ProtectedSubmitInfo const &protectedSubmitInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, protectedSubmitInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, protectedSubmitInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, protectedSubmitInfo.protectedSubmit);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo const &queryPoolCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, queryPoolCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, queryPoolCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, queryPoolCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, queryPoolCreateInfo.queryType);
VULKAN_HPP_HASH_COMBINE(seed, queryPoolCreateInfo.queryCount);
VULKAN_HPP_HASH_COMBINE(seed, queryPoolCreateInfo.pipelineStatistics);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::QueryPoolPerformanceCreateInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::QueryPoolPerformanceCreateInfoKHR const &queryPoolPerformanceCreateInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, queryPoolPerformanceCreateInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, queryPoolPerformanceCreateInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, queryPoolPerformanceCreateInfoKHR.queueFamilyIndex);
VULKAN_HPP_HASH_COMBINE(seed, queryPoolPerformanceCreateInfoKHR.counterIndexCount);
VULKAN_HPP_HASH_COMBINE(seed, queryPoolPerformanceCreateInfoKHR.pCounterIndices);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::QueryPoolPerformanceQueryCreateInfoINTEL>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::QueryPoolPerformanceQueryCreateInfoINTEL const &queryPoolPerformanceQueryCreateInfoINTEL) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, queryPoolPerformanceQueryCreateInfoINTEL.sType);
VULKAN_HPP_HASH_COMBINE(seed, queryPoolPerformanceQueryCreateInfoINTEL.pNext);
VULKAN_HPP_HASH_COMBINE(seed, queryPoolPerformanceQueryCreateInfoINTEL.performanceCountersSampling);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::QueueFamilyCheckpointProperties2NV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::QueueFamilyCheckpointProperties2NV const &queueFamilyCheckpointProperties2NV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, queueFamilyCheckpointProperties2NV.sType);
VULKAN_HPP_HASH_COMBINE(seed, queueFamilyCheckpointProperties2NV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, queueFamilyCheckpointProperties2NV.checkpointExecutionStageMask);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::QueueFamilyCheckpointPropertiesNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::QueueFamilyCheckpointPropertiesNV const &queueFamilyCheckpointPropertiesNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, queueFamilyCheckpointPropertiesNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, queueFamilyCheckpointPropertiesNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, queueFamilyCheckpointPropertiesNV.checkpointExecutionStageMask);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::QueueFamilyGlobalPriorityPropertiesKHR>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::QueueFamilyGlobalPriorityPropertiesKHR const &queueFamilyGlobalPriorityPropertiesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, queueFamilyGlobalPriorityPropertiesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, queueFamilyGlobalPriorityPropertiesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, queueFamilyGlobalPriorityPropertiesKHR.priorityCount);
for(size_t i = 0; i < VK_MAX_GLOBAL_PRIORITY_SIZE_KHR; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, queueFamilyGlobalPriorityPropertiesKHR.priorities[i]);
}
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::QueueFamilyProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::QueueFamilyProperties const &queueFamilyProperties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, queueFamilyProperties.queueFlags);
VULKAN_HPP_HASH_COMBINE(seed, queueFamilyProperties.queueCount);
VULKAN_HPP_HASH_COMBINE(seed, queueFamilyProperties.timestampValidBits);
VULKAN_HPP_HASH_COMBINE(seed, queueFamilyProperties.minImageTransferGranularity);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::QueueFamilyProperties2 const &queueFamilyProperties2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, queueFamilyProperties2.sType);
VULKAN_HPP_HASH_COMBINE(seed, queueFamilyProperties2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, queueFamilyProperties2.queueFamilyProperties);
return seed;
}
};
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::QueueFamilyQueryResultStatusProperties2KHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::QueueFamilyQueryResultStatusProperties2KHR const &queueFamilyQueryResultStatusProperties2KHR) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, queueFamilyQueryResultStatusProperties2KHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, queueFamilyQueryResultStatusProperties2KHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, queueFamilyQueryResultStatusProperties2KHR.supported);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR const &rayTracingShaderGroupCreateInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, rayTracingShaderGroupCreateInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingShaderGroupCreateInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingShaderGroupCreateInfoKHR.type);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingShaderGroupCreateInfoKHR.generalShader);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingShaderGroupCreateInfoKHR.closestHitShader);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingShaderGroupCreateInfoKHR.anyHitShader);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingShaderGroupCreateInfoKHR.intersectionShader);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingShaderGroupCreateInfoKHR.pShaderGroupCaptureReplayHandle);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR const &rayTracingPipelineInterfaceCreateInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineInterfaceCreateInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineInterfaceCreateInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineInterfaceCreateInfoKHR.maxPipelineRayPayloadSize);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineInterfaceCreateInfoKHR.maxPipelineRayHitAttributeSize);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR const &rayTracingPipelineCreateInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineCreateInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineCreateInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineCreateInfoKHR.flags);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineCreateInfoKHR.stageCount);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineCreateInfoKHR.pStages);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineCreateInfoKHR.groupCount);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineCreateInfoKHR.pGroups);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineCreateInfoKHR.maxPipelineRayRecursionDepth);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineCreateInfoKHR.pLibraryInfo);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineCreateInfoKHR.pLibraryInterface);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineCreateInfoKHR.pDynamicState);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineCreateInfoKHR.layout);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineCreateInfoKHR.basePipelineHandle);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineCreateInfoKHR.basePipelineIndex);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoNV const &rayTracingShaderGroupCreateInfoNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, rayTracingShaderGroupCreateInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingShaderGroupCreateInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingShaderGroupCreateInfoNV.type);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingShaderGroupCreateInfoNV.generalShader);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingShaderGroupCreateInfoNV.closestHitShader);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingShaderGroupCreateInfoNV.anyHitShader);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingShaderGroupCreateInfoNV.intersectionShader);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV const &rayTracingPipelineCreateInfoNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineCreateInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineCreateInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineCreateInfoNV.flags);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineCreateInfoNV.stageCount);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineCreateInfoNV.pStages);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineCreateInfoNV.groupCount);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineCreateInfoNV.pGroups);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineCreateInfoNV.maxRecursionDepth);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineCreateInfoNV.layout);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineCreateInfoNV.basePipelineHandle);
VULKAN_HPP_HASH_COMBINE(seed, rayTracingPipelineCreateInfoNV.basePipelineIndex);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE const &refreshCycleDurationGOOGLE) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, refreshCycleDurationGOOGLE.refreshDuration);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::RenderPassAttachmentBeginInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderPassAttachmentBeginInfo const &renderPassAttachmentBeginInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, renderPassAttachmentBeginInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, renderPassAttachmentBeginInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, renderPassAttachmentBeginInfo.attachmentCount);
VULKAN_HPP_HASH_COMBINE(seed, renderPassAttachmentBeginInfo.pAttachments);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::RenderPassBeginInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderPassBeginInfo const &renderPassBeginInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, renderPassBeginInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, renderPassBeginInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, renderPassBeginInfo.renderPass);
VULKAN_HPP_HASH_COMBINE(seed, renderPassBeginInfo.framebuffer);
VULKAN_HPP_HASH_COMBINE(seed, renderPassBeginInfo.renderArea);
VULKAN_HPP_HASH_COMBINE(seed, renderPassBeginInfo.clearValueCount);
VULKAN_HPP_HASH_COMBINE(seed, renderPassBeginInfo.pClearValues);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SubpassDescription>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SubpassDescription const &subpassDescription) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, subpassDescription.flags);
VULKAN_HPP_HASH_COMBINE(seed, subpassDescription.pipelineBindPoint);
VULKAN_HPP_HASH_COMBINE(seed, subpassDescription.inputAttachmentCount);
VULKAN_HPP_HASH_COMBINE(seed, subpassDescription.pInputAttachments);
VULKAN_HPP_HASH_COMBINE(seed, subpassDescription.colorAttachmentCount);
VULKAN_HPP_HASH_COMBINE(seed, subpassDescription.pColorAttachments);
VULKAN_HPP_HASH_COMBINE(seed, subpassDescription.pResolveAttachments);
VULKAN_HPP_HASH_COMBINE(seed, subpassDescription.pDepthStencilAttachment);
VULKAN_HPP_HASH_COMBINE(seed, subpassDescription.preserveAttachmentCount);
VULKAN_HPP_HASH_COMBINE(seed, subpassDescription.pPreserveAttachments);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SubpassDependency>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SubpassDependency const &subpassDependency) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, subpassDependency.srcSubpass);
VULKAN_HPP_HASH_COMBINE(seed, subpassDependency.dstSubpass);
VULKAN_HPP_HASH_COMBINE(seed, subpassDependency.srcStageMask);
VULKAN_HPP_HASH_COMBINE(seed, subpassDependency.dstStageMask);
VULKAN_HPP_HASH_COMBINE(seed, subpassDependency.srcAccessMask);
VULKAN_HPP_HASH_COMBINE(seed, subpassDependency.dstAccessMask);
VULKAN_HPP_HASH_COMBINE(seed, subpassDependency.dependencyFlags);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::RenderPassCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderPassCreateInfo const &renderPassCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, renderPassCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, renderPassCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, renderPassCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, renderPassCreateInfo.attachmentCount);
VULKAN_HPP_HASH_COMBINE(seed, renderPassCreateInfo.pAttachments);
VULKAN_HPP_HASH_COMBINE(seed, renderPassCreateInfo.subpassCount);
VULKAN_HPP_HASH_COMBINE(seed, renderPassCreateInfo.pSubpasses);
VULKAN_HPP_HASH_COMBINE(seed, renderPassCreateInfo.dependencyCount);
VULKAN_HPP_HASH_COMBINE(seed, renderPassCreateInfo.pDependencies);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SubpassDescription2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SubpassDescription2 const &subpassDescription2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, subpassDescription2.sType);
VULKAN_HPP_HASH_COMBINE(seed, subpassDescription2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, subpassDescription2.flags);
VULKAN_HPP_HASH_COMBINE(seed, subpassDescription2.pipelineBindPoint);
VULKAN_HPP_HASH_COMBINE(seed, subpassDescription2.viewMask);
VULKAN_HPP_HASH_COMBINE(seed, subpassDescription2.inputAttachmentCount);
VULKAN_HPP_HASH_COMBINE(seed, subpassDescription2.pInputAttachments);
VULKAN_HPP_HASH_COMBINE(seed, subpassDescription2.colorAttachmentCount);
VULKAN_HPP_HASH_COMBINE(seed, subpassDescription2.pColorAttachments);
VULKAN_HPP_HASH_COMBINE(seed, subpassDescription2.pResolveAttachments);
VULKAN_HPP_HASH_COMBINE(seed, subpassDescription2.pDepthStencilAttachment);
VULKAN_HPP_HASH_COMBINE(seed, subpassDescription2.preserveAttachmentCount);
VULKAN_HPP_HASH_COMBINE(seed, subpassDescription2.pPreserveAttachments);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SubpassDependency2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SubpassDependency2 const &subpassDependency2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, subpassDependency2.sType);
VULKAN_HPP_HASH_COMBINE(seed, subpassDependency2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, subpassDependency2.srcSubpass);
VULKAN_HPP_HASH_COMBINE(seed, subpassDependency2.dstSubpass);
VULKAN_HPP_HASH_COMBINE(seed, subpassDependency2.srcStageMask);
VULKAN_HPP_HASH_COMBINE(seed, subpassDependency2.dstStageMask);
VULKAN_HPP_HASH_COMBINE(seed, subpassDependency2.srcAccessMask);
VULKAN_HPP_HASH_COMBINE(seed, subpassDependency2.dstAccessMask);
VULKAN_HPP_HASH_COMBINE(seed, subpassDependency2.dependencyFlags);
VULKAN_HPP_HASH_COMBINE(seed, subpassDependency2.viewOffset);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 const &renderPassCreateInfo2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, renderPassCreateInfo2.sType);
VULKAN_HPP_HASH_COMBINE(seed, renderPassCreateInfo2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, renderPassCreateInfo2.flags);
VULKAN_HPP_HASH_COMBINE(seed, renderPassCreateInfo2.attachmentCount);
VULKAN_HPP_HASH_COMBINE(seed, renderPassCreateInfo2.pAttachments);
VULKAN_HPP_HASH_COMBINE(seed, renderPassCreateInfo2.subpassCount);
VULKAN_HPP_HASH_COMBINE(seed, renderPassCreateInfo2.pSubpasses);
VULKAN_HPP_HASH_COMBINE(seed, renderPassCreateInfo2.dependencyCount);
VULKAN_HPP_HASH_COMBINE(seed, renderPassCreateInfo2.pDependencies);
VULKAN_HPP_HASH_COMBINE(seed, renderPassCreateInfo2.correlatedViewMaskCount);
VULKAN_HPP_HASH_COMBINE(seed, renderPassCreateInfo2.pCorrelatedViewMasks);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::RenderPassFragmentDensityMapCreateInfoEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::RenderPassFragmentDensityMapCreateInfoEXT const &renderPassFragmentDensityMapCreateInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, renderPassFragmentDensityMapCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, renderPassFragmentDensityMapCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, renderPassFragmentDensityMapCreateInfoEXT.fragmentDensityMapAttachment);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::RenderPassInputAttachmentAspectCreateInfo>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::RenderPassInputAttachmentAspectCreateInfo const &renderPassInputAttachmentAspectCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, renderPassInputAttachmentAspectCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, renderPassInputAttachmentAspectCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, renderPassInputAttachmentAspectCreateInfo.aspectReferenceCount);
VULKAN_HPP_HASH_COMBINE(seed, renderPassInputAttachmentAspectCreateInfo.pAspectReferences);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::RenderPassMultiviewCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderPassMultiviewCreateInfo const &renderPassMultiviewCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, renderPassMultiviewCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, renderPassMultiviewCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, renderPassMultiviewCreateInfo.subpassCount);
VULKAN_HPP_HASH_COMBINE(seed, renderPassMultiviewCreateInfo.pViewMasks);
VULKAN_HPP_HASH_COMBINE(seed, renderPassMultiviewCreateInfo.dependencyCount);
VULKAN_HPP_HASH_COMBINE(seed, renderPassMultiviewCreateInfo.pViewOffsets);
VULKAN_HPP_HASH_COMBINE(seed, renderPassMultiviewCreateInfo.correlationMaskCount);
VULKAN_HPP_HASH_COMBINE(seed, renderPassMultiviewCreateInfo.pCorrelationMasks);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SubpassSampleLocationsEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SubpassSampleLocationsEXT const &subpassSampleLocationsEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, subpassSampleLocationsEXT.subpassIndex);
VULKAN_HPP_HASH_COMBINE(seed, subpassSampleLocationsEXT.sampleLocationsInfo);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::RenderPassSampleLocationsBeginInfoEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::RenderPassSampleLocationsBeginInfoEXT const &renderPassSampleLocationsBeginInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, renderPassSampleLocationsBeginInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, renderPassSampleLocationsBeginInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, renderPassSampleLocationsBeginInfoEXT.attachmentInitialSampleLocationsCount);
VULKAN_HPP_HASH_COMBINE(seed, renderPassSampleLocationsBeginInfoEXT.pAttachmentInitialSampleLocations);
VULKAN_HPP_HASH_COMBINE(seed, renderPassSampleLocationsBeginInfoEXT.postSubpassSampleLocationsCount);
VULKAN_HPP_HASH_COMBINE(seed, renderPassSampleLocationsBeginInfoEXT.pPostSubpassSampleLocations);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::RenderPassTransformBeginInfoQCOM>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderPassTransformBeginInfoQCOM const &renderPassTransformBeginInfoQCOM) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, renderPassTransformBeginInfoQCOM.sType);
VULKAN_HPP_HASH_COMBINE(seed, renderPassTransformBeginInfoQCOM.pNext);
VULKAN_HPP_HASH_COMBINE(seed, renderPassTransformBeginInfoQCOM.transform);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::RenderingFragmentDensityMapAttachmentInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderingFragmentDensityMapAttachmentInfoEXT const &renderingFragmentDensityMapAttachmentInfoEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, renderingFragmentDensityMapAttachmentInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, renderingFragmentDensityMapAttachmentInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, renderingFragmentDensityMapAttachmentInfoEXT.imageView);
VULKAN_HPP_HASH_COMBINE(seed, renderingFragmentDensityMapAttachmentInfoEXT.imageLayout);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::RenderingFragmentShadingRateAttachmentInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderingFragmentShadingRateAttachmentInfoKHR const &renderingFragmentShadingRateAttachmentInfoKHR) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, renderingFragmentShadingRateAttachmentInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, renderingFragmentShadingRateAttachmentInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, renderingFragmentShadingRateAttachmentInfoKHR.imageView);
VULKAN_HPP_HASH_COMBINE(seed, renderingFragmentShadingRateAttachmentInfoKHR.imageLayout);
VULKAN_HPP_HASH_COMBINE(seed, renderingFragmentShadingRateAttachmentInfoKHR.shadingRateAttachmentTexelSize);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::RenderingInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::RenderingInfo const &renderingInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, renderingInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, renderingInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, renderingInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, renderingInfo.renderArea);
VULKAN_HPP_HASH_COMBINE(seed, renderingInfo.layerCount);
VULKAN_HPP_HASH_COMBINE(seed, renderingInfo.viewMask);
VULKAN_HPP_HASH_COMBINE(seed, renderingInfo.colorAttachmentCount);
VULKAN_HPP_HASH_COMBINE(seed, renderingInfo.pColorAttachments);
VULKAN_HPP_HASH_COMBINE(seed, renderingInfo.pDepthAttachment);
VULKAN_HPP_HASH_COMBINE(seed, renderingInfo.pStencilAttachment);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ResolveImageInfo2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ResolveImageInfo2 const &resolveImageInfo2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, resolveImageInfo2.sType);
VULKAN_HPP_HASH_COMBINE(seed, resolveImageInfo2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, resolveImageInfo2.srcImage);
VULKAN_HPP_HASH_COMBINE(seed, resolveImageInfo2.srcImageLayout);
VULKAN_HPP_HASH_COMBINE(seed, resolveImageInfo2.dstImage);
VULKAN_HPP_HASH_COMBINE(seed, resolveImageInfo2.dstImageLayout);
VULKAN_HPP_HASH_COMBINE(seed, resolveImageInfo2.regionCount);
VULKAN_HPP_HASH_COMBINE(seed, resolveImageInfo2.pRegions);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SamplerBorderColorComponentMappingCreateInfoEXT>
{
std::size_t operator()(
VULKAN_HPP_NAMESPACE::SamplerBorderColorComponentMappingCreateInfoEXT const &samplerBorderColorComponentMappingCreateInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, samplerBorderColorComponentMappingCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, samplerBorderColorComponentMappingCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, samplerBorderColorComponentMappingCreateInfoEXT.components);
VULKAN_HPP_HASH_COMBINE(seed, samplerBorderColorComponentMappingCreateInfoEXT.srgb);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SamplerCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SamplerCreateInfo const &samplerCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, samplerCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, samplerCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, samplerCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, samplerCreateInfo.magFilter);
VULKAN_HPP_HASH_COMBINE(seed, samplerCreateInfo.minFilter);
VULKAN_HPP_HASH_COMBINE(seed, samplerCreateInfo.mipmapMode);
VULKAN_HPP_HASH_COMBINE(seed, samplerCreateInfo.addressModeU);
VULKAN_HPP_HASH_COMBINE(seed, samplerCreateInfo.addressModeV);
VULKAN_HPP_HASH_COMBINE(seed, samplerCreateInfo.addressModeW);
VULKAN_HPP_HASH_COMBINE(seed, samplerCreateInfo.mipLodBias);
VULKAN_HPP_HASH_COMBINE(seed, samplerCreateInfo.anisotropyEnable);
VULKAN_HPP_HASH_COMBINE(seed, samplerCreateInfo.maxAnisotropy);
VULKAN_HPP_HASH_COMBINE(seed, samplerCreateInfo.compareEnable);
VULKAN_HPP_HASH_COMBINE(seed, samplerCreateInfo.compareOp);
VULKAN_HPP_HASH_COMBINE(seed, samplerCreateInfo.minLod);
VULKAN_HPP_HASH_COMBINE(seed, samplerCreateInfo.maxLod);
VULKAN_HPP_HASH_COMBINE(seed, samplerCreateInfo.borderColor);
VULKAN_HPP_HASH_COMBINE(seed, samplerCreateInfo.unnormalizedCoordinates);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SamplerReductionModeCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SamplerReductionModeCreateInfo const &samplerReductionModeCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, samplerReductionModeCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, samplerReductionModeCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, samplerReductionModeCreateInfo.reductionMode);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo const &samplerYcbcrConversionCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, samplerYcbcrConversionCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, samplerYcbcrConversionCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, samplerYcbcrConversionCreateInfo.format);
VULKAN_HPP_HASH_COMBINE(seed, samplerYcbcrConversionCreateInfo.ycbcrModel);
VULKAN_HPP_HASH_COMBINE(seed, samplerYcbcrConversionCreateInfo.ycbcrRange);
VULKAN_HPP_HASH_COMBINE(seed, samplerYcbcrConversionCreateInfo.components);
VULKAN_HPP_HASH_COMBINE(seed, samplerYcbcrConversionCreateInfo.xChromaOffset);
VULKAN_HPP_HASH_COMBINE(seed, samplerYcbcrConversionCreateInfo.yChromaOffset);
VULKAN_HPP_HASH_COMBINE(seed, samplerYcbcrConversionCreateInfo.chromaFilter);
VULKAN_HPP_HASH_COMBINE(seed, samplerYcbcrConversionCreateInfo.forceExplicitReconstruction);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionImageFormatProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionImageFormatProperties const &samplerYcbcrConversionImageFormatProperties) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, samplerYcbcrConversionImageFormatProperties.sType);
VULKAN_HPP_HASH_COMBINE(seed, samplerYcbcrConversionImageFormatProperties.pNext);
VULKAN_HPP_HASH_COMBINE(seed, samplerYcbcrConversionImageFormatProperties.combinedImageSamplerDescriptorCount);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionInfo const &samplerYcbcrConversionInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, samplerYcbcrConversionInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, samplerYcbcrConversionInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, samplerYcbcrConversionInfo.conversion);
return seed;
}
};
# if defined(VK_USE_PLATFORM_SCREEN_QNX)
template<>
struct hash<VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX const &screenSurfaceCreateInfoQNX) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, screenSurfaceCreateInfoQNX.sType);
VULKAN_HPP_HASH_COMBINE(seed, screenSurfaceCreateInfoQNX.pNext);
VULKAN_HPP_HASH_COMBINE(seed, screenSurfaceCreateInfoQNX.flags);
VULKAN_HPP_HASH_COMBINE(seed, screenSurfaceCreateInfoQNX.context);
VULKAN_HPP_HASH_COMBINE(seed, screenSurfaceCreateInfoQNX.window);
return seed;
}
};
# endif /*VK_USE_PLATFORM_SCREEN_QNX*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo const &semaphoreCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, semaphoreCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreCreateInfo.flags);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SemaphoreGetFdInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SemaphoreGetFdInfoKHR const &semaphoreGetFdInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, semaphoreGetFdInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreGetFdInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreGetFdInfoKHR.semaphore);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreGetFdInfoKHR.handleType);
return seed;
}
};
# if defined(VK_USE_PLATFORM_WIN32_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::SemaphoreGetWin32HandleInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SemaphoreGetWin32HandleInfoKHR const &semaphoreGetWin32HandleInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, semaphoreGetWin32HandleInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreGetWin32HandleInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreGetWin32HandleInfoKHR.semaphore);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreGetWin32HandleInfoKHR.handleType);
return seed;
}
};
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
# if defined(VK_USE_PLATFORM_FUCHSIA)
template<>
struct hash<VULKAN_HPP_NAMESPACE::SemaphoreGetZirconHandleInfoFUCHSIA>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SemaphoreGetZirconHandleInfoFUCHSIA const &semaphoreGetZirconHandleInfoFUCHSIA) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, semaphoreGetZirconHandleInfoFUCHSIA.sType);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreGetZirconHandleInfoFUCHSIA.pNext);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreGetZirconHandleInfoFUCHSIA.semaphore);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreGetZirconHandleInfoFUCHSIA.handleType);
return seed;
}
};
# endif /*VK_USE_PLATFORM_FUCHSIA*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo const &semaphoreSignalInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, semaphoreSignalInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreSignalInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreSignalInfo.semaphore);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreSignalInfo.value);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfo const &semaphoreSubmitInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, semaphoreSubmitInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreSubmitInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreSubmitInfo.semaphore);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreSubmitInfo.value);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreSubmitInfo.stageMask);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreSubmitInfo.deviceIndex);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SemaphoreTypeCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SemaphoreTypeCreateInfo const &semaphoreTypeCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, semaphoreTypeCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreTypeCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreTypeCreateInfo.semaphoreType);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreTypeCreateInfo.initialValue);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo const &semaphoreWaitInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, semaphoreWaitInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreWaitInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreWaitInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreWaitInfo.semaphoreCount);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreWaitInfo.pSemaphores);
VULKAN_HPP_HASH_COMBINE(seed, semaphoreWaitInfo.pValues);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SetStateFlagsIndirectCommandNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SetStateFlagsIndirectCommandNV const &setStateFlagsIndirectCommandNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, setStateFlagsIndirectCommandNV.data);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo const &shaderModuleCreateInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, shaderModuleCreateInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, shaderModuleCreateInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, shaderModuleCreateInfo.flags);
VULKAN_HPP_HASH_COMBINE(seed, shaderModuleCreateInfo.codeSize);
VULKAN_HPP_HASH_COMBINE(seed, shaderModuleCreateInfo.pCode);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ShaderModuleValidationCacheCreateInfoEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::ShaderModuleValidationCacheCreateInfoEXT const &shaderModuleValidationCacheCreateInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, shaderModuleValidationCacheCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, shaderModuleValidationCacheCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, shaderModuleValidationCacheCreateInfoEXT.validationCache);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ShaderResourceUsageAMD>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ShaderResourceUsageAMD const &shaderResourceUsageAMD) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, shaderResourceUsageAMD.numUsedVgprs);
VULKAN_HPP_HASH_COMBINE(seed, shaderResourceUsageAMD.numUsedSgprs);
VULKAN_HPP_HASH_COMBINE(seed, shaderResourceUsageAMD.ldsSizePerLocalWorkGroup);
VULKAN_HPP_HASH_COMBINE(seed, shaderResourceUsageAMD.ldsUsageSizeInBytes);
VULKAN_HPP_HASH_COMBINE(seed, shaderResourceUsageAMD.scratchMemUsageInBytes);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ShaderStatisticsInfoAMD>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ShaderStatisticsInfoAMD const &shaderStatisticsInfoAMD) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, shaderStatisticsInfoAMD.shaderStageMask);
VULKAN_HPP_HASH_COMBINE(seed, shaderStatisticsInfoAMD.resourceUsage);
VULKAN_HPP_HASH_COMBINE(seed, shaderStatisticsInfoAMD.numPhysicalVgprs);
VULKAN_HPP_HASH_COMBINE(seed, shaderStatisticsInfoAMD.numPhysicalSgprs);
VULKAN_HPP_HASH_COMBINE(seed, shaderStatisticsInfoAMD.numAvailableVgprs);
VULKAN_HPP_HASH_COMBINE(seed, shaderStatisticsInfoAMD.numAvailableSgprs);
for(size_t i = 0; i < 3; ++i)
{
VULKAN_HPP_HASH_COMBINE(seed, shaderStatisticsInfoAMD.computeWorkGroupSize[i]);
}
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SharedPresentSurfaceCapabilitiesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SharedPresentSurfaceCapabilitiesKHR const &sharedPresentSurfaceCapabilitiesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, sharedPresentSurfaceCapabilitiesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, sharedPresentSurfaceCapabilitiesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, sharedPresentSurfaceCapabilitiesKHR.sharedPresentSupportedUsageFlags);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SparseImageFormatProperties const &sparseImageFormatProperties) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, sparseImageFormatProperties.aspectMask);
VULKAN_HPP_HASH_COMBINE(seed, sparseImageFormatProperties.imageGranularity);
VULKAN_HPP_HASH_COMBINE(seed, sparseImageFormatProperties.flags);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2 const &sparseImageFormatProperties2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, sparseImageFormatProperties2.sType);
VULKAN_HPP_HASH_COMBINE(seed, sparseImageFormatProperties2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, sparseImageFormatProperties2.properties);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements const &sparseImageMemoryRequirements) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, sparseImageMemoryRequirements.formatProperties);
VULKAN_HPP_HASH_COMBINE(seed, sparseImageMemoryRequirements.imageMipTailFirstLod);
VULKAN_HPP_HASH_COMBINE(seed, sparseImageMemoryRequirements.imageMipTailSize);
VULKAN_HPP_HASH_COMBINE(seed, sparseImageMemoryRequirements.imageMipTailOffset);
VULKAN_HPP_HASH_COMBINE(seed, sparseImageMemoryRequirements.imageMipTailStride);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2 const &sparseImageMemoryRequirements2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, sparseImageMemoryRequirements2.sType);
VULKAN_HPP_HASH_COMBINE(seed, sparseImageMemoryRequirements2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, sparseImageMemoryRequirements2.memoryRequirements);
return seed;
}
};
# if defined(VK_USE_PLATFORM_GGP)
template<>
struct hash<VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP const &streamDescriptorSurfaceCreateInfoGGP) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, streamDescriptorSurfaceCreateInfoGGP.sType);
VULKAN_HPP_HASH_COMBINE(seed, streamDescriptorSurfaceCreateInfoGGP.pNext);
VULKAN_HPP_HASH_COMBINE(seed, streamDescriptorSurfaceCreateInfoGGP.flags);
VULKAN_HPP_HASH_COMBINE(seed, streamDescriptorSurfaceCreateInfoGGP.streamDescriptor);
return seed;
}
};
# endif /*VK_USE_PLATFORM_GGP*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR const &stridedDeviceAddressRegionKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, stridedDeviceAddressRegionKHR.deviceAddress);
VULKAN_HPP_HASH_COMBINE(seed, stridedDeviceAddressRegionKHR.stride);
VULKAN_HPP_HASH_COMBINE(seed, stridedDeviceAddressRegionKHR.size);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SubmitInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SubmitInfo const &submitInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, submitInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, submitInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, submitInfo.waitSemaphoreCount);
VULKAN_HPP_HASH_COMBINE(seed, submitInfo.pWaitSemaphores);
VULKAN_HPP_HASH_COMBINE(seed, submitInfo.pWaitDstStageMask);
VULKAN_HPP_HASH_COMBINE(seed, submitInfo.commandBufferCount);
VULKAN_HPP_HASH_COMBINE(seed, submitInfo.pCommandBuffers);
VULKAN_HPP_HASH_COMBINE(seed, submitInfo.signalSemaphoreCount);
VULKAN_HPP_HASH_COMBINE(seed, submitInfo.pSignalSemaphores);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SubmitInfo2>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SubmitInfo2 const &submitInfo2) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, submitInfo2.sType);
VULKAN_HPP_HASH_COMBINE(seed, submitInfo2.pNext);
VULKAN_HPP_HASH_COMBINE(seed, submitInfo2.flags);
VULKAN_HPP_HASH_COMBINE(seed, submitInfo2.waitSemaphoreInfoCount);
VULKAN_HPP_HASH_COMBINE(seed, submitInfo2.pWaitSemaphoreInfos);
VULKAN_HPP_HASH_COMBINE(seed, submitInfo2.commandBufferInfoCount);
VULKAN_HPP_HASH_COMBINE(seed, submitInfo2.pCommandBufferInfos);
VULKAN_HPP_HASH_COMBINE(seed, submitInfo2.signalSemaphoreInfoCount);
VULKAN_HPP_HASH_COMBINE(seed, submitInfo2.pSignalSemaphoreInfos);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SubpassBeginInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SubpassBeginInfo const &subpassBeginInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, subpassBeginInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, subpassBeginInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, subpassBeginInfo.contents);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SubpassDescriptionDepthStencilResolve>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::SubpassDescriptionDepthStencilResolve const &subpassDescriptionDepthStencilResolve) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, subpassDescriptionDepthStencilResolve.sType);
VULKAN_HPP_HASH_COMBINE(seed, subpassDescriptionDepthStencilResolve.pNext);
VULKAN_HPP_HASH_COMBINE(seed, subpassDescriptionDepthStencilResolve.depthResolveMode);
VULKAN_HPP_HASH_COMBINE(seed, subpassDescriptionDepthStencilResolve.stencilResolveMode);
VULKAN_HPP_HASH_COMBINE(seed, subpassDescriptionDepthStencilResolve.pDepthStencilResolveAttachment);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SubpassEndInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SubpassEndInfo const &subpassEndInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, subpassEndInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, subpassEndInfo.pNext);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SubpassFragmentDensityMapOffsetEndInfoQCOM>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SubpassFragmentDensityMapOffsetEndInfoQCOM const &subpassFragmentDensityMapOffsetEndInfoQCOM) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, subpassFragmentDensityMapOffsetEndInfoQCOM.sType);
VULKAN_HPP_HASH_COMBINE(seed, subpassFragmentDensityMapOffsetEndInfoQCOM.pNext);
VULKAN_HPP_HASH_COMBINE(seed, subpassFragmentDensityMapOffsetEndInfoQCOM.fragmentDensityOffsetCount);
VULKAN_HPP_HASH_COMBINE(seed, subpassFragmentDensityMapOffsetEndInfoQCOM.pFragmentDensityOffsets);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SubpassShadingPipelineCreateInfoHUAWEI>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::SubpassShadingPipelineCreateInfoHUAWEI const &subpassShadingPipelineCreateInfoHUAWEI) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, subpassShadingPipelineCreateInfoHUAWEI.sType);
VULKAN_HPP_HASH_COMBINE(seed, subpassShadingPipelineCreateInfoHUAWEI.pNext);
VULKAN_HPP_HASH_COMBINE(seed, subpassShadingPipelineCreateInfoHUAWEI.renderPass);
VULKAN_HPP_HASH_COMBINE(seed, subpassShadingPipelineCreateInfoHUAWEI.subpass);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT const &surfaceCapabilities2EXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilities2EXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilities2EXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilities2EXT.minImageCount);
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilities2EXT.maxImageCount);
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilities2EXT.currentExtent);
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilities2EXT.minImageExtent);
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilities2EXT.maxImageExtent);
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilities2EXT.maxImageArrayLayers);
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilities2EXT.supportedTransforms);
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilities2EXT.currentTransform);
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilities2EXT.supportedCompositeAlpha);
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilities2EXT.supportedUsageFlags);
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilities2EXT.supportedSurfaceCounters);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR const &surfaceCapabilitiesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilitiesKHR.minImageCount);
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilitiesKHR.maxImageCount);
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilitiesKHR.currentExtent);
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilitiesKHR.minImageExtent);
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilitiesKHR.maxImageExtent);
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilitiesKHR.maxImageArrayLayers);
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilitiesKHR.supportedTransforms);
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilitiesKHR.currentTransform);
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilitiesKHR.supportedCompositeAlpha);
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilitiesKHR.supportedUsageFlags);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR const &surfaceCapabilities2KHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilities2KHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilities2KHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilities2KHR.surfaceCapabilities);
return seed;
}
};
# if defined(VK_USE_PLATFORM_WIN32_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesFullScreenExclusiveEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesFullScreenExclusiveEXT const &surfaceCapabilitiesFullScreenExclusiveEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilitiesFullScreenExclusiveEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilitiesFullScreenExclusiveEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, surfaceCapabilitiesFullScreenExclusiveEXT.fullScreenExclusiveSupported);
return seed;
}
};
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::SurfaceFormatKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SurfaceFormatKHR const &surfaceFormatKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, surfaceFormatKHR.format);
VULKAN_HPP_HASH_COMBINE(seed, surfaceFormatKHR.colorSpace);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR const &surfaceFormat2KHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, surfaceFormat2KHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, surfaceFormat2KHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, surfaceFormat2KHR.surfaceFormat);
return seed;
}
};
# if defined(VK_USE_PLATFORM_WIN32_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::SurfaceFullScreenExclusiveInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SurfaceFullScreenExclusiveInfoEXT const &surfaceFullScreenExclusiveInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, surfaceFullScreenExclusiveInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, surfaceFullScreenExclusiveInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, surfaceFullScreenExclusiveInfoEXT.fullScreenExclusive);
return seed;
}
};
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
# if defined(VK_USE_PLATFORM_WIN32_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::SurfaceFullScreenExclusiveWin32InfoEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::SurfaceFullScreenExclusiveWin32InfoEXT const &surfaceFullScreenExclusiveWin32InfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, surfaceFullScreenExclusiveWin32InfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, surfaceFullScreenExclusiveWin32InfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, surfaceFullScreenExclusiveWin32InfoEXT.hmonitor);
return seed;
}
};
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::SurfaceProtectedCapabilitiesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SurfaceProtectedCapabilitiesKHR const &surfaceProtectedCapabilitiesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, surfaceProtectedCapabilitiesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, surfaceProtectedCapabilitiesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, surfaceProtectedCapabilitiesKHR.supportsProtected);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SwapchainCounterCreateInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SwapchainCounterCreateInfoEXT const &swapchainCounterCreateInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, swapchainCounterCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, swapchainCounterCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, swapchainCounterCreateInfoEXT.surfaceCounters);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR const &swapchainCreateInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, swapchainCreateInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, swapchainCreateInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, swapchainCreateInfoKHR.flags);
VULKAN_HPP_HASH_COMBINE(seed, swapchainCreateInfoKHR.surface);
VULKAN_HPP_HASH_COMBINE(seed, swapchainCreateInfoKHR.minImageCount);
VULKAN_HPP_HASH_COMBINE(seed, swapchainCreateInfoKHR.imageFormat);
VULKAN_HPP_HASH_COMBINE(seed, swapchainCreateInfoKHR.imageColorSpace);
VULKAN_HPP_HASH_COMBINE(seed, swapchainCreateInfoKHR.imageExtent);
VULKAN_HPP_HASH_COMBINE(seed, swapchainCreateInfoKHR.imageArrayLayers);
VULKAN_HPP_HASH_COMBINE(seed, swapchainCreateInfoKHR.imageUsage);
VULKAN_HPP_HASH_COMBINE(seed, swapchainCreateInfoKHR.imageSharingMode);
VULKAN_HPP_HASH_COMBINE(seed, swapchainCreateInfoKHR.queueFamilyIndexCount);
VULKAN_HPP_HASH_COMBINE(seed, swapchainCreateInfoKHR.pQueueFamilyIndices);
VULKAN_HPP_HASH_COMBINE(seed, swapchainCreateInfoKHR.preTransform);
VULKAN_HPP_HASH_COMBINE(seed, swapchainCreateInfoKHR.compositeAlpha);
VULKAN_HPP_HASH_COMBINE(seed, swapchainCreateInfoKHR.presentMode);
VULKAN_HPP_HASH_COMBINE(seed, swapchainCreateInfoKHR.clipped);
VULKAN_HPP_HASH_COMBINE(seed, swapchainCreateInfoKHR.oldSwapchain);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::SwapchainDisplayNativeHdrCreateInfoAMD>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::SwapchainDisplayNativeHdrCreateInfoAMD const &swapchainDisplayNativeHdrCreateInfoAMD) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, swapchainDisplayNativeHdrCreateInfoAMD.sType);
VULKAN_HPP_HASH_COMBINE(seed, swapchainDisplayNativeHdrCreateInfoAMD.pNext);
VULKAN_HPP_HASH_COMBINE(seed, swapchainDisplayNativeHdrCreateInfoAMD.localDimmingEnable);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::TextureLODGatherFormatPropertiesAMD>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::TextureLODGatherFormatPropertiesAMD const &textureLODGatherFormatPropertiesAMD) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, textureLODGatherFormatPropertiesAMD.sType);
VULKAN_HPP_HASH_COMBINE(seed, textureLODGatherFormatPropertiesAMD.pNext);
VULKAN_HPP_HASH_COMBINE(seed, textureLODGatherFormatPropertiesAMD.supportsTextureGatherLODBiasAMD);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::TimelineSemaphoreSubmitInfo>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::TimelineSemaphoreSubmitInfo const &timelineSemaphoreSubmitInfo) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, timelineSemaphoreSubmitInfo.sType);
VULKAN_HPP_HASH_COMBINE(seed, timelineSemaphoreSubmitInfo.pNext);
VULKAN_HPP_HASH_COMBINE(seed, timelineSemaphoreSubmitInfo.waitSemaphoreValueCount);
VULKAN_HPP_HASH_COMBINE(seed, timelineSemaphoreSubmitInfo.pWaitSemaphoreValues);
VULKAN_HPP_HASH_COMBINE(seed, timelineSemaphoreSubmitInfo.signalSemaphoreValueCount);
VULKAN_HPP_HASH_COMBINE(seed, timelineSemaphoreSubmitInfo.pSignalSemaphoreValues);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::TraceRaysIndirectCommandKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::TraceRaysIndirectCommandKHR const &traceRaysIndirectCommandKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, traceRaysIndirectCommandKHR.width);
VULKAN_HPP_HASH_COMBINE(seed, traceRaysIndirectCommandKHR.height);
VULKAN_HPP_HASH_COMBINE(seed, traceRaysIndirectCommandKHR.depth);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT const &validationCacheCreateInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, validationCacheCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, validationCacheCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, validationCacheCreateInfoEXT.flags);
VULKAN_HPP_HASH_COMBINE(seed, validationCacheCreateInfoEXT.initialDataSize);
VULKAN_HPP_HASH_COMBINE(seed, validationCacheCreateInfoEXT.pInitialData);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ValidationFeaturesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ValidationFeaturesEXT const &validationFeaturesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, validationFeaturesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, validationFeaturesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, validationFeaturesEXT.enabledValidationFeatureCount);
VULKAN_HPP_HASH_COMBINE(seed, validationFeaturesEXT.pEnabledValidationFeatures);
VULKAN_HPP_HASH_COMBINE(seed, validationFeaturesEXT.disabledValidationFeatureCount);
VULKAN_HPP_HASH_COMBINE(seed, validationFeaturesEXT.pDisabledValidationFeatures);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::ValidationFlagsEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ValidationFlagsEXT const &validationFlagsEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, validationFlagsEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, validationFlagsEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, validationFlagsEXT.disabledValidationCheckCount);
VULKAN_HPP_HASH_COMBINE(seed, validationFlagsEXT.pDisabledValidationChecks);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription2EXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription2EXT const &vertexInputAttributeDescription2EXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, vertexInputAttributeDescription2EXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, vertexInputAttributeDescription2EXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, vertexInputAttributeDescription2EXT.location);
VULKAN_HPP_HASH_COMBINE(seed, vertexInputAttributeDescription2EXT.binding);
VULKAN_HPP_HASH_COMBINE(seed, vertexInputAttributeDescription2EXT.format);
VULKAN_HPP_HASH_COMBINE(seed, vertexInputAttributeDescription2EXT.offset);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::VertexInputBindingDescription2EXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VertexInputBindingDescription2EXT const &vertexInputBindingDescription2EXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, vertexInputBindingDescription2EXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, vertexInputBindingDescription2EXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, vertexInputBindingDescription2EXT.binding);
VULKAN_HPP_HASH_COMBINE(seed, vertexInputBindingDescription2EXT.stride);
VULKAN_HPP_HASH_COMBINE(seed, vertexInputBindingDescription2EXT.inputRate);
VULKAN_HPP_HASH_COMBINE(seed, vertexInputBindingDescription2EXT.divisor);
return seed;
}
};
# if defined(VK_USE_PLATFORM_VI_NN)
template<>
struct hash<VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN const &viSurfaceCreateInfoNN) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, viSurfaceCreateInfoNN.sType);
VULKAN_HPP_HASH_COMBINE(seed, viSurfaceCreateInfoNN.pNext);
VULKAN_HPP_HASH_COMBINE(seed, viSurfaceCreateInfoNN.flags);
VULKAN_HPP_HASH_COMBINE(seed, viSurfaceCreateInfoNN.window);
return seed;
}
};
# endif /*VK_USE_PLATFORM_VI_NN*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoPictureResourceKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoPictureResourceKHR const &videoPictureResourceKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoPictureResourceKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoPictureResourceKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoPictureResourceKHR.codedOffset);
VULKAN_HPP_HASH_COMBINE(seed, videoPictureResourceKHR.codedExtent);
VULKAN_HPP_HASH_COMBINE(seed, videoPictureResourceKHR.baseArrayLayer);
VULKAN_HPP_HASH_COMBINE(seed, videoPictureResourceKHR.imageViewBinding);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoReferenceSlotKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoReferenceSlotKHR const &videoReferenceSlotKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoReferenceSlotKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoReferenceSlotKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoReferenceSlotKHR.slotIndex);
VULKAN_HPP_HASH_COMBINE(seed, videoReferenceSlotKHR.pPictureResource);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoBeginCodingInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoBeginCodingInfoKHR const &videoBeginCodingInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoBeginCodingInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoBeginCodingInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoBeginCodingInfoKHR.flags);
VULKAN_HPP_HASH_COMBINE(seed, videoBeginCodingInfoKHR.codecQualityPreset);
VULKAN_HPP_HASH_COMBINE(seed, videoBeginCodingInfoKHR.videoSession);
VULKAN_HPP_HASH_COMBINE(seed, videoBeginCodingInfoKHR.videoSessionParameters);
VULKAN_HPP_HASH_COMBINE(seed, videoBeginCodingInfoKHR.referenceSlotCount);
VULKAN_HPP_HASH_COMBINE(seed, videoBeginCodingInfoKHR.pReferenceSlots);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoBindMemoryKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoBindMemoryKHR const &videoBindMemoryKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoBindMemoryKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoBindMemoryKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoBindMemoryKHR.memoryBindIndex);
VULKAN_HPP_HASH_COMBINE(seed, videoBindMemoryKHR.memory);
VULKAN_HPP_HASH_COMBINE(seed, videoBindMemoryKHR.memoryOffset);
VULKAN_HPP_HASH_COMBINE(seed, videoBindMemoryKHR.memorySize);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR const &videoCapabilitiesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoCapabilitiesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoCapabilitiesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoCapabilitiesKHR.capabilityFlags);
VULKAN_HPP_HASH_COMBINE(seed, videoCapabilitiesKHR.minBitstreamBufferOffsetAlignment);
VULKAN_HPP_HASH_COMBINE(seed, videoCapabilitiesKHR.minBitstreamBufferSizeAlignment);
VULKAN_HPP_HASH_COMBINE(seed, videoCapabilitiesKHR.videoPictureExtentGranularity);
VULKAN_HPP_HASH_COMBINE(seed, videoCapabilitiesKHR.minExtent);
VULKAN_HPP_HASH_COMBINE(seed, videoCapabilitiesKHR.maxExtent);
VULKAN_HPP_HASH_COMBINE(seed, videoCapabilitiesKHR.maxReferencePicturesSlotsCount);
VULKAN_HPP_HASH_COMBINE(seed, videoCapabilitiesKHR.maxReferencePicturesActiveCount);
VULKAN_HPP_HASH_COMBINE(seed, videoCapabilitiesKHR.stdHeaderVersion);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoCodingControlInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoCodingControlInfoKHR const &videoCodingControlInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoCodingControlInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoCodingControlInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoCodingControlInfoKHR.flags);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeCapabilitiesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeCapabilitiesKHR const &videoDecodeCapabilitiesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeCapabilitiesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeCapabilitiesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeCapabilitiesKHR.flags);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH264CapabilitiesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeH264CapabilitiesEXT const &videoDecodeH264CapabilitiesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264CapabilitiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264CapabilitiesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264CapabilitiesEXT.maxLevel);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264CapabilitiesEXT.fieldOffsetGranularity);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH264DpbSlotInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeH264DpbSlotInfoEXT const &videoDecodeH264DpbSlotInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264DpbSlotInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264DpbSlotInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264DpbSlotInfoEXT.pStdReferenceInfo);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH264MvcEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeH264MvcEXT const &videoDecodeH264MvcEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264MvcEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264MvcEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264MvcEXT.pStdMvc);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH264PictureInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeH264PictureInfoEXT const &videoDecodeH264PictureInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264PictureInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264PictureInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264PictureInfoEXT.pStdPictureInfo);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264PictureInfoEXT.slicesCount);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264PictureInfoEXT.pSlicesDataOffsets);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH264ProfileEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeH264ProfileEXT const &videoDecodeH264ProfileEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264ProfileEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264ProfileEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264ProfileEXT.stdProfileIdc);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264ProfileEXT.pictureLayout);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH264SessionParametersAddInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeH264SessionParametersAddInfoEXT const &videoDecodeH264SessionParametersAddInfoEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264SessionParametersAddInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264SessionParametersAddInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264SessionParametersAddInfoEXT.spsStdCount);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264SessionParametersAddInfoEXT.pSpsStd);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264SessionParametersAddInfoEXT.ppsStdCount);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264SessionParametersAddInfoEXT.pPpsStd);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH264SessionParametersCreateInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeH264SessionParametersCreateInfoEXT const &videoDecodeH264SessionParametersCreateInfoEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264SessionParametersCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264SessionParametersCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264SessionParametersCreateInfoEXT.maxSpsStdCount);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264SessionParametersCreateInfoEXT.maxPpsStdCount);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH264SessionParametersCreateInfoEXT.pParametersAddInfo);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH265CapabilitiesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeH265CapabilitiesEXT const &videoDecodeH265CapabilitiesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265CapabilitiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265CapabilitiesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265CapabilitiesEXT.maxLevel);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH265DpbSlotInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeH265DpbSlotInfoEXT const &videoDecodeH265DpbSlotInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265DpbSlotInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265DpbSlotInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265DpbSlotInfoEXT.pStdReferenceInfo);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH265PictureInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeH265PictureInfoEXT const &videoDecodeH265PictureInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265PictureInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265PictureInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265PictureInfoEXT.pStdPictureInfo);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265PictureInfoEXT.slicesCount);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265PictureInfoEXT.pSlicesDataOffsets);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH265ProfileEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeH265ProfileEXT const &videoDecodeH265ProfileEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265ProfileEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265ProfileEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265ProfileEXT.stdProfileIdc);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH265SessionParametersAddInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeH265SessionParametersAddInfoEXT const &videoDecodeH265SessionParametersAddInfoEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265SessionParametersAddInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265SessionParametersAddInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265SessionParametersAddInfoEXT.vpsStdCount);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265SessionParametersAddInfoEXT.pVpsStd);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265SessionParametersAddInfoEXT.spsStdCount);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265SessionParametersAddInfoEXT.pSpsStd);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265SessionParametersAddInfoEXT.ppsStdCount);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265SessionParametersAddInfoEXT.pPpsStd);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeH265SessionParametersCreateInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeH265SessionParametersCreateInfoEXT const &videoDecodeH265SessionParametersCreateInfoEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265SessionParametersCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265SessionParametersCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265SessionParametersCreateInfoEXT.maxVpsStdCount);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265SessionParametersCreateInfoEXT.maxSpsStdCount);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265SessionParametersCreateInfoEXT.maxPpsStdCount);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeH265SessionParametersCreateInfoEXT.pParametersAddInfo);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoDecodeInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoDecodeInfoKHR const &videoDecodeInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeInfoKHR.flags);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeInfoKHR.srcBuffer);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeInfoKHR.srcBufferOffset);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeInfoKHR.srcBufferRange);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeInfoKHR.dstPictureResource);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeInfoKHR.pSetupReferenceSlot);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeInfoKHR.referenceSlotCount);
VULKAN_HPP_HASH_COMBINE(seed, videoDecodeInfoKHR.pReferenceSlots);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeCapabilitiesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeCapabilitiesKHR const &videoEncodeCapabilitiesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeCapabilitiesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeCapabilitiesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeCapabilitiesKHR.flags);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeCapabilitiesKHR.rateControlModes);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeCapabilitiesKHR.rateControlLayerCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeCapabilitiesKHR.qualityLevelCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeCapabilitiesKHR.inputImageDataFillAlignment);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264CapabilitiesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264CapabilitiesEXT const &videoEncodeH264CapabilitiesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264CapabilitiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264CapabilitiesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264CapabilitiesEXT.flags);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264CapabilitiesEXT.inputModeFlags);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264CapabilitiesEXT.outputModeFlags);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264CapabilitiesEXT.maxPPictureL0ReferenceCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264CapabilitiesEXT.maxBPictureL0ReferenceCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264CapabilitiesEXT.maxL1ReferenceCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264CapabilitiesEXT.motionVectorsOverPicBoundariesFlag);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264CapabilitiesEXT.maxBytesPerPicDenom);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264CapabilitiesEXT.maxBitsPerMbDenom);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264CapabilitiesEXT.log2MaxMvLengthHorizontal);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264CapabilitiesEXT.log2MaxMvLengthVertical);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264DpbSlotInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264DpbSlotInfoEXT const &videoEncodeH264DpbSlotInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264DpbSlotInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264DpbSlotInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264DpbSlotInfoEXT.slotIndex);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264DpbSlotInfoEXT.pStdReferenceInfo);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264EmitPictureParametersEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264EmitPictureParametersEXT const &videoEncodeH264EmitPictureParametersEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264EmitPictureParametersEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264EmitPictureParametersEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264EmitPictureParametersEXT.spsId);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264EmitPictureParametersEXT.emitSpsEnable);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264EmitPictureParametersEXT.ppsIdEntryCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264EmitPictureParametersEXT.ppsIdEntries);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264FrameSizeEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264FrameSizeEXT const &videoEncodeH264FrameSizeEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264FrameSizeEXT.frameISize);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264FrameSizeEXT.framePSize);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264FrameSizeEXT.frameBSize);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264ReferenceListsEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264ReferenceListsEXT const &videoEncodeH264ReferenceListsEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264ReferenceListsEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264ReferenceListsEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264ReferenceListsEXT.referenceList0EntryCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264ReferenceListsEXT.pReferenceList0Entries);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264ReferenceListsEXT.referenceList1EntryCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264ReferenceListsEXT.pReferenceList1Entries);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264ReferenceListsEXT.pMemMgmtCtrlOperations);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264NaluSliceEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264NaluSliceEXT const &videoEncodeH264NaluSliceEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264NaluSliceEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264NaluSliceEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264NaluSliceEXT.mbCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264NaluSliceEXT.pReferenceFinalLists);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264NaluSliceEXT.pSliceHeaderStd);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264ProfileEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264ProfileEXT const &videoEncodeH264ProfileEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264ProfileEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264ProfileEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264ProfileEXT.stdProfileIdc);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264QpEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264QpEXT const &videoEncodeH264QpEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264QpEXT.qpI);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264QpEXT.qpP);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264QpEXT.qpB);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264RateControlInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264RateControlInfoEXT const &videoEncodeH264RateControlInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264RateControlInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264RateControlInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264RateControlInfoEXT.gopFrameCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264RateControlInfoEXT.idrPeriod);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264RateControlInfoEXT.consecutiveBFrameCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264RateControlInfoEXT.rateControlStructure);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264RateControlInfoEXT.temporalLayerCount);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264RateControlLayerInfoEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264RateControlLayerInfoEXT const &videoEncodeH264RateControlLayerInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264RateControlLayerInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264RateControlLayerInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264RateControlLayerInfoEXT.temporalLayerId);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264RateControlLayerInfoEXT.useInitialRcQp);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264RateControlLayerInfoEXT.initialRcQp);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264RateControlLayerInfoEXT.useMinQp);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264RateControlLayerInfoEXT.minQp);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264RateControlLayerInfoEXT.useMaxQp);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264RateControlLayerInfoEXT.maxQp);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264RateControlLayerInfoEXT.useMaxFrameSize);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264RateControlLayerInfoEXT.maxFrameSize);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264SessionParametersAddInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264SessionParametersAddInfoEXT const &videoEncodeH264SessionParametersAddInfoEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264SessionParametersAddInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264SessionParametersAddInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264SessionParametersAddInfoEXT.spsStdCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264SessionParametersAddInfoEXT.pSpsStd);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264SessionParametersAddInfoEXT.ppsStdCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264SessionParametersAddInfoEXT.pPpsStd);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264SessionParametersCreateInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264SessionParametersCreateInfoEXT const &videoEncodeH264SessionParametersCreateInfoEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264SessionParametersCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264SessionParametersCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264SessionParametersCreateInfoEXT.maxSpsStdCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264SessionParametersCreateInfoEXT.maxPpsStdCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264SessionParametersCreateInfoEXT.pParametersAddInfo);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH264VclFrameInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH264VclFrameInfoEXT const &videoEncodeH264VclFrameInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264VclFrameInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264VclFrameInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264VclFrameInfoEXT.pReferenceFinalLists);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264VclFrameInfoEXT.naluSliceEntryCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264VclFrameInfoEXT.pNaluSliceEntries);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH264VclFrameInfoEXT.pCurrentPictureInfo);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265CapabilitiesEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265CapabilitiesEXT const &videoEncodeH265CapabilitiesEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265CapabilitiesEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265CapabilitiesEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265CapabilitiesEXT.flags);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265CapabilitiesEXT.inputModeFlags);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265CapabilitiesEXT.outputModeFlags);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265CapabilitiesEXT.ctbSizes);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265CapabilitiesEXT.transformBlockSizes);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265CapabilitiesEXT.maxPPictureL0ReferenceCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265CapabilitiesEXT.maxBPictureL0ReferenceCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265CapabilitiesEXT.maxL1ReferenceCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265CapabilitiesEXT.maxSubLayersCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265CapabilitiesEXT.minLog2MinLumaCodingBlockSizeMinus3);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265CapabilitiesEXT.maxLog2MinLumaCodingBlockSizeMinus3);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265CapabilitiesEXT.minLog2MinLumaTransformBlockSizeMinus2);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265CapabilitiesEXT.maxLog2MinLumaTransformBlockSizeMinus2);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265CapabilitiesEXT.minMaxTransformHierarchyDepthInter);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265CapabilitiesEXT.maxMaxTransformHierarchyDepthInter);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265CapabilitiesEXT.minMaxTransformHierarchyDepthIntra);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265CapabilitiesEXT.maxMaxTransformHierarchyDepthIntra);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265CapabilitiesEXT.maxDiffCuQpDeltaDepth);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265CapabilitiesEXT.minMaxNumMergeCand);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265CapabilitiesEXT.maxMaxNumMergeCand);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265DpbSlotInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265DpbSlotInfoEXT const &videoEncodeH265DpbSlotInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265DpbSlotInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265DpbSlotInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265DpbSlotInfoEXT.slotIndex);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265DpbSlotInfoEXT.pStdReferenceInfo);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265EmitPictureParametersEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265EmitPictureParametersEXT const &videoEncodeH265EmitPictureParametersEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265EmitPictureParametersEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265EmitPictureParametersEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265EmitPictureParametersEXT.vpsId);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265EmitPictureParametersEXT.spsId);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265EmitPictureParametersEXT.emitVpsEnable);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265EmitPictureParametersEXT.emitSpsEnable);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265EmitPictureParametersEXT.ppsIdEntryCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265EmitPictureParametersEXT.ppsIdEntries);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265FrameSizeEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265FrameSizeEXT const &videoEncodeH265FrameSizeEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265FrameSizeEXT.frameISize);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265FrameSizeEXT.framePSize);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265FrameSizeEXT.frameBSize);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265ReferenceListsEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265ReferenceListsEXT const &videoEncodeH265ReferenceListsEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265ReferenceListsEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265ReferenceListsEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265ReferenceListsEXT.referenceList0EntryCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265ReferenceListsEXT.pReferenceList0Entries);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265ReferenceListsEXT.referenceList1EntryCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265ReferenceListsEXT.pReferenceList1Entries);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265ReferenceListsEXT.pReferenceModifications);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265NaluSliceSegmentEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265NaluSliceSegmentEXT const &videoEncodeH265NaluSliceSegmentEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265NaluSliceSegmentEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265NaluSliceSegmentEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265NaluSliceSegmentEXT.ctbCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265NaluSliceSegmentEXT.pReferenceFinalLists);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265NaluSliceSegmentEXT.pSliceSegmentHeaderStd);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265ProfileEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265ProfileEXT const &videoEncodeH265ProfileEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265ProfileEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265ProfileEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265ProfileEXT.stdProfileIdc);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265QpEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265QpEXT const &videoEncodeH265QpEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265QpEXT.qpI);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265QpEXT.qpP);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265QpEXT.qpB);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265RateControlInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265RateControlInfoEXT const &videoEncodeH265RateControlInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265RateControlInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265RateControlInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265RateControlInfoEXT.gopFrameCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265RateControlInfoEXT.idrPeriod);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265RateControlInfoEXT.consecutiveBFrameCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265RateControlInfoEXT.rateControlStructure);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265RateControlInfoEXT.subLayerCount);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265RateControlLayerInfoEXT>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265RateControlLayerInfoEXT const &videoEncodeH265RateControlLayerInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265RateControlLayerInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265RateControlLayerInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265RateControlLayerInfoEXT.temporalId);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265RateControlLayerInfoEXT.useInitialRcQp);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265RateControlLayerInfoEXT.initialRcQp);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265RateControlLayerInfoEXT.useMinQp);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265RateControlLayerInfoEXT.minQp);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265RateControlLayerInfoEXT.useMaxQp);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265RateControlLayerInfoEXT.maxQp);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265RateControlLayerInfoEXT.useMaxFrameSize);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265RateControlLayerInfoEXT.maxFrameSize);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265SessionParametersAddInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265SessionParametersAddInfoEXT const &videoEncodeH265SessionParametersAddInfoEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265SessionParametersAddInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265SessionParametersAddInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265SessionParametersAddInfoEXT.vpsStdCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265SessionParametersAddInfoEXT.pVpsStd);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265SessionParametersAddInfoEXT.spsStdCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265SessionParametersAddInfoEXT.pSpsStd);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265SessionParametersAddInfoEXT.ppsStdCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265SessionParametersAddInfoEXT.pPpsStd);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265SessionParametersCreateInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265SessionParametersCreateInfoEXT const &videoEncodeH265SessionParametersCreateInfoEXT) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265SessionParametersCreateInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265SessionParametersCreateInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265SessionParametersCreateInfoEXT.maxVpsStdCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265SessionParametersCreateInfoEXT.maxSpsStdCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265SessionParametersCreateInfoEXT.maxPpsStdCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265SessionParametersCreateInfoEXT.pParametersAddInfo);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeH265VclFrameInfoEXT>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeH265VclFrameInfoEXT const &videoEncodeH265VclFrameInfoEXT) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265VclFrameInfoEXT.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265VclFrameInfoEXT.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265VclFrameInfoEXT.pReferenceFinalLists);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265VclFrameInfoEXT.naluSliceSegmentEntryCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265VclFrameInfoEXT.pNaluSliceSegmentEntries);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeH265VclFrameInfoEXT.pCurrentPictureInfo);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeInfoKHR const &videoEncodeInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeInfoKHR.flags);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeInfoKHR.qualityLevel);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeInfoKHR.dstBitstreamBuffer);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeInfoKHR.dstBitstreamBufferOffset);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeInfoKHR.dstBitstreamBufferMaxRange);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeInfoKHR.srcPictureResource);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeInfoKHR.pSetupReferenceSlot);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeInfoKHR.referenceSlotCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeInfoKHR.pReferenceSlots);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeInfoKHR.precedingExternallyEncodedBytes);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeRateControlLayerInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeRateControlLayerInfoKHR const &videoEncodeRateControlLayerInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeRateControlLayerInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeRateControlLayerInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeRateControlLayerInfoKHR.averageBitrate);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeRateControlLayerInfoKHR.maxBitrate);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeRateControlLayerInfoKHR.frameRateNumerator);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeRateControlLayerInfoKHR.frameRateDenominator);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeRateControlLayerInfoKHR.virtualBufferSizeInMs);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeRateControlLayerInfoKHR.initialVirtualBufferSizeInMs);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEncodeRateControlInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEncodeRateControlInfoKHR const &videoEncodeRateControlInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeRateControlInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeRateControlInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeRateControlInfoKHR.flags);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeRateControlInfoKHR.rateControlMode);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeRateControlInfoKHR.layerCount);
VULKAN_HPP_HASH_COMBINE(seed, videoEncodeRateControlInfoKHR.pLayerConfigs);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoEndCodingInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoEndCodingInfoKHR const &videoEndCodingInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoEndCodingInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoEndCodingInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoEndCodingInfoKHR.flags);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR const &videoFormatPropertiesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoFormatPropertiesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoFormatPropertiesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoFormatPropertiesKHR.format);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoGetMemoryPropertiesKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoGetMemoryPropertiesKHR const &videoGetMemoryPropertiesKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoGetMemoryPropertiesKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoGetMemoryPropertiesKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoGetMemoryPropertiesKHR.memoryBindIndex);
VULKAN_HPP_HASH_COMBINE(seed, videoGetMemoryPropertiesKHR.pMemoryRequirements);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoQueueFamilyProperties2KHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoQueueFamilyProperties2KHR const &videoQueueFamilyProperties2KHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoQueueFamilyProperties2KHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoQueueFamilyProperties2KHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoQueueFamilyProperties2KHR.videoCodecOperations);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoSessionCreateInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoSessionCreateInfoKHR const &videoSessionCreateInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoSessionCreateInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoSessionCreateInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoSessionCreateInfoKHR.queueFamilyIndex);
VULKAN_HPP_HASH_COMBINE(seed, videoSessionCreateInfoKHR.flags);
VULKAN_HPP_HASH_COMBINE(seed, videoSessionCreateInfoKHR.pVideoProfile);
VULKAN_HPP_HASH_COMBINE(seed, videoSessionCreateInfoKHR.pictureFormat);
VULKAN_HPP_HASH_COMBINE(seed, videoSessionCreateInfoKHR.maxCodedExtent);
VULKAN_HPP_HASH_COMBINE(seed, videoSessionCreateInfoKHR.referencePicturesFormat);
VULKAN_HPP_HASH_COMBINE(seed, videoSessionCreateInfoKHR.maxReferencePicturesSlotsCount);
VULKAN_HPP_HASH_COMBINE(seed, videoSessionCreateInfoKHR.maxReferencePicturesActiveCount);
VULKAN_HPP_HASH_COMBINE(seed, videoSessionCreateInfoKHR.pStdHeaderVersion);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateInfoKHR const &videoSessionParametersCreateInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoSessionParametersCreateInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoSessionParametersCreateInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoSessionParametersCreateInfoKHR.videoSessionParametersTemplate);
VULKAN_HPP_HASH_COMBINE(seed, videoSessionParametersCreateInfoKHR.videoSession);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_ENABLE_BETA_EXTENSIONS)
template<>
struct hash<VULKAN_HPP_NAMESPACE::VideoSessionParametersUpdateInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::VideoSessionParametersUpdateInfoKHR const &videoSessionParametersUpdateInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, videoSessionParametersUpdateInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, videoSessionParametersUpdateInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, videoSessionParametersUpdateInfoKHR.updateSequenceCount);
return seed;
}
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
# if defined(VK_USE_PLATFORM_WAYLAND_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR const &waylandSurfaceCreateInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, waylandSurfaceCreateInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, waylandSurfaceCreateInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, waylandSurfaceCreateInfoKHR.flags);
VULKAN_HPP_HASH_COMBINE(seed, waylandSurfaceCreateInfoKHR.display);
VULKAN_HPP_HASH_COMBINE(seed, waylandSurfaceCreateInfoKHR.surface);
return seed;
}
};
# endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
# if defined(VK_USE_PLATFORM_WIN32_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::Win32KeyedMutexAcquireReleaseInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::Win32KeyedMutexAcquireReleaseInfoKHR const &win32KeyedMutexAcquireReleaseInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, win32KeyedMutexAcquireReleaseInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, win32KeyedMutexAcquireReleaseInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, win32KeyedMutexAcquireReleaseInfoKHR.acquireCount);
VULKAN_HPP_HASH_COMBINE(seed, win32KeyedMutexAcquireReleaseInfoKHR.pAcquireSyncs);
VULKAN_HPP_HASH_COMBINE(seed, win32KeyedMutexAcquireReleaseInfoKHR.pAcquireKeys);
VULKAN_HPP_HASH_COMBINE(seed, win32KeyedMutexAcquireReleaseInfoKHR.pAcquireTimeouts);
VULKAN_HPP_HASH_COMBINE(seed, win32KeyedMutexAcquireReleaseInfoKHR.releaseCount);
VULKAN_HPP_HASH_COMBINE(seed, win32KeyedMutexAcquireReleaseInfoKHR.pReleaseSyncs);
VULKAN_HPP_HASH_COMBINE(seed, win32KeyedMutexAcquireReleaseInfoKHR.pReleaseKeys);
return seed;
}
};
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
# if defined(VK_USE_PLATFORM_WIN32_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::Win32KeyedMutexAcquireReleaseInfoNV>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::Win32KeyedMutexAcquireReleaseInfoNV const &win32KeyedMutexAcquireReleaseInfoNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, win32KeyedMutexAcquireReleaseInfoNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, win32KeyedMutexAcquireReleaseInfoNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, win32KeyedMutexAcquireReleaseInfoNV.acquireCount);
VULKAN_HPP_HASH_COMBINE(seed, win32KeyedMutexAcquireReleaseInfoNV.pAcquireSyncs);
VULKAN_HPP_HASH_COMBINE(seed, win32KeyedMutexAcquireReleaseInfoNV.pAcquireKeys);
VULKAN_HPP_HASH_COMBINE(seed, win32KeyedMutexAcquireReleaseInfoNV.pAcquireTimeoutMilliseconds);
VULKAN_HPP_HASH_COMBINE(seed, win32KeyedMutexAcquireReleaseInfoNV.releaseCount);
VULKAN_HPP_HASH_COMBINE(seed, win32KeyedMutexAcquireReleaseInfoNV.pReleaseSyncs);
VULKAN_HPP_HASH_COMBINE(seed, win32KeyedMutexAcquireReleaseInfoNV.pReleaseKeys);
return seed;
}
};
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
# if defined(VK_USE_PLATFORM_WIN32_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR const &win32SurfaceCreateInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, win32SurfaceCreateInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, win32SurfaceCreateInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, win32SurfaceCreateInfoKHR.flags);
VULKAN_HPP_HASH_COMBINE(seed, win32SurfaceCreateInfoKHR.hinstance);
VULKAN_HPP_HASH_COMBINE(seed, win32SurfaceCreateInfoKHR.hwnd);
return seed;
}
};
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
template<>
struct hash<VULKAN_HPP_NAMESPACE::WriteDescriptorSet>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::WriteDescriptorSet const &writeDescriptorSet) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, writeDescriptorSet.sType);
VULKAN_HPP_HASH_COMBINE(seed, writeDescriptorSet.pNext);
VULKAN_HPP_HASH_COMBINE(seed, writeDescriptorSet.dstSet);
VULKAN_HPP_HASH_COMBINE(seed, writeDescriptorSet.dstBinding);
VULKAN_HPP_HASH_COMBINE(seed, writeDescriptorSet.dstArrayElement);
VULKAN_HPP_HASH_COMBINE(seed, writeDescriptorSet.descriptorCount);
VULKAN_HPP_HASH_COMBINE(seed, writeDescriptorSet.descriptorType);
VULKAN_HPP_HASH_COMBINE(seed, writeDescriptorSet.pImageInfo);
VULKAN_HPP_HASH_COMBINE(seed, writeDescriptorSet.pBufferInfo);
VULKAN_HPP_HASH_COMBINE(seed, writeDescriptorSet.pTexelBufferView);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::WriteDescriptorSetAccelerationStructureKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::WriteDescriptorSetAccelerationStructureKHR const &writeDescriptorSetAccelerationStructureKHR) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, writeDescriptorSetAccelerationStructureKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, writeDescriptorSetAccelerationStructureKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, writeDescriptorSetAccelerationStructureKHR.accelerationStructureCount);
VULKAN_HPP_HASH_COMBINE(seed, writeDescriptorSetAccelerationStructureKHR.pAccelerationStructures);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::WriteDescriptorSetAccelerationStructureNV>
{
std::size_t
operator()(VULKAN_HPP_NAMESPACE::WriteDescriptorSetAccelerationStructureNV const &writeDescriptorSetAccelerationStructureNV) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, writeDescriptorSetAccelerationStructureNV.sType);
VULKAN_HPP_HASH_COMBINE(seed, writeDescriptorSetAccelerationStructureNV.pNext);
VULKAN_HPP_HASH_COMBINE(seed, writeDescriptorSetAccelerationStructureNV.accelerationStructureCount);
VULKAN_HPP_HASH_COMBINE(seed, writeDescriptorSetAccelerationStructureNV.pAccelerationStructures);
return seed;
}
};
template<>
struct hash<VULKAN_HPP_NAMESPACE::WriteDescriptorSetInlineUniformBlock>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::WriteDescriptorSetInlineUniformBlock const &writeDescriptorSetInlineUniformBlock) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, writeDescriptorSetInlineUniformBlock.sType);
VULKAN_HPP_HASH_COMBINE(seed, writeDescriptorSetInlineUniformBlock.pNext);
VULKAN_HPP_HASH_COMBINE(seed, writeDescriptorSetInlineUniformBlock.dataSize);
VULKAN_HPP_HASH_COMBINE(seed, writeDescriptorSetInlineUniformBlock.pData);
return seed;
}
};
# if defined(VK_USE_PLATFORM_XCB_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR const &xcbSurfaceCreateInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, xcbSurfaceCreateInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, xcbSurfaceCreateInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, xcbSurfaceCreateInfoKHR.flags);
VULKAN_HPP_HASH_COMBINE(seed, xcbSurfaceCreateInfoKHR.connection);
VULKAN_HPP_HASH_COMBINE(seed, xcbSurfaceCreateInfoKHR.window);
return seed;
}
};
# endif /*VK_USE_PLATFORM_XCB_KHR*/
# if defined(VK_USE_PLATFORM_XLIB_KHR)
template<>
struct hash<VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR>
{
std::size_t operator()(VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR const &xlibSurfaceCreateInfoKHR) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE(seed, xlibSurfaceCreateInfoKHR.sType);
VULKAN_HPP_HASH_COMBINE(seed, xlibSurfaceCreateInfoKHR.pNext);
VULKAN_HPP_HASH_COMBINE(seed, xlibSurfaceCreateInfoKHR.flags);
VULKAN_HPP_HASH_COMBINE(seed, xlibSurfaceCreateInfoKHR.dpy);
VULKAN_HPP_HASH_COMBINE(seed, xlibSurfaceCreateInfoKHR.window);
return seed;
}
};
# endif /*VK_USE_PLATFORM_XLIB_KHR*/
#endif // 14 <= VULKAN_HPP_CPP_VERSION
} // namespace std
#endif // VULKAN_HASH_HPP