summaryrefslogtreecommitdiffhomepage
path: root/include/vulkan/vulkan.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/vulkan/vulkan.hpp')
-rw-r--r--include/vulkan/vulkan.hpp502
1 files changed, 19 insertions, 483 deletions
diff --git a/include/vulkan/vulkan.hpp b/include/vulkan/vulkan.hpp
index b66577c..0445ff1 100644
--- a/include/vulkan/vulkan.hpp
+++ b/include/vulkan/vulkan.hpp
@@ -119,7 +119,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h
# include <span>
#endif
-static_assert( VK_HEADER_VERSION == 201, "Wrong VK_HEADER_VERSION!" );
+static_assert( VK_HEADER_VERSION == 202, "Wrong VK_HEADER_VERSION!" );
// 32-bit vulkan is not typesafe for handles, so don't allow copy constructors on this platform by default.
// To enable this feature on 32-bit platforms please define VULKAN_HPP_TYPESAFE_CONVERSION
@@ -234,6 +234,11 @@ static_assert( VK_HEADER_VERSION == 201, "Wrong VK_HEADER_VERSION!" );
# define VULKAN_HPP_NAMESPACE vk
#endif
+#if !defined( VULKAN_HPP_HASH_COMBINE )
+# define VULKAN_HPP_HASH_COMBINE( valueType, seed, value ) \
+ seed ^= std::hash<std::remove_const<valueType>::type>{}( value ) + 0x9e3779b9 + ( seed << 6 ) + ( seed >> 2 )
+#endif
+
#define VULKAN_HPP_STRINGIFY2( text ) #text
#define VULKAN_HPP_STRINGIFY( text ) VULKAN_HPP_STRINGIFY2( text )
#define VULKAN_HPP_NAMESPACE_STRING VULKAN_HPP_STRINGIFY( VULKAN_HPP_NAMESPACE )
@@ -813,7 +818,20 @@ namespace VULKAN_HPP_NAMESPACE
{
return flags.operator^( bit );
}
+} // namespace VULKAN_HPP_NAMESPACE
+template <typename BitType>
+struct std::hash<VULKAN_HPP_NAMESPACE::Flags<BitType>>
+{
+ std::size_t operator()( VULKAN_HPP_NAMESPACE::Flags<BitType> const & flags ) const VULKAN_HPP_NOEXCEPT
+ {
+ return std::hash<typename std::underlying_type<BitType>::type>{}(
+ static_cast<typename std::underlying_type<BitType>::type>( flags ) );
+ }
+};
+
+namespace VULKAN_HPP_NAMESPACE
+{
template <typename RefType>
class Optional
{
@@ -14208,486 +14226,4 @@ namespace VULKAN_HPP_NAMESPACE
}
};
} // namespace VULKAN_HPP_NAMESPACE
-
-namespace std
-{
- //=======================
- //=== HASH structures ===
- //=======================
-
- 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 ) );
- }
- };
-
- //=== VK_VERSION_1_0 ===
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::Instance>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::Instance const & instance ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkInstance>{}( static_cast<VkInstance>( instance ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevice>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevice const & physicalDevice ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkPhysicalDevice>{}( static_cast<VkPhysicalDevice>( physicalDevice ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::Device>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::Device const & device ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkDevice>{}( static_cast<VkDevice>( device ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::Queue>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::Queue const & queue ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkQueue>{}( static_cast<VkQueue>( queue ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::DeviceMemory>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::DeviceMemory const & deviceMemory ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkDeviceMemory>{}( static_cast<VkDeviceMemory>( deviceMemory ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::Fence>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::Fence const & fence ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkFence>{}( static_cast<VkFence>( fence ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::Semaphore>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::Semaphore const & semaphore ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkSemaphore>{}( static_cast<VkSemaphore>( semaphore ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::Event>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::Event const & event ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkEvent>{}( static_cast<VkEvent>( event ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::QueryPool>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::QueryPool const & queryPool ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkQueryPool>{}( static_cast<VkQueryPool>( queryPool ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::Buffer>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::Buffer const & buffer ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkBuffer>{}( static_cast<VkBuffer>( buffer ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::BufferView>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferView const & bufferView ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkBufferView>{}( static_cast<VkBufferView>( bufferView ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::Image>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::Image const & image ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkImage>{}( static_cast<VkImage>( image ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::ImageView>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageView const & imageView ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkImageView>{}( static_cast<VkImageView>( imageView ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::ShaderModule>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::ShaderModule const & shaderModule ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkShaderModule>{}( static_cast<VkShaderModule>( shaderModule ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::PipelineCache>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineCache const & pipelineCache ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkPipelineCache>{}( static_cast<VkPipelineCache>( pipelineCache ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::Pipeline>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::Pipeline const & pipeline ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkPipeline>{}( static_cast<VkPipeline>( pipeline ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::PipelineLayout>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineLayout const & pipelineLayout ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkPipelineLayout>{}( static_cast<VkPipelineLayout>( pipelineLayout ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::Sampler>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::Sampler const & sampler ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkSampler>{}( static_cast<VkSampler>( sampler ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::DescriptorPool>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorPool const & descriptorPool ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkDescriptorPool>{}( static_cast<VkDescriptorPool>( descriptorPool ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::DescriptorSet>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorSet const & descriptorSet ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkDescriptorSet>{}( static_cast<VkDescriptorSet>( descriptorSet ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetLayout>
- {
- std::size_t
- operator()( VULKAN_HPP_NAMESPACE::DescriptorSetLayout const & descriptorSetLayout ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkDescriptorSetLayout>{}( static_cast<VkDescriptorSetLayout>( descriptorSetLayout ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::Framebuffer>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::Framebuffer const & framebuffer ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkFramebuffer>{}( static_cast<VkFramebuffer>( framebuffer ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::RenderPass>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::RenderPass const & renderPass ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkRenderPass>{}( static_cast<VkRenderPass>( renderPass ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::CommandPool>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::CommandPool const & commandPool ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkCommandPool>{}( static_cast<VkCommandPool>( commandPool ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::CommandBuffer>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::CommandBuffer const & commandBuffer ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkCommandBuffer>{}( static_cast<VkCommandBuffer>( commandBuffer ) );
- }
- };
-
- //=== VK_VERSION_1_1 ===
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion const & samplerYcbcrConversion ) const
- VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkSamplerYcbcrConversion>{}( static_cast<VkSamplerYcbcrConversion>( samplerYcbcrConversion ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate const & descriptorUpdateTemplate ) const
- VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkDescriptorUpdateTemplate>{}(
- static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ) );
- }
- };
-
- //=== VK_KHR_surface ===
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::SurfaceKHR>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::SurfaceKHR const & surfaceKHR ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkSurfaceKHR>{}( static_cast<VkSurfaceKHR>( surfaceKHR ) );
- }
- };
-
- //=== VK_KHR_swapchain ===
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::SwapchainKHR>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::SwapchainKHR const & swapchainKHR ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkSwapchainKHR>{}( static_cast<VkSwapchainKHR>( swapchainKHR ) );
- }
- };
-
- //=== VK_KHR_display ===
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::DisplayKHR>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::DisplayKHR const & displayKHR ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkDisplayKHR>{}( static_cast<VkDisplayKHR>( displayKHR ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::DisplayModeKHR>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::DisplayModeKHR const & displayModeKHR ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkDisplayModeKHR>{}( static_cast<VkDisplayModeKHR>( displayModeKHR ) );
- }
- };
-
- //=== VK_EXT_debug_report ===
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT const & debugReportCallbackEXT ) const
- VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkDebugReportCallbackEXT>{}( static_cast<VkDebugReportCallbackEXT>( debugReportCallbackEXT ) );
- }
- };
-
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
- //=== VK_KHR_video_queue ===
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::VideoSessionKHR>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoSessionKHR const & videoSessionKHR ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkVideoSessionKHR>{}( static_cast<VkVideoSessionKHR>( videoSessionKHR ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR const & videoSessionParametersKHR ) const
- VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkVideoSessionParametersKHR>{}(
- static_cast<VkVideoSessionParametersKHR>( videoSessionParametersKHR ) );
- }
- };
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-
- //=== VK_NVX_binary_import ===
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::CuModuleNVX>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::CuModuleNVX const & cuModuleNVX ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkCuModuleNVX>{}( static_cast<VkCuModuleNVX>( cuModuleNVX ) );
- }
- };
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::CuFunctionNVX>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::CuFunctionNVX const & cuFunctionNVX ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkCuFunctionNVX>{}( static_cast<VkCuFunctionNVX>( cuFunctionNVX ) );
- }
- };
-
- //=== VK_EXT_debug_utils ===
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT const & debugUtilsMessengerEXT ) const
- VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkDebugUtilsMessengerEXT>{}( static_cast<VkDebugUtilsMessengerEXT>( debugUtilsMessengerEXT ) );
- }
- };
-
- //=== VK_KHR_acceleration_structure ===
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureKHR>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR const & accelerationStructureKHR ) const
- VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkAccelerationStructureKHR>{}(
- static_cast<VkAccelerationStructureKHR>( accelerationStructureKHR ) );
- }
- };
-
- //=== VK_EXT_validation_cache ===
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::ValidationCacheEXT>
- {
- std::size_t
- operator()( VULKAN_HPP_NAMESPACE::ValidationCacheEXT const & validationCacheEXT ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkValidationCacheEXT>{}( static_cast<VkValidationCacheEXT>( validationCacheEXT ) );
- }
- };
-
- //=== VK_NV_ray_tracing ===
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureNV>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureNV const & accelerationStructureNV ) const
- VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkAccelerationStructureNV>{}(
- static_cast<VkAccelerationStructureNV>( accelerationStructureNV ) );
- }
- };
-
- //=== VK_INTEL_performance_query ===
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL const & performanceConfigurationINTEL )
- const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkPerformanceConfigurationINTEL>{}(
- static_cast<VkPerformanceConfigurationINTEL>( performanceConfigurationINTEL ) );
- }
- };
-
- //=== VK_KHR_deferred_host_operations ===
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::DeferredOperationKHR>
- {
- std::size_t
- operator()( VULKAN_HPP_NAMESPACE::DeferredOperationKHR const & deferredOperationKHR ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkDeferredOperationKHR>{}( static_cast<VkDeferredOperationKHR>( deferredOperationKHR ) );
- }
- };
-
- //=== VK_NV_device_generated_commands ===
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV const & indirectCommandsLayoutNV ) const
- VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkIndirectCommandsLayoutNV>{}(
- static_cast<VkIndirectCommandsLayoutNV>( indirectCommandsLayoutNV ) );
- }
- };
-
- //=== VK_EXT_private_data ===
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT>
- {
- std::size_t
- operator()( VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT const & privateDataSlotEXT ) const VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkPrivateDataSlotEXT>{}( static_cast<VkPrivateDataSlotEXT>( privateDataSlotEXT ) );
- }
- };
-
-#if defined( VK_USE_PLATFORM_FUCHSIA )
- //=== VK_FUCHSIA_buffer_collection ===
-
- template <>
- struct hash<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA>
- {
- std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA const & bufferCollectionFUCHSIA ) const
- VULKAN_HPP_NOEXCEPT
- {
- return std::hash<VkBufferCollectionFUCHSIA>{}(
- static_cast<VkBufferCollectionFUCHSIA>( bufferCollectionFUCHSIA ) );
- }
- };
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-
-} // namespace std
#endif