diff options
Diffstat (limited to 'include/vulkan/vulkan.hpp')
-rw-r--r-- | include/vulkan/vulkan.hpp | 502 |
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 |