1 // Copyright 2015-2025 The Khronos Group Inc. 2 // 3 // SPDX-License-Identifier: Apache-2.0 OR MIT 4 // 5 6 // This header is generated from the Khronos Vulkan XML API Registry. 7 8 #ifndef VULKAN_FUNCS_HPP 9 #define VULKAN_FUNCS_HPP 10 11 // include-what-you-use: make sure, vulkan.hpp is used by code-completers 12 // IWYU pragma: private; include "vulkan.hpp" 13 14 namespace VULKAN_HPP_NAMESPACE 15 { 16 17 //=========================== 18 //=== COMMAND Definitions === 19 //=========================== 20 21 //=== VK_VERSION_1_0 === 22 23 // wrapper function for command vkCreateInstance, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateInstance.html 24 template <typename Dispatch> createInstance(const VULKAN_HPP_NAMESPACE::InstanceCreateInfo * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::Instance * pInstance,Dispatch const & d)25 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result createInstance( const VULKAN_HPP_NAMESPACE::InstanceCreateInfo * pCreateInfo, 26 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 27 VULKAN_HPP_NAMESPACE::Instance * pInstance, 28 Dispatch const & d ) VULKAN_HPP_NOEXCEPT 29 { 30 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31 return static_cast<Result>( d.vkCreateInstance( reinterpret_cast<const VkInstanceCreateInfo *>( pCreateInfo ), 32 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 33 reinterpret_cast<VkInstance *>( pInstance ) ) ); 34 } 35 36 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 37 // wrapper function for command vkCreateInstance, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateInstance.html 38 template <typename Dispatch> createInstance(const VULKAN_HPP_NAMESPACE::InstanceCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d)39 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Instance>::type createInstance( 40 const VULKAN_HPP_NAMESPACE::InstanceCreateInfo & createInfo, Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, Dispatch const & d ) 41 { 42 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 43 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 44 VULKAN_HPP_ASSERT( d.vkCreateInstance && "Function <vkCreateInstance> requires <VK_VERSION_1_0>" ); 45 # endif 46 47 VULKAN_HPP_NAMESPACE::Instance instance; 48 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 49 d.vkCreateInstance( reinterpret_cast<const VkInstanceCreateInfo *>( &createInfo ), 50 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 51 reinterpret_cast<VkInstance *>( &instance ) ) ); 52 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::createInstance" ); 53 54 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( instance ) ); 55 } 56 57 # ifndef VULKAN_HPP_NO_SMART_HANDLE 58 // wrapper function for command vkCreateInstance, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateInstance.html 59 template <typename Dispatch> createInstanceUnique(const VULKAN_HPP_NAMESPACE::InstanceCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d)60 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::Instance, Dispatch>>::type createInstanceUnique( 61 const VULKAN_HPP_NAMESPACE::InstanceCreateInfo & createInfo, Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, Dispatch const & d ) 62 { 63 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 64 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 65 VULKAN_HPP_ASSERT( d.vkCreateInstance && "Function <vkCreateInstance> requires <VK_VERSION_1_0>" ); 66 # endif 67 68 VULKAN_HPP_NAMESPACE::Instance instance; 69 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 70 d.vkCreateInstance( reinterpret_cast<const VkInstanceCreateInfo *>( &createInfo ), 71 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 72 reinterpret_cast<VkInstance *>( &instance ) ) ); 73 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::createInstanceUnique" ); 74 75 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 76 result, UniqueHandle<VULKAN_HPP_NAMESPACE::Instance, Dispatch>( instance, detail::ObjectDestroy<detail::NoParent, Dispatch>( allocator, d ) ) ); 77 } 78 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 79 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 80 81 // wrapper function for command vkDestroyInstance, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyInstance.html 82 template <typename Dispatch> destroy(const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const83 VULKAN_HPP_INLINE void Instance::destroy( const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 84 { 85 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 86 d.vkDestroyInstance( static_cast<VkInstance>( m_instance ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 87 } 88 89 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 90 // wrapper function for command vkDestroyInstance, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyInstance.html 91 template <typename Dispatch> destroy(Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const92 VULKAN_HPP_INLINE void Instance::destroy( Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 93 { 94 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 95 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 96 VULKAN_HPP_ASSERT( d.vkDestroyInstance && "Function <vkDestroyInstance> requires <VK_VERSION_1_0>" ); 97 # endif 98 99 d.vkDestroyInstance( m_instance, 100 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 101 } 102 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 103 104 // wrapper function for command vkEnumeratePhysicalDevices, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDevices.html 105 template <typename Dispatch> enumeratePhysicalDevices(uint32_t * pPhysicalDeviceCount,VULKAN_HPP_NAMESPACE::PhysicalDevice * pPhysicalDevices,Dispatch const & d) const106 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::enumeratePhysicalDevices( uint32_t * pPhysicalDeviceCount, 107 VULKAN_HPP_NAMESPACE::PhysicalDevice * pPhysicalDevices, 108 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 109 { 110 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 111 return static_cast<Result>( 112 d.vkEnumeratePhysicalDevices( static_cast<VkInstance>( m_instance ), pPhysicalDeviceCount, reinterpret_cast<VkPhysicalDevice *>( pPhysicalDevices ) ) ); 113 } 114 115 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 116 // wrapper function for command vkEnumeratePhysicalDevices, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDevices.html 117 template <typename PhysicalDeviceAllocator, 118 typename Dispatch, 119 typename std::enable_if<std::is_same<typename PhysicalDeviceAllocator::value_type, VULKAN_HPP_NAMESPACE::PhysicalDevice>::value, int>::type> 120 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PhysicalDevice, PhysicalDeviceAllocator>>::type enumeratePhysicalDevices(Dispatch const & d) const121 Instance::enumeratePhysicalDevices( Dispatch const & d ) const 122 { 123 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 124 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 125 VULKAN_HPP_ASSERT( d.vkEnumeratePhysicalDevices && "Function <vkEnumeratePhysicalDevices> requires <VK_VERSION_1_0>" ); 126 # endif 127 128 std::vector<VULKAN_HPP_NAMESPACE::PhysicalDevice, PhysicalDeviceAllocator> physicalDevices; 129 uint32_t physicalDeviceCount; 130 VULKAN_HPP_NAMESPACE::Result result; 131 do 132 { 133 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkEnumeratePhysicalDevices( m_instance, &physicalDeviceCount, nullptr ) ); 134 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && physicalDeviceCount ) 135 { 136 physicalDevices.resize( physicalDeviceCount ); 137 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 138 d.vkEnumeratePhysicalDevices( m_instance, &physicalDeviceCount, reinterpret_cast<VkPhysicalDevice *>( physicalDevices.data() ) ) ); 139 } 140 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 141 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDevices" ); 142 VULKAN_HPP_ASSERT( physicalDeviceCount <= physicalDevices.size() ); 143 if ( physicalDeviceCount < physicalDevices.size() ) 144 { 145 physicalDevices.resize( physicalDeviceCount ); 146 } 147 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( physicalDevices ) ); 148 } 149 150 // wrapper function for command vkEnumeratePhysicalDevices, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDevices.html 151 template <typename PhysicalDeviceAllocator, 152 typename Dispatch, 153 typename std::enable_if<std::is_same<typename PhysicalDeviceAllocator::value_type, VULKAN_HPP_NAMESPACE::PhysicalDevice>::value, int>::type> 154 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PhysicalDevice, PhysicalDeviceAllocator>>::type enumeratePhysicalDevices(PhysicalDeviceAllocator & physicalDeviceAllocator,Dispatch const & d) const155 Instance::enumeratePhysicalDevices( PhysicalDeviceAllocator & physicalDeviceAllocator, Dispatch const & d ) const 156 { 157 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 158 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 159 VULKAN_HPP_ASSERT( d.vkEnumeratePhysicalDevices && "Function <vkEnumeratePhysicalDevices> requires <VK_VERSION_1_0>" ); 160 # endif 161 162 std::vector<VULKAN_HPP_NAMESPACE::PhysicalDevice, PhysicalDeviceAllocator> physicalDevices( physicalDeviceAllocator ); 163 uint32_t physicalDeviceCount; 164 VULKAN_HPP_NAMESPACE::Result result; 165 do 166 { 167 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkEnumeratePhysicalDevices( m_instance, &physicalDeviceCount, nullptr ) ); 168 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && physicalDeviceCount ) 169 { 170 physicalDevices.resize( physicalDeviceCount ); 171 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 172 d.vkEnumeratePhysicalDevices( m_instance, &physicalDeviceCount, reinterpret_cast<VkPhysicalDevice *>( physicalDevices.data() ) ) ); 173 } 174 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 175 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDevices" ); 176 VULKAN_HPP_ASSERT( physicalDeviceCount <= physicalDevices.size() ); 177 if ( physicalDeviceCount < physicalDevices.size() ) 178 { 179 physicalDevices.resize( physicalDeviceCount ); 180 } 181 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( physicalDevices ) ); 182 } 183 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 184 185 // wrapper function for command vkGetPhysicalDeviceFeatures, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures.html 186 template <typename Dispatch> getFeatures(VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures * pFeatures,Dispatch const & d) const187 VULKAN_HPP_INLINE void PhysicalDevice::getFeatures( VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures * pFeatures, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 188 { 189 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 190 d.vkGetPhysicalDeviceFeatures( static_cast<VkPhysicalDevice>( m_physicalDevice ), reinterpret_cast<VkPhysicalDeviceFeatures *>( pFeatures ) ); 191 } 192 193 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 194 // wrapper function for command vkGetPhysicalDeviceFeatures, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures.html 195 template <typename Dispatch> 196 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures getFeatures(Dispatch const & d) const197 PhysicalDevice::getFeatures( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 198 { 199 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 200 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 201 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceFeatures && "Function <vkGetPhysicalDeviceFeatures> requires <VK_VERSION_1_0>" ); 202 # endif 203 204 VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures features; 205 d.vkGetPhysicalDeviceFeatures( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceFeatures *>( &features ) ); 206 207 return features; 208 } 209 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 210 211 // wrapper function for command vkGetPhysicalDeviceFormatProperties, see 212 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties.html 213 template <typename Dispatch> getFormatProperties(VULKAN_HPP_NAMESPACE::Format format,VULKAN_HPP_NAMESPACE::FormatProperties * pFormatProperties,Dispatch const & d) const214 VULKAN_HPP_INLINE void PhysicalDevice::getFormatProperties( VULKAN_HPP_NAMESPACE::Format format, 215 VULKAN_HPP_NAMESPACE::FormatProperties * pFormatProperties, 216 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 217 { 218 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 219 d.vkGetPhysicalDeviceFormatProperties( 220 static_cast<VkPhysicalDevice>( m_physicalDevice ), static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties *>( pFormatProperties ) ); 221 } 222 223 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 224 // wrapper function for command vkGetPhysicalDeviceFormatProperties, see 225 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties.html 226 template <typename Dispatch> 227 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::FormatProperties getFormatProperties(VULKAN_HPP_NAMESPACE::Format format,Dispatch const & d) const228 PhysicalDevice::getFormatProperties( VULKAN_HPP_NAMESPACE::Format format, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 229 { 230 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 231 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 232 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceFormatProperties && "Function <vkGetPhysicalDeviceFormatProperties> requires <VK_VERSION_1_0>" ); 233 # endif 234 235 VULKAN_HPP_NAMESPACE::FormatProperties formatProperties; 236 d.vkGetPhysicalDeviceFormatProperties( m_physicalDevice, static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties *>( &formatProperties ) ); 237 238 return formatProperties; 239 } 240 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 241 242 // wrapper function for command vkGetPhysicalDeviceImageFormatProperties, see 243 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties.html 244 template <typename Dispatch> getImageFormatProperties(VULKAN_HPP_NAMESPACE::Format format,VULKAN_HPP_NAMESPACE::ImageType type,VULKAN_HPP_NAMESPACE::ImageTiling tiling,VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,VULKAN_HPP_NAMESPACE::ImageCreateFlags flags,VULKAN_HPP_NAMESPACE::ImageFormatProperties * pImageFormatProperties,Dispatch const & d) const245 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getImageFormatProperties( VULKAN_HPP_NAMESPACE::Format format, 246 VULKAN_HPP_NAMESPACE::ImageType type, 247 VULKAN_HPP_NAMESPACE::ImageTiling tiling, 248 VULKAN_HPP_NAMESPACE::ImageUsageFlags usage, 249 VULKAN_HPP_NAMESPACE::ImageCreateFlags flags, 250 VULKAN_HPP_NAMESPACE::ImageFormatProperties * pImageFormatProperties, 251 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 252 { 253 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 254 return static_cast<Result>( d.vkGetPhysicalDeviceImageFormatProperties( static_cast<VkPhysicalDevice>( m_physicalDevice ), 255 static_cast<VkFormat>( format ), 256 static_cast<VkImageType>( type ), 257 static_cast<VkImageTiling>( tiling ), 258 static_cast<VkImageUsageFlags>( usage ), 259 static_cast<VkImageCreateFlags>( flags ), 260 reinterpret_cast<VkImageFormatProperties *>( pImageFormatProperties ) ) ); 261 } 262 263 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 264 // wrapper function for command vkGetPhysicalDeviceImageFormatProperties, see 265 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties.html 266 template <typename Dispatch> 267 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageFormatProperties>::type getImageFormatProperties(VULKAN_HPP_NAMESPACE::Format format,VULKAN_HPP_NAMESPACE::ImageType type,VULKAN_HPP_NAMESPACE::ImageTiling tiling,VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,VULKAN_HPP_NAMESPACE::ImageCreateFlags flags,Dispatch const & d) const268 PhysicalDevice::getImageFormatProperties( VULKAN_HPP_NAMESPACE::Format format, 269 VULKAN_HPP_NAMESPACE::ImageType type, 270 VULKAN_HPP_NAMESPACE::ImageTiling tiling, 271 VULKAN_HPP_NAMESPACE::ImageUsageFlags usage, 272 VULKAN_HPP_NAMESPACE::ImageCreateFlags flags, 273 Dispatch const & d ) const 274 { 275 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 276 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 277 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceImageFormatProperties && "Function <vkGetPhysicalDeviceImageFormatProperties> requires <VK_VERSION_1_0>" ); 278 # endif 279 280 VULKAN_HPP_NAMESPACE::ImageFormatProperties imageFormatProperties; 281 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 282 d.vkGetPhysicalDeviceImageFormatProperties( m_physicalDevice, 283 static_cast<VkFormat>( format ), 284 static_cast<VkImageType>( type ), 285 static_cast<VkImageTiling>( tiling ), 286 static_cast<VkImageUsageFlags>( usage ), 287 static_cast<VkImageCreateFlags>( flags ), 288 reinterpret_cast<VkImageFormatProperties *>( &imageFormatProperties ) ) ); 289 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties" ); 290 291 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( imageFormatProperties ) ); 292 } 293 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 294 295 // wrapper function for command vkGetPhysicalDeviceProperties, see 296 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties.html 297 template <typename Dispatch> getProperties(VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties * pProperties,Dispatch const & d) const298 VULKAN_HPP_INLINE void PhysicalDevice::getProperties( VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties * pProperties, 299 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 300 { 301 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 302 d.vkGetPhysicalDeviceProperties( static_cast<VkPhysicalDevice>( m_physicalDevice ), reinterpret_cast<VkPhysicalDeviceProperties *>( pProperties ) ); 303 } 304 305 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 306 // wrapper function for command vkGetPhysicalDeviceProperties, see 307 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties.html 308 template <typename Dispatch> 309 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties getProperties(Dispatch const & d) const310 PhysicalDevice::getProperties( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 311 { 312 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 313 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 314 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceProperties && "Function <vkGetPhysicalDeviceProperties> requires <VK_VERSION_1_0>" ); 315 # endif 316 317 VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties properties; 318 d.vkGetPhysicalDeviceProperties( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceProperties *>( &properties ) ); 319 320 return properties; 321 } 322 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 323 324 // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties, see 325 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties.html 326 template <typename Dispatch> getQueueFamilyProperties(uint32_t * pQueueFamilyPropertyCount,VULKAN_HPP_NAMESPACE::QueueFamilyProperties * pQueueFamilyProperties,Dispatch const & d) const327 VULKAN_HPP_INLINE void PhysicalDevice::getQueueFamilyProperties( uint32_t * pQueueFamilyPropertyCount, 328 VULKAN_HPP_NAMESPACE::QueueFamilyProperties * pQueueFamilyProperties, 329 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 330 { 331 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 332 d.vkGetPhysicalDeviceQueueFamilyProperties( 333 static_cast<VkPhysicalDevice>( m_physicalDevice ), pQueueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties *>( pQueueFamilyProperties ) ); 334 } 335 336 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 337 // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties, see 338 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties.html 339 template < 340 typename QueueFamilyPropertiesAllocator, 341 typename Dispatch, 342 typename std::enable_if<std::is_same<typename QueueFamilyPropertiesAllocator::value_type, VULKAN_HPP_NAMESPACE::QueueFamilyProperties>::value, int>::type> 343 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties, QueueFamilyPropertiesAllocator> getQueueFamilyProperties(Dispatch const & d) const344 PhysicalDevice::getQueueFamilyProperties( Dispatch const & d ) const 345 { 346 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 347 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 348 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceQueueFamilyProperties && "Function <vkGetPhysicalDeviceQueueFamilyProperties> requires <VK_VERSION_1_0>" ); 349 # endif 350 351 std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties, QueueFamilyPropertiesAllocator> queueFamilyProperties; 352 uint32_t queueFamilyPropertyCount; 353 d.vkGetPhysicalDeviceQueueFamilyProperties( m_physicalDevice, &queueFamilyPropertyCount, nullptr ); 354 queueFamilyProperties.resize( queueFamilyPropertyCount ); 355 d.vkGetPhysicalDeviceQueueFamilyProperties( 356 m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties *>( queueFamilyProperties.data() ) ); 357 358 VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); 359 if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) 360 { 361 queueFamilyProperties.resize( queueFamilyPropertyCount ); 362 } 363 return queueFamilyProperties; 364 } 365 366 // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties, see 367 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties.html 368 template < 369 typename QueueFamilyPropertiesAllocator, 370 typename Dispatch, 371 typename std::enable_if<std::is_same<typename QueueFamilyPropertiesAllocator::value_type, VULKAN_HPP_NAMESPACE::QueueFamilyProperties>::value, int>::type> 372 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties, QueueFamilyPropertiesAllocator> getQueueFamilyProperties(QueueFamilyPropertiesAllocator & queueFamilyPropertiesAllocator,Dispatch const & d) const373 PhysicalDevice::getQueueFamilyProperties( QueueFamilyPropertiesAllocator & queueFamilyPropertiesAllocator, Dispatch const & d ) const 374 { 375 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 376 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 377 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceQueueFamilyProperties && "Function <vkGetPhysicalDeviceQueueFamilyProperties> requires <VK_VERSION_1_0>" ); 378 # endif 379 380 std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties, QueueFamilyPropertiesAllocator> queueFamilyProperties( queueFamilyPropertiesAllocator ); 381 uint32_t queueFamilyPropertyCount; 382 d.vkGetPhysicalDeviceQueueFamilyProperties( m_physicalDevice, &queueFamilyPropertyCount, nullptr ); 383 queueFamilyProperties.resize( queueFamilyPropertyCount ); 384 d.vkGetPhysicalDeviceQueueFamilyProperties( 385 m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties *>( queueFamilyProperties.data() ) ); 386 387 VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); 388 if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) 389 { 390 queueFamilyProperties.resize( queueFamilyPropertyCount ); 391 } 392 return queueFamilyProperties; 393 } 394 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 395 396 // wrapper function for command vkGetPhysicalDeviceMemoryProperties, see 397 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties.html 398 template <typename Dispatch> getMemoryProperties(VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties * pMemoryProperties,Dispatch const & d) const399 VULKAN_HPP_INLINE void PhysicalDevice::getMemoryProperties( VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties * pMemoryProperties, 400 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 401 { 402 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 403 d.vkGetPhysicalDeviceMemoryProperties( static_cast<VkPhysicalDevice>( m_physicalDevice ), 404 reinterpret_cast<VkPhysicalDeviceMemoryProperties *>( pMemoryProperties ) ); 405 } 406 407 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 408 // wrapper function for command vkGetPhysicalDeviceMemoryProperties, see 409 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties.html 410 template <typename Dispatch> 411 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties getMemoryProperties(Dispatch const & d) const412 PhysicalDevice::getMemoryProperties( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 413 { 414 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 415 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 416 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceMemoryProperties && "Function <vkGetPhysicalDeviceMemoryProperties> requires <VK_VERSION_1_0>" ); 417 # endif 418 419 VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties memoryProperties; 420 d.vkGetPhysicalDeviceMemoryProperties( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceMemoryProperties *>( &memoryProperties ) ); 421 422 return memoryProperties; 423 } 424 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 425 426 // wrapper function for command vkGetInstanceProcAddr, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetInstanceProcAddr.html 427 template <typename Dispatch> getProcAddr(const char * pName,Dispatch const & d) const428 VULKAN_HPP_INLINE PFN_vkVoidFunction Instance::getProcAddr( const char * pName, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 429 { 430 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 431 return d.vkGetInstanceProcAddr( static_cast<VkInstance>( m_instance ), pName ); 432 } 433 434 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 435 // wrapper function for command vkGetInstanceProcAddr, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetInstanceProcAddr.html 436 template <typename Dispatch> getProcAddr(const std::string & name,Dispatch const & d) const437 VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PFN_VoidFunction Instance::getProcAddr( const std::string & name, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 438 { 439 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 440 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 441 VULKAN_HPP_ASSERT( d.vkGetInstanceProcAddr && "Function <vkGetInstanceProcAddr> requires <VK_VERSION_1_0>" ); 442 # endif 443 444 PFN_vkVoidFunction result = d.vkGetInstanceProcAddr( m_instance, name.c_str() ); 445 446 return result; 447 } 448 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 449 450 // wrapper function for command vkGetDeviceProcAddr, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceProcAddr.html 451 template <typename Dispatch> getProcAddr(const char * pName,Dispatch const & d) const452 VULKAN_HPP_INLINE PFN_vkVoidFunction Device::getProcAddr( const char * pName, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 453 { 454 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 455 return d.vkGetDeviceProcAddr( static_cast<VkDevice>( m_device ), pName ); 456 } 457 458 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 459 // wrapper function for command vkGetDeviceProcAddr, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceProcAddr.html 460 template <typename Dispatch> getProcAddr(const std::string & name,Dispatch const & d) const461 VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PFN_VoidFunction Device::getProcAddr( const std::string & name, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 462 { 463 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 464 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 465 VULKAN_HPP_ASSERT( d.vkGetDeviceProcAddr && "Function <vkGetDeviceProcAddr> requires <VK_VERSION_1_0>" ); 466 # endif 467 468 PFN_vkVoidFunction result = d.vkGetDeviceProcAddr( m_device, name.c_str() ); 469 470 return result; 471 } 472 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 473 474 // wrapper function for command vkCreateDevice, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDevice.html 475 template <typename Dispatch> createDevice(const VULKAN_HPP_NAMESPACE::DeviceCreateInfo * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::Device * pDevice,Dispatch const & d) const476 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::createDevice( const VULKAN_HPP_NAMESPACE::DeviceCreateInfo * pCreateInfo, 477 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 478 VULKAN_HPP_NAMESPACE::Device * pDevice, 479 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 480 { 481 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 482 return static_cast<Result>( d.vkCreateDevice( static_cast<VkPhysicalDevice>( m_physicalDevice ), 483 reinterpret_cast<const VkDeviceCreateInfo *>( pCreateInfo ), 484 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 485 reinterpret_cast<VkDevice *>( pDevice ) ) ); 486 } 487 488 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 489 // wrapper function for command vkCreateDevice, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDevice.html 490 template <typename Dispatch> createDevice(const VULKAN_HPP_NAMESPACE::DeviceCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const491 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Device>::type PhysicalDevice::createDevice( 492 const VULKAN_HPP_NAMESPACE::DeviceCreateInfo & createInfo, Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, Dispatch const & d ) const 493 { 494 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 495 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 496 VULKAN_HPP_ASSERT( d.vkCreateDevice && "Function <vkCreateDevice> requires <VK_VERSION_1_0>" ); 497 # endif 498 499 VULKAN_HPP_NAMESPACE::Device device; 500 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 501 d.vkCreateDevice( m_physicalDevice, 502 reinterpret_cast<const VkDeviceCreateInfo *>( &createInfo ), 503 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 504 reinterpret_cast<VkDevice *>( &device ) ) ); 505 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::createDevice" ); 506 507 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( device ) ); 508 } 509 510 # ifndef VULKAN_HPP_NO_SMART_HANDLE 511 // wrapper function for command vkCreateDevice, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDevice.html 512 template <typename Dispatch> 513 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::Device, Dispatch>>::type createDeviceUnique(const VULKAN_HPP_NAMESPACE::DeviceCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const514 PhysicalDevice::createDeviceUnique( const VULKAN_HPP_NAMESPACE::DeviceCreateInfo & createInfo, 515 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 516 Dispatch const & d ) const 517 { 518 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 519 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 520 VULKAN_HPP_ASSERT( d.vkCreateDevice && "Function <vkCreateDevice> requires <VK_VERSION_1_0>" ); 521 # endif 522 523 VULKAN_HPP_NAMESPACE::Device device; 524 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 525 d.vkCreateDevice( m_physicalDevice, 526 reinterpret_cast<const VkDeviceCreateInfo *>( &createInfo ), 527 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 528 reinterpret_cast<VkDevice *>( &device ) ) ); 529 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::createDeviceUnique" ); 530 531 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 532 result, UniqueHandle<VULKAN_HPP_NAMESPACE::Device, Dispatch>( device, detail::ObjectDestroy<detail::NoParent, Dispatch>( allocator, d ) ) ); 533 } 534 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 535 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 536 537 // wrapper function for command vkDestroyDevice, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDevice.html 538 template <typename Dispatch> destroy(const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const539 VULKAN_HPP_INLINE void Device::destroy( const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 540 { 541 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 542 d.vkDestroyDevice( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 543 } 544 545 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 546 // wrapper function for command vkDestroyDevice, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDevice.html 547 template <typename Dispatch> destroy(Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const548 VULKAN_HPP_INLINE void Device::destroy( Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 549 { 550 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 551 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 552 VULKAN_HPP_ASSERT( d.vkDestroyDevice && "Function <vkDestroyDevice> requires <VK_VERSION_1_0>" ); 553 # endif 554 555 d.vkDestroyDevice( m_device, 556 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 557 } 558 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 559 560 // wrapper function for command vkEnumerateInstanceExtensionProperties, see 561 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceExtensionProperties.html 562 template <typename Dispatch> enumerateInstanceExtensionProperties(const char * pLayerName,uint32_t * pPropertyCount,VULKAN_HPP_NAMESPACE::ExtensionProperties * pProperties,Dispatch const & d)563 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result enumerateInstanceExtensionProperties( const char * pLayerName, 564 uint32_t * pPropertyCount, 565 VULKAN_HPP_NAMESPACE::ExtensionProperties * pProperties, 566 Dispatch const & d ) VULKAN_HPP_NOEXCEPT 567 { 568 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 569 return static_cast<Result>( 570 d.vkEnumerateInstanceExtensionProperties( pLayerName, pPropertyCount, reinterpret_cast<VkExtensionProperties *>( pProperties ) ) ); 571 } 572 573 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 574 // wrapper function for command vkEnumerateInstanceExtensionProperties, see 575 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceExtensionProperties.html 576 template < 577 typename ExtensionPropertiesAllocator, 578 typename Dispatch, 579 typename std::enable_if<std::is_same<typename ExtensionPropertiesAllocator::value_type, VULKAN_HPP_NAMESPACE::ExtensionProperties>::value, int>::type> 580 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties, ExtensionPropertiesAllocator>>::type enumerateInstanceExtensionProperties(Optional<const std::string> layerName,Dispatch const & d)581 enumerateInstanceExtensionProperties( Optional<const std::string> layerName, Dispatch const & d ) 582 { 583 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 584 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 585 VULKAN_HPP_ASSERT( d.vkEnumerateInstanceExtensionProperties && "Function <vkEnumerateInstanceExtensionProperties> requires <VK_VERSION_1_0>" ); 586 # endif 587 588 std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties, ExtensionPropertiesAllocator> properties; 589 uint32_t propertyCount; 590 VULKAN_HPP_NAMESPACE::Result result; 591 do 592 { 593 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 594 d.vkEnumerateInstanceExtensionProperties( layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr ) ); 595 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 596 { 597 properties.resize( propertyCount ); 598 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkEnumerateInstanceExtensionProperties( 599 layerName ? layerName->c_str() : nullptr, &propertyCount, reinterpret_cast<VkExtensionProperties *>( properties.data() ) ) ); 600 } 601 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 602 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::enumerateInstanceExtensionProperties" ); 603 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 604 if ( propertyCount < properties.size() ) 605 { 606 properties.resize( propertyCount ); 607 } 608 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 609 } 610 611 // wrapper function for command vkEnumerateInstanceExtensionProperties, see 612 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceExtensionProperties.html 613 template < 614 typename ExtensionPropertiesAllocator, 615 typename Dispatch, 616 typename std::enable_if<std::is_same<typename ExtensionPropertiesAllocator::value_type, VULKAN_HPP_NAMESPACE::ExtensionProperties>::value, int>::type> 617 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties, ExtensionPropertiesAllocator>>::type enumerateInstanceExtensionProperties(Optional<const std::string> layerName,ExtensionPropertiesAllocator & extensionPropertiesAllocator,Dispatch const & d)618 enumerateInstanceExtensionProperties( Optional<const std::string> layerName, 619 ExtensionPropertiesAllocator & extensionPropertiesAllocator, 620 Dispatch const & d ) 621 { 622 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 623 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 624 VULKAN_HPP_ASSERT( d.vkEnumerateInstanceExtensionProperties && "Function <vkEnumerateInstanceExtensionProperties> requires <VK_VERSION_1_0>" ); 625 # endif 626 627 std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties, ExtensionPropertiesAllocator> properties( extensionPropertiesAllocator ); 628 uint32_t propertyCount; 629 VULKAN_HPP_NAMESPACE::Result result; 630 do 631 { 632 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 633 d.vkEnumerateInstanceExtensionProperties( layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr ) ); 634 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 635 { 636 properties.resize( propertyCount ); 637 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkEnumerateInstanceExtensionProperties( 638 layerName ? layerName->c_str() : nullptr, &propertyCount, reinterpret_cast<VkExtensionProperties *>( properties.data() ) ) ); 639 } 640 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 641 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::enumerateInstanceExtensionProperties" ); 642 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 643 if ( propertyCount < properties.size() ) 644 { 645 properties.resize( propertyCount ); 646 } 647 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 648 } 649 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 650 651 // wrapper function for command vkEnumerateDeviceExtensionProperties, see 652 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateDeviceExtensionProperties.html 653 template <typename Dispatch> enumerateDeviceExtensionProperties(const char * pLayerName,uint32_t * pPropertyCount,VULKAN_HPP_NAMESPACE::ExtensionProperties * pProperties,Dispatch const & d) const654 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::enumerateDeviceExtensionProperties( const char * pLayerName, 655 uint32_t * pPropertyCount, 656 VULKAN_HPP_NAMESPACE::ExtensionProperties * pProperties, 657 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 658 { 659 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 660 return static_cast<Result>( d.vkEnumerateDeviceExtensionProperties( 661 static_cast<VkPhysicalDevice>( m_physicalDevice ), pLayerName, pPropertyCount, reinterpret_cast<VkExtensionProperties *>( pProperties ) ) ); 662 } 663 664 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 665 // wrapper function for command vkEnumerateDeviceExtensionProperties, see 666 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateDeviceExtensionProperties.html 667 template < 668 typename ExtensionPropertiesAllocator, 669 typename Dispatch, 670 typename std::enable_if<std::is_same<typename ExtensionPropertiesAllocator::value_type, VULKAN_HPP_NAMESPACE::ExtensionProperties>::value, int>::type> 671 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties, ExtensionPropertiesAllocator>>::type enumerateDeviceExtensionProperties(Optional<const std::string> layerName,Dispatch const & d) const672 PhysicalDevice::enumerateDeviceExtensionProperties( Optional<const std::string> layerName, Dispatch const & d ) const 673 { 674 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 675 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 676 VULKAN_HPP_ASSERT( d.vkEnumerateDeviceExtensionProperties && "Function <vkEnumerateDeviceExtensionProperties> requires <VK_VERSION_1_0>" ); 677 # endif 678 679 std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties, ExtensionPropertiesAllocator> properties; 680 uint32_t propertyCount; 681 VULKAN_HPP_NAMESPACE::Result result; 682 do 683 { 684 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 685 d.vkEnumerateDeviceExtensionProperties( m_physicalDevice, layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr ) ); 686 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 687 { 688 properties.resize( propertyCount ); 689 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkEnumerateDeviceExtensionProperties( 690 m_physicalDevice, layerName ? layerName->c_str() : nullptr, &propertyCount, reinterpret_cast<VkExtensionProperties *>( properties.data() ) ) ); 691 } 692 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 693 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceExtensionProperties" ); 694 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 695 if ( propertyCount < properties.size() ) 696 { 697 properties.resize( propertyCount ); 698 } 699 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 700 } 701 702 // wrapper function for command vkEnumerateDeviceExtensionProperties, see 703 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateDeviceExtensionProperties.html 704 template < 705 typename ExtensionPropertiesAllocator, 706 typename Dispatch, 707 typename std::enable_if<std::is_same<typename ExtensionPropertiesAllocator::value_type, VULKAN_HPP_NAMESPACE::ExtensionProperties>::value, int>::type> 708 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties, ExtensionPropertiesAllocator>>::type enumerateDeviceExtensionProperties(Optional<const std::string> layerName,ExtensionPropertiesAllocator & extensionPropertiesAllocator,Dispatch const & d) const709 PhysicalDevice::enumerateDeviceExtensionProperties( Optional<const std::string> layerName, 710 ExtensionPropertiesAllocator & extensionPropertiesAllocator, 711 Dispatch const & d ) const 712 { 713 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 714 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 715 VULKAN_HPP_ASSERT( d.vkEnumerateDeviceExtensionProperties && "Function <vkEnumerateDeviceExtensionProperties> requires <VK_VERSION_1_0>" ); 716 # endif 717 718 std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties, ExtensionPropertiesAllocator> properties( extensionPropertiesAllocator ); 719 uint32_t propertyCount; 720 VULKAN_HPP_NAMESPACE::Result result; 721 do 722 { 723 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 724 d.vkEnumerateDeviceExtensionProperties( m_physicalDevice, layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr ) ); 725 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 726 { 727 properties.resize( propertyCount ); 728 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkEnumerateDeviceExtensionProperties( 729 m_physicalDevice, layerName ? layerName->c_str() : nullptr, &propertyCount, reinterpret_cast<VkExtensionProperties *>( properties.data() ) ) ); 730 } 731 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 732 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceExtensionProperties" ); 733 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 734 if ( propertyCount < properties.size() ) 735 { 736 properties.resize( propertyCount ); 737 } 738 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 739 } 740 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 741 742 // wrapper function for command vkEnumerateInstanceLayerProperties, see 743 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceLayerProperties.html 744 template <typename Dispatch> enumerateInstanceLayerProperties(uint32_t * pPropertyCount,VULKAN_HPP_NAMESPACE::LayerProperties * pProperties,Dispatch const & d)745 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result enumerateInstanceLayerProperties( uint32_t * pPropertyCount, 746 VULKAN_HPP_NAMESPACE::LayerProperties * pProperties, 747 Dispatch const & d ) VULKAN_HPP_NOEXCEPT 748 { 749 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 750 return static_cast<Result>( d.vkEnumerateInstanceLayerProperties( pPropertyCount, reinterpret_cast<VkLayerProperties *>( pProperties ) ) ); 751 } 752 753 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 754 // wrapper function for command vkEnumerateInstanceLayerProperties, see 755 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceLayerProperties.html 756 template <typename LayerPropertiesAllocator, 757 typename Dispatch, 758 typename std::enable_if<std::is_same<typename LayerPropertiesAllocator::value_type, VULKAN_HPP_NAMESPACE::LayerProperties>::value, int>::type> 759 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::LayerProperties, LayerPropertiesAllocator>>::type enumerateInstanceLayerProperties(Dispatch const & d)760 enumerateInstanceLayerProperties( Dispatch const & d ) 761 { 762 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 763 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 764 VULKAN_HPP_ASSERT( d.vkEnumerateInstanceLayerProperties && "Function <vkEnumerateInstanceLayerProperties> requires <VK_VERSION_1_0>" ); 765 # endif 766 767 std::vector<VULKAN_HPP_NAMESPACE::LayerProperties, LayerPropertiesAllocator> properties; 768 uint32_t propertyCount; 769 VULKAN_HPP_NAMESPACE::Result result; 770 do 771 { 772 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkEnumerateInstanceLayerProperties( &propertyCount, nullptr ) ); 773 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 774 { 775 properties.resize( propertyCount ); 776 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 777 d.vkEnumerateInstanceLayerProperties( &propertyCount, reinterpret_cast<VkLayerProperties *>( properties.data() ) ) ); 778 } 779 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 780 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::enumerateInstanceLayerProperties" ); 781 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 782 if ( propertyCount < properties.size() ) 783 { 784 properties.resize( propertyCount ); 785 } 786 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 787 } 788 789 // wrapper function for command vkEnumerateInstanceLayerProperties, see 790 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceLayerProperties.html 791 template <typename LayerPropertiesAllocator, 792 typename Dispatch, 793 typename std::enable_if<std::is_same<typename LayerPropertiesAllocator::value_type, VULKAN_HPP_NAMESPACE::LayerProperties>::value, int>::type> 794 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::LayerProperties, LayerPropertiesAllocator>>::type enumerateInstanceLayerProperties(LayerPropertiesAllocator & layerPropertiesAllocator,Dispatch const & d)795 enumerateInstanceLayerProperties( LayerPropertiesAllocator & layerPropertiesAllocator, Dispatch const & d ) 796 { 797 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 798 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 799 VULKAN_HPP_ASSERT( d.vkEnumerateInstanceLayerProperties && "Function <vkEnumerateInstanceLayerProperties> requires <VK_VERSION_1_0>" ); 800 # endif 801 802 std::vector<VULKAN_HPP_NAMESPACE::LayerProperties, LayerPropertiesAllocator> properties( layerPropertiesAllocator ); 803 uint32_t propertyCount; 804 VULKAN_HPP_NAMESPACE::Result result; 805 do 806 { 807 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkEnumerateInstanceLayerProperties( &propertyCount, nullptr ) ); 808 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 809 { 810 properties.resize( propertyCount ); 811 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 812 d.vkEnumerateInstanceLayerProperties( &propertyCount, reinterpret_cast<VkLayerProperties *>( properties.data() ) ) ); 813 } 814 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 815 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::enumerateInstanceLayerProperties" ); 816 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 817 if ( propertyCount < properties.size() ) 818 { 819 properties.resize( propertyCount ); 820 } 821 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 822 } 823 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 824 825 // wrapper function for command vkEnumerateDeviceLayerProperties, see 826 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateDeviceLayerProperties.html 827 template <typename Dispatch> enumerateDeviceLayerProperties(uint32_t * pPropertyCount,VULKAN_HPP_NAMESPACE::LayerProperties * pProperties,Dispatch const & d) const828 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::enumerateDeviceLayerProperties( uint32_t * pPropertyCount, 829 VULKAN_HPP_NAMESPACE::LayerProperties * pProperties, 830 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 831 { 832 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 833 return static_cast<Result>( d.vkEnumerateDeviceLayerProperties( 834 static_cast<VkPhysicalDevice>( m_physicalDevice ), pPropertyCount, reinterpret_cast<VkLayerProperties *>( pProperties ) ) ); 835 } 836 837 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 838 // wrapper function for command vkEnumerateDeviceLayerProperties, see 839 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateDeviceLayerProperties.html 840 template <typename LayerPropertiesAllocator, 841 typename Dispatch, 842 typename std::enable_if<std::is_same<typename LayerPropertiesAllocator::value_type, VULKAN_HPP_NAMESPACE::LayerProperties>::value, int>::type> 843 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::LayerProperties, LayerPropertiesAllocator>>::type enumerateDeviceLayerProperties(Dispatch const & d) const844 PhysicalDevice::enumerateDeviceLayerProperties( Dispatch const & d ) const 845 { 846 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 847 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 848 VULKAN_HPP_ASSERT( d.vkEnumerateDeviceLayerProperties && "Function <vkEnumerateDeviceLayerProperties> requires <VK_VERSION_1_0>" ); 849 # endif 850 851 std::vector<VULKAN_HPP_NAMESPACE::LayerProperties, LayerPropertiesAllocator> properties; 852 uint32_t propertyCount; 853 VULKAN_HPP_NAMESPACE::Result result; 854 do 855 { 856 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkEnumerateDeviceLayerProperties( m_physicalDevice, &propertyCount, nullptr ) ); 857 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 858 { 859 properties.resize( propertyCount ); 860 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 861 d.vkEnumerateDeviceLayerProperties( m_physicalDevice, &propertyCount, reinterpret_cast<VkLayerProperties *>( properties.data() ) ) ); 862 } 863 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 864 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceLayerProperties" ); 865 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 866 if ( propertyCount < properties.size() ) 867 { 868 properties.resize( propertyCount ); 869 } 870 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 871 } 872 873 // wrapper function for command vkEnumerateDeviceLayerProperties, see 874 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateDeviceLayerProperties.html 875 template <typename LayerPropertiesAllocator, 876 typename Dispatch, 877 typename std::enable_if<std::is_same<typename LayerPropertiesAllocator::value_type, VULKAN_HPP_NAMESPACE::LayerProperties>::value, int>::type> 878 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::LayerProperties, LayerPropertiesAllocator>>::type enumerateDeviceLayerProperties(LayerPropertiesAllocator & layerPropertiesAllocator,Dispatch const & d) const879 PhysicalDevice::enumerateDeviceLayerProperties( LayerPropertiesAllocator & layerPropertiesAllocator, Dispatch const & d ) const 880 { 881 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 882 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 883 VULKAN_HPP_ASSERT( d.vkEnumerateDeviceLayerProperties && "Function <vkEnumerateDeviceLayerProperties> requires <VK_VERSION_1_0>" ); 884 # endif 885 886 std::vector<VULKAN_HPP_NAMESPACE::LayerProperties, LayerPropertiesAllocator> properties( layerPropertiesAllocator ); 887 uint32_t propertyCount; 888 VULKAN_HPP_NAMESPACE::Result result; 889 do 890 { 891 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkEnumerateDeviceLayerProperties( m_physicalDevice, &propertyCount, nullptr ) ); 892 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 893 { 894 properties.resize( propertyCount ); 895 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 896 d.vkEnumerateDeviceLayerProperties( m_physicalDevice, &propertyCount, reinterpret_cast<VkLayerProperties *>( properties.data() ) ) ); 897 } 898 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 899 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceLayerProperties" ); 900 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 901 if ( propertyCount < properties.size() ) 902 { 903 properties.resize( propertyCount ); 904 } 905 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 906 } 907 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 908 909 // wrapper function for command vkGetDeviceQueue, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceQueue.html 910 template <typename Dispatch> 911 VULKAN_HPP_INLINE void getQueue(uint32_t queueFamilyIndex,uint32_t queueIndex,VULKAN_HPP_NAMESPACE::Queue * pQueue,Dispatch const & d) const912 Device::getQueue( uint32_t queueFamilyIndex, uint32_t queueIndex, VULKAN_HPP_NAMESPACE::Queue * pQueue, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 913 { 914 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 915 d.vkGetDeviceQueue( static_cast<VkDevice>( m_device ), queueFamilyIndex, queueIndex, reinterpret_cast<VkQueue *>( pQueue ) ); 916 } 917 918 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 919 // wrapper function for command vkGetDeviceQueue, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceQueue.html 920 template <typename Dispatch> 921 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Queue getQueue(uint32_t queueFamilyIndex,uint32_t queueIndex,Dispatch const & d) const922 Device::getQueue( uint32_t queueFamilyIndex, uint32_t queueIndex, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 923 { 924 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 925 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 926 VULKAN_HPP_ASSERT( d.vkGetDeviceQueue && "Function <vkGetDeviceQueue> requires <VK_VERSION_1_0>" ); 927 # endif 928 929 VULKAN_HPP_NAMESPACE::Queue queue; 930 d.vkGetDeviceQueue( m_device, queueFamilyIndex, queueIndex, reinterpret_cast<VkQueue *>( &queue ) ); 931 932 return queue; 933 } 934 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 935 936 // wrapper function for command vkQueueSubmit, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit.html 937 template <typename Dispatch> submit(uint32_t submitCount,const VULKAN_HPP_NAMESPACE::SubmitInfo * pSubmits,VULKAN_HPP_NAMESPACE::Fence fence,Dispatch const & d) const938 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Queue::submit( uint32_t submitCount, 939 const VULKAN_HPP_NAMESPACE::SubmitInfo * pSubmits, 940 VULKAN_HPP_NAMESPACE::Fence fence, 941 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 942 { 943 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 944 return static_cast<Result>( 945 d.vkQueueSubmit( static_cast<VkQueue>( m_queue ), submitCount, reinterpret_cast<const VkSubmitInfo *>( pSubmits ), static_cast<VkFence>( fence ) ) ); 946 } 947 948 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 949 // wrapper function for command vkQueueSubmit, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit.html 950 template <typename Dispatch> submit(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo> const & submits,VULKAN_HPP_NAMESPACE::Fence fence,Dispatch const & d) const951 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type Queue::submit( 952 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo> const & submits, VULKAN_HPP_NAMESPACE::Fence fence, Dispatch const & d ) const 953 { 954 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 955 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 956 VULKAN_HPP_ASSERT( d.vkQueueSubmit && "Function <vkQueueSubmit> requires <VK_VERSION_1_0>" ); 957 # endif 958 959 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 960 d.vkQueueSubmit( m_queue, submits.size(), reinterpret_cast<const VkSubmitInfo *>( submits.data() ), static_cast<VkFence>( fence ) ) ); 961 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::submit" ); 962 963 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 964 } 965 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 966 967 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 968 // wrapper function for command vkQueueWaitIdle, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueWaitIdle.html 969 template <typename Dispatch> waitIdle(Dispatch const & d) const970 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Queue::waitIdle( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 971 { 972 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 973 return static_cast<Result>( d.vkQueueWaitIdle( static_cast<VkQueue>( m_queue ) ) ); 974 } 975 #else 976 // wrapper function for command vkQueueWaitIdle, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueWaitIdle.html 977 template <typename Dispatch> waitIdle(Dispatch const & d) const978 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type Queue::waitIdle( Dispatch const & d ) const 979 { 980 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 981 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 982 VULKAN_HPP_ASSERT( d.vkQueueWaitIdle && "Function <vkQueueWaitIdle> requires <VK_VERSION_1_0>" ); 983 # endif 984 985 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkQueueWaitIdle( m_queue ) ); 986 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::waitIdle" ); 987 988 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 989 } 990 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 991 992 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 993 // wrapper function for command vkDeviceWaitIdle, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDeviceWaitIdle.html 994 template <typename Dispatch> waitIdle(Dispatch const & d) const995 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::waitIdle( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 996 { 997 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 998 return static_cast<Result>( d.vkDeviceWaitIdle( static_cast<VkDevice>( m_device ) ) ); 999 } 1000 #else 1001 // wrapper function for command vkDeviceWaitIdle, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDeviceWaitIdle.html 1002 template <typename Dispatch> waitIdle(Dispatch const & d) const1003 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::waitIdle( Dispatch const & d ) const 1004 { 1005 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1006 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1007 VULKAN_HPP_ASSERT( d.vkDeviceWaitIdle && "Function <vkDeviceWaitIdle> requires <VK_VERSION_1_0>" ); 1008 # endif 1009 1010 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkDeviceWaitIdle( m_device ) ); 1011 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitIdle" ); 1012 1013 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 1014 } 1015 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 1016 1017 // wrapper function for command vkAllocateMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateMemory.html 1018 template <typename Dispatch> allocateMemory(const VULKAN_HPP_NAMESPACE::MemoryAllocateInfo * pAllocateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::DeviceMemory * pMemory,Dispatch const & d) const1019 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::allocateMemory( const VULKAN_HPP_NAMESPACE::MemoryAllocateInfo * pAllocateInfo, 1020 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 1021 VULKAN_HPP_NAMESPACE::DeviceMemory * pMemory, 1022 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1023 { 1024 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1025 return static_cast<Result>( d.vkAllocateMemory( static_cast<VkDevice>( m_device ), 1026 reinterpret_cast<const VkMemoryAllocateInfo *>( pAllocateInfo ), 1027 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 1028 reinterpret_cast<VkDeviceMemory *>( pMemory ) ) ); 1029 } 1030 1031 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 1032 // wrapper function for command vkAllocateMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateMemory.html 1033 template <typename Dispatch> 1034 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DeviceMemory>::type allocateMemory(const VULKAN_HPP_NAMESPACE::MemoryAllocateInfo & allocateInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const1035 Device::allocateMemory( const VULKAN_HPP_NAMESPACE::MemoryAllocateInfo & allocateInfo, 1036 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 1037 Dispatch const & d ) const 1038 { 1039 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1040 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1041 VULKAN_HPP_ASSERT( d.vkAllocateMemory && "Function <vkAllocateMemory> requires <VK_VERSION_1_0>" ); 1042 # endif 1043 1044 VULKAN_HPP_NAMESPACE::DeviceMemory memory; 1045 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 1046 d.vkAllocateMemory( m_device, 1047 reinterpret_cast<const VkMemoryAllocateInfo *>( &allocateInfo ), 1048 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 1049 reinterpret_cast<VkDeviceMemory *>( &memory ) ) ); 1050 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateMemory" ); 1051 1052 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( memory ) ); 1053 } 1054 1055 # ifndef VULKAN_HPP_NO_SMART_HANDLE 1056 // wrapper function for command vkAllocateMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateMemory.html 1057 template <typename Dispatch> 1058 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::DeviceMemory, Dispatch>>::type allocateMemoryUnique(const VULKAN_HPP_NAMESPACE::MemoryAllocateInfo & allocateInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const1059 Device::allocateMemoryUnique( const VULKAN_HPP_NAMESPACE::MemoryAllocateInfo & allocateInfo, 1060 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 1061 Dispatch const & d ) const 1062 { 1063 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1064 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1065 VULKAN_HPP_ASSERT( d.vkAllocateMemory && "Function <vkAllocateMemory> requires <VK_VERSION_1_0>" ); 1066 # endif 1067 1068 VULKAN_HPP_NAMESPACE::DeviceMemory memory; 1069 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 1070 d.vkAllocateMemory( m_device, 1071 reinterpret_cast<const VkMemoryAllocateInfo *>( &allocateInfo ), 1072 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 1073 reinterpret_cast<VkDeviceMemory *>( &memory ) ) ); 1074 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateMemoryUnique" ); 1075 1076 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 1077 result, UniqueHandle<VULKAN_HPP_NAMESPACE::DeviceMemory, Dispatch>( memory, detail::ObjectFree<Device, Dispatch>( *this, allocator, d ) ) ); 1078 } 1079 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 1080 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 1081 1082 // wrapper function for command vkFreeMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeMemory.html 1083 template <typename Dispatch> freeMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const1084 VULKAN_HPP_INLINE void Device::freeMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory, 1085 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 1086 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1087 { 1088 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1089 d.vkFreeMemory( static_cast<VkDevice>( m_device ), static_cast<VkDeviceMemory>( memory ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 1090 } 1091 1092 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 1093 // wrapper function for command vkFreeMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeMemory.html 1094 template <typename Dispatch> freeMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const1095 VULKAN_HPP_INLINE void Device::freeMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory, 1096 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 1097 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1098 { 1099 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1100 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1101 VULKAN_HPP_ASSERT( d.vkFreeMemory && "Function <vkFreeMemory> requires <VK_VERSION_1_0>" ); 1102 # endif 1103 1104 d.vkFreeMemory( m_device, 1105 static_cast<VkDeviceMemory>( memory ), 1106 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 1107 } 1108 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 1109 1110 // wrapper function for command vkFreeMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeMemory.html 1111 template <typename Dispatch> 1112 VULKAN_HPP_INLINE void( Device::free )( VULKAN_HPP_NAMESPACE::DeviceMemory memory, 1113 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 1114 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1115 { 1116 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1117 d.vkFreeMemory( static_cast<VkDevice>( m_device ), static_cast<VkDeviceMemory>( memory ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 1118 } 1119 1120 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 1121 // wrapper function for command vkFreeMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeMemory.html 1122 template <typename Dispatch> 1123 VULKAN_HPP_INLINE void( Device::free )( VULKAN_HPP_NAMESPACE::DeviceMemory memory, 1124 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 1125 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1126 { 1127 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1128 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1129 VULKAN_HPP_ASSERT( d.vkFreeMemory && "Function <vkFreeMemory> requires <VK_VERSION_1_0>" ); 1130 # endif 1131 1132 d.vkFreeMemory( m_device, 1133 static_cast<VkDeviceMemory>( memory ), 1134 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 1135 } 1136 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 1137 1138 // wrapper function for command vkMapMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory.html 1139 template <typename Dispatch> mapMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory,VULKAN_HPP_NAMESPACE::DeviceSize offset,VULKAN_HPP_NAMESPACE::DeviceSize size,VULKAN_HPP_NAMESPACE::MemoryMapFlags flags,void ** ppData,Dispatch const & d) const1140 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::mapMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory, 1141 VULKAN_HPP_NAMESPACE::DeviceSize offset, 1142 VULKAN_HPP_NAMESPACE::DeviceSize size, 1143 VULKAN_HPP_NAMESPACE::MemoryMapFlags flags, 1144 void ** ppData, 1145 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1146 { 1147 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1148 return static_cast<Result>( d.vkMapMemory( static_cast<VkDevice>( m_device ), 1149 static_cast<VkDeviceMemory>( memory ), 1150 static_cast<VkDeviceSize>( offset ), 1151 static_cast<VkDeviceSize>( size ), 1152 static_cast<VkMemoryMapFlags>( flags ), 1153 ppData ) ); 1154 } 1155 1156 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 1157 // wrapper function for command vkMapMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory.html 1158 template <typename Dispatch> mapMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory,VULKAN_HPP_NAMESPACE::DeviceSize offset,VULKAN_HPP_NAMESPACE::DeviceSize size,VULKAN_HPP_NAMESPACE::MemoryMapFlags flags,Dispatch const & d) const1159 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<void *>::type Device::mapMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory, 1160 VULKAN_HPP_NAMESPACE::DeviceSize offset, 1161 VULKAN_HPP_NAMESPACE::DeviceSize size, 1162 VULKAN_HPP_NAMESPACE::MemoryMapFlags flags, 1163 Dispatch const & d ) const 1164 { 1165 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1166 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1167 VULKAN_HPP_ASSERT( d.vkMapMemory && "Function <vkMapMemory> requires <VK_VERSION_1_0>" ); 1168 # endif 1169 1170 void * pData; 1171 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkMapMemory( m_device, 1172 static_cast<VkDeviceMemory>( memory ), 1173 static_cast<VkDeviceSize>( offset ), 1174 static_cast<VkDeviceSize>( size ), 1175 static_cast<VkMemoryMapFlags>( flags ), 1176 &pData ) ); 1177 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::mapMemory" ); 1178 1179 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pData ) ); 1180 } 1181 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 1182 1183 // wrapper function for command vkUnmapMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnmapMemory.html 1184 template <typename Dispatch> unmapMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory,Dispatch const & d) const1185 VULKAN_HPP_INLINE void Device::unmapMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1186 { 1187 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1188 d.vkUnmapMemory( static_cast<VkDevice>( m_device ), static_cast<VkDeviceMemory>( memory ) ); 1189 } 1190 1191 // wrapper function for command vkFlushMappedMemoryRanges, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFlushMappedMemoryRanges.html 1192 template <typename Dispatch> flushMappedMemoryRanges(uint32_t memoryRangeCount,const VULKAN_HPP_NAMESPACE::MappedMemoryRange * pMemoryRanges,Dispatch const & d) const1193 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::flushMappedMemoryRanges( uint32_t memoryRangeCount, 1194 const VULKAN_HPP_NAMESPACE::MappedMemoryRange * pMemoryRanges, 1195 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1196 { 1197 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1198 return static_cast<Result>( 1199 d.vkFlushMappedMemoryRanges( static_cast<VkDevice>( m_device ), memoryRangeCount, reinterpret_cast<const VkMappedMemoryRange *>( pMemoryRanges ) ) ); 1200 } 1201 1202 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 1203 // wrapper function for command vkFlushMappedMemoryRanges, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFlushMappedMemoryRanges.html 1204 template <typename Dispatch> 1205 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type flushMappedMemoryRanges(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const & memoryRanges,Dispatch const & d) const1206 Device::flushMappedMemoryRanges( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const & memoryRanges, 1207 Dispatch const & d ) const 1208 { 1209 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1210 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1211 VULKAN_HPP_ASSERT( d.vkFlushMappedMemoryRanges && "Function <vkFlushMappedMemoryRanges> requires <VK_VERSION_1_0>" ); 1212 # endif 1213 1214 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 1215 d.vkFlushMappedMemoryRanges( m_device, memoryRanges.size(), reinterpret_cast<const VkMappedMemoryRange *>( memoryRanges.data() ) ) ); 1216 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::flushMappedMemoryRanges" ); 1217 1218 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 1219 } 1220 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 1221 1222 // wrapper function for command vkInvalidateMappedMemoryRanges, see 1223 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkInvalidateMappedMemoryRanges.html 1224 template <typename Dispatch> invalidateMappedMemoryRanges(uint32_t memoryRangeCount,const VULKAN_HPP_NAMESPACE::MappedMemoryRange * pMemoryRanges,Dispatch const & d) const1225 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::invalidateMappedMemoryRanges( uint32_t memoryRangeCount, 1226 const VULKAN_HPP_NAMESPACE::MappedMemoryRange * pMemoryRanges, 1227 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1228 { 1229 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1230 return static_cast<Result>( 1231 d.vkInvalidateMappedMemoryRanges( static_cast<VkDevice>( m_device ), memoryRangeCount, reinterpret_cast<const VkMappedMemoryRange *>( pMemoryRanges ) ) ); 1232 } 1233 1234 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 1235 // wrapper function for command vkInvalidateMappedMemoryRanges, see 1236 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkInvalidateMappedMemoryRanges.html 1237 template <typename Dispatch> 1238 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type invalidateMappedMemoryRanges(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const & memoryRanges,Dispatch const & d) const1239 Device::invalidateMappedMemoryRanges( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const & memoryRanges, 1240 Dispatch const & d ) const 1241 { 1242 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1243 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1244 VULKAN_HPP_ASSERT( d.vkInvalidateMappedMemoryRanges && "Function <vkInvalidateMappedMemoryRanges> requires <VK_VERSION_1_0>" ); 1245 # endif 1246 1247 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 1248 d.vkInvalidateMappedMemoryRanges( m_device, memoryRanges.size(), reinterpret_cast<const VkMappedMemoryRange *>( memoryRanges.data() ) ) ); 1249 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::invalidateMappedMemoryRanges" ); 1250 1251 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 1252 } 1253 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 1254 1255 // wrapper function for command vkGetDeviceMemoryCommitment, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMemoryCommitment.html 1256 template <typename Dispatch> getMemoryCommitment(VULKAN_HPP_NAMESPACE::DeviceMemory memory,VULKAN_HPP_NAMESPACE::DeviceSize * pCommittedMemoryInBytes,Dispatch const & d) const1257 VULKAN_HPP_INLINE void Device::getMemoryCommitment( VULKAN_HPP_NAMESPACE::DeviceMemory memory, 1258 VULKAN_HPP_NAMESPACE::DeviceSize * pCommittedMemoryInBytes, 1259 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1260 { 1261 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1262 d.vkGetDeviceMemoryCommitment( 1263 static_cast<VkDevice>( m_device ), static_cast<VkDeviceMemory>( memory ), reinterpret_cast<VkDeviceSize *>( pCommittedMemoryInBytes ) ); 1264 } 1265 1266 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 1267 // wrapper function for command vkGetDeviceMemoryCommitment, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMemoryCommitment.html 1268 template <typename Dispatch> getMemoryCommitment(VULKAN_HPP_NAMESPACE::DeviceMemory memory,Dispatch const & d) const1269 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceSize Device::getMemoryCommitment( VULKAN_HPP_NAMESPACE::DeviceMemory memory, 1270 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1271 { 1272 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1273 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1274 VULKAN_HPP_ASSERT( d.vkGetDeviceMemoryCommitment && "Function <vkGetDeviceMemoryCommitment> requires <VK_VERSION_1_0>" ); 1275 # endif 1276 1277 VULKAN_HPP_NAMESPACE::DeviceSize committedMemoryInBytes; 1278 d.vkGetDeviceMemoryCommitment( m_device, static_cast<VkDeviceMemory>( memory ), reinterpret_cast<VkDeviceSize *>( &committedMemoryInBytes ) ); 1279 1280 return committedMemoryInBytes; 1281 } 1282 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 1283 1284 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 1285 // wrapper function for command vkBindBufferMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindBufferMemory.html 1286 template <typename Dispatch> bindBufferMemory(VULKAN_HPP_NAMESPACE::Buffer buffer,VULKAN_HPP_NAMESPACE::DeviceMemory memory,VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset,Dispatch const & d) const1287 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::bindBufferMemory( VULKAN_HPP_NAMESPACE::Buffer buffer, 1288 VULKAN_HPP_NAMESPACE::DeviceMemory memory, 1289 VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset, 1290 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1291 { 1292 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1293 return static_cast<Result>( d.vkBindBufferMemory( 1294 static_cast<VkDevice>( m_device ), static_cast<VkBuffer>( buffer ), static_cast<VkDeviceMemory>( memory ), static_cast<VkDeviceSize>( memoryOffset ) ) ); 1295 } 1296 #else 1297 // wrapper function for command vkBindBufferMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindBufferMemory.html 1298 template <typename Dispatch> bindBufferMemory(VULKAN_HPP_NAMESPACE::Buffer buffer,VULKAN_HPP_NAMESPACE::DeviceMemory memory,VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset,Dispatch const & d) const1299 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::bindBufferMemory( 1300 VULKAN_HPP_NAMESPACE::Buffer buffer, VULKAN_HPP_NAMESPACE::DeviceMemory memory, VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset, Dispatch const & d ) const 1301 { 1302 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1303 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1304 VULKAN_HPP_ASSERT( d.vkBindBufferMemory && "Function <vkBindBufferMemory> requires <VK_VERSION_1_0>" ); 1305 # endif 1306 1307 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 1308 d.vkBindBufferMemory( m_device, static_cast<VkBuffer>( buffer ), static_cast<VkDeviceMemory>( memory ), static_cast<VkDeviceSize>( memoryOffset ) ) ); 1309 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindBufferMemory" ); 1310 1311 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 1312 } 1313 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 1314 1315 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 1316 // wrapper function for command vkBindImageMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory.html 1317 template <typename Dispatch> bindImageMemory(VULKAN_HPP_NAMESPACE::Image image,VULKAN_HPP_NAMESPACE::DeviceMemory memory,VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset,Dispatch const & d) const1318 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::bindImageMemory( VULKAN_HPP_NAMESPACE::Image image, 1319 VULKAN_HPP_NAMESPACE::DeviceMemory memory, 1320 VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset, 1321 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1322 { 1323 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1324 return static_cast<Result>( d.vkBindImageMemory( 1325 static_cast<VkDevice>( m_device ), static_cast<VkImage>( image ), static_cast<VkDeviceMemory>( memory ), static_cast<VkDeviceSize>( memoryOffset ) ) ); 1326 } 1327 #else 1328 // wrapper function for command vkBindImageMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory.html 1329 template <typename Dispatch> bindImageMemory(VULKAN_HPP_NAMESPACE::Image image,VULKAN_HPP_NAMESPACE::DeviceMemory memory,VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset,Dispatch const & d) const1330 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::bindImageMemory( 1331 VULKAN_HPP_NAMESPACE::Image image, VULKAN_HPP_NAMESPACE::DeviceMemory memory, VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset, Dispatch const & d ) const 1332 { 1333 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1334 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1335 VULKAN_HPP_ASSERT( d.vkBindImageMemory && "Function <vkBindImageMemory> requires <VK_VERSION_1_0>" ); 1336 # endif 1337 1338 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 1339 d.vkBindImageMemory( m_device, static_cast<VkImage>( image ), static_cast<VkDeviceMemory>( memory ), static_cast<VkDeviceSize>( memoryOffset ) ) ); 1340 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindImageMemory" ); 1341 1342 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 1343 } 1344 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 1345 1346 // wrapper function for command vkGetBufferMemoryRequirements, see 1347 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements.html 1348 template <typename Dispatch> getBufferMemoryRequirements(VULKAN_HPP_NAMESPACE::Buffer buffer,VULKAN_HPP_NAMESPACE::MemoryRequirements * pMemoryRequirements,Dispatch const & d) const1349 VULKAN_HPP_INLINE void Device::getBufferMemoryRequirements( VULKAN_HPP_NAMESPACE::Buffer buffer, 1350 VULKAN_HPP_NAMESPACE::MemoryRequirements * pMemoryRequirements, 1351 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1352 { 1353 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1354 d.vkGetBufferMemoryRequirements( 1355 static_cast<VkDevice>( m_device ), static_cast<VkBuffer>( buffer ), reinterpret_cast<VkMemoryRequirements *>( pMemoryRequirements ) ); 1356 } 1357 1358 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 1359 // wrapper function for command vkGetBufferMemoryRequirements, see 1360 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements.html 1361 template <typename Dispatch> 1362 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements getBufferMemoryRequirements(VULKAN_HPP_NAMESPACE::Buffer buffer,Dispatch const & d) const1363 Device::getBufferMemoryRequirements( VULKAN_HPP_NAMESPACE::Buffer buffer, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1364 { 1365 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1366 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1367 VULKAN_HPP_ASSERT( d.vkGetBufferMemoryRequirements && "Function <vkGetBufferMemoryRequirements> requires <VK_VERSION_1_0>" ); 1368 # endif 1369 1370 VULKAN_HPP_NAMESPACE::MemoryRequirements memoryRequirements; 1371 d.vkGetBufferMemoryRequirements( m_device, static_cast<VkBuffer>( buffer ), reinterpret_cast<VkMemoryRequirements *>( &memoryRequirements ) ); 1372 1373 return memoryRequirements; 1374 } 1375 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 1376 1377 // wrapper function for command vkGetImageMemoryRequirements, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements.html 1378 template <typename Dispatch> getImageMemoryRequirements(VULKAN_HPP_NAMESPACE::Image image,VULKAN_HPP_NAMESPACE::MemoryRequirements * pMemoryRequirements,Dispatch const & d) const1379 VULKAN_HPP_INLINE void Device::getImageMemoryRequirements( VULKAN_HPP_NAMESPACE::Image image, 1380 VULKAN_HPP_NAMESPACE::MemoryRequirements * pMemoryRequirements, 1381 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1382 { 1383 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1384 d.vkGetImageMemoryRequirements( 1385 static_cast<VkDevice>( m_device ), static_cast<VkImage>( image ), reinterpret_cast<VkMemoryRequirements *>( pMemoryRequirements ) ); 1386 } 1387 1388 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 1389 // wrapper function for command vkGetImageMemoryRequirements, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements.html 1390 template <typename Dispatch> 1391 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements getImageMemoryRequirements(VULKAN_HPP_NAMESPACE::Image image,Dispatch const & d) const1392 Device::getImageMemoryRequirements( VULKAN_HPP_NAMESPACE::Image image, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1393 { 1394 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1395 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1396 VULKAN_HPP_ASSERT( d.vkGetImageMemoryRequirements && "Function <vkGetImageMemoryRequirements> requires <VK_VERSION_1_0>" ); 1397 # endif 1398 1399 VULKAN_HPP_NAMESPACE::MemoryRequirements memoryRequirements; 1400 d.vkGetImageMemoryRequirements( m_device, static_cast<VkImage>( image ), reinterpret_cast<VkMemoryRequirements *>( &memoryRequirements ) ); 1401 1402 return memoryRequirements; 1403 } 1404 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 1405 1406 // wrapper function for command vkGetImageSparseMemoryRequirements, see 1407 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements.html 1408 template <typename Dispatch> getImageSparseMemoryRequirements(VULKAN_HPP_NAMESPACE::Image image,uint32_t * pSparseMemoryRequirementCount,VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements * pSparseMemoryRequirements,Dispatch const & d) const1409 VULKAN_HPP_INLINE void Device::getImageSparseMemoryRequirements( VULKAN_HPP_NAMESPACE::Image image, 1410 uint32_t * pSparseMemoryRequirementCount, 1411 VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements * pSparseMemoryRequirements, 1412 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1413 { 1414 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1415 d.vkGetImageSparseMemoryRequirements( static_cast<VkDevice>( m_device ), 1416 static_cast<VkImage>( image ), 1417 pSparseMemoryRequirementCount, 1418 reinterpret_cast<VkSparseImageMemoryRequirements *>( pSparseMemoryRequirements ) ); 1419 } 1420 1421 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 1422 // wrapper function for command vkGetImageSparseMemoryRequirements, see 1423 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements.html 1424 template <typename SparseImageMemoryRequirementsAllocator, 1425 typename Dispatch, 1426 typename std::enable_if< 1427 std::is_same<typename SparseImageMemoryRequirementsAllocator::value_type, VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements>::value, 1428 int>::type> 1429 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements, SparseImageMemoryRequirementsAllocator> getImageSparseMemoryRequirements(VULKAN_HPP_NAMESPACE::Image image,Dispatch const & d) const1430 Device::getImageSparseMemoryRequirements( VULKAN_HPP_NAMESPACE::Image image, Dispatch const & d ) const 1431 { 1432 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1433 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1434 VULKAN_HPP_ASSERT( d.vkGetImageSparseMemoryRequirements && "Function <vkGetImageSparseMemoryRequirements> requires <VK_VERSION_1_0>" ); 1435 # endif 1436 1437 std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements, SparseImageMemoryRequirementsAllocator> sparseMemoryRequirements; 1438 uint32_t sparseMemoryRequirementCount; 1439 d.vkGetImageSparseMemoryRequirements( m_device, static_cast<VkImage>( image ), &sparseMemoryRequirementCount, nullptr ); 1440 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); 1441 d.vkGetImageSparseMemoryRequirements( m_device, 1442 static_cast<VkImage>( image ), 1443 &sparseMemoryRequirementCount, 1444 reinterpret_cast<VkSparseImageMemoryRequirements *>( sparseMemoryRequirements.data() ) ); 1445 1446 VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); 1447 if ( sparseMemoryRequirementCount < sparseMemoryRequirements.size() ) 1448 { 1449 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); 1450 } 1451 return sparseMemoryRequirements; 1452 } 1453 1454 // wrapper function for command vkGetImageSparseMemoryRequirements, see 1455 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements.html 1456 template <typename SparseImageMemoryRequirementsAllocator, 1457 typename Dispatch, 1458 typename std::enable_if< 1459 std::is_same<typename SparseImageMemoryRequirementsAllocator::value_type, VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements>::value, 1460 int>::type> 1461 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements, SparseImageMemoryRequirementsAllocator> getImageSparseMemoryRequirements(VULKAN_HPP_NAMESPACE::Image image,SparseImageMemoryRequirementsAllocator & sparseImageMemoryRequirementsAllocator,Dispatch const & d) const1462 Device::getImageSparseMemoryRequirements( VULKAN_HPP_NAMESPACE::Image image, 1463 SparseImageMemoryRequirementsAllocator & sparseImageMemoryRequirementsAllocator, 1464 Dispatch const & d ) const 1465 { 1466 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1467 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1468 VULKAN_HPP_ASSERT( d.vkGetImageSparseMemoryRequirements && "Function <vkGetImageSparseMemoryRequirements> requires <VK_VERSION_1_0>" ); 1469 # endif 1470 1471 std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements, SparseImageMemoryRequirementsAllocator> sparseMemoryRequirements( 1472 sparseImageMemoryRequirementsAllocator ); 1473 uint32_t sparseMemoryRequirementCount; 1474 d.vkGetImageSparseMemoryRequirements( m_device, static_cast<VkImage>( image ), &sparseMemoryRequirementCount, nullptr ); 1475 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); 1476 d.vkGetImageSparseMemoryRequirements( m_device, 1477 static_cast<VkImage>( image ), 1478 &sparseMemoryRequirementCount, 1479 reinterpret_cast<VkSparseImageMemoryRequirements *>( sparseMemoryRequirements.data() ) ); 1480 1481 VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); 1482 if ( sparseMemoryRequirementCount < sparseMemoryRequirements.size() ) 1483 { 1484 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); 1485 } 1486 return sparseMemoryRequirements; 1487 } 1488 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 1489 1490 // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties, see 1491 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties.html 1492 template <typename Dispatch> getSparseImageFormatProperties(VULKAN_HPP_NAMESPACE::Format format,VULKAN_HPP_NAMESPACE::ImageType type,VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,VULKAN_HPP_NAMESPACE::ImageTiling tiling,uint32_t * pPropertyCount,VULKAN_HPP_NAMESPACE::SparseImageFormatProperties * pProperties,Dispatch const & d) const1493 VULKAN_HPP_INLINE void PhysicalDevice::getSparseImageFormatProperties( VULKAN_HPP_NAMESPACE::Format format, 1494 VULKAN_HPP_NAMESPACE::ImageType type, 1495 VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples, 1496 VULKAN_HPP_NAMESPACE::ImageUsageFlags usage, 1497 VULKAN_HPP_NAMESPACE::ImageTiling tiling, 1498 uint32_t * pPropertyCount, 1499 VULKAN_HPP_NAMESPACE::SparseImageFormatProperties * pProperties, 1500 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1501 { 1502 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1503 d.vkGetPhysicalDeviceSparseImageFormatProperties( static_cast<VkPhysicalDevice>( m_physicalDevice ), 1504 static_cast<VkFormat>( format ), 1505 static_cast<VkImageType>( type ), 1506 static_cast<VkSampleCountFlagBits>( samples ), 1507 static_cast<VkImageUsageFlags>( usage ), 1508 static_cast<VkImageTiling>( tiling ), 1509 pPropertyCount, 1510 reinterpret_cast<VkSparseImageFormatProperties *>( pProperties ) ); 1511 } 1512 1513 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 1514 // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties, see 1515 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties.html 1516 template < 1517 typename SparseImageFormatPropertiesAllocator, 1518 typename Dispatch, 1519 typename std::enable_if<std::is_same<typename SparseImageFormatPropertiesAllocator::value_type, VULKAN_HPP_NAMESPACE::SparseImageFormatProperties>::value, 1520 int>::type> 1521 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties, SparseImageFormatPropertiesAllocator> getSparseImageFormatProperties(VULKAN_HPP_NAMESPACE::Format format,VULKAN_HPP_NAMESPACE::ImageType type,VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,VULKAN_HPP_NAMESPACE::ImageTiling tiling,Dispatch const & d) const1522 PhysicalDevice::getSparseImageFormatProperties( VULKAN_HPP_NAMESPACE::Format format, 1523 VULKAN_HPP_NAMESPACE::ImageType type, 1524 VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples, 1525 VULKAN_HPP_NAMESPACE::ImageUsageFlags usage, 1526 VULKAN_HPP_NAMESPACE::ImageTiling tiling, 1527 Dispatch const & d ) const 1528 { 1529 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1530 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1531 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceSparseImageFormatProperties && 1532 "Function <vkGetPhysicalDeviceSparseImageFormatProperties> requires <VK_VERSION_1_0>" ); 1533 # endif 1534 1535 std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties, SparseImageFormatPropertiesAllocator> properties; 1536 uint32_t propertyCount; 1537 d.vkGetPhysicalDeviceSparseImageFormatProperties( m_physicalDevice, 1538 static_cast<VkFormat>( format ), 1539 static_cast<VkImageType>( type ), 1540 static_cast<VkSampleCountFlagBits>( samples ), 1541 static_cast<VkImageUsageFlags>( usage ), 1542 static_cast<VkImageTiling>( tiling ), 1543 &propertyCount, 1544 nullptr ); 1545 properties.resize( propertyCount ); 1546 d.vkGetPhysicalDeviceSparseImageFormatProperties( m_physicalDevice, 1547 static_cast<VkFormat>( format ), 1548 static_cast<VkImageType>( type ), 1549 static_cast<VkSampleCountFlagBits>( samples ), 1550 static_cast<VkImageUsageFlags>( usage ), 1551 static_cast<VkImageTiling>( tiling ), 1552 &propertyCount, 1553 reinterpret_cast<VkSparseImageFormatProperties *>( properties.data() ) ); 1554 1555 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 1556 if ( propertyCount < properties.size() ) 1557 { 1558 properties.resize( propertyCount ); 1559 } 1560 return properties; 1561 } 1562 1563 // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties, see 1564 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties.html 1565 template < 1566 typename SparseImageFormatPropertiesAllocator, 1567 typename Dispatch, 1568 typename std::enable_if<std::is_same<typename SparseImageFormatPropertiesAllocator::value_type, VULKAN_HPP_NAMESPACE::SparseImageFormatProperties>::value, 1569 int>::type> 1570 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties, SparseImageFormatPropertiesAllocator> getSparseImageFormatProperties(VULKAN_HPP_NAMESPACE::Format format,VULKAN_HPP_NAMESPACE::ImageType type,VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,VULKAN_HPP_NAMESPACE::ImageTiling tiling,SparseImageFormatPropertiesAllocator & sparseImageFormatPropertiesAllocator,Dispatch const & d) const1571 PhysicalDevice::getSparseImageFormatProperties( VULKAN_HPP_NAMESPACE::Format format, 1572 VULKAN_HPP_NAMESPACE::ImageType type, 1573 VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples, 1574 VULKAN_HPP_NAMESPACE::ImageUsageFlags usage, 1575 VULKAN_HPP_NAMESPACE::ImageTiling tiling, 1576 SparseImageFormatPropertiesAllocator & sparseImageFormatPropertiesAllocator, 1577 Dispatch const & d ) const 1578 { 1579 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1580 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1581 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceSparseImageFormatProperties && 1582 "Function <vkGetPhysicalDeviceSparseImageFormatProperties> requires <VK_VERSION_1_0>" ); 1583 # endif 1584 1585 std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties, SparseImageFormatPropertiesAllocator> properties( sparseImageFormatPropertiesAllocator ); 1586 uint32_t propertyCount; 1587 d.vkGetPhysicalDeviceSparseImageFormatProperties( m_physicalDevice, 1588 static_cast<VkFormat>( format ), 1589 static_cast<VkImageType>( type ), 1590 static_cast<VkSampleCountFlagBits>( samples ), 1591 static_cast<VkImageUsageFlags>( usage ), 1592 static_cast<VkImageTiling>( tiling ), 1593 &propertyCount, 1594 nullptr ); 1595 properties.resize( propertyCount ); 1596 d.vkGetPhysicalDeviceSparseImageFormatProperties( m_physicalDevice, 1597 static_cast<VkFormat>( format ), 1598 static_cast<VkImageType>( type ), 1599 static_cast<VkSampleCountFlagBits>( samples ), 1600 static_cast<VkImageUsageFlags>( usage ), 1601 static_cast<VkImageTiling>( tiling ), 1602 &propertyCount, 1603 reinterpret_cast<VkSparseImageFormatProperties *>( properties.data() ) ); 1604 1605 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 1606 if ( propertyCount < properties.size() ) 1607 { 1608 properties.resize( propertyCount ); 1609 } 1610 return properties; 1611 } 1612 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 1613 1614 // wrapper function for command vkQueueBindSparse, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueBindSparse.html 1615 template <typename Dispatch> bindSparse(uint32_t bindInfoCount,const VULKAN_HPP_NAMESPACE::BindSparseInfo * pBindInfo,VULKAN_HPP_NAMESPACE::Fence fence,Dispatch const & d) const1616 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Queue::bindSparse( uint32_t bindInfoCount, 1617 const VULKAN_HPP_NAMESPACE::BindSparseInfo * pBindInfo, 1618 VULKAN_HPP_NAMESPACE::Fence fence, 1619 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1620 { 1621 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1622 return static_cast<Result>( d.vkQueueBindSparse( 1623 static_cast<VkQueue>( m_queue ), bindInfoCount, reinterpret_cast<const VkBindSparseInfo *>( pBindInfo ), static_cast<VkFence>( fence ) ) ); 1624 } 1625 1626 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 1627 // wrapper function for command vkQueueBindSparse, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueBindSparse.html 1628 template <typename Dispatch> bindSparse(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BindSparseInfo> const & bindInfo,VULKAN_HPP_NAMESPACE::Fence fence,Dispatch const & d) const1629 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type Queue::bindSparse( 1630 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BindSparseInfo> const & bindInfo, VULKAN_HPP_NAMESPACE::Fence fence, Dispatch const & d ) const 1631 { 1632 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1633 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1634 VULKAN_HPP_ASSERT( d.vkQueueBindSparse && "Function <vkQueueBindSparse> requires <VK_VERSION_1_0>" ); 1635 # endif 1636 1637 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 1638 d.vkQueueBindSparse( m_queue, bindInfo.size(), reinterpret_cast<const VkBindSparseInfo *>( bindInfo.data() ), static_cast<VkFence>( fence ) ) ); 1639 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::bindSparse" ); 1640 1641 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 1642 } 1643 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 1644 1645 // wrapper function for command vkCreateFence, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateFence.html 1646 template <typename Dispatch> createFence(const VULKAN_HPP_NAMESPACE::FenceCreateInfo * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::Fence * pFence,Dispatch const & d) const1647 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createFence( const VULKAN_HPP_NAMESPACE::FenceCreateInfo * pCreateInfo, 1648 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 1649 VULKAN_HPP_NAMESPACE::Fence * pFence, 1650 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1651 { 1652 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1653 return static_cast<Result>( d.vkCreateFence( static_cast<VkDevice>( m_device ), 1654 reinterpret_cast<const VkFenceCreateInfo *>( pCreateInfo ), 1655 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 1656 reinterpret_cast<VkFence *>( pFence ) ) ); 1657 } 1658 1659 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 1660 // wrapper function for command vkCreateFence, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateFence.html 1661 template <typename Dispatch> createFence(const VULKAN_HPP_NAMESPACE::FenceCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const1662 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Fence>::type Device::createFence( 1663 const VULKAN_HPP_NAMESPACE::FenceCreateInfo & createInfo, Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, Dispatch const & d ) const 1664 { 1665 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1666 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1667 VULKAN_HPP_ASSERT( d.vkCreateFence && "Function <vkCreateFence> requires <VK_VERSION_1_0>" ); 1668 # endif 1669 1670 VULKAN_HPP_NAMESPACE::Fence fence; 1671 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 1672 d.vkCreateFence( m_device, 1673 reinterpret_cast<const VkFenceCreateInfo *>( &createInfo ), 1674 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 1675 reinterpret_cast<VkFence *>( &fence ) ) ); 1676 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createFence" ); 1677 1678 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( fence ) ); 1679 } 1680 1681 # ifndef VULKAN_HPP_NO_SMART_HANDLE 1682 // wrapper function for command vkCreateFence, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateFence.html 1683 template <typename Dispatch> createFenceUnique(const VULKAN_HPP_NAMESPACE::FenceCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const1684 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::Fence, Dispatch>>::type Device::createFenceUnique( 1685 const VULKAN_HPP_NAMESPACE::FenceCreateInfo & createInfo, Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, Dispatch const & d ) const 1686 { 1687 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1688 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1689 VULKAN_HPP_ASSERT( d.vkCreateFence && "Function <vkCreateFence> requires <VK_VERSION_1_0>" ); 1690 # endif 1691 1692 VULKAN_HPP_NAMESPACE::Fence fence; 1693 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 1694 d.vkCreateFence( m_device, 1695 reinterpret_cast<const VkFenceCreateInfo *>( &createInfo ), 1696 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 1697 reinterpret_cast<VkFence *>( &fence ) ) ); 1698 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createFenceUnique" ); 1699 1700 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 1701 result, UniqueHandle<VULKAN_HPP_NAMESPACE::Fence, Dispatch>( fence, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 1702 } 1703 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 1704 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 1705 1706 // wrapper function for command vkDestroyFence, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyFence.html 1707 template <typename Dispatch> destroyFence(VULKAN_HPP_NAMESPACE::Fence fence,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const1708 VULKAN_HPP_INLINE void Device::destroyFence( VULKAN_HPP_NAMESPACE::Fence fence, 1709 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 1710 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1711 { 1712 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1713 d.vkDestroyFence( static_cast<VkDevice>( m_device ), static_cast<VkFence>( fence ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 1714 } 1715 1716 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 1717 // wrapper function for command vkDestroyFence, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyFence.html 1718 template <typename Dispatch> destroyFence(VULKAN_HPP_NAMESPACE::Fence fence,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const1719 VULKAN_HPP_INLINE void Device::destroyFence( VULKAN_HPP_NAMESPACE::Fence fence, 1720 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 1721 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1722 { 1723 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1724 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1725 VULKAN_HPP_ASSERT( d.vkDestroyFence && "Function <vkDestroyFence> requires <VK_VERSION_1_0>" ); 1726 # endif 1727 1728 d.vkDestroyFence( m_device, 1729 static_cast<VkFence>( fence ), 1730 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 1731 } 1732 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 1733 1734 // wrapper function for command vkDestroyFence, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyFence.html 1735 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::Fence fence,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const1736 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Fence fence, 1737 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 1738 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1739 { 1740 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1741 d.vkDestroyFence( static_cast<VkDevice>( m_device ), static_cast<VkFence>( fence ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 1742 } 1743 1744 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 1745 // wrapper function for command vkDestroyFence, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyFence.html 1746 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::Fence fence,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const1747 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Fence fence, 1748 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 1749 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1750 { 1751 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1752 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1753 VULKAN_HPP_ASSERT( d.vkDestroyFence && "Function <vkDestroyFence> requires <VK_VERSION_1_0>" ); 1754 # endif 1755 1756 d.vkDestroyFence( m_device, 1757 static_cast<VkFence>( fence ), 1758 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 1759 } 1760 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 1761 1762 // wrapper function for command vkResetFences, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetFences.html 1763 template <typename Dispatch> resetFences(uint32_t fenceCount,const VULKAN_HPP_NAMESPACE::Fence * pFences,Dispatch const & d) const1764 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::resetFences( uint32_t fenceCount, 1765 const VULKAN_HPP_NAMESPACE::Fence * pFences, 1766 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1767 { 1768 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1769 return static_cast<Result>( d.vkResetFences( static_cast<VkDevice>( m_device ), fenceCount, reinterpret_cast<const VkFence *>( pFences ) ) ); 1770 } 1771 1772 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 1773 // wrapper function for command vkResetFences, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetFences.html 1774 template <typename Dispatch> 1775 VULKAN_HPP_INLINE typename ResultValueType<void>::type resetFences(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences,Dispatch const & d) const1776 Device::resetFences( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences, Dispatch const & d ) const 1777 { 1778 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1779 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1780 VULKAN_HPP_ASSERT( d.vkResetFences && "Function <vkResetFences> requires <VK_VERSION_1_0>" ); 1781 # endif 1782 1783 VULKAN_HPP_NAMESPACE::Result result = 1784 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkResetFences( m_device, fences.size(), reinterpret_cast<const VkFence *>( fences.data() ) ) ); 1785 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::resetFences" ); 1786 1787 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 1788 } 1789 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 1790 1791 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 1792 // wrapper function for command vkGetFenceStatus, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceStatus.html 1793 template <typename Dispatch> getFenceStatus(VULKAN_HPP_NAMESPACE::Fence fence,Dispatch const & d) const1794 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getFenceStatus( VULKAN_HPP_NAMESPACE::Fence fence, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1795 { 1796 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1797 return static_cast<Result>( d.vkGetFenceStatus( static_cast<VkDevice>( m_device ), static_cast<VkFence>( fence ) ) ); 1798 } 1799 #else 1800 // wrapper function for command vkGetFenceStatus, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceStatus.html 1801 template <typename Dispatch> getFenceStatus(VULKAN_HPP_NAMESPACE::Fence fence,Dispatch const & d) const1802 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Device::getFenceStatus( VULKAN_HPP_NAMESPACE::Fence fence, Dispatch const & d ) const 1803 { 1804 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1805 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1806 VULKAN_HPP_ASSERT( d.vkGetFenceStatus && "Function <vkGetFenceStatus> requires <VK_VERSION_1_0>" ); 1807 # endif 1808 1809 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetFenceStatus( m_device, static_cast<VkFence>( fence ) ) ); 1810 VULKAN_HPP_NAMESPACE::detail::resultCheck( 1811 result, VULKAN_HPP_NAMESPACE_STRING "::Device::getFenceStatus", { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eNotReady } ); 1812 1813 return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); 1814 } 1815 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 1816 1817 // wrapper function for command vkWaitForFences, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitForFences.html 1818 template <typename Dispatch> waitForFences(uint32_t fenceCount,const VULKAN_HPP_NAMESPACE::Fence * pFences,VULKAN_HPP_NAMESPACE::Bool32 waitAll,uint64_t timeout,Dispatch const & d) const1819 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::waitForFences( uint32_t fenceCount, 1820 const VULKAN_HPP_NAMESPACE::Fence * pFences, 1821 VULKAN_HPP_NAMESPACE::Bool32 waitAll, 1822 uint64_t timeout, 1823 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1824 { 1825 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1826 return static_cast<Result>( d.vkWaitForFences( 1827 static_cast<VkDevice>( m_device ), fenceCount, reinterpret_cast<const VkFence *>( pFences ), static_cast<VkBool32>( waitAll ), timeout ) ); 1828 } 1829 1830 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 1831 // wrapper function for command vkWaitForFences, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitForFences.html 1832 template <typename Dispatch> 1833 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result waitForFences(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences,VULKAN_HPP_NAMESPACE::Bool32 waitAll,uint64_t timeout,Dispatch const & d) const1834 Device::waitForFences( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences, 1835 VULKAN_HPP_NAMESPACE::Bool32 waitAll, 1836 uint64_t timeout, 1837 Dispatch const & d ) const 1838 { 1839 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1840 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1841 VULKAN_HPP_ASSERT( d.vkWaitForFences && "Function <vkWaitForFences> requires <VK_VERSION_1_0>" ); 1842 # endif 1843 1844 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 1845 d.vkWaitForFences( m_device, fences.size(), reinterpret_cast<const VkFence *>( fences.data() ), static_cast<VkBool32>( waitAll ), timeout ) ); 1846 VULKAN_HPP_NAMESPACE::detail::resultCheck( 1847 result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitForFences", { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eTimeout } ); 1848 1849 return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); 1850 } 1851 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 1852 1853 // wrapper function for command vkCreateSemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSemaphore.html 1854 template <typename Dispatch> createSemaphore(const VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::Semaphore * pSemaphore,Dispatch const & d) const1855 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createSemaphore( const VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo * pCreateInfo, 1856 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 1857 VULKAN_HPP_NAMESPACE::Semaphore * pSemaphore, 1858 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1859 { 1860 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1861 return static_cast<Result>( d.vkCreateSemaphore( static_cast<VkDevice>( m_device ), 1862 reinterpret_cast<const VkSemaphoreCreateInfo *>( pCreateInfo ), 1863 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 1864 reinterpret_cast<VkSemaphore *>( pSemaphore ) ) ); 1865 } 1866 1867 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 1868 // wrapper function for command vkCreateSemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSemaphore.html 1869 template <typename Dispatch> 1870 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Semaphore>::type createSemaphore(const VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const1871 Device::createSemaphore( const VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo & createInfo, 1872 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 1873 Dispatch const & d ) const 1874 { 1875 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1876 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1877 VULKAN_HPP_ASSERT( d.vkCreateSemaphore && "Function <vkCreateSemaphore> requires <VK_VERSION_1_0>" ); 1878 # endif 1879 1880 VULKAN_HPP_NAMESPACE::Semaphore semaphore; 1881 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 1882 d.vkCreateSemaphore( m_device, 1883 reinterpret_cast<const VkSemaphoreCreateInfo *>( &createInfo ), 1884 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 1885 reinterpret_cast<VkSemaphore *>( &semaphore ) ) ); 1886 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSemaphore" ); 1887 1888 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( semaphore ) ); 1889 } 1890 1891 # ifndef VULKAN_HPP_NO_SMART_HANDLE 1892 // wrapper function for command vkCreateSemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSemaphore.html 1893 template <typename Dispatch> 1894 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::Semaphore, Dispatch>>::type createSemaphoreUnique(const VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const1895 Device::createSemaphoreUnique( const VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo & createInfo, 1896 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 1897 Dispatch const & d ) const 1898 { 1899 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1900 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1901 VULKAN_HPP_ASSERT( d.vkCreateSemaphore && "Function <vkCreateSemaphore> requires <VK_VERSION_1_0>" ); 1902 # endif 1903 1904 VULKAN_HPP_NAMESPACE::Semaphore semaphore; 1905 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 1906 d.vkCreateSemaphore( m_device, 1907 reinterpret_cast<const VkSemaphoreCreateInfo *>( &createInfo ), 1908 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 1909 reinterpret_cast<VkSemaphore *>( &semaphore ) ) ); 1910 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSemaphoreUnique" ); 1911 1912 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 1913 result, UniqueHandle<VULKAN_HPP_NAMESPACE::Semaphore, Dispatch>( semaphore, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 1914 } 1915 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 1916 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 1917 1918 // wrapper function for command vkDestroySemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySemaphore.html 1919 template <typename Dispatch> destroySemaphore(VULKAN_HPP_NAMESPACE::Semaphore semaphore,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const1920 VULKAN_HPP_INLINE void Device::destroySemaphore( VULKAN_HPP_NAMESPACE::Semaphore semaphore, 1921 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 1922 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1923 { 1924 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1925 d.vkDestroySemaphore( 1926 static_cast<VkDevice>( m_device ), static_cast<VkSemaphore>( semaphore ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 1927 } 1928 1929 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 1930 // wrapper function for command vkDestroySemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySemaphore.html 1931 template <typename Dispatch> destroySemaphore(VULKAN_HPP_NAMESPACE::Semaphore semaphore,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const1932 VULKAN_HPP_INLINE void Device::destroySemaphore( VULKAN_HPP_NAMESPACE::Semaphore semaphore, 1933 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 1934 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1935 { 1936 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1937 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1938 VULKAN_HPP_ASSERT( d.vkDestroySemaphore && "Function <vkDestroySemaphore> requires <VK_VERSION_1_0>" ); 1939 # endif 1940 1941 d.vkDestroySemaphore( m_device, 1942 static_cast<VkSemaphore>( semaphore ), 1943 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 1944 } 1945 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 1946 1947 // wrapper function for command vkDestroySemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySemaphore.html 1948 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::Semaphore semaphore,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const1949 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Semaphore semaphore, 1950 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 1951 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1952 { 1953 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1954 d.vkDestroySemaphore( 1955 static_cast<VkDevice>( m_device ), static_cast<VkSemaphore>( semaphore ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 1956 } 1957 1958 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 1959 // wrapper function for command vkDestroySemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySemaphore.html 1960 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::Semaphore semaphore,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const1961 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Semaphore semaphore, 1962 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 1963 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1964 { 1965 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1966 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1967 VULKAN_HPP_ASSERT( d.vkDestroySemaphore && "Function <vkDestroySemaphore> requires <VK_VERSION_1_0>" ); 1968 # endif 1969 1970 d.vkDestroySemaphore( m_device, 1971 static_cast<VkSemaphore>( semaphore ), 1972 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 1973 } 1974 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 1975 1976 // wrapper function for command vkCreateEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateEvent.html 1977 template <typename Dispatch> createEvent(const VULKAN_HPP_NAMESPACE::EventCreateInfo * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::Event * pEvent,Dispatch const & d) const1978 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createEvent( const VULKAN_HPP_NAMESPACE::EventCreateInfo * pCreateInfo, 1979 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 1980 VULKAN_HPP_NAMESPACE::Event * pEvent, 1981 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 1982 { 1983 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1984 return static_cast<Result>( d.vkCreateEvent( static_cast<VkDevice>( m_device ), 1985 reinterpret_cast<const VkEventCreateInfo *>( pCreateInfo ), 1986 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 1987 reinterpret_cast<VkEvent *>( pEvent ) ) ); 1988 } 1989 1990 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 1991 // wrapper function for command vkCreateEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateEvent.html 1992 template <typename Dispatch> createEvent(const VULKAN_HPP_NAMESPACE::EventCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const1993 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Event>::type Device::createEvent( 1994 const VULKAN_HPP_NAMESPACE::EventCreateInfo & createInfo, Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, Dispatch const & d ) const 1995 { 1996 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 1997 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 1998 VULKAN_HPP_ASSERT( d.vkCreateEvent && "Function <vkCreateEvent> requires <VK_VERSION_1_0>" ); 1999 # endif 2000 2001 VULKAN_HPP_NAMESPACE::Event event; 2002 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 2003 d.vkCreateEvent( m_device, 2004 reinterpret_cast<const VkEventCreateInfo *>( &createInfo ), 2005 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 2006 reinterpret_cast<VkEvent *>( &event ) ) ); 2007 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createEvent" ); 2008 2009 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( event ) ); 2010 } 2011 2012 # ifndef VULKAN_HPP_NO_SMART_HANDLE 2013 // wrapper function for command vkCreateEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateEvent.html 2014 template <typename Dispatch> createEventUnique(const VULKAN_HPP_NAMESPACE::EventCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2015 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::Event, Dispatch>>::type Device::createEventUnique( 2016 const VULKAN_HPP_NAMESPACE::EventCreateInfo & createInfo, Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, Dispatch const & d ) const 2017 { 2018 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2019 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2020 VULKAN_HPP_ASSERT( d.vkCreateEvent && "Function <vkCreateEvent> requires <VK_VERSION_1_0>" ); 2021 # endif 2022 2023 VULKAN_HPP_NAMESPACE::Event event; 2024 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 2025 d.vkCreateEvent( m_device, 2026 reinterpret_cast<const VkEventCreateInfo *>( &createInfo ), 2027 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 2028 reinterpret_cast<VkEvent *>( &event ) ) ); 2029 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createEventUnique" ); 2030 2031 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 2032 result, UniqueHandle<VULKAN_HPP_NAMESPACE::Event, Dispatch>( event, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 2033 } 2034 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 2035 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 2036 2037 // wrapper function for command vkDestroyEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyEvent.html 2038 template <typename Dispatch> destroyEvent(VULKAN_HPP_NAMESPACE::Event event,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const2039 VULKAN_HPP_INLINE void Device::destroyEvent( VULKAN_HPP_NAMESPACE::Event event, 2040 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 2041 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2042 { 2043 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2044 d.vkDestroyEvent( static_cast<VkDevice>( m_device ), static_cast<VkEvent>( event ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 2045 } 2046 2047 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 2048 // wrapper function for command vkDestroyEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyEvent.html 2049 template <typename Dispatch> destroyEvent(VULKAN_HPP_NAMESPACE::Event event,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2050 VULKAN_HPP_INLINE void Device::destroyEvent( VULKAN_HPP_NAMESPACE::Event event, 2051 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 2052 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2053 { 2054 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2055 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2056 VULKAN_HPP_ASSERT( d.vkDestroyEvent && "Function <vkDestroyEvent> requires <VK_VERSION_1_0>" ); 2057 # endif 2058 2059 d.vkDestroyEvent( m_device, 2060 static_cast<VkEvent>( event ), 2061 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 2062 } 2063 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 2064 2065 // wrapper function for command vkDestroyEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyEvent.html 2066 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::Event event,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const2067 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Event event, 2068 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 2069 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2070 { 2071 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2072 d.vkDestroyEvent( static_cast<VkDevice>( m_device ), static_cast<VkEvent>( event ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 2073 } 2074 2075 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 2076 // wrapper function for command vkDestroyEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyEvent.html 2077 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::Event event,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2078 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Event event, 2079 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 2080 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2081 { 2082 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2083 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2084 VULKAN_HPP_ASSERT( d.vkDestroyEvent && "Function <vkDestroyEvent> requires <VK_VERSION_1_0>" ); 2085 # endif 2086 2087 d.vkDestroyEvent( m_device, 2088 static_cast<VkEvent>( event ), 2089 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 2090 } 2091 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 2092 2093 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 2094 // wrapper function for command vkGetEventStatus, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEventStatus.html 2095 template <typename Dispatch> getEventStatus(VULKAN_HPP_NAMESPACE::Event event,Dispatch const & d) const2096 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getEventStatus( VULKAN_HPP_NAMESPACE::Event event, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2097 { 2098 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2099 return static_cast<Result>( d.vkGetEventStatus( static_cast<VkDevice>( m_device ), static_cast<VkEvent>( event ) ) ); 2100 } 2101 #else 2102 // wrapper function for command vkGetEventStatus, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEventStatus.html 2103 template <typename Dispatch> getEventStatus(VULKAN_HPP_NAMESPACE::Event event,Dispatch const & d) const2104 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Device::getEventStatus( VULKAN_HPP_NAMESPACE::Event event, Dispatch const & d ) const 2105 { 2106 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2107 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2108 VULKAN_HPP_ASSERT( d.vkGetEventStatus && "Function <vkGetEventStatus> requires <VK_VERSION_1_0>" ); 2109 # endif 2110 2111 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetEventStatus( m_device, static_cast<VkEvent>( event ) ) ); 2112 VULKAN_HPP_NAMESPACE::detail::resultCheck( 2113 result, VULKAN_HPP_NAMESPACE_STRING "::Device::getEventStatus", { VULKAN_HPP_NAMESPACE::Result::eEventSet, VULKAN_HPP_NAMESPACE::Result::eEventReset } ); 2114 2115 return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); 2116 } 2117 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 2118 2119 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 2120 // wrapper function for command vkSetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetEvent.html 2121 template <typename Dispatch> setEvent(VULKAN_HPP_NAMESPACE::Event event,Dispatch const & d) const2122 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::setEvent( VULKAN_HPP_NAMESPACE::Event event, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2123 { 2124 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2125 return static_cast<Result>( d.vkSetEvent( static_cast<VkDevice>( m_device ), static_cast<VkEvent>( event ) ) ); 2126 } 2127 #else 2128 // wrapper function for command vkSetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetEvent.html 2129 template <typename Dispatch> setEvent(VULKAN_HPP_NAMESPACE::Event event,Dispatch const & d) const2130 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::setEvent( VULKAN_HPP_NAMESPACE::Event event, 2131 Dispatch const & d ) const 2132 { 2133 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2134 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2135 VULKAN_HPP_ASSERT( d.vkSetEvent && "Function <vkSetEvent> requires <VK_VERSION_1_0>" ); 2136 # endif 2137 2138 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkSetEvent( m_device, static_cast<VkEvent>( event ) ) ); 2139 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setEvent" ); 2140 2141 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 2142 } 2143 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 2144 2145 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 2146 // wrapper function for command vkResetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetEvent.html 2147 template <typename Dispatch> resetEvent(VULKAN_HPP_NAMESPACE::Event event,Dispatch const & d) const2148 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::resetEvent( VULKAN_HPP_NAMESPACE::Event event, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2149 { 2150 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2151 return static_cast<Result>( d.vkResetEvent( static_cast<VkDevice>( m_device ), static_cast<VkEvent>( event ) ) ); 2152 } 2153 #else 2154 // wrapper function for command vkResetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetEvent.html 2155 template <typename Dispatch> resetEvent(VULKAN_HPP_NAMESPACE::Event event,Dispatch const & d) const2156 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::resetEvent( VULKAN_HPP_NAMESPACE::Event event, Dispatch const & d ) const 2157 { 2158 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2159 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2160 VULKAN_HPP_ASSERT( d.vkResetEvent && "Function <vkResetEvent> requires <VK_VERSION_1_0>" ); 2161 # endif 2162 2163 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkResetEvent( m_device, static_cast<VkEvent>( event ) ) ); 2164 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::resetEvent" ); 2165 2166 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 2167 } 2168 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 2169 2170 // wrapper function for command vkCreateQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateQueryPool.html 2171 template <typename Dispatch> createQueryPool(const VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::QueryPool * pQueryPool,Dispatch const & d) const2172 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createQueryPool( const VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo * pCreateInfo, 2173 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 2174 VULKAN_HPP_NAMESPACE::QueryPool * pQueryPool, 2175 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2176 { 2177 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2178 return static_cast<Result>( d.vkCreateQueryPool( static_cast<VkDevice>( m_device ), 2179 reinterpret_cast<const VkQueryPoolCreateInfo *>( pCreateInfo ), 2180 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 2181 reinterpret_cast<VkQueryPool *>( pQueryPool ) ) ); 2182 } 2183 2184 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 2185 // wrapper function for command vkCreateQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateQueryPool.html 2186 template <typename Dispatch> 2187 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::QueryPool>::type createQueryPool(const VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2188 Device::createQueryPool( const VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo & createInfo, 2189 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 2190 Dispatch const & d ) const 2191 { 2192 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2193 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2194 VULKAN_HPP_ASSERT( d.vkCreateQueryPool && "Function <vkCreateQueryPool> requires <VK_VERSION_1_0>" ); 2195 # endif 2196 2197 VULKAN_HPP_NAMESPACE::QueryPool queryPool; 2198 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 2199 d.vkCreateQueryPool( m_device, 2200 reinterpret_cast<const VkQueryPoolCreateInfo *>( &createInfo ), 2201 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 2202 reinterpret_cast<VkQueryPool *>( &queryPool ) ) ); 2203 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createQueryPool" ); 2204 2205 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( queryPool ) ); 2206 } 2207 2208 # ifndef VULKAN_HPP_NO_SMART_HANDLE 2209 // wrapper function for command vkCreateQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateQueryPool.html 2210 template <typename Dispatch> 2211 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::QueryPool, Dispatch>>::type createQueryPoolUnique(const VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2212 Device::createQueryPoolUnique( const VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo & createInfo, 2213 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 2214 Dispatch const & d ) const 2215 { 2216 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2217 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2218 VULKAN_HPP_ASSERT( d.vkCreateQueryPool && "Function <vkCreateQueryPool> requires <VK_VERSION_1_0>" ); 2219 # endif 2220 2221 VULKAN_HPP_NAMESPACE::QueryPool queryPool; 2222 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 2223 d.vkCreateQueryPool( m_device, 2224 reinterpret_cast<const VkQueryPoolCreateInfo *>( &createInfo ), 2225 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 2226 reinterpret_cast<VkQueryPool *>( &queryPool ) ) ); 2227 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createQueryPoolUnique" ); 2228 2229 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 2230 result, UniqueHandle<VULKAN_HPP_NAMESPACE::QueryPool, Dispatch>( queryPool, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 2231 } 2232 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 2233 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 2234 2235 // wrapper function for command vkDestroyQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyQueryPool.html 2236 template <typename Dispatch> destroyQueryPool(VULKAN_HPP_NAMESPACE::QueryPool queryPool,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const2237 VULKAN_HPP_INLINE void Device::destroyQueryPool( VULKAN_HPP_NAMESPACE::QueryPool queryPool, 2238 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 2239 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2240 { 2241 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2242 d.vkDestroyQueryPool( 2243 static_cast<VkDevice>( m_device ), static_cast<VkQueryPool>( queryPool ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 2244 } 2245 2246 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 2247 // wrapper function for command vkDestroyQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyQueryPool.html 2248 template <typename Dispatch> destroyQueryPool(VULKAN_HPP_NAMESPACE::QueryPool queryPool,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2249 VULKAN_HPP_INLINE void Device::destroyQueryPool( VULKAN_HPP_NAMESPACE::QueryPool queryPool, 2250 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 2251 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2252 { 2253 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2254 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2255 VULKAN_HPP_ASSERT( d.vkDestroyQueryPool && "Function <vkDestroyQueryPool> requires <VK_VERSION_1_0>" ); 2256 # endif 2257 2258 d.vkDestroyQueryPool( m_device, 2259 static_cast<VkQueryPool>( queryPool ), 2260 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 2261 } 2262 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 2263 2264 // wrapper function for command vkDestroyQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyQueryPool.html 2265 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::QueryPool queryPool,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const2266 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::QueryPool queryPool, 2267 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 2268 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2269 { 2270 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2271 d.vkDestroyQueryPool( 2272 static_cast<VkDevice>( m_device ), static_cast<VkQueryPool>( queryPool ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 2273 } 2274 2275 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 2276 // wrapper function for command vkDestroyQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyQueryPool.html 2277 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::QueryPool queryPool,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2278 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::QueryPool queryPool, 2279 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 2280 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2281 { 2282 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2283 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2284 VULKAN_HPP_ASSERT( d.vkDestroyQueryPool && "Function <vkDestroyQueryPool> requires <VK_VERSION_1_0>" ); 2285 # endif 2286 2287 d.vkDestroyQueryPool( m_device, 2288 static_cast<VkQueryPool>( queryPool ), 2289 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 2290 } 2291 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 2292 2293 // wrapper function for command vkGetQueryPoolResults, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueryPoolResults.html 2294 template <typename Dispatch> getQueryPoolResults(VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,size_t dataSize,void * pData,VULKAN_HPP_NAMESPACE::DeviceSize stride,VULKAN_HPP_NAMESPACE::QueryResultFlags flags,Dispatch const & d) const2295 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getQueryPoolResults( VULKAN_HPP_NAMESPACE::QueryPool queryPool, 2296 uint32_t firstQuery, 2297 uint32_t queryCount, 2298 size_t dataSize, 2299 void * pData, 2300 VULKAN_HPP_NAMESPACE::DeviceSize stride, 2301 VULKAN_HPP_NAMESPACE::QueryResultFlags flags, 2302 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2303 { 2304 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2305 return static_cast<Result>( d.vkGetQueryPoolResults( static_cast<VkDevice>( m_device ), 2306 static_cast<VkQueryPool>( queryPool ), 2307 firstQuery, 2308 queryCount, 2309 dataSize, 2310 pData, 2311 static_cast<VkDeviceSize>( stride ), 2312 static_cast<VkQueryResultFlags>( flags ) ) ); 2313 } 2314 2315 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 2316 // wrapper function for command vkGetQueryPoolResults, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueryPoolResults.html 2317 template <typename DataType, 2318 typename DataTypeAllocator, 2319 typename Dispatch, 2320 typename std::enable_if<std::is_same<typename DataTypeAllocator::value_type, DataType>::value, int>::type> 2321 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<DataType, DataTypeAllocator>> getQueryPoolResults(VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,size_t dataSize,VULKAN_HPP_NAMESPACE::DeviceSize stride,VULKAN_HPP_NAMESPACE::QueryResultFlags flags,Dispatch const & d) const2322 Device::getQueryPoolResults( VULKAN_HPP_NAMESPACE::QueryPool queryPool, 2323 uint32_t firstQuery, 2324 uint32_t queryCount, 2325 size_t dataSize, 2326 VULKAN_HPP_NAMESPACE::DeviceSize stride, 2327 VULKAN_HPP_NAMESPACE::QueryResultFlags flags, 2328 Dispatch const & d ) const 2329 { 2330 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2331 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2332 VULKAN_HPP_ASSERT( d.vkGetQueryPoolResults && "Function <vkGetQueryPoolResults> requires <VK_VERSION_1_0>" ); 2333 # endif 2334 2335 VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); 2336 std::vector<DataType, DataTypeAllocator> data( dataSize / sizeof( DataType ) ); 2337 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetQueryPoolResults( m_device, 2338 static_cast<VkQueryPool>( queryPool ), 2339 firstQuery, 2340 queryCount, 2341 data.size() * sizeof( DataType ), 2342 reinterpret_cast<void *>( data.data() ), 2343 static_cast<VkDeviceSize>( stride ), 2344 static_cast<VkQueryResultFlags>( flags ) ) ); 2345 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 2346 VULKAN_HPP_NAMESPACE_STRING "::Device::getQueryPoolResults", 2347 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eNotReady } ); 2348 2349 return ResultValue<std::vector<DataType, DataTypeAllocator>>( result, std::move( data ) ); 2350 } 2351 2352 // wrapper function for command vkGetQueryPoolResults, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueryPoolResults.html 2353 template <typename DataType, typename Dispatch> getQueryPoolResult(VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,VULKAN_HPP_NAMESPACE::DeviceSize stride,VULKAN_HPP_NAMESPACE::QueryResultFlags flags,Dispatch const & d) const2354 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<DataType> Device::getQueryPoolResult( VULKAN_HPP_NAMESPACE::QueryPool queryPool, 2355 uint32_t firstQuery, 2356 uint32_t queryCount, 2357 VULKAN_HPP_NAMESPACE::DeviceSize stride, 2358 VULKAN_HPP_NAMESPACE::QueryResultFlags flags, 2359 Dispatch const & d ) const 2360 { 2361 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2362 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2363 VULKAN_HPP_ASSERT( d.vkGetQueryPoolResults && "Function <vkGetQueryPoolResults> requires <VK_VERSION_1_0>" ); 2364 # endif 2365 2366 DataType data; 2367 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetQueryPoolResults( m_device, 2368 static_cast<VkQueryPool>( queryPool ), 2369 firstQuery, 2370 queryCount, 2371 sizeof( DataType ), 2372 reinterpret_cast<void *>( &data ), 2373 static_cast<VkDeviceSize>( stride ), 2374 static_cast<VkQueryResultFlags>( flags ) ) ); 2375 VULKAN_HPP_NAMESPACE::detail::resultCheck( 2376 result, VULKAN_HPP_NAMESPACE_STRING "::Device::getQueryPoolResult", { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eNotReady } ); 2377 2378 return ResultValue<DataType>( result, std::move( data ) ); 2379 } 2380 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 2381 2382 // wrapper function for command vkCreateBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBuffer.html 2383 template <typename Dispatch> createBuffer(const VULKAN_HPP_NAMESPACE::BufferCreateInfo * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::Buffer * pBuffer,Dispatch const & d) const2384 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createBuffer( const VULKAN_HPP_NAMESPACE::BufferCreateInfo * pCreateInfo, 2385 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 2386 VULKAN_HPP_NAMESPACE::Buffer * pBuffer, 2387 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2388 { 2389 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2390 return static_cast<Result>( d.vkCreateBuffer( static_cast<VkDevice>( m_device ), 2391 reinterpret_cast<const VkBufferCreateInfo *>( pCreateInfo ), 2392 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 2393 reinterpret_cast<VkBuffer *>( pBuffer ) ) ); 2394 } 2395 2396 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 2397 // wrapper function for command vkCreateBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBuffer.html 2398 template <typename Dispatch> createBuffer(const VULKAN_HPP_NAMESPACE::BufferCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2399 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Buffer>::type Device::createBuffer( 2400 const VULKAN_HPP_NAMESPACE::BufferCreateInfo & createInfo, Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, Dispatch const & d ) const 2401 { 2402 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2403 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2404 VULKAN_HPP_ASSERT( d.vkCreateBuffer && "Function <vkCreateBuffer> requires <VK_VERSION_1_0>" ); 2405 # endif 2406 2407 VULKAN_HPP_NAMESPACE::Buffer buffer; 2408 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 2409 d.vkCreateBuffer( m_device, 2410 reinterpret_cast<const VkBufferCreateInfo *>( &createInfo ), 2411 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 2412 reinterpret_cast<VkBuffer *>( &buffer ) ) ); 2413 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createBuffer" ); 2414 2415 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( buffer ) ); 2416 } 2417 2418 # ifndef VULKAN_HPP_NO_SMART_HANDLE 2419 // wrapper function for command vkCreateBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBuffer.html 2420 template <typename Dispatch> createBufferUnique(const VULKAN_HPP_NAMESPACE::BufferCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2421 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::Buffer, Dispatch>>::type Device::createBufferUnique( 2422 const VULKAN_HPP_NAMESPACE::BufferCreateInfo & createInfo, Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, Dispatch const & d ) const 2423 { 2424 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2425 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2426 VULKAN_HPP_ASSERT( d.vkCreateBuffer && "Function <vkCreateBuffer> requires <VK_VERSION_1_0>" ); 2427 # endif 2428 2429 VULKAN_HPP_NAMESPACE::Buffer buffer; 2430 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 2431 d.vkCreateBuffer( m_device, 2432 reinterpret_cast<const VkBufferCreateInfo *>( &createInfo ), 2433 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 2434 reinterpret_cast<VkBuffer *>( &buffer ) ) ); 2435 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createBufferUnique" ); 2436 2437 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 2438 result, UniqueHandle<VULKAN_HPP_NAMESPACE::Buffer, Dispatch>( buffer, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 2439 } 2440 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 2441 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 2442 2443 // wrapper function for command vkDestroyBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBuffer.html 2444 template <typename Dispatch> destroyBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const2445 VULKAN_HPP_INLINE void Device::destroyBuffer( VULKAN_HPP_NAMESPACE::Buffer buffer, 2446 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 2447 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2448 { 2449 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2450 d.vkDestroyBuffer( static_cast<VkDevice>( m_device ), static_cast<VkBuffer>( buffer ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 2451 } 2452 2453 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 2454 // wrapper function for command vkDestroyBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBuffer.html 2455 template <typename Dispatch> destroyBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2456 VULKAN_HPP_INLINE void Device::destroyBuffer( VULKAN_HPP_NAMESPACE::Buffer buffer, 2457 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 2458 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2459 { 2460 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2461 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2462 VULKAN_HPP_ASSERT( d.vkDestroyBuffer && "Function <vkDestroyBuffer> requires <VK_VERSION_1_0>" ); 2463 # endif 2464 2465 d.vkDestroyBuffer( m_device, 2466 static_cast<VkBuffer>( buffer ), 2467 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 2468 } 2469 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 2470 2471 // wrapper function for command vkDestroyBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBuffer.html 2472 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::Buffer buffer,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const2473 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Buffer buffer, 2474 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 2475 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2476 { 2477 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2478 d.vkDestroyBuffer( static_cast<VkDevice>( m_device ), static_cast<VkBuffer>( buffer ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 2479 } 2480 2481 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 2482 // wrapper function for command vkDestroyBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBuffer.html 2483 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::Buffer buffer,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2484 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Buffer buffer, 2485 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 2486 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2487 { 2488 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2489 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2490 VULKAN_HPP_ASSERT( d.vkDestroyBuffer && "Function <vkDestroyBuffer> requires <VK_VERSION_1_0>" ); 2491 # endif 2492 2493 d.vkDestroyBuffer( m_device, 2494 static_cast<VkBuffer>( buffer ), 2495 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 2496 } 2497 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 2498 2499 // wrapper function for command vkCreateBufferView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBufferView.html 2500 template <typename Dispatch> createBufferView(const VULKAN_HPP_NAMESPACE::BufferViewCreateInfo * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::BufferView * pView,Dispatch const & d) const2501 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createBufferView( const VULKAN_HPP_NAMESPACE::BufferViewCreateInfo * pCreateInfo, 2502 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 2503 VULKAN_HPP_NAMESPACE::BufferView * pView, 2504 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2505 { 2506 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2507 return static_cast<Result>( d.vkCreateBufferView( static_cast<VkDevice>( m_device ), 2508 reinterpret_cast<const VkBufferViewCreateInfo *>( pCreateInfo ), 2509 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 2510 reinterpret_cast<VkBufferView *>( pView ) ) ); 2511 } 2512 2513 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 2514 // wrapper function for command vkCreateBufferView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBufferView.html 2515 template <typename Dispatch> 2516 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::BufferView>::type createBufferView(const VULKAN_HPP_NAMESPACE::BufferViewCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2517 Device::createBufferView( const VULKAN_HPP_NAMESPACE::BufferViewCreateInfo & createInfo, 2518 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 2519 Dispatch const & d ) const 2520 { 2521 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2522 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2523 VULKAN_HPP_ASSERT( d.vkCreateBufferView && "Function <vkCreateBufferView> requires <VK_VERSION_1_0>" ); 2524 # endif 2525 2526 VULKAN_HPP_NAMESPACE::BufferView view; 2527 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 2528 d.vkCreateBufferView( m_device, 2529 reinterpret_cast<const VkBufferViewCreateInfo *>( &createInfo ), 2530 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 2531 reinterpret_cast<VkBufferView *>( &view ) ) ); 2532 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createBufferView" ); 2533 2534 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( view ) ); 2535 } 2536 2537 # ifndef VULKAN_HPP_NO_SMART_HANDLE 2538 // wrapper function for command vkCreateBufferView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBufferView.html 2539 template <typename Dispatch> 2540 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::BufferView, Dispatch>>::type createBufferViewUnique(const VULKAN_HPP_NAMESPACE::BufferViewCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2541 Device::createBufferViewUnique( const VULKAN_HPP_NAMESPACE::BufferViewCreateInfo & createInfo, 2542 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 2543 Dispatch const & d ) const 2544 { 2545 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2546 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2547 VULKAN_HPP_ASSERT( d.vkCreateBufferView && "Function <vkCreateBufferView> requires <VK_VERSION_1_0>" ); 2548 # endif 2549 2550 VULKAN_HPP_NAMESPACE::BufferView view; 2551 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 2552 d.vkCreateBufferView( m_device, 2553 reinterpret_cast<const VkBufferViewCreateInfo *>( &createInfo ), 2554 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 2555 reinterpret_cast<VkBufferView *>( &view ) ) ); 2556 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createBufferViewUnique" ); 2557 2558 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 2559 result, UniqueHandle<VULKAN_HPP_NAMESPACE::BufferView, Dispatch>( view, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 2560 } 2561 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 2562 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 2563 2564 // wrapper function for command vkDestroyBufferView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBufferView.html 2565 template <typename Dispatch> destroyBufferView(VULKAN_HPP_NAMESPACE::BufferView bufferView,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const2566 VULKAN_HPP_INLINE void Device::destroyBufferView( VULKAN_HPP_NAMESPACE::BufferView bufferView, 2567 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 2568 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2569 { 2570 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2571 d.vkDestroyBufferView( 2572 static_cast<VkDevice>( m_device ), static_cast<VkBufferView>( bufferView ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 2573 } 2574 2575 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 2576 // wrapper function for command vkDestroyBufferView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBufferView.html 2577 template <typename Dispatch> destroyBufferView(VULKAN_HPP_NAMESPACE::BufferView bufferView,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2578 VULKAN_HPP_INLINE void Device::destroyBufferView( VULKAN_HPP_NAMESPACE::BufferView bufferView, 2579 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 2580 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2581 { 2582 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2583 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2584 VULKAN_HPP_ASSERT( d.vkDestroyBufferView && "Function <vkDestroyBufferView> requires <VK_VERSION_1_0>" ); 2585 # endif 2586 2587 d.vkDestroyBufferView( m_device, 2588 static_cast<VkBufferView>( bufferView ), 2589 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 2590 } 2591 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 2592 2593 // wrapper function for command vkDestroyBufferView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBufferView.html 2594 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::BufferView bufferView,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const2595 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::BufferView bufferView, 2596 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 2597 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2598 { 2599 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2600 d.vkDestroyBufferView( 2601 static_cast<VkDevice>( m_device ), static_cast<VkBufferView>( bufferView ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 2602 } 2603 2604 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 2605 // wrapper function for command vkDestroyBufferView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBufferView.html 2606 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::BufferView bufferView,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2607 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::BufferView bufferView, 2608 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 2609 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2610 { 2611 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2612 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2613 VULKAN_HPP_ASSERT( d.vkDestroyBufferView && "Function <vkDestroyBufferView> requires <VK_VERSION_1_0>" ); 2614 # endif 2615 2616 d.vkDestroyBufferView( m_device, 2617 static_cast<VkBufferView>( bufferView ), 2618 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 2619 } 2620 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 2621 2622 // wrapper function for command vkCreateImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImage.html 2623 template <typename Dispatch> createImage(const VULKAN_HPP_NAMESPACE::ImageCreateInfo * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::Image * pImage,Dispatch const & d) const2624 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createImage( const VULKAN_HPP_NAMESPACE::ImageCreateInfo * pCreateInfo, 2625 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 2626 VULKAN_HPP_NAMESPACE::Image * pImage, 2627 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2628 { 2629 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2630 return static_cast<Result>( d.vkCreateImage( static_cast<VkDevice>( m_device ), 2631 reinterpret_cast<const VkImageCreateInfo *>( pCreateInfo ), 2632 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 2633 reinterpret_cast<VkImage *>( pImage ) ) ); 2634 } 2635 2636 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 2637 // wrapper function for command vkCreateImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImage.html 2638 template <typename Dispatch> createImage(const VULKAN_HPP_NAMESPACE::ImageCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2639 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Image>::type Device::createImage( 2640 const VULKAN_HPP_NAMESPACE::ImageCreateInfo & createInfo, Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, Dispatch const & d ) const 2641 { 2642 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2643 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2644 VULKAN_HPP_ASSERT( d.vkCreateImage && "Function <vkCreateImage> requires <VK_VERSION_1_0>" ); 2645 # endif 2646 2647 VULKAN_HPP_NAMESPACE::Image image; 2648 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 2649 d.vkCreateImage( m_device, 2650 reinterpret_cast<const VkImageCreateInfo *>( &createInfo ), 2651 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 2652 reinterpret_cast<VkImage *>( &image ) ) ); 2653 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createImage" ); 2654 2655 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( image ) ); 2656 } 2657 2658 # ifndef VULKAN_HPP_NO_SMART_HANDLE 2659 // wrapper function for command vkCreateImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImage.html 2660 template <typename Dispatch> createImageUnique(const VULKAN_HPP_NAMESPACE::ImageCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2661 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::Image, Dispatch>>::type Device::createImageUnique( 2662 const VULKAN_HPP_NAMESPACE::ImageCreateInfo & createInfo, Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, Dispatch const & d ) const 2663 { 2664 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2665 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2666 VULKAN_HPP_ASSERT( d.vkCreateImage && "Function <vkCreateImage> requires <VK_VERSION_1_0>" ); 2667 # endif 2668 2669 VULKAN_HPP_NAMESPACE::Image image; 2670 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 2671 d.vkCreateImage( m_device, 2672 reinterpret_cast<const VkImageCreateInfo *>( &createInfo ), 2673 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 2674 reinterpret_cast<VkImage *>( &image ) ) ); 2675 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createImageUnique" ); 2676 2677 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 2678 result, UniqueHandle<VULKAN_HPP_NAMESPACE::Image, Dispatch>( image, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 2679 } 2680 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 2681 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 2682 2683 // wrapper function for command vkDestroyImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyImage.html 2684 template <typename Dispatch> destroyImage(VULKAN_HPP_NAMESPACE::Image image,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const2685 VULKAN_HPP_INLINE void Device::destroyImage( VULKAN_HPP_NAMESPACE::Image image, 2686 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 2687 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2688 { 2689 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2690 d.vkDestroyImage( static_cast<VkDevice>( m_device ), static_cast<VkImage>( image ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 2691 } 2692 2693 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 2694 // wrapper function for command vkDestroyImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyImage.html 2695 template <typename Dispatch> destroyImage(VULKAN_HPP_NAMESPACE::Image image,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2696 VULKAN_HPP_INLINE void Device::destroyImage( VULKAN_HPP_NAMESPACE::Image image, 2697 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 2698 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2699 { 2700 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2701 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2702 VULKAN_HPP_ASSERT( d.vkDestroyImage && "Function <vkDestroyImage> requires <VK_VERSION_1_0>" ); 2703 # endif 2704 2705 d.vkDestroyImage( m_device, 2706 static_cast<VkImage>( image ), 2707 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 2708 } 2709 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 2710 2711 // wrapper function for command vkDestroyImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyImage.html 2712 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::Image image,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const2713 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Image image, 2714 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 2715 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2716 { 2717 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2718 d.vkDestroyImage( static_cast<VkDevice>( m_device ), static_cast<VkImage>( image ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 2719 } 2720 2721 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 2722 // wrapper function for command vkDestroyImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyImage.html 2723 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::Image image,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2724 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Image image, 2725 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 2726 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2727 { 2728 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2729 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2730 VULKAN_HPP_ASSERT( d.vkDestroyImage && "Function <vkDestroyImage> requires <VK_VERSION_1_0>" ); 2731 # endif 2732 2733 d.vkDestroyImage( m_device, 2734 static_cast<VkImage>( image ), 2735 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 2736 } 2737 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 2738 2739 // wrapper function for command vkGetImageSubresourceLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout.html 2740 template <typename Dispatch> getImageSubresourceLayout(VULKAN_HPP_NAMESPACE::Image image,const VULKAN_HPP_NAMESPACE::ImageSubresource * pSubresource,VULKAN_HPP_NAMESPACE::SubresourceLayout * pLayout,Dispatch const & d) const2741 VULKAN_HPP_INLINE void Device::getImageSubresourceLayout( VULKAN_HPP_NAMESPACE::Image image, 2742 const VULKAN_HPP_NAMESPACE::ImageSubresource * pSubresource, 2743 VULKAN_HPP_NAMESPACE::SubresourceLayout * pLayout, 2744 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2745 { 2746 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2747 d.vkGetImageSubresourceLayout( static_cast<VkDevice>( m_device ), 2748 static_cast<VkImage>( image ), 2749 reinterpret_cast<const VkImageSubresource *>( pSubresource ), 2750 reinterpret_cast<VkSubresourceLayout *>( pLayout ) ); 2751 } 2752 2753 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 2754 // wrapper function for command vkGetImageSubresourceLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout.html 2755 template <typename Dispatch> getImageSubresourceLayout(VULKAN_HPP_NAMESPACE::Image image,const VULKAN_HPP_NAMESPACE::ImageSubresource & subresource,Dispatch const & d) const2756 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::SubresourceLayout Device::getImageSubresourceLayout( 2757 VULKAN_HPP_NAMESPACE::Image image, const VULKAN_HPP_NAMESPACE::ImageSubresource & subresource, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2758 { 2759 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2760 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2761 VULKAN_HPP_ASSERT( d.vkGetImageSubresourceLayout && "Function <vkGetImageSubresourceLayout> requires <VK_VERSION_1_0>" ); 2762 # endif 2763 2764 VULKAN_HPP_NAMESPACE::SubresourceLayout layout; 2765 d.vkGetImageSubresourceLayout( m_device, 2766 static_cast<VkImage>( image ), 2767 reinterpret_cast<const VkImageSubresource *>( &subresource ), 2768 reinterpret_cast<VkSubresourceLayout *>( &layout ) ); 2769 2770 return layout; 2771 } 2772 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 2773 2774 // wrapper function for command vkCreateImageView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImageView.html 2775 template <typename Dispatch> createImageView(const VULKAN_HPP_NAMESPACE::ImageViewCreateInfo * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::ImageView * pView,Dispatch const & d) const2776 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createImageView( const VULKAN_HPP_NAMESPACE::ImageViewCreateInfo * pCreateInfo, 2777 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 2778 VULKAN_HPP_NAMESPACE::ImageView * pView, 2779 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2780 { 2781 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2782 return static_cast<Result>( d.vkCreateImageView( static_cast<VkDevice>( m_device ), 2783 reinterpret_cast<const VkImageViewCreateInfo *>( pCreateInfo ), 2784 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 2785 reinterpret_cast<VkImageView *>( pView ) ) ); 2786 } 2787 2788 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 2789 // wrapper function for command vkCreateImageView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImageView.html 2790 template <typename Dispatch> 2791 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageView>::type createImageView(const VULKAN_HPP_NAMESPACE::ImageViewCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2792 Device::createImageView( const VULKAN_HPP_NAMESPACE::ImageViewCreateInfo & createInfo, 2793 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 2794 Dispatch const & d ) const 2795 { 2796 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2797 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2798 VULKAN_HPP_ASSERT( d.vkCreateImageView && "Function <vkCreateImageView> requires <VK_VERSION_1_0>" ); 2799 # endif 2800 2801 VULKAN_HPP_NAMESPACE::ImageView view; 2802 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 2803 d.vkCreateImageView( m_device, 2804 reinterpret_cast<const VkImageViewCreateInfo *>( &createInfo ), 2805 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 2806 reinterpret_cast<VkImageView *>( &view ) ) ); 2807 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createImageView" ); 2808 2809 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( view ) ); 2810 } 2811 2812 # ifndef VULKAN_HPP_NO_SMART_HANDLE 2813 // wrapper function for command vkCreateImageView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImageView.html 2814 template <typename Dispatch> 2815 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::ImageView, Dispatch>>::type createImageViewUnique(const VULKAN_HPP_NAMESPACE::ImageViewCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2816 Device::createImageViewUnique( const VULKAN_HPP_NAMESPACE::ImageViewCreateInfo & createInfo, 2817 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 2818 Dispatch const & d ) const 2819 { 2820 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2821 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2822 VULKAN_HPP_ASSERT( d.vkCreateImageView && "Function <vkCreateImageView> requires <VK_VERSION_1_0>" ); 2823 # endif 2824 2825 VULKAN_HPP_NAMESPACE::ImageView view; 2826 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 2827 d.vkCreateImageView( m_device, 2828 reinterpret_cast<const VkImageViewCreateInfo *>( &createInfo ), 2829 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 2830 reinterpret_cast<VkImageView *>( &view ) ) ); 2831 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createImageViewUnique" ); 2832 2833 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 2834 result, UniqueHandle<VULKAN_HPP_NAMESPACE::ImageView, Dispatch>( view, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 2835 } 2836 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 2837 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 2838 2839 // wrapper function for command vkDestroyImageView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyImageView.html 2840 template <typename Dispatch> destroyImageView(VULKAN_HPP_NAMESPACE::ImageView imageView,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const2841 VULKAN_HPP_INLINE void Device::destroyImageView( VULKAN_HPP_NAMESPACE::ImageView imageView, 2842 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 2843 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2844 { 2845 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2846 d.vkDestroyImageView( 2847 static_cast<VkDevice>( m_device ), static_cast<VkImageView>( imageView ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 2848 } 2849 2850 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 2851 // wrapper function for command vkDestroyImageView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyImageView.html 2852 template <typename Dispatch> destroyImageView(VULKAN_HPP_NAMESPACE::ImageView imageView,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2853 VULKAN_HPP_INLINE void Device::destroyImageView( VULKAN_HPP_NAMESPACE::ImageView imageView, 2854 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 2855 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2856 { 2857 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2858 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2859 VULKAN_HPP_ASSERT( d.vkDestroyImageView && "Function <vkDestroyImageView> requires <VK_VERSION_1_0>" ); 2860 # endif 2861 2862 d.vkDestroyImageView( m_device, 2863 static_cast<VkImageView>( imageView ), 2864 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 2865 } 2866 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 2867 2868 // wrapper function for command vkDestroyImageView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyImageView.html 2869 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::ImageView imageView,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const2870 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::ImageView imageView, 2871 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 2872 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2873 { 2874 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2875 d.vkDestroyImageView( 2876 static_cast<VkDevice>( m_device ), static_cast<VkImageView>( imageView ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 2877 } 2878 2879 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 2880 // wrapper function for command vkDestroyImageView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyImageView.html 2881 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::ImageView imageView,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2882 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::ImageView imageView, 2883 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 2884 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2885 { 2886 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2887 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2888 VULKAN_HPP_ASSERT( d.vkDestroyImageView && "Function <vkDestroyImageView> requires <VK_VERSION_1_0>" ); 2889 # endif 2890 2891 d.vkDestroyImageView( m_device, 2892 static_cast<VkImageView>( imageView ), 2893 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 2894 } 2895 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 2896 2897 // wrapper function for command vkCreateShaderModule, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShaderModule.html 2898 template <typename Dispatch> createShaderModule(const VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::ShaderModule * pShaderModule,Dispatch const & d) const2899 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createShaderModule( const VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo * pCreateInfo, 2900 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 2901 VULKAN_HPP_NAMESPACE::ShaderModule * pShaderModule, 2902 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2903 { 2904 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2905 return static_cast<Result>( d.vkCreateShaderModule( static_cast<VkDevice>( m_device ), 2906 reinterpret_cast<const VkShaderModuleCreateInfo *>( pCreateInfo ), 2907 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 2908 reinterpret_cast<VkShaderModule *>( pShaderModule ) ) ); 2909 } 2910 2911 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 2912 // wrapper function for command vkCreateShaderModule, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShaderModule.html 2913 template <typename Dispatch> 2914 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::ShaderModule>::type createShaderModule(const VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2915 Device::createShaderModule( const VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo & createInfo, 2916 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 2917 Dispatch const & d ) const 2918 { 2919 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2920 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2921 VULKAN_HPP_ASSERT( d.vkCreateShaderModule && "Function <vkCreateShaderModule> requires <VK_VERSION_1_0>" ); 2922 # endif 2923 2924 VULKAN_HPP_NAMESPACE::ShaderModule shaderModule; 2925 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 2926 d.vkCreateShaderModule( m_device, 2927 reinterpret_cast<const VkShaderModuleCreateInfo *>( &createInfo ), 2928 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 2929 reinterpret_cast<VkShaderModule *>( &shaderModule ) ) ); 2930 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createShaderModule" ); 2931 2932 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( shaderModule ) ); 2933 } 2934 2935 # ifndef VULKAN_HPP_NO_SMART_HANDLE 2936 // wrapper function for command vkCreateShaderModule, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShaderModule.html 2937 template <typename Dispatch> 2938 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::ShaderModule, Dispatch>>::type createShaderModuleUnique(const VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2939 Device::createShaderModuleUnique( const VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo & createInfo, 2940 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 2941 Dispatch const & d ) const 2942 { 2943 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2944 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2945 VULKAN_HPP_ASSERT( d.vkCreateShaderModule && "Function <vkCreateShaderModule> requires <VK_VERSION_1_0>" ); 2946 # endif 2947 2948 VULKAN_HPP_NAMESPACE::ShaderModule shaderModule; 2949 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 2950 d.vkCreateShaderModule( m_device, 2951 reinterpret_cast<const VkShaderModuleCreateInfo *>( &createInfo ), 2952 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 2953 reinterpret_cast<VkShaderModule *>( &shaderModule ) ) ); 2954 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createShaderModuleUnique" ); 2955 2956 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 2957 result, UniqueHandle<VULKAN_HPP_NAMESPACE::ShaderModule, Dispatch>( shaderModule, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 2958 } 2959 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 2960 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 2961 2962 // wrapper function for command vkDestroyShaderModule, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderModule.html 2963 template <typename Dispatch> destroyShaderModule(VULKAN_HPP_NAMESPACE::ShaderModule shaderModule,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const2964 VULKAN_HPP_INLINE void Device::destroyShaderModule( VULKAN_HPP_NAMESPACE::ShaderModule shaderModule, 2965 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 2966 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2967 { 2968 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2969 d.vkDestroyShaderModule( 2970 static_cast<VkDevice>( m_device ), static_cast<VkShaderModule>( shaderModule ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 2971 } 2972 2973 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 2974 // wrapper function for command vkDestroyShaderModule, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderModule.html 2975 template <typename Dispatch> destroyShaderModule(VULKAN_HPP_NAMESPACE::ShaderModule shaderModule,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const2976 VULKAN_HPP_INLINE void Device::destroyShaderModule( VULKAN_HPP_NAMESPACE::ShaderModule shaderModule, 2977 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 2978 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2979 { 2980 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2981 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 2982 VULKAN_HPP_ASSERT( d.vkDestroyShaderModule && "Function <vkDestroyShaderModule> requires <VK_VERSION_1_0>" ); 2983 # endif 2984 2985 d.vkDestroyShaderModule( m_device, 2986 static_cast<VkShaderModule>( shaderModule ), 2987 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 2988 } 2989 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 2990 2991 // wrapper function for command vkDestroyShaderModule, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderModule.html 2992 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::ShaderModule shaderModule,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const2993 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::ShaderModule shaderModule, 2994 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 2995 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 2996 { 2997 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 2998 d.vkDestroyShaderModule( 2999 static_cast<VkDevice>( m_device ), static_cast<VkShaderModule>( shaderModule ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 3000 } 3001 3002 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 3003 // wrapper function for command vkDestroyShaderModule, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderModule.html 3004 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::ShaderModule shaderModule,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const3005 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::ShaderModule shaderModule, 3006 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 3007 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 3008 { 3009 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3010 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3011 VULKAN_HPP_ASSERT( d.vkDestroyShaderModule && "Function <vkDestroyShaderModule> requires <VK_VERSION_1_0>" ); 3012 # endif 3013 3014 d.vkDestroyShaderModule( m_device, 3015 static_cast<VkShaderModule>( shaderModule ), 3016 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 3017 } 3018 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 3019 3020 // wrapper function for command vkCreatePipelineCache, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineCache.html 3021 template <typename Dispatch> createPipelineCache(const VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::PipelineCache * pPipelineCache,Dispatch const & d) const3022 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createPipelineCache( const VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo * pCreateInfo, 3023 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 3024 VULKAN_HPP_NAMESPACE::PipelineCache * pPipelineCache, 3025 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 3026 { 3027 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3028 return static_cast<Result>( d.vkCreatePipelineCache( static_cast<VkDevice>( m_device ), 3029 reinterpret_cast<const VkPipelineCacheCreateInfo *>( pCreateInfo ), 3030 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 3031 reinterpret_cast<VkPipelineCache *>( pPipelineCache ) ) ); 3032 } 3033 3034 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 3035 // wrapper function for command vkCreatePipelineCache, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineCache.html 3036 template <typename Dispatch> 3037 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::PipelineCache>::type createPipelineCache(const VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const3038 Device::createPipelineCache( const VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo & createInfo, 3039 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 3040 Dispatch const & d ) const 3041 { 3042 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3043 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3044 VULKAN_HPP_ASSERT( d.vkCreatePipelineCache && "Function <vkCreatePipelineCache> requires <VK_VERSION_1_0>" ); 3045 # endif 3046 3047 VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache; 3048 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 3049 d.vkCreatePipelineCache( m_device, 3050 reinterpret_cast<const VkPipelineCacheCreateInfo *>( &createInfo ), 3051 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 3052 reinterpret_cast<VkPipelineCache *>( &pipelineCache ) ) ); 3053 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineCache" ); 3054 3055 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pipelineCache ) ); 3056 } 3057 3058 # ifndef VULKAN_HPP_NO_SMART_HANDLE 3059 // wrapper function for command vkCreatePipelineCache, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineCache.html 3060 template <typename Dispatch> 3061 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::PipelineCache, Dispatch>>::type createPipelineCacheUnique(const VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const3062 Device::createPipelineCacheUnique( const VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo & createInfo, 3063 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 3064 Dispatch const & d ) const 3065 { 3066 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3067 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3068 VULKAN_HPP_ASSERT( d.vkCreatePipelineCache && "Function <vkCreatePipelineCache> requires <VK_VERSION_1_0>" ); 3069 # endif 3070 3071 VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache; 3072 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 3073 d.vkCreatePipelineCache( m_device, 3074 reinterpret_cast<const VkPipelineCacheCreateInfo *>( &createInfo ), 3075 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 3076 reinterpret_cast<VkPipelineCache *>( &pipelineCache ) ) ); 3077 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineCacheUnique" ); 3078 3079 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 3080 result, UniqueHandle<VULKAN_HPP_NAMESPACE::PipelineCache, Dispatch>( pipelineCache, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 3081 } 3082 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 3083 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 3084 3085 // wrapper function for command vkDestroyPipelineCache, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineCache.html 3086 template <typename Dispatch> destroyPipelineCache(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const3087 VULKAN_HPP_INLINE void Device::destroyPipelineCache( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 3088 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 3089 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 3090 { 3091 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3092 d.vkDestroyPipelineCache( 3093 static_cast<VkDevice>( m_device ), static_cast<VkPipelineCache>( pipelineCache ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 3094 } 3095 3096 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 3097 // wrapper function for command vkDestroyPipelineCache, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineCache.html 3098 template <typename Dispatch> destroyPipelineCache(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const3099 VULKAN_HPP_INLINE void Device::destroyPipelineCache( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 3100 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 3101 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 3102 { 3103 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3104 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3105 VULKAN_HPP_ASSERT( d.vkDestroyPipelineCache && "Function <vkDestroyPipelineCache> requires <VK_VERSION_1_0>" ); 3106 # endif 3107 3108 d.vkDestroyPipelineCache( m_device, 3109 static_cast<VkPipelineCache>( pipelineCache ), 3110 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 3111 } 3112 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 3113 3114 // wrapper function for command vkDestroyPipelineCache, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineCache.html 3115 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const3116 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 3117 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 3118 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 3119 { 3120 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3121 d.vkDestroyPipelineCache( 3122 static_cast<VkDevice>( m_device ), static_cast<VkPipelineCache>( pipelineCache ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 3123 } 3124 3125 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 3126 // wrapper function for command vkDestroyPipelineCache, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineCache.html 3127 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const3128 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 3129 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 3130 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 3131 { 3132 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3133 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3134 VULKAN_HPP_ASSERT( d.vkDestroyPipelineCache && "Function <vkDestroyPipelineCache> requires <VK_VERSION_1_0>" ); 3135 # endif 3136 3137 d.vkDestroyPipelineCache( m_device, 3138 static_cast<VkPipelineCache>( pipelineCache ), 3139 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 3140 } 3141 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 3142 3143 // wrapper function for command vkGetPipelineCacheData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineCacheData.html 3144 template <typename Dispatch> getPipelineCacheData(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,size_t * pDataSize,void * pData,Dispatch const & d) const3145 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getPipelineCacheData( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 3146 size_t * pDataSize, 3147 void * pData, 3148 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 3149 { 3150 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3151 return static_cast<Result>( 3152 d.vkGetPipelineCacheData( static_cast<VkDevice>( m_device ), static_cast<VkPipelineCache>( pipelineCache ), pDataSize, pData ) ); 3153 } 3154 3155 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 3156 // wrapper function for command vkGetPipelineCacheData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineCacheData.html 3157 template <typename Uint8_tAllocator, 3158 typename Dispatch, 3159 typename std::enable_if<std::is_same<typename Uint8_tAllocator::value_type, uint8_t>::value, int>::type> 3160 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type getPipelineCacheData(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,Dispatch const & d) const3161 Device::getPipelineCacheData( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, Dispatch const & d ) const 3162 { 3163 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3164 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3165 VULKAN_HPP_ASSERT( d.vkGetPipelineCacheData && "Function <vkGetPipelineCacheData> requires <VK_VERSION_1_0>" ); 3166 # endif 3167 3168 std::vector<uint8_t, Uint8_tAllocator> data; 3169 size_t dataSize; 3170 VULKAN_HPP_NAMESPACE::Result result; 3171 do 3172 { 3173 result = 3174 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPipelineCacheData( m_device, static_cast<VkPipelineCache>( pipelineCache ), &dataSize, nullptr ) ); 3175 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && dataSize ) 3176 { 3177 data.resize( dataSize ); 3178 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 3179 d.vkGetPipelineCacheData( m_device, static_cast<VkPipelineCache>( pipelineCache ), &dataSize, reinterpret_cast<void *>( data.data() ) ) ); 3180 } 3181 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 3182 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineCacheData" ); 3183 VULKAN_HPP_ASSERT( dataSize <= data.size() ); 3184 if ( dataSize < data.size() ) 3185 { 3186 data.resize( dataSize ); 3187 } 3188 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); 3189 } 3190 3191 // wrapper function for command vkGetPipelineCacheData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineCacheData.html 3192 template <typename Uint8_tAllocator, 3193 typename Dispatch, 3194 typename std::enable_if<std::is_same<typename Uint8_tAllocator::value_type, uint8_t>::value, int>::type> 3195 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type getPipelineCacheData(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,Uint8_tAllocator & uint8_tAllocator,Dispatch const & d) const3196 Device::getPipelineCacheData( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, Uint8_tAllocator & uint8_tAllocator, Dispatch const & d ) const 3197 { 3198 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3199 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3200 VULKAN_HPP_ASSERT( d.vkGetPipelineCacheData && "Function <vkGetPipelineCacheData> requires <VK_VERSION_1_0>" ); 3201 # endif 3202 3203 std::vector<uint8_t, Uint8_tAllocator> data( uint8_tAllocator ); 3204 size_t dataSize; 3205 VULKAN_HPP_NAMESPACE::Result result; 3206 do 3207 { 3208 result = 3209 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPipelineCacheData( m_device, static_cast<VkPipelineCache>( pipelineCache ), &dataSize, nullptr ) ); 3210 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && dataSize ) 3211 { 3212 data.resize( dataSize ); 3213 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 3214 d.vkGetPipelineCacheData( m_device, static_cast<VkPipelineCache>( pipelineCache ), &dataSize, reinterpret_cast<void *>( data.data() ) ) ); 3215 } 3216 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 3217 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineCacheData" ); 3218 VULKAN_HPP_ASSERT( dataSize <= data.size() ); 3219 if ( dataSize < data.size() ) 3220 { 3221 data.resize( dataSize ); 3222 } 3223 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); 3224 } 3225 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 3226 3227 // wrapper function for command vkMergePipelineCaches, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMergePipelineCaches.html 3228 template <typename Dispatch> mergePipelineCaches(VULKAN_HPP_NAMESPACE::PipelineCache dstCache,uint32_t srcCacheCount,const VULKAN_HPP_NAMESPACE::PipelineCache * pSrcCaches,Dispatch const & d) const3229 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::mergePipelineCaches( VULKAN_HPP_NAMESPACE::PipelineCache dstCache, 3230 uint32_t srcCacheCount, 3231 const VULKAN_HPP_NAMESPACE::PipelineCache * pSrcCaches, 3232 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 3233 { 3234 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3235 return static_cast<Result>( d.vkMergePipelineCaches( 3236 static_cast<VkDevice>( m_device ), static_cast<VkPipelineCache>( dstCache ), srcCacheCount, reinterpret_cast<const VkPipelineCache *>( pSrcCaches ) ) ); 3237 } 3238 3239 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 3240 // wrapper function for command vkMergePipelineCaches, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMergePipelineCaches.html 3241 template <typename Dispatch> 3242 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type mergePipelineCaches(VULKAN_HPP_NAMESPACE::PipelineCache dstCache,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::PipelineCache> const & srcCaches,Dispatch const & d) const3243 Device::mergePipelineCaches( VULKAN_HPP_NAMESPACE::PipelineCache dstCache, 3244 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::PipelineCache> const & srcCaches, 3245 Dispatch const & d ) const 3246 { 3247 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3248 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3249 VULKAN_HPP_ASSERT( d.vkMergePipelineCaches && "Function <vkMergePipelineCaches> requires <VK_VERSION_1_0>" ); 3250 # endif 3251 3252 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkMergePipelineCaches( 3253 m_device, static_cast<VkPipelineCache>( dstCache ), srcCaches.size(), reinterpret_cast<const VkPipelineCache *>( srcCaches.data() ) ) ); 3254 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::mergePipelineCaches" ); 3255 3256 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 3257 } 3258 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 3259 3260 // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html 3261 template <typename Dispatch> createGraphicsPipelines(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,uint32_t createInfoCount,const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo * pCreateInfos,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::Pipeline * pPipelines,Dispatch const & d) const3262 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createGraphicsPipelines( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 3263 uint32_t createInfoCount, 3264 const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo * pCreateInfos, 3265 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 3266 VULKAN_HPP_NAMESPACE::Pipeline * pPipelines, 3267 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 3268 { 3269 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3270 return static_cast<Result>( d.vkCreateGraphicsPipelines( static_cast<VkDevice>( m_device ), 3271 static_cast<VkPipelineCache>( pipelineCache ), 3272 createInfoCount, 3273 reinterpret_cast<const VkGraphicsPipelineCreateInfo *>( pCreateInfos ), 3274 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 3275 reinterpret_cast<VkPipeline *>( pPipelines ) ) ); 3276 } 3277 3278 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 3279 // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html 3280 template <typename PipelineAllocator, 3281 typename Dispatch, 3282 typename std::enable_if<std::is_same<typename PipelineAllocator::value_type, VULKAN_HPP_NAMESPACE::Pipeline>::value, int>::type> 3283 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>> createGraphicsPipelines(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const3284 Device::createGraphicsPipelines( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 3285 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const & createInfos, 3286 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 3287 Dispatch const & d ) const 3288 { 3289 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3290 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3291 VULKAN_HPP_ASSERT( d.vkCreateGraphicsPipelines && "Function <vkCreateGraphicsPipelines> requires <VK_VERSION_1_0>" ); 3292 # endif 3293 3294 std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator> pipelines( createInfos.size() ); 3295 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateGraphicsPipelines( 3296 m_device, 3297 static_cast<VkPipelineCache>( pipelineCache ), 3298 createInfos.size(), 3299 reinterpret_cast<const VkGraphicsPipelineCreateInfo *>( createInfos.data() ), 3300 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 3301 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); 3302 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 3303 VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelines", 3304 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 3305 3306 return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>( result, std::move( pipelines ) ); 3307 } 3308 3309 // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html 3310 template <typename PipelineAllocator, 3311 typename Dispatch, 3312 typename std::enable_if<std::is_same<typename PipelineAllocator::value_type, VULKAN_HPP_NAMESPACE::Pipeline>::value, int>::type> 3313 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>> createGraphicsPipelines(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,PipelineAllocator & pipelineAllocator,Dispatch const & d) const3314 Device::createGraphicsPipelines( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 3315 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const & createInfos, 3316 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 3317 PipelineAllocator & pipelineAllocator, 3318 Dispatch const & d ) const 3319 { 3320 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3321 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3322 VULKAN_HPP_ASSERT( d.vkCreateGraphicsPipelines && "Function <vkCreateGraphicsPipelines> requires <VK_VERSION_1_0>" ); 3323 # endif 3324 3325 std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator> pipelines( createInfos.size(), pipelineAllocator ); 3326 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateGraphicsPipelines( 3327 m_device, 3328 static_cast<VkPipelineCache>( pipelineCache ), 3329 createInfos.size(), 3330 reinterpret_cast<const VkGraphicsPipelineCreateInfo *>( createInfos.data() ), 3331 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 3332 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); 3333 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 3334 VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelines", 3335 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 3336 3337 return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>( result, std::move( pipelines ) ); 3338 } 3339 3340 // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html 3341 template <typename Dispatch> 3342 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<VULKAN_HPP_NAMESPACE::Pipeline> createGraphicsPipeline(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const3343 Device::createGraphicsPipeline( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 3344 const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo & createInfo, 3345 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 3346 Dispatch const & d ) const 3347 { 3348 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3349 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3350 VULKAN_HPP_ASSERT( d.vkCreateGraphicsPipelines && "Function <vkCreateGraphicsPipelines> requires <VK_VERSION_1_0>" ); 3351 # endif 3352 3353 VULKAN_HPP_NAMESPACE::Pipeline pipeline; 3354 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateGraphicsPipelines( 3355 m_device, 3356 static_cast<VkPipelineCache>( pipelineCache ), 3357 1, 3358 reinterpret_cast<const VkGraphicsPipelineCreateInfo *>( &createInfo ), 3359 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 3360 reinterpret_cast<VkPipeline *>( &pipeline ) ) ); 3361 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 3362 VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipeline", 3363 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 3364 3365 return ResultValue<VULKAN_HPP_NAMESPACE::Pipeline>( result, std::move( pipeline ) ); 3366 } 3367 3368 # ifndef VULKAN_HPP_NO_SMART_HANDLE 3369 // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html 3370 template < 3371 typename Dispatch, 3372 typename PipelineAllocator, 3373 typename std::enable_if<std::is_same<typename PipelineAllocator::value_type, UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>::value, int>::type> 3374 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>> createGraphicsPipelinesUnique(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const3375 Device::createGraphicsPipelinesUnique( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 3376 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const & createInfos, 3377 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 3378 Dispatch const & d ) const 3379 { 3380 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3381 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3382 VULKAN_HPP_ASSERT( d.vkCreateGraphicsPipelines && "Function <vkCreateGraphicsPipelines> requires <VK_VERSION_1_0>" ); 3383 # endif 3384 3385 std::vector<VULKAN_HPP_NAMESPACE::Pipeline> pipelines( createInfos.size() ); 3386 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateGraphicsPipelines( 3387 m_device, 3388 static_cast<VkPipelineCache>( pipelineCache ), 3389 createInfos.size(), 3390 reinterpret_cast<const VkGraphicsPipelineCreateInfo *>( createInfos.data() ), 3391 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 3392 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); 3393 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 3394 VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelinesUnique", 3395 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 3396 std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator> uniquePipelines; 3397 uniquePipelines.reserve( createInfos.size() ); 3398 detail::ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d ); 3399 for ( auto const & pipeline : pipelines ) 3400 { 3401 uniquePipelines.push_back( UniqueHandle<Pipeline, Dispatch>( pipeline, deleter ) ); 3402 } 3403 return ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>( result, std::move( uniquePipelines ) ); 3404 } 3405 3406 // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html 3407 template < 3408 typename Dispatch, 3409 typename PipelineAllocator, 3410 typename std::enable_if<std::is_same<typename PipelineAllocator::value_type, UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>::value, int>::type> 3411 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>> createGraphicsPipelinesUnique(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,PipelineAllocator & pipelineAllocator,Dispatch const & d) const3412 Device::createGraphicsPipelinesUnique( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 3413 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const & createInfos, 3414 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 3415 PipelineAllocator & pipelineAllocator, 3416 Dispatch const & d ) const 3417 { 3418 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3419 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3420 VULKAN_HPP_ASSERT( d.vkCreateGraphicsPipelines && "Function <vkCreateGraphicsPipelines> requires <VK_VERSION_1_0>" ); 3421 # endif 3422 3423 std::vector<VULKAN_HPP_NAMESPACE::Pipeline> pipelines( createInfos.size() ); 3424 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateGraphicsPipelines( 3425 m_device, 3426 static_cast<VkPipelineCache>( pipelineCache ), 3427 createInfos.size(), 3428 reinterpret_cast<const VkGraphicsPipelineCreateInfo *>( createInfos.data() ), 3429 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 3430 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); 3431 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 3432 VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelinesUnique", 3433 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 3434 std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator> uniquePipelines( pipelineAllocator ); 3435 uniquePipelines.reserve( createInfos.size() ); 3436 detail::ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d ); 3437 for ( auto const & pipeline : pipelines ) 3438 { 3439 uniquePipelines.push_back( UniqueHandle<Pipeline, Dispatch>( pipeline, deleter ) ); 3440 } 3441 return ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>( result, std::move( uniquePipelines ) ); 3442 } 3443 3444 // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html 3445 template <typename Dispatch> 3446 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>> createGraphicsPipelineUnique(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const3447 Device::createGraphicsPipelineUnique( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 3448 const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo & createInfo, 3449 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 3450 Dispatch const & d ) const 3451 { 3452 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3453 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3454 VULKAN_HPP_ASSERT( d.vkCreateGraphicsPipelines && "Function <vkCreateGraphicsPipelines> requires <VK_VERSION_1_0>" ); 3455 # endif 3456 3457 VULKAN_HPP_NAMESPACE::Pipeline pipeline; 3458 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateGraphicsPipelines( 3459 m_device, 3460 static_cast<VkPipelineCache>( pipelineCache ), 3461 1, 3462 reinterpret_cast<const VkGraphicsPipelineCreateInfo *>( &createInfo ), 3463 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 3464 reinterpret_cast<VkPipeline *>( &pipeline ) ) ); 3465 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 3466 VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelineUnique", 3467 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 3468 3469 return ResultValue<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>( 3470 result, UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>( pipeline, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 3471 } 3472 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 3473 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 3474 3475 // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html 3476 template <typename Dispatch> createComputePipelines(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,uint32_t createInfoCount,const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo * pCreateInfos,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::Pipeline * pPipelines,Dispatch const & d) const3477 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createComputePipelines( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 3478 uint32_t createInfoCount, 3479 const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo * pCreateInfos, 3480 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 3481 VULKAN_HPP_NAMESPACE::Pipeline * pPipelines, 3482 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 3483 { 3484 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3485 return static_cast<Result>( d.vkCreateComputePipelines( static_cast<VkDevice>( m_device ), 3486 static_cast<VkPipelineCache>( pipelineCache ), 3487 createInfoCount, 3488 reinterpret_cast<const VkComputePipelineCreateInfo *>( pCreateInfos ), 3489 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 3490 reinterpret_cast<VkPipeline *>( pPipelines ) ) ); 3491 } 3492 3493 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 3494 // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html 3495 template <typename PipelineAllocator, 3496 typename Dispatch, 3497 typename std::enable_if<std::is_same<typename PipelineAllocator::value_type, VULKAN_HPP_NAMESPACE::Pipeline>::value, int>::type> 3498 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>> createComputePipelines(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const3499 Device::createComputePipelines( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 3500 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const & createInfos, 3501 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 3502 Dispatch const & d ) const 3503 { 3504 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3505 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3506 VULKAN_HPP_ASSERT( d.vkCreateComputePipelines && "Function <vkCreateComputePipelines> requires <VK_VERSION_1_0>" ); 3507 # endif 3508 3509 std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator> pipelines( createInfos.size() ); 3510 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateComputePipelines( 3511 m_device, 3512 static_cast<VkPipelineCache>( pipelineCache ), 3513 createInfos.size(), 3514 reinterpret_cast<const VkComputePipelineCreateInfo *>( createInfos.data() ), 3515 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 3516 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); 3517 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 3518 VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelines", 3519 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 3520 3521 return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>( result, std::move( pipelines ) ); 3522 } 3523 3524 // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html 3525 template <typename PipelineAllocator, 3526 typename Dispatch, 3527 typename std::enable_if<std::is_same<typename PipelineAllocator::value_type, VULKAN_HPP_NAMESPACE::Pipeline>::value, int>::type> 3528 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>> createComputePipelines(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,PipelineAllocator & pipelineAllocator,Dispatch const & d) const3529 Device::createComputePipelines( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 3530 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const & createInfos, 3531 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 3532 PipelineAllocator & pipelineAllocator, 3533 Dispatch const & d ) const 3534 { 3535 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3536 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3537 VULKAN_HPP_ASSERT( d.vkCreateComputePipelines && "Function <vkCreateComputePipelines> requires <VK_VERSION_1_0>" ); 3538 # endif 3539 3540 std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator> pipelines( createInfos.size(), pipelineAllocator ); 3541 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateComputePipelines( 3542 m_device, 3543 static_cast<VkPipelineCache>( pipelineCache ), 3544 createInfos.size(), 3545 reinterpret_cast<const VkComputePipelineCreateInfo *>( createInfos.data() ), 3546 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 3547 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); 3548 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 3549 VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelines", 3550 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 3551 3552 return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>( result, std::move( pipelines ) ); 3553 } 3554 3555 // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html 3556 template <typename Dispatch> 3557 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<VULKAN_HPP_NAMESPACE::Pipeline> createComputePipeline(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const3558 Device::createComputePipeline( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 3559 const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo & createInfo, 3560 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 3561 Dispatch const & d ) const 3562 { 3563 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3564 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3565 VULKAN_HPP_ASSERT( d.vkCreateComputePipelines && "Function <vkCreateComputePipelines> requires <VK_VERSION_1_0>" ); 3566 # endif 3567 3568 VULKAN_HPP_NAMESPACE::Pipeline pipeline; 3569 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateComputePipelines( 3570 m_device, 3571 static_cast<VkPipelineCache>( pipelineCache ), 3572 1, 3573 reinterpret_cast<const VkComputePipelineCreateInfo *>( &createInfo ), 3574 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 3575 reinterpret_cast<VkPipeline *>( &pipeline ) ) ); 3576 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 3577 VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipeline", 3578 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 3579 3580 return ResultValue<VULKAN_HPP_NAMESPACE::Pipeline>( result, std::move( pipeline ) ); 3581 } 3582 3583 # ifndef VULKAN_HPP_NO_SMART_HANDLE 3584 // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html 3585 template < 3586 typename Dispatch, 3587 typename PipelineAllocator, 3588 typename std::enable_if<std::is_same<typename PipelineAllocator::value_type, UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>::value, int>::type> 3589 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>> createComputePipelinesUnique(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const3590 Device::createComputePipelinesUnique( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 3591 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const & createInfos, 3592 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 3593 Dispatch const & d ) const 3594 { 3595 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3596 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3597 VULKAN_HPP_ASSERT( d.vkCreateComputePipelines && "Function <vkCreateComputePipelines> requires <VK_VERSION_1_0>" ); 3598 # endif 3599 3600 std::vector<VULKAN_HPP_NAMESPACE::Pipeline> pipelines( createInfos.size() ); 3601 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateComputePipelines( 3602 m_device, 3603 static_cast<VkPipelineCache>( pipelineCache ), 3604 createInfos.size(), 3605 reinterpret_cast<const VkComputePipelineCreateInfo *>( createInfos.data() ), 3606 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 3607 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); 3608 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 3609 VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelinesUnique", 3610 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 3611 std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator> uniquePipelines; 3612 uniquePipelines.reserve( createInfos.size() ); 3613 detail::ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d ); 3614 for ( auto const & pipeline : pipelines ) 3615 { 3616 uniquePipelines.push_back( UniqueHandle<Pipeline, Dispatch>( pipeline, deleter ) ); 3617 } 3618 return ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>( result, std::move( uniquePipelines ) ); 3619 } 3620 3621 // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html 3622 template < 3623 typename Dispatch, 3624 typename PipelineAllocator, 3625 typename std::enable_if<std::is_same<typename PipelineAllocator::value_type, UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>::value, int>::type> 3626 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>> createComputePipelinesUnique(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,PipelineAllocator & pipelineAllocator,Dispatch const & d) const3627 Device::createComputePipelinesUnique( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 3628 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const & createInfos, 3629 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 3630 PipelineAllocator & pipelineAllocator, 3631 Dispatch const & d ) const 3632 { 3633 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3634 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3635 VULKAN_HPP_ASSERT( d.vkCreateComputePipelines && "Function <vkCreateComputePipelines> requires <VK_VERSION_1_0>" ); 3636 # endif 3637 3638 std::vector<VULKAN_HPP_NAMESPACE::Pipeline> pipelines( createInfos.size() ); 3639 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateComputePipelines( 3640 m_device, 3641 static_cast<VkPipelineCache>( pipelineCache ), 3642 createInfos.size(), 3643 reinterpret_cast<const VkComputePipelineCreateInfo *>( createInfos.data() ), 3644 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 3645 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); 3646 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 3647 VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelinesUnique", 3648 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 3649 std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator> uniquePipelines( pipelineAllocator ); 3650 uniquePipelines.reserve( createInfos.size() ); 3651 detail::ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d ); 3652 for ( auto const & pipeline : pipelines ) 3653 { 3654 uniquePipelines.push_back( UniqueHandle<Pipeline, Dispatch>( pipeline, deleter ) ); 3655 } 3656 return ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>( result, std::move( uniquePipelines ) ); 3657 } 3658 3659 // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html 3660 template <typename Dispatch> 3661 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>> createComputePipelineUnique(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const3662 Device::createComputePipelineUnique( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 3663 const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo & createInfo, 3664 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 3665 Dispatch const & d ) const 3666 { 3667 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3668 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3669 VULKAN_HPP_ASSERT( d.vkCreateComputePipelines && "Function <vkCreateComputePipelines> requires <VK_VERSION_1_0>" ); 3670 # endif 3671 3672 VULKAN_HPP_NAMESPACE::Pipeline pipeline; 3673 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateComputePipelines( 3674 m_device, 3675 static_cast<VkPipelineCache>( pipelineCache ), 3676 1, 3677 reinterpret_cast<const VkComputePipelineCreateInfo *>( &createInfo ), 3678 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 3679 reinterpret_cast<VkPipeline *>( &pipeline ) ) ); 3680 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 3681 VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelineUnique", 3682 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 3683 3684 return ResultValue<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>( 3685 result, UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>( pipeline, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 3686 } 3687 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 3688 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 3689 3690 // wrapper function for command vkDestroyPipeline, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipeline.html 3691 template <typename Dispatch> destroyPipeline(VULKAN_HPP_NAMESPACE::Pipeline pipeline,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const3692 VULKAN_HPP_INLINE void Device::destroyPipeline( VULKAN_HPP_NAMESPACE::Pipeline pipeline, 3693 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 3694 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 3695 { 3696 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3697 d.vkDestroyPipeline( 3698 static_cast<VkDevice>( m_device ), static_cast<VkPipeline>( pipeline ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 3699 } 3700 3701 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 3702 // wrapper function for command vkDestroyPipeline, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipeline.html 3703 template <typename Dispatch> destroyPipeline(VULKAN_HPP_NAMESPACE::Pipeline pipeline,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const3704 VULKAN_HPP_INLINE void Device::destroyPipeline( VULKAN_HPP_NAMESPACE::Pipeline pipeline, 3705 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 3706 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 3707 { 3708 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3709 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3710 VULKAN_HPP_ASSERT( d.vkDestroyPipeline && "Function <vkDestroyPipeline> requires <VK_VERSION_1_0>" ); 3711 # endif 3712 3713 d.vkDestroyPipeline( m_device, 3714 static_cast<VkPipeline>( pipeline ), 3715 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 3716 } 3717 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 3718 3719 // wrapper function for command vkDestroyPipeline, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipeline.html 3720 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::Pipeline pipeline,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const3721 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Pipeline pipeline, 3722 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 3723 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 3724 { 3725 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3726 d.vkDestroyPipeline( 3727 static_cast<VkDevice>( m_device ), static_cast<VkPipeline>( pipeline ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 3728 } 3729 3730 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 3731 // wrapper function for command vkDestroyPipeline, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipeline.html 3732 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::Pipeline pipeline,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const3733 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Pipeline pipeline, 3734 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 3735 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 3736 { 3737 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3738 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3739 VULKAN_HPP_ASSERT( d.vkDestroyPipeline && "Function <vkDestroyPipeline> requires <VK_VERSION_1_0>" ); 3740 # endif 3741 3742 d.vkDestroyPipeline( m_device, 3743 static_cast<VkPipeline>( pipeline ), 3744 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 3745 } 3746 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 3747 3748 // wrapper function for command vkCreatePipelineLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineLayout.html 3749 template <typename Dispatch> createPipelineLayout(const VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::PipelineLayout * pPipelineLayout,Dispatch const & d) const3750 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createPipelineLayout( const VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo * pCreateInfo, 3751 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 3752 VULKAN_HPP_NAMESPACE::PipelineLayout * pPipelineLayout, 3753 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 3754 { 3755 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3756 return static_cast<Result>( d.vkCreatePipelineLayout( static_cast<VkDevice>( m_device ), 3757 reinterpret_cast<const VkPipelineLayoutCreateInfo *>( pCreateInfo ), 3758 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 3759 reinterpret_cast<VkPipelineLayout *>( pPipelineLayout ) ) ); 3760 } 3761 3762 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 3763 // wrapper function for command vkCreatePipelineLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineLayout.html 3764 template <typename Dispatch> 3765 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::PipelineLayout>::type createPipelineLayout(const VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const3766 Device::createPipelineLayout( const VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo & createInfo, 3767 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 3768 Dispatch const & d ) const 3769 { 3770 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3771 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3772 VULKAN_HPP_ASSERT( d.vkCreatePipelineLayout && "Function <vkCreatePipelineLayout> requires <VK_VERSION_1_0>" ); 3773 # endif 3774 3775 VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout; 3776 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 3777 d.vkCreatePipelineLayout( m_device, 3778 reinterpret_cast<const VkPipelineLayoutCreateInfo *>( &createInfo ), 3779 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 3780 reinterpret_cast<VkPipelineLayout *>( &pipelineLayout ) ) ); 3781 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineLayout" ); 3782 3783 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pipelineLayout ) ); 3784 } 3785 3786 # ifndef VULKAN_HPP_NO_SMART_HANDLE 3787 // wrapper function for command vkCreatePipelineLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineLayout.html 3788 template <typename Dispatch> 3789 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::PipelineLayout, Dispatch>>::type createPipelineLayoutUnique(const VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const3790 Device::createPipelineLayoutUnique( const VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo & createInfo, 3791 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 3792 Dispatch const & d ) const 3793 { 3794 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3795 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3796 VULKAN_HPP_ASSERT( d.vkCreatePipelineLayout && "Function <vkCreatePipelineLayout> requires <VK_VERSION_1_0>" ); 3797 # endif 3798 3799 VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout; 3800 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 3801 d.vkCreatePipelineLayout( m_device, 3802 reinterpret_cast<const VkPipelineLayoutCreateInfo *>( &createInfo ), 3803 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 3804 reinterpret_cast<VkPipelineLayout *>( &pipelineLayout ) ) ); 3805 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineLayoutUnique" ); 3806 3807 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 3808 result, UniqueHandle<VULKAN_HPP_NAMESPACE::PipelineLayout, Dispatch>( pipelineLayout, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 3809 } 3810 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 3811 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 3812 3813 // wrapper function for command vkDestroyPipelineLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineLayout.html 3814 template <typename Dispatch> destroyPipelineLayout(VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const3815 VULKAN_HPP_INLINE void Device::destroyPipelineLayout( VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout, 3816 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 3817 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 3818 { 3819 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3820 d.vkDestroyPipelineLayout( 3821 static_cast<VkDevice>( m_device ), static_cast<VkPipelineLayout>( pipelineLayout ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 3822 } 3823 3824 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 3825 // wrapper function for command vkDestroyPipelineLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineLayout.html 3826 template <typename Dispatch> destroyPipelineLayout(VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const3827 VULKAN_HPP_INLINE void Device::destroyPipelineLayout( VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout, 3828 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 3829 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 3830 { 3831 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3832 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3833 VULKAN_HPP_ASSERT( d.vkDestroyPipelineLayout && "Function <vkDestroyPipelineLayout> requires <VK_VERSION_1_0>" ); 3834 # endif 3835 3836 d.vkDestroyPipelineLayout( m_device, 3837 static_cast<VkPipelineLayout>( pipelineLayout ), 3838 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 3839 } 3840 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 3841 3842 // wrapper function for command vkDestroyPipelineLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineLayout.html 3843 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const3844 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout, 3845 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 3846 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 3847 { 3848 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3849 d.vkDestroyPipelineLayout( 3850 static_cast<VkDevice>( m_device ), static_cast<VkPipelineLayout>( pipelineLayout ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 3851 } 3852 3853 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 3854 // wrapper function for command vkDestroyPipelineLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineLayout.html 3855 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const3856 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout, 3857 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 3858 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 3859 { 3860 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3861 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3862 VULKAN_HPP_ASSERT( d.vkDestroyPipelineLayout && "Function <vkDestroyPipelineLayout> requires <VK_VERSION_1_0>" ); 3863 # endif 3864 3865 d.vkDestroyPipelineLayout( m_device, 3866 static_cast<VkPipelineLayout>( pipelineLayout ), 3867 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 3868 } 3869 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 3870 3871 // wrapper function for command vkCreateSampler, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSampler.html 3872 template <typename Dispatch> createSampler(const VULKAN_HPP_NAMESPACE::SamplerCreateInfo * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::Sampler * pSampler,Dispatch const & d) const3873 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createSampler( const VULKAN_HPP_NAMESPACE::SamplerCreateInfo * pCreateInfo, 3874 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 3875 VULKAN_HPP_NAMESPACE::Sampler * pSampler, 3876 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 3877 { 3878 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3879 return static_cast<Result>( d.vkCreateSampler( static_cast<VkDevice>( m_device ), 3880 reinterpret_cast<const VkSamplerCreateInfo *>( pCreateInfo ), 3881 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 3882 reinterpret_cast<VkSampler *>( pSampler ) ) ); 3883 } 3884 3885 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 3886 // wrapper function for command vkCreateSampler, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSampler.html 3887 template <typename Dispatch> createSampler(const VULKAN_HPP_NAMESPACE::SamplerCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const3888 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Sampler>::type Device::createSampler( 3889 const VULKAN_HPP_NAMESPACE::SamplerCreateInfo & createInfo, Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, Dispatch const & d ) const 3890 { 3891 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3892 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3893 VULKAN_HPP_ASSERT( d.vkCreateSampler && "Function <vkCreateSampler> requires <VK_VERSION_1_0>" ); 3894 # endif 3895 3896 VULKAN_HPP_NAMESPACE::Sampler sampler; 3897 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 3898 d.vkCreateSampler( m_device, 3899 reinterpret_cast<const VkSamplerCreateInfo *>( &createInfo ), 3900 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 3901 reinterpret_cast<VkSampler *>( &sampler ) ) ); 3902 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSampler" ); 3903 3904 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( sampler ) ); 3905 } 3906 3907 # ifndef VULKAN_HPP_NO_SMART_HANDLE 3908 // wrapper function for command vkCreateSampler, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSampler.html 3909 template <typename Dispatch> createSamplerUnique(const VULKAN_HPP_NAMESPACE::SamplerCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const3910 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::Sampler, Dispatch>>::type Device::createSamplerUnique( 3911 const VULKAN_HPP_NAMESPACE::SamplerCreateInfo & createInfo, Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, Dispatch const & d ) const 3912 { 3913 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3914 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3915 VULKAN_HPP_ASSERT( d.vkCreateSampler && "Function <vkCreateSampler> requires <VK_VERSION_1_0>" ); 3916 # endif 3917 3918 VULKAN_HPP_NAMESPACE::Sampler sampler; 3919 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 3920 d.vkCreateSampler( m_device, 3921 reinterpret_cast<const VkSamplerCreateInfo *>( &createInfo ), 3922 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 3923 reinterpret_cast<VkSampler *>( &sampler ) ) ); 3924 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSamplerUnique" ); 3925 3926 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 3927 result, UniqueHandle<VULKAN_HPP_NAMESPACE::Sampler, Dispatch>( sampler, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 3928 } 3929 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 3930 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 3931 3932 // wrapper function for command vkDestroySampler, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySampler.html 3933 template <typename Dispatch> destroySampler(VULKAN_HPP_NAMESPACE::Sampler sampler,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const3934 VULKAN_HPP_INLINE void Device::destroySampler( VULKAN_HPP_NAMESPACE::Sampler sampler, 3935 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 3936 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 3937 { 3938 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3939 d.vkDestroySampler( static_cast<VkDevice>( m_device ), static_cast<VkSampler>( sampler ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 3940 } 3941 3942 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 3943 // wrapper function for command vkDestroySampler, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySampler.html 3944 template <typename Dispatch> destroySampler(VULKAN_HPP_NAMESPACE::Sampler sampler,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const3945 VULKAN_HPP_INLINE void Device::destroySampler( VULKAN_HPP_NAMESPACE::Sampler sampler, 3946 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 3947 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 3948 { 3949 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3950 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3951 VULKAN_HPP_ASSERT( d.vkDestroySampler && "Function <vkDestroySampler> requires <VK_VERSION_1_0>" ); 3952 # endif 3953 3954 d.vkDestroySampler( m_device, 3955 static_cast<VkSampler>( sampler ), 3956 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 3957 } 3958 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 3959 3960 // wrapper function for command vkDestroySampler, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySampler.html 3961 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::Sampler sampler,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const3962 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Sampler sampler, 3963 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 3964 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 3965 { 3966 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3967 d.vkDestroySampler( static_cast<VkDevice>( m_device ), static_cast<VkSampler>( sampler ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 3968 } 3969 3970 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 3971 // wrapper function for command vkDestroySampler, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySampler.html 3972 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::Sampler sampler,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const3973 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Sampler sampler, 3974 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 3975 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 3976 { 3977 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3978 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 3979 VULKAN_HPP_ASSERT( d.vkDestroySampler && "Function <vkDestroySampler> requires <VK_VERSION_1_0>" ); 3980 # endif 3981 3982 d.vkDestroySampler( m_device, 3983 static_cast<VkSampler>( sampler ), 3984 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 3985 } 3986 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 3987 3988 // wrapper function for command vkCreateDescriptorSetLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorSetLayout.html 3989 template <typename Dispatch> createDescriptorSetLayout(const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::DescriptorSetLayout * pSetLayout,Dispatch const & d) const3990 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createDescriptorSetLayout( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo * pCreateInfo, 3991 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 3992 VULKAN_HPP_NAMESPACE::DescriptorSetLayout * pSetLayout, 3993 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 3994 { 3995 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 3996 return static_cast<Result>( d.vkCreateDescriptorSetLayout( static_cast<VkDevice>( m_device ), 3997 reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( pCreateInfo ), 3998 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 3999 reinterpret_cast<VkDescriptorSetLayout *>( pSetLayout ) ) ); 4000 } 4001 4002 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 4003 // wrapper function for command vkCreateDescriptorSetLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorSetLayout.html 4004 template <typename Dispatch> 4005 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DescriptorSetLayout>::type createDescriptorSetLayout(const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const4006 Device::createDescriptorSetLayout( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo, 4007 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 4008 Dispatch const & d ) const 4009 { 4010 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4011 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4012 VULKAN_HPP_ASSERT( d.vkCreateDescriptorSetLayout && "Function <vkCreateDescriptorSetLayout> requires <VK_VERSION_1_0>" ); 4013 # endif 4014 4015 VULKAN_HPP_NAMESPACE::DescriptorSetLayout setLayout; 4016 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateDescriptorSetLayout( 4017 m_device, 4018 reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( &createInfo ), 4019 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 4020 reinterpret_cast<VkDescriptorSetLayout *>( &setLayout ) ) ); 4021 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorSetLayout" ); 4022 4023 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( setLayout ) ); 4024 } 4025 4026 # ifndef VULKAN_HPP_NO_SMART_HANDLE 4027 // wrapper function for command vkCreateDescriptorSetLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorSetLayout.html 4028 template <typename Dispatch> 4029 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::DescriptorSetLayout, Dispatch>>::type createDescriptorSetLayoutUnique(const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const4030 Device::createDescriptorSetLayoutUnique( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo, 4031 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 4032 Dispatch const & d ) const 4033 { 4034 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4035 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4036 VULKAN_HPP_ASSERT( d.vkCreateDescriptorSetLayout && "Function <vkCreateDescriptorSetLayout> requires <VK_VERSION_1_0>" ); 4037 # endif 4038 4039 VULKAN_HPP_NAMESPACE::DescriptorSetLayout setLayout; 4040 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateDescriptorSetLayout( 4041 m_device, 4042 reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( &createInfo ), 4043 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 4044 reinterpret_cast<VkDescriptorSetLayout *>( &setLayout ) ) ); 4045 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorSetLayoutUnique" ); 4046 4047 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 4048 result, UniqueHandle<VULKAN_HPP_NAMESPACE::DescriptorSetLayout, Dispatch>( setLayout, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 4049 } 4050 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 4051 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 4052 4053 // wrapper function for command vkDestroyDescriptorSetLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorSetLayout.html 4054 template <typename Dispatch> destroyDescriptorSetLayout(VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const4055 VULKAN_HPP_INLINE void Device::destroyDescriptorSetLayout( VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout, 4056 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 4057 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4058 { 4059 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4060 d.vkDestroyDescriptorSetLayout( static_cast<VkDevice>( m_device ), 4061 static_cast<VkDescriptorSetLayout>( descriptorSetLayout ), 4062 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 4063 } 4064 4065 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 4066 // wrapper function for command vkDestroyDescriptorSetLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorSetLayout.html 4067 template <typename Dispatch> destroyDescriptorSetLayout(VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const4068 VULKAN_HPP_INLINE void Device::destroyDescriptorSetLayout( VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout, 4069 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 4070 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4071 { 4072 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4073 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4074 VULKAN_HPP_ASSERT( d.vkDestroyDescriptorSetLayout && "Function <vkDestroyDescriptorSetLayout> requires <VK_VERSION_1_0>" ); 4075 # endif 4076 4077 d.vkDestroyDescriptorSetLayout( 4078 m_device, 4079 static_cast<VkDescriptorSetLayout>( descriptorSetLayout ), 4080 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 4081 } 4082 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 4083 4084 // wrapper function for command vkDestroyDescriptorSetLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorSetLayout.html 4085 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const4086 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout, 4087 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 4088 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4089 { 4090 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4091 d.vkDestroyDescriptorSetLayout( static_cast<VkDevice>( m_device ), 4092 static_cast<VkDescriptorSetLayout>( descriptorSetLayout ), 4093 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 4094 } 4095 4096 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 4097 // wrapper function for command vkDestroyDescriptorSetLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorSetLayout.html 4098 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const4099 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout, 4100 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 4101 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4102 { 4103 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4104 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4105 VULKAN_HPP_ASSERT( d.vkDestroyDescriptorSetLayout && "Function <vkDestroyDescriptorSetLayout> requires <VK_VERSION_1_0>" ); 4106 # endif 4107 4108 d.vkDestroyDescriptorSetLayout( 4109 m_device, 4110 static_cast<VkDescriptorSetLayout>( descriptorSetLayout ), 4111 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 4112 } 4113 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 4114 4115 // wrapper function for command vkCreateDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorPool.html 4116 template <typename Dispatch> createDescriptorPool(const VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::DescriptorPool * pDescriptorPool,Dispatch const & d) const4117 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createDescriptorPool( const VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo * pCreateInfo, 4118 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 4119 VULKAN_HPP_NAMESPACE::DescriptorPool * pDescriptorPool, 4120 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4121 { 4122 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4123 return static_cast<Result>( d.vkCreateDescriptorPool( static_cast<VkDevice>( m_device ), 4124 reinterpret_cast<const VkDescriptorPoolCreateInfo *>( pCreateInfo ), 4125 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 4126 reinterpret_cast<VkDescriptorPool *>( pDescriptorPool ) ) ); 4127 } 4128 4129 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 4130 // wrapper function for command vkCreateDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorPool.html 4131 template <typename Dispatch> 4132 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DescriptorPool>::type createDescriptorPool(const VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const4133 Device::createDescriptorPool( const VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo & createInfo, 4134 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 4135 Dispatch const & d ) const 4136 { 4137 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4138 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4139 VULKAN_HPP_ASSERT( d.vkCreateDescriptorPool && "Function <vkCreateDescriptorPool> requires <VK_VERSION_1_0>" ); 4140 # endif 4141 4142 VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool; 4143 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 4144 d.vkCreateDescriptorPool( m_device, 4145 reinterpret_cast<const VkDescriptorPoolCreateInfo *>( &createInfo ), 4146 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 4147 reinterpret_cast<VkDescriptorPool *>( &descriptorPool ) ) ); 4148 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorPool" ); 4149 4150 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( descriptorPool ) ); 4151 } 4152 4153 # ifndef VULKAN_HPP_NO_SMART_HANDLE 4154 // wrapper function for command vkCreateDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorPool.html 4155 template <typename Dispatch> 4156 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::DescriptorPool, Dispatch>>::type createDescriptorPoolUnique(const VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const4157 Device::createDescriptorPoolUnique( const VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo & createInfo, 4158 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 4159 Dispatch const & d ) const 4160 { 4161 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4162 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4163 VULKAN_HPP_ASSERT( d.vkCreateDescriptorPool && "Function <vkCreateDescriptorPool> requires <VK_VERSION_1_0>" ); 4164 # endif 4165 4166 VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool; 4167 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 4168 d.vkCreateDescriptorPool( m_device, 4169 reinterpret_cast<const VkDescriptorPoolCreateInfo *>( &createInfo ), 4170 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 4171 reinterpret_cast<VkDescriptorPool *>( &descriptorPool ) ) ); 4172 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorPoolUnique" ); 4173 4174 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 4175 result, UniqueHandle<VULKAN_HPP_NAMESPACE::DescriptorPool, Dispatch>( descriptorPool, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 4176 } 4177 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 4178 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 4179 4180 // wrapper function for command vkDestroyDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorPool.html 4181 template <typename Dispatch> destroyDescriptorPool(VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const4182 VULKAN_HPP_INLINE void Device::destroyDescriptorPool( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool, 4183 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 4184 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4185 { 4186 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4187 d.vkDestroyDescriptorPool( 4188 static_cast<VkDevice>( m_device ), static_cast<VkDescriptorPool>( descriptorPool ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 4189 } 4190 4191 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 4192 // wrapper function for command vkDestroyDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorPool.html 4193 template <typename Dispatch> destroyDescriptorPool(VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const4194 VULKAN_HPP_INLINE void Device::destroyDescriptorPool( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool, 4195 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 4196 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4197 { 4198 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4199 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4200 VULKAN_HPP_ASSERT( d.vkDestroyDescriptorPool && "Function <vkDestroyDescriptorPool> requires <VK_VERSION_1_0>" ); 4201 # endif 4202 4203 d.vkDestroyDescriptorPool( m_device, 4204 static_cast<VkDescriptorPool>( descriptorPool ), 4205 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 4206 } 4207 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 4208 4209 // wrapper function for command vkDestroyDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorPool.html 4210 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const4211 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool, 4212 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 4213 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4214 { 4215 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4216 d.vkDestroyDescriptorPool( 4217 static_cast<VkDevice>( m_device ), static_cast<VkDescriptorPool>( descriptorPool ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 4218 } 4219 4220 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 4221 // wrapper function for command vkDestroyDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorPool.html 4222 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const4223 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool, 4224 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 4225 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4226 { 4227 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4228 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4229 VULKAN_HPP_ASSERT( d.vkDestroyDescriptorPool && "Function <vkDestroyDescriptorPool> requires <VK_VERSION_1_0>" ); 4230 # endif 4231 4232 d.vkDestroyDescriptorPool( m_device, 4233 static_cast<VkDescriptorPool>( descriptorPool ), 4234 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 4235 } 4236 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 4237 4238 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 4239 // wrapper function for command vkResetDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetDescriptorPool.html 4240 template <typename Dispatch> resetDescriptorPool(VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,VULKAN_HPP_NAMESPACE::DescriptorPoolResetFlags flags,Dispatch const & d) const4241 VULKAN_HPP_INLINE Result Device::resetDescriptorPool( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool, 4242 VULKAN_HPP_NAMESPACE::DescriptorPoolResetFlags flags, 4243 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4244 { 4245 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4246 return static_cast<Result>( d.vkResetDescriptorPool( 4247 static_cast<VkDevice>( m_device ), static_cast<VkDescriptorPool>( descriptorPool ), static_cast<VkDescriptorPoolResetFlags>( flags ) ) ); 4248 } 4249 #else 4250 // wrapper function for command vkResetDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetDescriptorPool.html 4251 template <typename Dispatch> resetDescriptorPool(VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,VULKAN_HPP_NAMESPACE::DescriptorPoolResetFlags flags,Dispatch const & d) const4252 VULKAN_HPP_INLINE void Device::resetDescriptorPool( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool, 4253 VULKAN_HPP_NAMESPACE::DescriptorPoolResetFlags flags, 4254 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4255 { 4256 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4257 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4258 VULKAN_HPP_ASSERT( d.vkResetDescriptorPool && "Function <vkResetDescriptorPool> requires <VK_VERSION_1_0>" ); 4259 # endif 4260 4261 d.vkResetDescriptorPool( m_device, static_cast<VkDescriptorPool>( descriptorPool ), static_cast<VkDescriptorPoolResetFlags>( flags ) ); 4262 } 4263 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 4264 4265 // wrapper function for command vkAllocateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateDescriptorSets.html 4266 template <typename Dispatch> allocateDescriptorSets(const VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo * pAllocateInfo,VULKAN_HPP_NAMESPACE::DescriptorSet * pDescriptorSets,Dispatch const & d) const4267 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::allocateDescriptorSets( const VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo * pAllocateInfo, 4268 VULKAN_HPP_NAMESPACE::DescriptorSet * pDescriptorSets, 4269 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4270 { 4271 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4272 return static_cast<Result>( d.vkAllocateDescriptorSets( static_cast<VkDevice>( m_device ), 4273 reinterpret_cast<const VkDescriptorSetAllocateInfo *>( pAllocateInfo ), 4274 reinterpret_cast<VkDescriptorSet *>( pDescriptorSets ) ) ); 4275 } 4276 4277 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 4278 // wrapper function for command vkAllocateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateDescriptorSets.html 4279 template <typename DescriptorSetAllocator, 4280 typename Dispatch, 4281 typename std::enable_if<std::is_same<typename DescriptorSetAllocator::value_type, VULKAN_HPP_NAMESPACE::DescriptorSet>::value, int>::type> 4282 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DescriptorSet, DescriptorSetAllocator>>::type allocateDescriptorSets(const VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo & allocateInfo,Dispatch const & d) const4283 Device::allocateDescriptorSets( const VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo & allocateInfo, Dispatch const & d ) const 4284 { 4285 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4286 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4287 VULKAN_HPP_ASSERT( d.vkAllocateDescriptorSets && "Function <vkAllocateDescriptorSets> requires <VK_VERSION_1_0>" ); 4288 # endif 4289 4290 std::vector<VULKAN_HPP_NAMESPACE::DescriptorSet, DescriptorSetAllocator> descriptorSets( allocateInfo.descriptorSetCount ); 4291 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkAllocateDescriptorSets( 4292 m_device, reinterpret_cast<const VkDescriptorSetAllocateInfo *>( &allocateInfo ), reinterpret_cast<VkDescriptorSet *>( descriptorSets.data() ) ) ); 4293 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateDescriptorSets" ); 4294 4295 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( descriptorSets ) ); 4296 } 4297 4298 // wrapper function for command vkAllocateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateDescriptorSets.html 4299 template <typename DescriptorSetAllocator, 4300 typename Dispatch, 4301 typename std::enable_if<std::is_same<typename DescriptorSetAllocator::value_type, VULKAN_HPP_NAMESPACE::DescriptorSet>::value, int>::type> 4302 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DescriptorSet, DescriptorSetAllocator>>::type allocateDescriptorSets(const VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo & allocateInfo,DescriptorSetAllocator & descriptorSetAllocator,Dispatch const & d) const4303 Device::allocateDescriptorSets( const VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo & allocateInfo, 4304 DescriptorSetAllocator & descriptorSetAllocator, 4305 Dispatch const & d ) const 4306 { 4307 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4308 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4309 VULKAN_HPP_ASSERT( d.vkAllocateDescriptorSets && "Function <vkAllocateDescriptorSets> requires <VK_VERSION_1_0>" ); 4310 # endif 4311 4312 std::vector<VULKAN_HPP_NAMESPACE::DescriptorSet, DescriptorSetAllocator> descriptorSets( allocateInfo.descriptorSetCount, descriptorSetAllocator ); 4313 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkAllocateDescriptorSets( 4314 m_device, reinterpret_cast<const VkDescriptorSetAllocateInfo *>( &allocateInfo ), reinterpret_cast<VkDescriptorSet *>( descriptorSets.data() ) ) ); 4315 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateDescriptorSets" ); 4316 4317 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( descriptorSets ) ); 4318 } 4319 4320 # ifndef VULKAN_HPP_NO_SMART_HANDLE 4321 // wrapper function for command vkAllocateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateDescriptorSets.html 4322 template < 4323 typename Dispatch, 4324 typename DescriptorSetAllocator, 4325 typename std::enable_if<std::is_same<typename DescriptorSetAllocator::value_type, UniqueHandle<VULKAN_HPP_NAMESPACE::DescriptorSet, Dispatch>>::value, 4326 int>::type> 4327 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 4328 typename ResultValueType<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::DescriptorSet, Dispatch>, DescriptorSetAllocator>>::type allocateDescriptorSetsUnique(const VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo & allocateInfo,Dispatch const & d) const4329 Device::allocateDescriptorSetsUnique( const VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo & allocateInfo, Dispatch const & d ) const 4330 { 4331 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4332 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4333 VULKAN_HPP_ASSERT( d.vkAllocateDescriptorSets && "Function <vkAllocateDescriptorSets> requires <VK_VERSION_1_0>" ); 4334 # endif 4335 4336 std::vector<VULKAN_HPP_NAMESPACE::DescriptorSet> descriptorSets( allocateInfo.descriptorSetCount ); 4337 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkAllocateDescriptorSets( 4338 m_device, reinterpret_cast<const VkDescriptorSetAllocateInfo *>( &allocateInfo ), reinterpret_cast<VkDescriptorSet *>( descriptorSets.data() ) ) ); 4339 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateDescriptorSetsUnique" ); 4340 std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::DescriptorSet, Dispatch>, DescriptorSetAllocator> uniqueDescriptorSets; 4341 uniqueDescriptorSets.reserve( allocateInfo.descriptorSetCount ); 4342 detail::PoolFree<Device, DescriptorPool, Dispatch> deleter( *this, allocateInfo.descriptorPool, d ); 4343 for ( auto const & descriptorSet : descriptorSets ) 4344 { 4345 uniqueDescriptorSets.push_back( UniqueHandle<DescriptorSet, Dispatch>( descriptorSet, deleter ) ); 4346 } 4347 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( uniqueDescriptorSets ) ); 4348 } 4349 4350 // wrapper function for command vkAllocateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateDescriptorSets.html 4351 template < 4352 typename Dispatch, 4353 typename DescriptorSetAllocator, 4354 typename std::enable_if<std::is_same<typename DescriptorSetAllocator::value_type, UniqueHandle<VULKAN_HPP_NAMESPACE::DescriptorSet, Dispatch>>::value, 4355 int>::type> 4356 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 4357 typename ResultValueType<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::DescriptorSet, Dispatch>, DescriptorSetAllocator>>::type allocateDescriptorSetsUnique(const VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo & allocateInfo,DescriptorSetAllocator & descriptorSetAllocator,Dispatch const & d) const4358 Device::allocateDescriptorSetsUnique( const VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo & allocateInfo, 4359 DescriptorSetAllocator & descriptorSetAllocator, 4360 Dispatch const & d ) const 4361 { 4362 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4363 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4364 VULKAN_HPP_ASSERT( d.vkAllocateDescriptorSets && "Function <vkAllocateDescriptorSets> requires <VK_VERSION_1_0>" ); 4365 # endif 4366 4367 std::vector<VULKAN_HPP_NAMESPACE::DescriptorSet> descriptorSets( allocateInfo.descriptorSetCount ); 4368 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkAllocateDescriptorSets( 4369 m_device, reinterpret_cast<const VkDescriptorSetAllocateInfo *>( &allocateInfo ), reinterpret_cast<VkDescriptorSet *>( descriptorSets.data() ) ) ); 4370 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateDescriptorSetsUnique" ); 4371 std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::DescriptorSet, Dispatch>, DescriptorSetAllocator> uniqueDescriptorSets( descriptorSetAllocator ); 4372 uniqueDescriptorSets.reserve( allocateInfo.descriptorSetCount ); 4373 detail::PoolFree<Device, DescriptorPool, Dispatch> deleter( *this, allocateInfo.descriptorPool, d ); 4374 for ( auto const & descriptorSet : descriptorSets ) 4375 { 4376 uniqueDescriptorSets.push_back( UniqueHandle<DescriptorSet, Dispatch>( descriptorSet, deleter ) ); 4377 } 4378 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( uniqueDescriptorSets ) ); 4379 } 4380 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 4381 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 4382 4383 // wrapper function for command vkFreeDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeDescriptorSets.html 4384 template <typename Dispatch> freeDescriptorSets(VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,uint32_t descriptorSetCount,const VULKAN_HPP_NAMESPACE::DescriptorSet * pDescriptorSets,Dispatch const & d) const4385 VULKAN_HPP_INLINE Result Device::freeDescriptorSets( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool, 4386 uint32_t descriptorSetCount, 4387 const VULKAN_HPP_NAMESPACE::DescriptorSet * pDescriptorSets, 4388 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4389 { 4390 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4391 return static_cast<Result>( d.vkFreeDescriptorSets( static_cast<VkDevice>( m_device ), 4392 static_cast<VkDescriptorPool>( descriptorPool ), 4393 descriptorSetCount, 4394 reinterpret_cast<const VkDescriptorSet *>( pDescriptorSets ) ) ); 4395 } 4396 4397 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 4398 // wrapper function for command vkFreeDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeDescriptorSets.html 4399 template <typename Dispatch> freeDescriptorSets(VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const & descriptorSets,Dispatch const & d) const4400 VULKAN_HPP_INLINE void Device::freeDescriptorSets( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool, 4401 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const & descriptorSets, 4402 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4403 { 4404 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4405 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4406 VULKAN_HPP_ASSERT( d.vkFreeDescriptorSets && "Function <vkFreeDescriptorSets> requires <VK_VERSION_1_0>" ); 4407 # endif 4408 4409 d.vkFreeDescriptorSets( 4410 m_device, static_cast<VkDescriptorPool>( descriptorPool ), descriptorSets.size(), reinterpret_cast<const VkDescriptorSet *>( descriptorSets.data() ) ); 4411 } 4412 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 4413 4414 // wrapper function for command vkFreeDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeDescriptorSets.html 4415 template <typename Dispatch> Result(Device::free)4416 VULKAN_HPP_INLINE Result( Device::free )( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool, 4417 uint32_t descriptorSetCount, 4418 const VULKAN_HPP_NAMESPACE::DescriptorSet * pDescriptorSets, 4419 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4420 { 4421 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4422 return static_cast<Result>( d.vkFreeDescriptorSets( static_cast<VkDevice>( m_device ), 4423 static_cast<VkDescriptorPool>( descriptorPool ), 4424 descriptorSetCount, 4425 reinterpret_cast<const VkDescriptorSet *>( pDescriptorSets ) ) ); 4426 } 4427 4428 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 4429 // wrapper function for command vkFreeDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeDescriptorSets.html 4430 template <typename Dispatch> 4431 VULKAN_HPP_INLINE void( Device::free )( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool, 4432 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const & descriptorSets, 4433 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4434 { 4435 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4436 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4437 VULKAN_HPP_ASSERT( d.vkFreeDescriptorSets && "Function <vkFreeDescriptorSets> requires <VK_VERSION_1_0>" ); 4438 # endif 4439 4440 d.vkFreeDescriptorSets( 4441 m_device, static_cast<VkDescriptorPool>( descriptorPool ), descriptorSets.size(), reinterpret_cast<const VkDescriptorSet *>( descriptorSets.data() ) ); 4442 } 4443 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 4444 4445 // wrapper function for command vkUpdateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateDescriptorSets.html 4446 template <typename Dispatch> updateDescriptorSets(uint32_t descriptorWriteCount,const VULKAN_HPP_NAMESPACE::WriteDescriptorSet * pDescriptorWrites,uint32_t descriptorCopyCount,const VULKAN_HPP_NAMESPACE::CopyDescriptorSet * pDescriptorCopies,Dispatch const & d) const4447 VULKAN_HPP_INLINE void Device::updateDescriptorSets( uint32_t descriptorWriteCount, 4448 const VULKAN_HPP_NAMESPACE::WriteDescriptorSet * pDescriptorWrites, 4449 uint32_t descriptorCopyCount, 4450 const VULKAN_HPP_NAMESPACE::CopyDescriptorSet * pDescriptorCopies, 4451 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4452 { 4453 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4454 d.vkUpdateDescriptorSets( static_cast<VkDevice>( m_device ), 4455 descriptorWriteCount, 4456 reinterpret_cast<const VkWriteDescriptorSet *>( pDescriptorWrites ), 4457 descriptorCopyCount, 4458 reinterpret_cast<const VkCopyDescriptorSet *>( pDescriptorCopies ) ); 4459 } 4460 4461 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 4462 // wrapper function for command vkUpdateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateDescriptorSets.html 4463 template <typename Dispatch> 4464 VULKAN_HPP_INLINE void updateDescriptorSets(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const & descriptorWrites,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::CopyDescriptorSet> const & descriptorCopies,Dispatch const & d) const4465 Device::updateDescriptorSets( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const & descriptorWrites, 4466 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::CopyDescriptorSet> const & descriptorCopies, 4467 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4468 { 4469 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4470 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4471 VULKAN_HPP_ASSERT( d.vkUpdateDescriptorSets && "Function <vkUpdateDescriptorSets> requires <VK_VERSION_1_0>" ); 4472 # endif 4473 4474 d.vkUpdateDescriptorSets( m_device, 4475 descriptorWrites.size(), 4476 reinterpret_cast<const VkWriteDescriptorSet *>( descriptorWrites.data() ), 4477 descriptorCopies.size(), 4478 reinterpret_cast<const VkCopyDescriptorSet *>( descriptorCopies.data() ) ); 4479 } 4480 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 4481 4482 // wrapper function for command vkCreateFramebuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateFramebuffer.html 4483 template <typename Dispatch> createFramebuffer(const VULKAN_HPP_NAMESPACE::FramebufferCreateInfo * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::Framebuffer * pFramebuffer,Dispatch const & d) const4484 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createFramebuffer( const VULKAN_HPP_NAMESPACE::FramebufferCreateInfo * pCreateInfo, 4485 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 4486 VULKAN_HPP_NAMESPACE::Framebuffer * pFramebuffer, 4487 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4488 { 4489 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4490 return static_cast<Result>( d.vkCreateFramebuffer( static_cast<VkDevice>( m_device ), 4491 reinterpret_cast<const VkFramebufferCreateInfo *>( pCreateInfo ), 4492 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 4493 reinterpret_cast<VkFramebuffer *>( pFramebuffer ) ) ); 4494 } 4495 4496 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 4497 // wrapper function for command vkCreateFramebuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateFramebuffer.html 4498 template <typename Dispatch> 4499 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Framebuffer>::type createFramebuffer(const VULKAN_HPP_NAMESPACE::FramebufferCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const4500 Device::createFramebuffer( const VULKAN_HPP_NAMESPACE::FramebufferCreateInfo & createInfo, 4501 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 4502 Dispatch const & d ) const 4503 { 4504 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4505 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4506 VULKAN_HPP_ASSERT( d.vkCreateFramebuffer && "Function <vkCreateFramebuffer> requires <VK_VERSION_1_0>" ); 4507 # endif 4508 4509 VULKAN_HPP_NAMESPACE::Framebuffer framebuffer; 4510 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 4511 d.vkCreateFramebuffer( m_device, 4512 reinterpret_cast<const VkFramebufferCreateInfo *>( &createInfo ), 4513 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 4514 reinterpret_cast<VkFramebuffer *>( &framebuffer ) ) ); 4515 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createFramebuffer" ); 4516 4517 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( framebuffer ) ); 4518 } 4519 4520 # ifndef VULKAN_HPP_NO_SMART_HANDLE 4521 // wrapper function for command vkCreateFramebuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateFramebuffer.html 4522 template <typename Dispatch> 4523 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::Framebuffer, Dispatch>>::type createFramebufferUnique(const VULKAN_HPP_NAMESPACE::FramebufferCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const4524 Device::createFramebufferUnique( const VULKAN_HPP_NAMESPACE::FramebufferCreateInfo & createInfo, 4525 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 4526 Dispatch const & d ) const 4527 { 4528 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4529 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4530 VULKAN_HPP_ASSERT( d.vkCreateFramebuffer && "Function <vkCreateFramebuffer> requires <VK_VERSION_1_0>" ); 4531 # endif 4532 4533 VULKAN_HPP_NAMESPACE::Framebuffer framebuffer; 4534 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 4535 d.vkCreateFramebuffer( m_device, 4536 reinterpret_cast<const VkFramebufferCreateInfo *>( &createInfo ), 4537 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 4538 reinterpret_cast<VkFramebuffer *>( &framebuffer ) ) ); 4539 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createFramebufferUnique" ); 4540 4541 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 4542 result, UniqueHandle<VULKAN_HPP_NAMESPACE::Framebuffer, Dispatch>( framebuffer, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 4543 } 4544 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 4545 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 4546 4547 // wrapper function for command vkDestroyFramebuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyFramebuffer.html 4548 template <typename Dispatch> destroyFramebuffer(VULKAN_HPP_NAMESPACE::Framebuffer framebuffer,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const4549 VULKAN_HPP_INLINE void Device::destroyFramebuffer( VULKAN_HPP_NAMESPACE::Framebuffer framebuffer, 4550 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 4551 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4552 { 4553 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4554 d.vkDestroyFramebuffer( 4555 static_cast<VkDevice>( m_device ), static_cast<VkFramebuffer>( framebuffer ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 4556 } 4557 4558 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 4559 // wrapper function for command vkDestroyFramebuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyFramebuffer.html 4560 template <typename Dispatch> destroyFramebuffer(VULKAN_HPP_NAMESPACE::Framebuffer framebuffer,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const4561 VULKAN_HPP_INLINE void Device::destroyFramebuffer( VULKAN_HPP_NAMESPACE::Framebuffer framebuffer, 4562 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 4563 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4564 { 4565 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4566 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4567 VULKAN_HPP_ASSERT( d.vkDestroyFramebuffer && "Function <vkDestroyFramebuffer> requires <VK_VERSION_1_0>" ); 4568 # endif 4569 4570 d.vkDestroyFramebuffer( m_device, 4571 static_cast<VkFramebuffer>( framebuffer ), 4572 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 4573 } 4574 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 4575 4576 // wrapper function for command vkDestroyFramebuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyFramebuffer.html 4577 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::Framebuffer framebuffer,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const4578 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Framebuffer framebuffer, 4579 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 4580 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4581 { 4582 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4583 d.vkDestroyFramebuffer( 4584 static_cast<VkDevice>( m_device ), static_cast<VkFramebuffer>( framebuffer ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 4585 } 4586 4587 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 4588 // wrapper function for command vkDestroyFramebuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyFramebuffer.html 4589 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::Framebuffer framebuffer,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const4590 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::Framebuffer framebuffer, 4591 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 4592 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4593 { 4594 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4595 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4596 VULKAN_HPP_ASSERT( d.vkDestroyFramebuffer && "Function <vkDestroyFramebuffer> requires <VK_VERSION_1_0>" ); 4597 # endif 4598 4599 d.vkDestroyFramebuffer( m_device, 4600 static_cast<VkFramebuffer>( framebuffer ), 4601 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 4602 } 4603 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 4604 4605 // wrapper function for command vkCreateRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass.html 4606 template <typename Dispatch> createRenderPass(const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::RenderPass * pRenderPass,Dispatch const & d) const4607 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createRenderPass( const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo * pCreateInfo, 4608 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 4609 VULKAN_HPP_NAMESPACE::RenderPass * pRenderPass, 4610 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4611 { 4612 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4613 return static_cast<Result>( d.vkCreateRenderPass( static_cast<VkDevice>( m_device ), 4614 reinterpret_cast<const VkRenderPassCreateInfo *>( pCreateInfo ), 4615 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 4616 reinterpret_cast<VkRenderPass *>( pRenderPass ) ) ); 4617 } 4618 4619 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 4620 // wrapper function for command vkCreateRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass.html 4621 template <typename Dispatch> 4622 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::RenderPass>::type createRenderPass(const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const4623 Device::createRenderPass( const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo & createInfo, 4624 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 4625 Dispatch const & d ) const 4626 { 4627 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4628 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4629 VULKAN_HPP_ASSERT( d.vkCreateRenderPass && "Function <vkCreateRenderPass> requires <VK_VERSION_1_0>" ); 4630 # endif 4631 4632 VULKAN_HPP_NAMESPACE::RenderPass renderPass; 4633 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 4634 d.vkCreateRenderPass( m_device, 4635 reinterpret_cast<const VkRenderPassCreateInfo *>( &createInfo ), 4636 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 4637 reinterpret_cast<VkRenderPass *>( &renderPass ) ) ); 4638 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPass" ); 4639 4640 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( renderPass ) ); 4641 } 4642 4643 # ifndef VULKAN_HPP_NO_SMART_HANDLE 4644 // wrapper function for command vkCreateRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass.html 4645 template <typename Dispatch> 4646 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::RenderPass, Dispatch>>::type createRenderPassUnique(const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const4647 Device::createRenderPassUnique( const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo & createInfo, 4648 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 4649 Dispatch const & d ) const 4650 { 4651 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4652 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4653 VULKAN_HPP_ASSERT( d.vkCreateRenderPass && "Function <vkCreateRenderPass> requires <VK_VERSION_1_0>" ); 4654 # endif 4655 4656 VULKAN_HPP_NAMESPACE::RenderPass renderPass; 4657 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 4658 d.vkCreateRenderPass( m_device, 4659 reinterpret_cast<const VkRenderPassCreateInfo *>( &createInfo ), 4660 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 4661 reinterpret_cast<VkRenderPass *>( &renderPass ) ) ); 4662 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPassUnique" ); 4663 4664 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 4665 result, UniqueHandle<VULKAN_HPP_NAMESPACE::RenderPass, Dispatch>( renderPass, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 4666 } 4667 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 4668 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 4669 4670 // wrapper function for command vkDestroyRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyRenderPass.html 4671 template <typename Dispatch> destroyRenderPass(VULKAN_HPP_NAMESPACE::RenderPass renderPass,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const4672 VULKAN_HPP_INLINE void Device::destroyRenderPass( VULKAN_HPP_NAMESPACE::RenderPass renderPass, 4673 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 4674 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4675 { 4676 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4677 d.vkDestroyRenderPass( 4678 static_cast<VkDevice>( m_device ), static_cast<VkRenderPass>( renderPass ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 4679 } 4680 4681 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 4682 // wrapper function for command vkDestroyRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyRenderPass.html 4683 template <typename Dispatch> destroyRenderPass(VULKAN_HPP_NAMESPACE::RenderPass renderPass,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const4684 VULKAN_HPP_INLINE void Device::destroyRenderPass( VULKAN_HPP_NAMESPACE::RenderPass renderPass, 4685 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 4686 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4687 { 4688 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4689 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4690 VULKAN_HPP_ASSERT( d.vkDestroyRenderPass && "Function <vkDestroyRenderPass> requires <VK_VERSION_1_0>" ); 4691 # endif 4692 4693 d.vkDestroyRenderPass( m_device, 4694 static_cast<VkRenderPass>( renderPass ), 4695 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 4696 } 4697 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 4698 4699 // wrapper function for command vkDestroyRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyRenderPass.html 4700 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::RenderPass renderPass,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const4701 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::RenderPass renderPass, 4702 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 4703 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4704 { 4705 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4706 d.vkDestroyRenderPass( 4707 static_cast<VkDevice>( m_device ), static_cast<VkRenderPass>( renderPass ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 4708 } 4709 4710 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 4711 // wrapper function for command vkDestroyRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyRenderPass.html 4712 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::RenderPass renderPass,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const4713 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::RenderPass renderPass, 4714 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 4715 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4716 { 4717 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4718 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4719 VULKAN_HPP_ASSERT( d.vkDestroyRenderPass && "Function <vkDestroyRenderPass> requires <VK_VERSION_1_0>" ); 4720 # endif 4721 4722 d.vkDestroyRenderPass( m_device, 4723 static_cast<VkRenderPass>( renderPass ), 4724 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 4725 } 4726 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 4727 4728 // wrapper function for command vkGetRenderAreaGranularity, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRenderAreaGranularity.html 4729 template <typename Dispatch> getRenderAreaGranularity(VULKAN_HPP_NAMESPACE::RenderPass renderPass,VULKAN_HPP_NAMESPACE::Extent2D * pGranularity,Dispatch const & d) const4730 VULKAN_HPP_INLINE void Device::getRenderAreaGranularity( VULKAN_HPP_NAMESPACE::RenderPass renderPass, 4731 VULKAN_HPP_NAMESPACE::Extent2D * pGranularity, 4732 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4733 { 4734 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4735 d.vkGetRenderAreaGranularity( static_cast<VkDevice>( m_device ), static_cast<VkRenderPass>( renderPass ), reinterpret_cast<VkExtent2D *>( pGranularity ) ); 4736 } 4737 4738 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 4739 // wrapper function for command vkGetRenderAreaGranularity, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRenderAreaGranularity.html 4740 template <typename Dispatch> getRenderAreaGranularity(VULKAN_HPP_NAMESPACE::RenderPass renderPass,Dispatch const & d) const4741 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Extent2D Device::getRenderAreaGranularity( VULKAN_HPP_NAMESPACE::RenderPass renderPass, 4742 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4743 { 4744 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4745 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4746 VULKAN_HPP_ASSERT( d.vkGetRenderAreaGranularity && "Function <vkGetRenderAreaGranularity> requires <VK_VERSION_1_0>" ); 4747 # endif 4748 4749 VULKAN_HPP_NAMESPACE::Extent2D granularity; 4750 d.vkGetRenderAreaGranularity( m_device, static_cast<VkRenderPass>( renderPass ), reinterpret_cast<VkExtent2D *>( &granularity ) ); 4751 4752 return granularity; 4753 } 4754 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 4755 4756 // wrapper function for command vkCreateCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCommandPool.html 4757 template <typename Dispatch> createCommandPool(const VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::CommandPool * pCommandPool,Dispatch const & d) const4758 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createCommandPool( const VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo * pCreateInfo, 4759 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 4760 VULKAN_HPP_NAMESPACE::CommandPool * pCommandPool, 4761 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4762 { 4763 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4764 return static_cast<Result>( d.vkCreateCommandPool( static_cast<VkDevice>( m_device ), 4765 reinterpret_cast<const VkCommandPoolCreateInfo *>( pCreateInfo ), 4766 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 4767 reinterpret_cast<VkCommandPool *>( pCommandPool ) ) ); 4768 } 4769 4770 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 4771 // wrapper function for command vkCreateCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCommandPool.html 4772 template <typename Dispatch> 4773 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::CommandPool>::type createCommandPool(const VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const4774 Device::createCommandPool( const VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo & createInfo, 4775 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 4776 Dispatch const & d ) const 4777 { 4778 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4779 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4780 VULKAN_HPP_ASSERT( d.vkCreateCommandPool && "Function <vkCreateCommandPool> requires <VK_VERSION_1_0>" ); 4781 # endif 4782 4783 VULKAN_HPP_NAMESPACE::CommandPool commandPool; 4784 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 4785 d.vkCreateCommandPool( m_device, 4786 reinterpret_cast<const VkCommandPoolCreateInfo *>( &createInfo ), 4787 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 4788 reinterpret_cast<VkCommandPool *>( &commandPool ) ) ); 4789 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createCommandPool" ); 4790 4791 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( commandPool ) ); 4792 } 4793 4794 # ifndef VULKAN_HPP_NO_SMART_HANDLE 4795 // wrapper function for command vkCreateCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCommandPool.html 4796 template <typename Dispatch> 4797 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::CommandPool, Dispatch>>::type createCommandPoolUnique(const VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const4798 Device::createCommandPoolUnique( const VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo & createInfo, 4799 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 4800 Dispatch const & d ) const 4801 { 4802 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4803 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4804 VULKAN_HPP_ASSERT( d.vkCreateCommandPool && "Function <vkCreateCommandPool> requires <VK_VERSION_1_0>" ); 4805 # endif 4806 4807 VULKAN_HPP_NAMESPACE::CommandPool commandPool; 4808 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 4809 d.vkCreateCommandPool( m_device, 4810 reinterpret_cast<const VkCommandPoolCreateInfo *>( &createInfo ), 4811 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 4812 reinterpret_cast<VkCommandPool *>( &commandPool ) ) ); 4813 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createCommandPoolUnique" ); 4814 4815 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 4816 result, UniqueHandle<VULKAN_HPP_NAMESPACE::CommandPool, Dispatch>( commandPool, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 4817 } 4818 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 4819 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 4820 4821 // wrapper function for command vkDestroyCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCommandPool.html 4822 template <typename Dispatch> destroyCommandPool(VULKAN_HPP_NAMESPACE::CommandPool commandPool,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const4823 VULKAN_HPP_INLINE void Device::destroyCommandPool( VULKAN_HPP_NAMESPACE::CommandPool commandPool, 4824 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 4825 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4826 { 4827 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4828 d.vkDestroyCommandPool( 4829 static_cast<VkDevice>( m_device ), static_cast<VkCommandPool>( commandPool ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 4830 } 4831 4832 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 4833 // wrapper function for command vkDestroyCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCommandPool.html 4834 template <typename Dispatch> destroyCommandPool(VULKAN_HPP_NAMESPACE::CommandPool commandPool,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const4835 VULKAN_HPP_INLINE void Device::destroyCommandPool( VULKAN_HPP_NAMESPACE::CommandPool commandPool, 4836 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 4837 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4838 { 4839 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4840 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4841 VULKAN_HPP_ASSERT( d.vkDestroyCommandPool && "Function <vkDestroyCommandPool> requires <VK_VERSION_1_0>" ); 4842 # endif 4843 4844 d.vkDestroyCommandPool( m_device, 4845 static_cast<VkCommandPool>( commandPool ), 4846 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 4847 } 4848 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 4849 4850 // wrapper function for command vkDestroyCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCommandPool.html 4851 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::CommandPool commandPool,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const4852 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::CommandPool commandPool, 4853 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 4854 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4855 { 4856 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4857 d.vkDestroyCommandPool( 4858 static_cast<VkDevice>( m_device ), static_cast<VkCommandPool>( commandPool ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 4859 } 4860 4861 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 4862 // wrapper function for command vkDestroyCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCommandPool.html 4863 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::CommandPool commandPool,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const4864 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::CommandPool commandPool, 4865 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 4866 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4867 { 4868 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4869 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4870 VULKAN_HPP_ASSERT( d.vkDestroyCommandPool && "Function <vkDestroyCommandPool> requires <VK_VERSION_1_0>" ); 4871 # endif 4872 4873 d.vkDestroyCommandPool( m_device, 4874 static_cast<VkCommandPool>( commandPool ), 4875 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 4876 } 4877 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 4878 4879 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 4880 // wrapper function for command vkResetCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetCommandPool.html 4881 template <typename Dispatch> resetCommandPool(VULKAN_HPP_NAMESPACE::CommandPool commandPool,VULKAN_HPP_NAMESPACE::CommandPoolResetFlags flags,Dispatch const & d) const4882 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::resetCommandPool( VULKAN_HPP_NAMESPACE::CommandPool commandPool, 4883 VULKAN_HPP_NAMESPACE::CommandPoolResetFlags flags, 4884 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4885 { 4886 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4887 return static_cast<Result>( 4888 d.vkResetCommandPool( static_cast<VkDevice>( m_device ), static_cast<VkCommandPool>( commandPool ), static_cast<VkCommandPoolResetFlags>( flags ) ) ); 4889 } 4890 #else 4891 // wrapper function for command vkResetCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetCommandPool.html 4892 template <typename Dispatch> 4893 VULKAN_HPP_INLINE typename ResultValueType<void>::type resetCommandPool(VULKAN_HPP_NAMESPACE::CommandPool commandPool,VULKAN_HPP_NAMESPACE::CommandPoolResetFlags flags,Dispatch const & d) const4894 Device::resetCommandPool( VULKAN_HPP_NAMESPACE::CommandPool commandPool, VULKAN_HPP_NAMESPACE::CommandPoolResetFlags flags, Dispatch const & d ) const 4895 { 4896 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4897 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4898 VULKAN_HPP_ASSERT( d.vkResetCommandPool && "Function <vkResetCommandPool> requires <VK_VERSION_1_0>" ); 4899 # endif 4900 4901 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 4902 d.vkResetCommandPool( m_device, static_cast<VkCommandPool>( commandPool ), static_cast<VkCommandPoolResetFlags>( flags ) ) ); 4903 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::resetCommandPool" ); 4904 4905 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 4906 } 4907 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 4908 4909 // wrapper function for command vkAllocateCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateCommandBuffers.html 4910 template <typename Dispatch> allocateCommandBuffers(const VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo * pAllocateInfo,VULKAN_HPP_NAMESPACE::CommandBuffer * pCommandBuffers,Dispatch const & d) const4911 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::allocateCommandBuffers( const VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo * pAllocateInfo, 4912 VULKAN_HPP_NAMESPACE::CommandBuffer * pCommandBuffers, 4913 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 4914 { 4915 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4916 return static_cast<Result>( d.vkAllocateCommandBuffers( static_cast<VkDevice>( m_device ), 4917 reinterpret_cast<const VkCommandBufferAllocateInfo *>( pAllocateInfo ), 4918 reinterpret_cast<VkCommandBuffer *>( pCommandBuffers ) ) ); 4919 } 4920 4921 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 4922 // wrapper function for command vkAllocateCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateCommandBuffers.html 4923 template <typename CommandBufferAllocator, 4924 typename Dispatch, 4925 typename std::enable_if<std::is_same<typename CommandBufferAllocator::value_type, VULKAN_HPP_NAMESPACE::CommandBuffer>::value, int>::type> 4926 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::CommandBuffer, CommandBufferAllocator>>::type allocateCommandBuffers(const VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo & allocateInfo,Dispatch const & d) const4927 Device::allocateCommandBuffers( const VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo & allocateInfo, Dispatch const & d ) const 4928 { 4929 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4930 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4931 VULKAN_HPP_ASSERT( d.vkAllocateCommandBuffers && "Function <vkAllocateCommandBuffers> requires <VK_VERSION_1_0>" ); 4932 # endif 4933 4934 std::vector<VULKAN_HPP_NAMESPACE::CommandBuffer, CommandBufferAllocator> commandBuffers( allocateInfo.commandBufferCount ); 4935 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkAllocateCommandBuffers( 4936 m_device, reinterpret_cast<const VkCommandBufferAllocateInfo *>( &allocateInfo ), reinterpret_cast<VkCommandBuffer *>( commandBuffers.data() ) ) ); 4937 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateCommandBuffers" ); 4938 4939 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( commandBuffers ) ); 4940 } 4941 4942 // wrapper function for command vkAllocateCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateCommandBuffers.html 4943 template <typename CommandBufferAllocator, 4944 typename Dispatch, 4945 typename std::enable_if<std::is_same<typename CommandBufferAllocator::value_type, VULKAN_HPP_NAMESPACE::CommandBuffer>::value, int>::type> 4946 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::CommandBuffer, CommandBufferAllocator>>::type allocateCommandBuffers(const VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo & allocateInfo,CommandBufferAllocator & commandBufferAllocator,Dispatch const & d) const4947 Device::allocateCommandBuffers( const VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo & allocateInfo, 4948 CommandBufferAllocator & commandBufferAllocator, 4949 Dispatch const & d ) const 4950 { 4951 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4952 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4953 VULKAN_HPP_ASSERT( d.vkAllocateCommandBuffers && "Function <vkAllocateCommandBuffers> requires <VK_VERSION_1_0>" ); 4954 # endif 4955 4956 std::vector<VULKAN_HPP_NAMESPACE::CommandBuffer, CommandBufferAllocator> commandBuffers( allocateInfo.commandBufferCount, commandBufferAllocator ); 4957 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkAllocateCommandBuffers( 4958 m_device, reinterpret_cast<const VkCommandBufferAllocateInfo *>( &allocateInfo ), reinterpret_cast<VkCommandBuffer *>( commandBuffers.data() ) ) ); 4959 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateCommandBuffers" ); 4960 4961 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( commandBuffers ) ); 4962 } 4963 4964 # ifndef VULKAN_HPP_NO_SMART_HANDLE 4965 // wrapper function for command vkAllocateCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateCommandBuffers.html 4966 template < 4967 typename Dispatch, 4968 typename CommandBufferAllocator, 4969 typename std::enable_if<std::is_same<typename CommandBufferAllocator::value_type, UniqueHandle<VULKAN_HPP_NAMESPACE::CommandBuffer, Dispatch>>::value, 4970 int>::type> 4971 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 4972 typename ResultValueType<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::CommandBuffer, Dispatch>, CommandBufferAllocator>>::type allocateCommandBuffersUnique(const VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo & allocateInfo,Dispatch const & d) const4973 Device::allocateCommandBuffersUnique( const VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo & allocateInfo, Dispatch const & d ) const 4974 { 4975 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 4976 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 4977 VULKAN_HPP_ASSERT( d.vkAllocateCommandBuffers && "Function <vkAllocateCommandBuffers> requires <VK_VERSION_1_0>" ); 4978 # endif 4979 4980 std::vector<VULKAN_HPP_NAMESPACE::CommandBuffer> commandBuffers( allocateInfo.commandBufferCount ); 4981 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkAllocateCommandBuffers( 4982 m_device, reinterpret_cast<const VkCommandBufferAllocateInfo *>( &allocateInfo ), reinterpret_cast<VkCommandBuffer *>( commandBuffers.data() ) ) ); 4983 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateCommandBuffersUnique" ); 4984 std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::CommandBuffer, Dispatch>, CommandBufferAllocator> uniqueCommandBuffers; 4985 uniqueCommandBuffers.reserve( allocateInfo.commandBufferCount ); 4986 detail::PoolFree<Device, CommandPool, Dispatch> deleter( *this, allocateInfo.commandPool, d ); 4987 for ( auto const & commandBuffer : commandBuffers ) 4988 { 4989 uniqueCommandBuffers.push_back( UniqueHandle<CommandBuffer, Dispatch>( commandBuffer, deleter ) ); 4990 } 4991 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( uniqueCommandBuffers ) ); 4992 } 4993 4994 // wrapper function for command vkAllocateCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateCommandBuffers.html 4995 template < 4996 typename Dispatch, 4997 typename CommandBufferAllocator, 4998 typename std::enable_if<std::is_same<typename CommandBufferAllocator::value_type, UniqueHandle<VULKAN_HPP_NAMESPACE::CommandBuffer, Dispatch>>::value, 4999 int>::type> 5000 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 5001 typename ResultValueType<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::CommandBuffer, Dispatch>, CommandBufferAllocator>>::type allocateCommandBuffersUnique(const VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo & allocateInfo,CommandBufferAllocator & commandBufferAllocator,Dispatch const & d) const5002 Device::allocateCommandBuffersUnique( const VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo & allocateInfo, 5003 CommandBufferAllocator & commandBufferAllocator, 5004 Dispatch const & d ) const 5005 { 5006 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5007 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 5008 VULKAN_HPP_ASSERT( d.vkAllocateCommandBuffers && "Function <vkAllocateCommandBuffers> requires <VK_VERSION_1_0>" ); 5009 # endif 5010 5011 std::vector<VULKAN_HPP_NAMESPACE::CommandBuffer> commandBuffers( allocateInfo.commandBufferCount ); 5012 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkAllocateCommandBuffers( 5013 m_device, reinterpret_cast<const VkCommandBufferAllocateInfo *>( &allocateInfo ), reinterpret_cast<VkCommandBuffer *>( commandBuffers.data() ) ) ); 5014 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateCommandBuffersUnique" ); 5015 std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::CommandBuffer, Dispatch>, CommandBufferAllocator> uniqueCommandBuffers( commandBufferAllocator ); 5016 uniqueCommandBuffers.reserve( allocateInfo.commandBufferCount ); 5017 detail::PoolFree<Device, CommandPool, Dispatch> deleter( *this, allocateInfo.commandPool, d ); 5018 for ( auto const & commandBuffer : commandBuffers ) 5019 { 5020 uniqueCommandBuffers.push_back( UniqueHandle<CommandBuffer, Dispatch>( commandBuffer, deleter ) ); 5021 } 5022 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( uniqueCommandBuffers ) ); 5023 } 5024 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 5025 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 5026 5027 // wrapper function for command vkFreeCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeCommandBuffers.html 5028 template <typename Dispatch> freeCommandBuffers(VULKAN_HPP_NAMESPACE::CommandPool commandPool,uint32_t commandBufferCount,const VULKAN_HPP_NAMESPACE::CommandBuffer * pCommandBuffers,Dispatch const & d) const5029 VULKAN_HPP_INLINE void Device::freeCommandBuffers( VULKAN_HPP_NAMESPACE::CommandPool commandPool, 5030 uint32_t commandBufferCount, 5031 const VULKAN_HPP_NAMESPACE::CommandBuffer * pCommandBuffers, 5032 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5033 { 5034 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5035 d.vkFreeCommandBuffers( static_cast<VkDevice>( m_device ), 5036 static_cast<VkCommandPool>( commandPool ), 5037 commandBufferCount, 5038 reinterpret_cast<const VkCommandBuffer *>( pCommandBuffers ) ); 5039 } 5040 5041 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 5042 // wrapper function for command vkFreeCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeCommandBuffers.html 5043 template <typename Dispatch> freeCommandBuffers(VULKAN_HPP_NAMESPACE::CommandPool commandPool,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const & commandBuffers,Dispatch const & d) const5044 VULKAN_HPP_INLINE void Device::freeCommandBuffers( VULKAN_HPP_NAMESPACE::CommandPool commandPool, 5045 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const & commandBuffers, 5046 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5047 { 5048 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5049 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 5050 VULKAN_HPP_ASSERT( d.vkFreeCommandBuffers && "Function <vkFreeCommandBuffers> requires <VK_VERSION_1_0>" ); 5051 # endif 5052 5053 d.vkFreeCommandBuffers( 5054 m_device, static_cast<VkCommandPool>( commandPool ), commandBuffers.size(), reinterpret_cast<const VkCommandBuffer *>( commandBuffers.data() ) ); 5055 } 5056 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 5057 5058 // wrapper function for command vkFreeCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeCommandBuffers.html 5059 template <typename Dispatch> 5060 VULKAN_HPP_INLINE void( Device::free )( VULKAN_HPP_NAMESPACE::CommandPool commandPool, 5061 uint32_t commandBufferCount, 5062 const VULKAN_HPP_NAMESPACE::CommandBuffer * pCommandBuffers, 5063 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5064 { 5065 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5066 d.vkFreeCommandBuffers( static_cast<VkDevice>( m_device ), 5067 static_cast<VkCommandPool>( commandPool ), 5068 commandBufferCount, 5069 reinterpret_cast<const VkCommandBuffer *>( pCommandBuffers ) ); 5070 } 5071 5072 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 5073 // wrapper function for command vkFreeCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeCommandBuffers.html 5074 template <typename Dispatch> 5075 VULKAN_HPP_INLINE void( Device::free )( VULKAN_HPP_NAMESPACE::CommandPool commandPool, 5076 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const & commandBuffers, 5077 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5078 { 5079 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5080 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 5081 VULKAN_HPP_ASSERT( d.vkFreeCommandBuffers && "Function <vkFreeCommandBuffers> requires <VK_VERSION_1_0>" ); 5082 # endif 5083 5084 d.vkFreeCommandBuffers( 5085 m_device, static_cast<VkCommandPool>( commandPool ), commandBuffers.size(), reinterpret_cast<const VkCommandBuffer *>( commandBuffers.data() ) ); 5086 } 5087 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 5088 5089 // wrapper function for command vkBeginCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBeginCommandBuffer.html 5090 template <typename Dispatch> begin(const VULKAN_HPP_NAMESPACE::CommandBufferBeginInfo * pBeginInfo,Dispatch const & d) const5091 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result CommandBuffer::begin( const VULKAN_HPP_NAMESPACE::CommandBufferBeginInfo * pBeginInfo, 5092 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5093 { 5094 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5095 return static_cast<Result>( 5096 d.vkBeginCommandBuffer( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkCommandBufferBeginInfo *>( pBeginInfo ) ) ); 5097 } 5098 5099 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 5100 // wrapper function for command vkBeginCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBeginCommandBuffer.html 5101 template <typename Dispatch> 5102 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type begin(const VULKAN_HPP_NAMESPACE::CommandBufferBeginInfo & beginInfo,Dispatch const & d) const5103 CommandBuffer::begin( const VULKAN_HPP_NAMESPACE::CommandBufferBeginInfo & beginInfo, Dispatch const & d ) const 5104 { 5105 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5106 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 5107 VULKAN_HPP_ASSERT( d.vkBeginCommandBuffer && "Function <vkBeginCommandBuffer> requires <VK_VERSION_1_0>" ); 5108 # endif 5109 5110 VULKAN_HPP_NAMESPACE::Result result = 5111 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkBeginCommandBuffer( m_commandBuffer, reinterpret_cast<const VkCommandBufferBeginInfo *>( &beginInfo ) ) ); 5112 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::begin" ); 5113 5114 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 5115 } 5116 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 5117 5118 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 5119 // wrapper function for command vkEndCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEndCommandBuffer.html 5120 template <typename Dispatch> end(Dispatch const & d) const5121 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result CommandBuffer::end( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5122 { 5123 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5124 return static_cast<Result>( d.vkEndCommandBuffer( static_cast<VkCommandBuffer>( m_commandBuffer ) ) ); 5125 } 5126 #else 5127 // wrapper function for command vkEndCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEndCommandBuffer.html 5128 template <typename Dispatch> end(Dispatch const & d) const5129 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type CommandBuffer::end( Dispatch const & d ) const 5130 { 5131 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5132 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 5133 VULKAN_HPP_ASSERT( d.vkEndCommandBuffer && "Function <vkEndCommandBuffer> requires <VK_VERSION_1_0>" ); 5134 # endif 5135 5136 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkEndCommandBuffer( m_commandBuffer ) ); 5137 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::end" ); 5138 5139 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 5140 } 5141 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 5142 5143 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 5144 // wrapper function for command vkResetCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetCommandBuffer.html 5145 template <typename Dispatch> reset(VULKAN_HPP_NAMESPACE::CommandBufferResetFlags flags,Dispatch const & d) const5146 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result CommandBuffer::reset( VULKAN_HPP_NAMESPACE::CommandBufferResetFlags flags, 5147 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5148 { 5149 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5150 return static_cast<Result>( d.vkResetCommandBuffer( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkCommandBufferResetFlags>( flags ) ) ); 5151 } 5152 #else 5153 // wrapper function for command vkResetCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetCommandBuffer.html 5154 template <typename Dispatch> reset(VULKAN_HPP_NAMESPACE::CommandBufferResetFlags flags,Dispatch const & d) const5155 VULKAN_HPP_INLINE typename ResultValueType<void>::type CommandBuffer::reset( VULKAN_HPP_NAMESPACE::CommandBufferResetFlags flags, Dispatch const & d ) const 5156 { 5157 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5158 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 5159 VULKAN_HPP_ASSERT( d.vkResetCommandBuffer && "Function <vkResetCommandBuffer> requires <VK_VERSION_1_0>" ); 5160 # endif 5161 5162 VULKAN_HPP_NAMESPACE::Result result = 5163 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkResetCommandBuffer( m_commandBuffer, static_cast<VkCommandBufferResetFlags>( flags ) ) ); 5164 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::reset" ); 5165 5166 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 5167 } 5168 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 5169 5170 // wrapper function for command vkCmdBindPipeline, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindPipeline.html 5171 template <typename Dispatch> bindPipeline(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,VULKAN_HPP_NAMESPACE::Pipeline pipeline,Dispatch const & d) const5172 VULKAN_HPP_INLINE void CommandBuffer::bindPipeline( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint, 5173 VULKAN_HPP_NAMESPACE::Pipeline pipeline, 5174 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5175 { 5176 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5177 d.vkCmdBindPipeline( 5178 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkPipelineBindPoint>( pipelineBindPoint ), static_cast<VkPipeline>( pipeline ) ); 5179 } 5180 5181 // wrapper function for command vkCmdSetViewport, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewport.html 5182 template <typename Dispatch> setViewport(uint32_t firstViewport,uint32_t viewportCount,const VULKAN_HPP_NAMESPACE::Viewport * pViewports,Dispatch const & d) const5183 VULKAN_HPP_INLINE void CommandBuffer::setViewport( uint32_t firstViewport, 5184 uint32_t viewportCount, 5185 const VULKAN_HPP_NAMESPACE::Viewport * pViewports, 5186 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5187 { 5188 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5189 d.vkCmdSetViewport( static_cast<VkCommandBuffer>( m_commandBuffer ), firstViewport, viewportCount, reinterpret_cast<const VkViewport *>( pViewports ) ); 5190 } 5191 5192 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 5193 // wrapper function for command vkCmdSetViewport, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewport.html 5194 template <typename Dispatch> setViewport(uint32_t firstViewport,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const & viewports,Dispatch const & d) const5195 VULKAN_HPP_INLINE void CommandBuffer::setViewport( uint32_t firstViewport, 5196 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const & viewports, 5197 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5198 { 5199 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5200 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 5201 VULKAN_HPP_ASSERT( d.vkCmdSetViewport && "Function <vkCmdSetViewport> requires <VK_VERSION_1_0>" ); 5202 # endif 5203 5204 d.vkCmdSetViewport( m_commandBuffer, firstViewport, viewports.size(), reinterpret_cast<const VkViewport *>( viewports.data() ) ); 5205 } 5206 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 5207 5208 // wrapper function for command vkCmdSetScissor, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetScissor.html 5209 template <typename Dispatch> setScissor(uint32_t firstScissor,uint32_t scissorCount,const VULKAN_HPP_NAMESPACE::Rect2D * pScissors,Dispatch const & d) const5210 VULKAN_HPP_INLINE void CommandBuffer::setScissor( uint32_t firstScissor, 5211 uint32_t scissorCount, 5212 const VULKAN_HPP_NAMESPACE::Rect2D * pScissors, 5213 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5214 { 5215 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5216 d.vkCmdSetScissor( static_cast<VkCommandBuffer>( m_commandBuffer ), firstScissor, scissorCount, reinterpret_cast<const VkRect2D *>( pScissors ) ); 5217 } 5218 5219 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 5220 // wrapper function for command vkCmdSetScissor, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetScissor.html 5221 template <typename Dispatch> setScissor(uint32_t firstScissor,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & scissors,Dispatch const & d) const5222 VULKAN_HPP_INLINE void CommandBuffer::setScissor( uint32_t firstScissor, 5223 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & scissors, 5224 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5225 { 5226 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5227 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 5228 VULKAN_HPP_ASSERT( d.vkCmdSetScissor && "Function <vkCmdSetScissor> requires <VK_VERSION_1_0>" ); 5229 # endif 5230 5231 d.vkCmdSetScissor( m_commandBuffer, firstScissor, scissors.size(), reinterpret_cast<const VkRect2D *>( scissors.data() ) ); 5232 } 5233 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 5234 5235 // wrapper function for command vkCmdSetLineWidth, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineWidth.html 5236 template <typename Dispatch> setLineWidth(float lineWidth,Dispatch const & d) const5237 VULKAN_HPP_INLINE void CommandBuffer::setLineWidth( float lineWidth, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5238 { 5239 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5240 d.vkCmdSetLineWidth( static_cast<VkCommandBuffer>( m_commandBuffer ), lineWidth ); 5241 } 5242 5243 // wrapper function for command vkCmdSetDepthBias, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBias.html 5244 template <typename Dispatch> 5245 VULKAN_HPP_INLINE void setDepthBias(float depthBiasConstantFactor,float depthBiasClamp,float depthBiasSlopeFactor,Dispatch const & d) const5246 CommandBuffer::setDepthBias( float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5247 { 5248 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5249 d.vkCmdSetDepthBias( static_cast<VkCommandBuffer>( m_commandBuffer ), depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor ); 5250 } 5251 5252 // wrapper function for command vkCmdSetBlendConstants, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetBlendConstants.html 5253 template <typename Dispatch> setBlendConstants(const float blendConstants[4],Dispatch const & d) const5254 VULKAN_HPP_INLINE void CommandBuffer::setBlendConstants( const float blendConstants[4], Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5255 { 5256 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5257 d.vkCmdSetBlendConstants( static_cast<VkCommandBuffer>( m_commandBuffer ), blendConstants ); 5258 } 5259 5260 // wrapper function for command vkCmdSetDepthBounds, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBounds.html 5261 template <typename Dispatch> setDepthBounds(float minDepthBounds,float maxDepthBounds,Dispatch const & d) const5262 VULKAN_HPP_INLINE void CommandBuffer::setDepthBounds( float minDepthBounds, float maxDepthBounds, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5263 { 5264 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5265 d.vkCmdSetDepthBounds( static_cast<VkCommandBuffer>( m_commandBuffer ), minDepthBounds, maxDepthBounds ); 5266 } 5267 5268 // wrapper function for command vkCmdSetStencilCompareMask, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilCompareMask.html 5269 template <typename Dispatch> 5270 VULKAN_HPP_INLINE void setStencilCompareMask(VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,uint32_t compareMask,Dispatch const & d) const5271 CommandBuffer::setStencilCompareMask( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask, uint32_t compareMask, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5272 { 5273 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5274 d.vkCmdSetStencilCompareMask( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkStencilFaceFlags>( faceMask ), compareMask ); 5275 } 5276 5277 // wrapper function for command vkCmdSetStencilWriteMask, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilWriteMask.html 5278 template <typename Dispatch> 5279 VULKAN_HPP_INLINE void setStencilWriteMask(VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,uint32_t writeMask,Dispatch const & d) const5280 CommandBuffer::setStencilWriteMask( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask, uint32_t writeMask, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5281 { 5282 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5283 d.vkCmdSetStencilWriteMask( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkStencilFaceFlags>( faceMask ), writeMask ); 5284 } 5285 5286 // wrapper function for command vkCmdSetStencilReference, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilReference.html 5287 template <typename Dispatch> 5288 VULKAN_HPP_INLINE void setStencilReference(VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,uint32_t reference,Dispatch const & d) const5289 CommandBuffer::setStencilReference( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask, uint32_t reference, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5290 { 5291 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5292 d.vkCmdSetStencilReference( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkStencilFaceFlags>( faceMask ), reference ); 5293 } 5294 5295 // wrapper function for command vkCmdBindDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorSets.html 5296 template <typename Dispatch> bindDescriptorSets(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,VULKAN_HPP_NAMESPACE::PipelineLayout layout,uint32_t firstSet,uint32_t descriptorSetCount,const VULKAN_HPP_NAMESPACE::DescriptorSet * pDescriptorSets,uint32_t dynamicOffsetCount,const uint32_t * pDynamicOffsets,Dispatch const & d) const5297 VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorSets( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint, 5298 VULKAN_HPP_NAMESPACE::PipelineLayout layout, 5299 uint32_t firstSet, 5300 uint32_t descriptorSetCount, 5301 const VULKAN_HPP_NAMESPACE::DescriptorSet * pDescriptorSets, 5302 uint32_t dynamicOffsetCount, 5303 const uint32_t * pDynamicOffsets, 5304 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5305 { 5306 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5307 d.vkCmdBindDescriptorSets( static_cast<VkCommandBuffer>( m_commandBuffer ), 5308 static_cast<VkPipelineBindPoint>( pipelineBindPoint ), 5309 static_cast<VkPipelineLayout>( layout ), 5310 firstSet, 5311 descriptorSetCount, 5312 reinterpret_cast<const VkDescriptorSet *>( pDescriptorSets ), 5313 dynamicOffsetCount, 5314 pDynamicOffsets ); 5315 } 5316 5317 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 5318 // wrapper function for command vkCmdBindDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorSets.html 5319 template <typename Dispatch> bindDescriptorSets(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,VULKAN_HPP_NAMESPACE::PipelineLayout layout,uint32_t firstSet,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const & descriptorSets,VULKAN_HPP_NAMESPACE::ArrayProxy<const uint32_t> const & dynamicOffsets,Dispatch const & d) const5320 VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorSets( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint, 5321 VULKAN_HPP_NAMESPACE::PipelineLayout layout, 5322 uint32_t firstSet, 5323 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const & descriptorSets, 5324 VULKAN_HPP_NAMESPACE::ArrayProxy<const uint32_t> const & dynamicOffsets, 5325 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5326 { 5327 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5328 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 5329 VULKAN_HPP_ASSERT( d.vkCmdBindDescriptorSets && "Function <vkCmdBindDescriptorSets> requires <VK_VERSION_1_0>" ); 5330 # endif 5331 5332 d.vkCmdBindDescriptorSets( m_commandBuffer, 5333 static_cast<VkPipelineBindPoint>( pipelineBindPoint ), 5334 static_cast<VkPipelineLayout>( layout ), 5335 firstSet, 5336 descriptorSets.size(), 5337 reinterpret_cast<const VkDescriptorSet *>( descriptorSets.data() ), 5338 dynamicOffsets.size(), 5339 dynamicOffsets.data() ); 5340 } 5341 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 5342 5343 // wrapper function for command vkCmdBindIndexBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindIndexBuffer.html 5344 template <typename Dispatch> bindIndexBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer,VULKAN_HPP_NAMESPACE::DeviceSize offset,VULKAN_HPP_NAMESPACE::IndexType indexType,Dispatch const & d) const5345 VULKAN_HPP_INLINE void CommandBuffer::bindIndexBuffer( VULKAN_HPP_NAMESPACE::Buffer buffer, 5346 VULKAN_HPP_NAMESPACE::DeviceSize offset, 5347 VULKAN_HPP_NAMESPACE::IndexType indexType, 5348 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5349 { 5350 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5351 d.vkCmdBindIndexBuffer( static_cast<VkCommandBuffer>( m_commandBuffer ), 5352 static_cast<VkBuffer>( buffer ), 5353 static_cast<VkDeviceSize>( offset ), 5354 static_cast<VkIndexType>( indexType ) ); 5355 } 5356 5357 // wrapper function for command vkCmdBindVertexBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers.html 5358 template <typename Dispatch> bindVertexBuffers(uint32_t firstBinding,uint32_t bindingCount,const VULKAN_HPP_NAMESPACE::Buffer * pBuffers,const VULKAN_HPP_NAMESPACE::DeviceSize * pOffsets,Dispatch const & d) const5359 VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers( uint32_t firstBinding, 5360 uint32_t bindingCount, 5361 const VULKAN_HPP_NAMESPACE::Buffer * pBuffers, 5362 const VULKAN_HPP_NAMESPACE::DeviceSize * pOffsets, 5363 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5364 { 5365 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5366 d.vkCmdBindVertexBuffers( static_cast<VkCommandBuffer>( m_commandBuffer ), 5367 firstBinding, 5368 bindingCount, 5369 reinterpret_cast<const VkBuffer *>( pBuffers ), 5370 reinterpret_cast<const VkDeviceSize *>( pOffsets ) ); 5371 } 5372 5373 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 5374 // wrapper function for command vkCmdBindVertexBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers.html 5375 template <typename Dispatch> bindVertexBuffers(uint32_t firstBinding,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets,Dispatch const & d) const5376 VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers( uint32_t firstBinding, 5377 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers, 5378 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets, 5379 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS 5380 { 5381 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5382 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 5383 VULKAN_HPP_ASSERT( d.vkCmdBindVertexBuffers && "Function <vkCmdBindVertexBuffers> requires <VK_VERSION_1_0>" ); 5384 # endif 5385 # ifdef VULKAN_HPP_NO_EXCEPTIONS 5386 VULKAN_HPP_ASSERT( buffers.size() == offsets.size() ); 5387 # else 5388 if ( buffers.size() != offsets.size() ) 5389 { 5390 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindVertexBuffers: buffers.size() != offsets.size()" ); 5391 } 5392 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ 5393 5394 d.vkCmdBindVertexBuffers( m_commandBuffer, 5395 firstBinding, 5396 buffers.size(), 5397 reinterpret_cast<const VkBuffer *>( buffers.data() ), 5398 reinterpret_cast<const VkDeviceSize *>( offsets.data() ) ); 5399 } 5400 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 5401 5402 // wrapper function for command vkCmdDraw, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDraw.html 5403 template <typename Dispatch> draw(uint32_t vertexCount,uint32_t instanceCount,uint32_t firstVertex,uint32_t firstInstance,Dispatch const & d) const5404 VULKAN_HPP_INLINE void CommandBuffer::draw( 5405 uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5406 { 5407 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5408 d.vkCmdDraw( static_cast<VkCommandBuffer>( m_commandBuffer ), vertexCount, instanceCount, firstVertex, firstInstance ); 5409 } 5410 5411 // wrapper function for command vkCmdDrawIndexed, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexed.html 5412 template <typename Dispatch> drawIndexed(uint32_t indexCount,uint32_t instanceCount,uint32_t firstIndex,int32_t vertexOffset,uint32_t firstInstance,Dispatch const & d) const5413 VULKAN_HPP_INLINE void CommandBuffer::drawIndexed( uint32_t indexCount, 5414 uint32_t instanceCount, 5415 uint32_t firstIndex, 5416 int32_t vertexOffset, 5417 uint32_t firstInstance, 5418 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5419 { 5420 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5421 d.vkCmdDrawIndexed( static_cast<VkCommandBuffer>( m_commandBuffer ), indexCount, instanceCount, firstIndex, vertexOffset, firstInstance ); 5422 } 5423 5424 // wrapper function for command vkCmdDrawIndirect, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirect.html 5425 template <typename Dispatch> drawIndirect(VULKAN_HPP_NAMESPACE::Buffer buffer,VULKAN_HPP_NAMESPACE::DeviceSize offset,uint32_t drawCount,uint32_t stride,Dispatch const & d) const5426 VULKAN_HPP_INLINE void CommandBuffer::drawIndirect( VULKAN_HPP_NAMESPACE::Buffer buffer, 5427 VULKAN_HPP_NAMESPACE::DeviceSize offset, 5428 uint32_t drawCount, 5429 uint32_t stride, 5430 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5431 { 5432 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5433 d.vkCmdDrawIndirect( 5434 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBuffer>( buffer ), static_cast<VkDeviceSize>( offset ), drawCount, stride ); 5435 } 5436 5437 // wrapper function for command vkCmdDrawIndexedIndirect, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirect.html 5438 template <typename Dispatch> drawIndexedIndirect(VULKAN_HPP_NAMESPACE::Buffer buffer,VULKAN_HPP_NAMESPACE::DeviceSize offset,uint32_t drawCount,uint32_t stride,Dispatch const & d) const5439 VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirect( VULKAN_HPP_NAMESPACE::Buffer buffer, 5440 VULKAN_HPP_NAMESPACE::DeviceSize offset, 5441 uint32_t drawCount, 5442 uint32_t stride, 5443 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5444 { 5445 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5446 d.vkCmdDrawIndexedIndirect( 5447 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBuffer>( buffer ), static_cast<VkDeviceSize>( offset ), drawCount, stride ); 5448 } 5449 5450 // wrapper function for command vkCmdDispatch, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatch.html 5451 template <typename Dispatch> 5452 VULKAN_HPP_INLINE void dispatch(uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ,Dispatch const & d) const5453 CommandBuffer::dispatch( uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5454 { 5455 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5456 d.vkCmdDispatch( static_cast<VkCommandBuffer>( m_commandBuffer ), groupCountX, groupCountY, groupCountZ ); 5457 } 5458 5459 // wrapper function for command vkCmdDispatchIndirect, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchIndirect.html 5460 template <typename Dispatch> dispatchIndirect(VULKAN_HPP_NAMESPACE::Buffer buffer,VULKAN_HPP_NAMESPACE::DeviceSize offset,Dispatch const & d) const5461 VULKAN_HPP_INLINE void CommandBuffer::dispatchIndirect( VULKAN_HPP_NAMESPACE::Buffer buffer, 5462 VULKAN_HPP_NAMESPACE::DeviceSize offset, 5463 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5464 { 5465 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5466 d.vkCmdDispatchIndirect( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBuffer>( buffer ), static_cast<VkDeviceSize>( offset ) ); 5467 } 5468 5469 // wrapper function for command vkCmdCopyBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer.html 5470 template <typename Dispatch> copyBuffer(VULKAN_HPP_NAMESPACE::Buffer srcBuffer,VULKAN_HPP_NAMESPACE::Buffer dstBuffer,uint32_t regionCount,const VULKAN_HPP_NAMESPACE::BufferCopy * pRegions,Dispatch const & d) const5471 VULKAN_HPP_INLINE void CommandBuffer::copyBuffer( VULKAN_HPP_NAMESPACE::Buffer srcBuffer, 5472 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, 5473 uint32_t regionCount, 5474 const VULKAN_HPP_NAMESPACE::BufferCopy * pRegions, 5475 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5476 { 5477 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5478 d.vkCmdCopyBuffer( static_cast<VkCommandBuffer>( m_commandBuffer ), 5479 static_cast<VkBuffer>( srcBuffer ), 5480 static_cast<VkBuffer>( dstBuffer ), 5481 regionCount, 5482 reinterpret_cast<const VkBufferCopy *>( pRegions ) ); 5483 } 5484 5485 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 5486 // wrapper function for command vkCmdCopyBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer.html 5487 template <typename Dispatch> copyBuffer(VULKAN_HPP_NAMESPACE::Buffer srcBuffer,VULKAN_HPP_NAMESPACE::Buffer dstBuffer,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferCopy> const & regions,Dispatch const & d) const5488 VULKAN_HPP_INLINE void CommandBuffer::copyBuffer( VULKAN_HPP_NAMESPACE::Buffer srcBuffer, 5489 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, 5490 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferCopy> const & regions, 5491 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5492 { 5493 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5494 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 5495 VULKAN_HPP_ASSERT( d.vkCmdCopyBuffer && "Function <vkCmdCopyBuffer> requires <VK_VERSION_1_0>" ); 5496 # endif 5497 5498 d.vkCmdCopyBuffer( m_commandBuffer, 5499 static_cast<VkBuffer>( srcBuffer ), 5500 static_cast<VkBuffer>( dstBuffer ), 5501 regions.size(), 5502 reinterpret_cast<const VkBufferCopy *>( regions.data() ) ); 5503 } 5504 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 5505 5506 // wrapper function for command vkCmdCopyImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImage.html 5507 template <typename Dispatch> copyImage(VULKAN_HPP_NAMESPACE::Image srcImage,VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,VULKAN_HPP_NAMESPACE::Image dstImage,VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,uint32_t regionCount,const VULKAN_HPP_NAMESPACE::ImageCopy * pRegions,Dispatch const & d) const5508 VULKAN_HPP_INLINE void CommandBuffer::copyImage( VULKAN_HPP_NAMESPACE::Image srcImage, 5509 VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout, 5510 VULKAN_HPP_NAMESPACE::Image dstImage, 5511 VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout, 5512 uint32_t regionCount, 5513 const VULKAN_HPP_NAMESPACE::ImageCopy * pRegions, 5514 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5515 { 5516 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5517 d.vkCmdCopyImage( static_cast<VkCommandBuffer>( m_commandBuffer ), 5518 static_cast<VkImage>( srcImage ), 5519 static_cast<VkImageLayout>( srcImageLayout ), 5520 static_cast<VkImage>( dstImage ), 5521 static_cast<VkImageLayout>( dstImageLayout ), 5522 regionCount, 5523 reinterpret_cast<const VkImageCopy *>( pRegions ) ); 5524 } 5525 5526 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 5527 // wrapper function for command vkCmdCopyImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImage.html 5528 template <typename Dispatch> copyImage(VULKAN_HPP_NAMESPACE::Image srcImage,VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,VULKAN_HPP_NAMESPACE::Image dstImage,VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageCopy> const & regions,Dispatch const & d) const5529 VULKAN_HPP_INLINE void CommandBuffer::copyImage( VULKAN_HPP_NAMESPACE::Image srcImage, 5530 VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout, 5531 VULKAN_HPP_NAMESPACE::Image dstImage, 5532 VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout, 5533 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageCopy> const & regions, 5534 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5535 { 5536 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5537 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 5538 VULKAN_HPP_ASSERT( d.vkCmdCopyImage && "Function <vkCmdCopyImage> requires <VK_VERSION_1_0>" ); 5539 # endif 5540 5541 d.vkCmdCopyImage( m_commandBuffer, 5542 static_cast<VkImage>( srcImage ), 5543 static_cast<VkImageLayout>( srcImageLayout ), 5544 static_cast<VkImage>( dstImage ), 5545 static_cast<VkImageLayout>( dstImageLayout ), 5546 regions.size(), 5547 reinterpret_cast<const VkImageCopy *>( regions.data() ) ); 5548 } 5549 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 5550 5551 // wrapper function for command vkCmdBlitImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBlitImage.html 5552 template <typename Dispatch> blitImage(VULKAN_HPP_NAMESPACE::Image srcImage,VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,VULKAN_HPP_NAMESPACE::Image dstImage,VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,uint32_t regionCount,const VULKAN_HPP_NAMESPACE::ImageBlit * pRegions,VULKAN_HPP_NAMESPACE::Filter filter,Dispatch const & d) const5553 VULKAN_HPP_INLINE void CommandBuffer::blitImage( VULKAN_HPP_NAMESPACE::Image srcImage, 5554 VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout, 5555 VULKAN_HPP_NAMESPACE::Image dstImage, 5556 VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout, 5557 uint32_t regionCount, 5558 const VULKAN_HPP_NAMESPACE::ImageBlit * pRegions, 5559 VULKAN_HPP_NAMESPACE::Filter filter, 5560 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5561 { 5562 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5563 d.vkCmdBlitImage( static_cast<VkCommandBuffer>( m_commandBuffer ), 5564 static_cast<VkImage>( srcImage ), 5565 static_cast<VkImageLayout>( srcImageLayout ), 5566 static_cast<VkImage>( dstImage ), 5567 static_cast<VkImageLayout>( dstImageLayout ), 5568 regionCount, 5569 reinterpret_cast<const VkImageBlit *>( pRegions ), 5570 static_cast<VkFilter>( filter ) ); 5571 } 5572 5573 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 5574 // wrapper function for command vkCmdBlitImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBlitImage.html 5575 template <typename Dispatch> blitImage(VULKAN_HPP_NAMESPACE::Image srcImage,VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,VULKAN_HPP_NAMESPACE::Image dstImage,VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageBlit> const & regions,VULKAN_HPP_NAMESPACE::Filter filter,Dispatch const & d) const5576 VULKAN_HPP_INLINE void CommandBuffer::blitImage( VULKAN_HPP_NAMESPACE::Image srcImage, 5577 VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout, 5578 VULKAN_HPP_NAMESPACE::Image dstImage, 5579 VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout, 5580 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageBlit> const & regions, 5581 VULKAN_HPP_NAMESPACE::Filter filter, 5582 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5583 { 5584 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5585 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 5586 VULKAN_HPP_ASSERT( d.vkCmdBlitImage && "Function <vkCmdBlitImage> requires <VK_VERSION_1_0>" ); 5587 # endif 5588 5589 d.vkCmdBlitImage( m_commandBuffer, 5590 static_cast<VkImage>( srcImage ), 5591 static_cast<VkImageLayout>( srcImageLayout ), 5592 static_cast<VkImage>( dstImage ), 5593 static_cast<VkImageLayout>( dstImageLayout ), 5594 regions.size(), 5595 reinterpret_cast<const VkImageBlit *>( regions.data() ), 5596 static_cast<VkFilter>( filter ) ); 5597 } 5598 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 5599 5600 // wrapper function for command vkCmdCopyBufferToImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBufferToImage.html 5601 template <typename Dispatch> copyBufferToImage(VULKAN_HPP_NAMESPACE::Buffer srcBuffer,VULKAN_HPP_NAMESPACE::Image dstImage,VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,uint32_t regionCount,const VULKAN_HPP_NAMESPACE::BufferImageCopy * pRegions,Dispatch const & d) const5602 VULKAN_HPP_INLINE void CommandBuffer::copyBufferToImage( VULKAN_HPP_NAMESPACE::Buffer srcBuffer, 5603 VULKAN_HPP_NAMESPACE::Image dstImage, 5604 VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout, 5605 uint32_t regionCount, 5606 const VULKAN_HPP_NAMESPACE::BufferImageCopy * pRegions, 5607 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5608 { 5609 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5610 d.vkCmdCopyBufferToImage( static_cast<VkCommandBuffer>( m_commandBuffer ), 5611 static_cast<VkBuffer>( srcBuffer ), 5612 static_cast<VkImage>( dstImage ), 5613 static_cast<VkImageLayout>( dstImageLayout ), 5614 regionCount, 5615 reinterpret_cast<const VkBufferImageCopy *>( pRegions ) ); 5616 } 5617 5618 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 5619 // wrapper function for command vkCmdCopyBufferToImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBufferToImage.html 5620 template <typename Dispatch> copyBufferToImage(VULKAN_HPP_NAMESPACE::Buffer srcBuffer,VULKAN_HPP_NAMESPACE::Image dstImage,VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferImageCopy> const & regions,Dispatch const & d) const5621 VULKAN_HPP_INLINE void CommandBuffer::copyBufferToImage( VULKAN_HPP_NAMESPACE::Buffer srcBuffer, 5622 VULKAN_HPP_NAMESPACE::Image dstImage, 5623 VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout, 5624 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferImageCopy> const & regions, 5625 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5626 { 5627 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5628 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 5629 VULKAN_HPP_ASSERT( d.vkCmdCopyBufferToImage && "Function <vkCmdCopyBufferToImage> requires <VK_VERSION_1_0>" ); 5630 # endif 5631 5632 d.vkCmdCopyBufferToImage( m_commandBuffer, 5633 static_cast<VkBuffer>( srcBuffer ), 5634 static_cast<VkImage>( dstImage ), 5635 static_cast<VkImageLayout>( dstImageLayout ), 5636 regions.size(), 5637 reinterpret_cast<const VkBufferImageCopy *>( regions.data() ) ); 5638 } 5639 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 5640 5641 // wrapper function for command vkCmdCopyImageToBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToBuffer.html 5642 template <typename Dispatch> copyImageToBuffer(VULKAN_HPP_NAMESPACE::Image srcImage,VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,VULKAN_HPP_NAMESPACE::Buffer dstBuffer,uint32_t regionCount,const VULKAN_HPP_NAMESPACE::BufferImageCopy * pRegions,Dispatch const & d) const5643 VULKAN_HPP_INLINE void CommandBuffer::copyImageToBuffer( VULKAN_HPP_NAMESPACE::Image srcImage, 5644 VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout, 5645 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, 5646 uint32_t regionCount, 5647 const VULKAN_HPP_NAMESPACE::BufferImageCopy * pRegions, 5648 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5649 { 5650 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5651 d.vkCmdCopyImageToBuffer( static_cast<VkCommandBuffer>( m_commandBuffer ), 5652 static_cast<VkImage>( srcImage ), 5653 static_cast<VkImageLayout>( srcImageLayout ), 5654 static_cast<VkBuffer>( dstBuffer ), 5655 regionCount, 5656 reinterpret_cast<const VkBufferImageCopy *>( pRegions ) ); 5657 } 5658 5659 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 5660 // wrapper function for command vkCmdCopyImageToBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToBuffer.html 5661 template <typename Dispatch> copyImageToBuffer(VULKAN_HPP_NAMESPACE::Image srcImage,VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,VULKAN_HPP_NAMESPACE::Buffer dstBuffer,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferImageCopy> const & regions,Dispatch const & d) const5662 VULKAN_HPP_INLINE void CommandBuffer::copyImageToBuffer( VULKAN_HPP_NAMESPACE::Image srcImage, 5663 VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout, 5664 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, 5665 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferImageCopy> const & regions, 5666 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5667 { 5668 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5669 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 5670 VULKAN_HPP_ASSERT( d.vkCmdCopyImageToBuffer && "Function <vkCmdCopyImageToBuffer> requires <VK_VERSION_1_0>" ); 5671 # endif 5672 5673 d.vkCmdCopyImageToBuffer( m_commandBuffer, 5674 static_cast<VkImage>( srcImage ), 5675 static_cast<VkImageLayout>( srcImageLayout ), 5676 static_cast<VkBuffer>( dstBuffer ), 5677 regions.size(), 5678 reinterpret_cast<const VkBufferImageCopy *>( regions.data() ) ); 5679 } 5680 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 5681 5682 // wrapper function for command vkCmdUpdateBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdUpdateBuffer.html 5683 template <typename Dispatch> updateBuffer(VULKAN_HPP_NAMESPACE::Buffer dstBuffer,VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,VULKAN_HPP_NAMESPACE::DeviceSize dataSize,const void * pData,Dispatch const & d) const5684 VULKAN_HPP_INLINE void CommandBuffer::updateBuffer( VULKAN_HPP_NAMESPACE::Buffer dstBuffer, 5685 VULKAN_HPP_NAMESPACE::DeviceSize dstOffset, 5686 VULKAN_HPP_NAMESPACE::DeviceSize dataSize, 5687 const void * pData, 5688 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5689 { 5690 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5691 d.vkCmdUpdateBuffer( static_cast<VkCommandBuffer>( m_commandBuffer ), 5692 static_cast<VkBuffer>( dstBuffer ), 5693 static_cast<VkDeviceSize>( dstOffset ), 5694 static_cast<VkDeviceSize>( dataSize ), 5695 pData ); 5696 } 5697 5698 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 5699 // wrapper function for command vkCmdUpdateBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdUpdateBuffer.html 5700 template <typename DataType, typename Dispatch> updateBuffer(VULKAN_HPP_NAMESPACE::Buffer dstBuffer,VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,VULKAN_HPP_NAMESPACE::ArrayProxy<const DataType> const & data,Dispatch const & d) const5701 VULKAN_HPP_INLINE void CommandBuffer::updateBuffer( VULKAN_HPP_NAMESPACE::Buffer dstBuffer, 5702 VULKAN_HPP_NAMESPACE::DeviceSize dstOffset, 5703 VULKAN_HPP_NAMESPACE::ArrayProxy<const DataType> const & data, 5704 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5705 { 5706 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5707 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 5708 VULKAN_HPP_ASSERT( d.vkCmdUpdateBuffer && "Function <vkCmdUpdateBuffer> requires <VK_VERSION_1_0>" ); 5709 # endif 5710 5711 d.vkCmdUpdateBuffer( m_commandBuffer, 5712 static_cast<VkBuffer>( dstBuffer ), 5713 static_cast<VkDeviceSize>( dstOffset ), 5714 data.size() * sizeof( DataType ), 5715 reinterpret_cast<const void *>( data.data() ) ); 5716 } 5717 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 5718 5719 // wrapper function for command vkCmdFillBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdFillBuffer.html 5720 template <typename Dispatch> fillBuffer(VULKAN_HPP_NAMESPACE::Buffer dstBuffer,VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,VULKAN_HPP_NAMESPACE::DeviceSize size,uint32_t data,Dispatch const & d) const5721 VULKAN_HPP_INLINE void CommandBuffer::fillBuffer( VULKAN_HPP_NAMESPACE::Buffer dstBuffer, 5722 VULKAN_HPP_NAMESPACE::DeviceSize dstOffset, 5723 VULKAN_HPP_NAMESPACE::DeviceSize size, 5724 uint32_t data, 5725 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5726 { 5727 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5728 d.vkCmdFillBuffer( static_cast<VkCommandBuffer>( m_commandBuffer ), 5729 static_cast<VkBuffer>( dstBuffer ), 5730 static_cast<VkDeviceSize>( dstOffset ), 5731 static_cast<VkDeviceSize>( size ), 5732 data ); 5733 } 5734 5735 // wrapper function for command vkCmdClearColorImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdClearColorImage.html 5736 template <typename Dispatch> clearColorImage(VULKAN_HPP_NAMESPACE::Image image,VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,const VULKAN_HPP_NAMESPACE::ClearColorValue * pColor,uint32_t rangeCount,const VULKAN_HPP_NAMESPACE::ImageSubresourceRange * pRanges,Dispatch const & d) const5737 VULKAN_HPP_INLINE void CommandBuffer::clearColorImage( VULKAN_HPP_NAMESPACE::Image image, 5738 VULKAN_HPP_NAMESPACE::ImageLayout imageLayout, 5739 const VULKAN_HPP_NAMESPACE::ClearColorValue * pColor, 5740 uint32_t rangeCount, 5741 const VULKAN_HPP_NAMESPACE::ImageSubresourceRange * pRanges, 5742 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5743 { 5744 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5745 d.vkCmdClearColorImage( static_cast<VkCommandBuffer>( m_commandBuffer ), 5746 static_cast<VkImage>( image ), 5747 static_cast<VkImageLayout>( imageLayout ), 5748 reinterpret_cast<const VkClearColorValue *>( pColor ), 5749 rangeCount, 5750 reinterpret_cast<const VkImageSubresourceRange *>( pRanges ) ); 5751 } 5752 5753 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 5754 // wrapper function for command vkCmdClearColorImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdClearColorImage.html 5755 template <typename Dispatch> clearColorImage(VULKAN_HPP_NAMESPACE::Image image,VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,const VULKAN_HPP_NAMESPACE::ClearColorValue & color,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceRange> const & ranges,Dispatch const & d) const5756 VULKAN_HPP_INLINE void CommandBuffer::clearColorImage( VULKAN_HPP_NAMESPACE::Image image, 5757 VULKAN_HPP_NAMESPACE::ImageLayout imageLayout, 5758 const VULKAN_HPP_NAMESPACE::ClearColorValue & color, 5759 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceRange> const & ranges, 5760 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5761 { 5762 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5763 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 5764 VULKAN_HPP_ASSERT( d.vkCmdClearColorImage && "Function <vkCmdClearColorImage> requires <VK_VERSION_1_0>" ); 5765 # endif 5766 5767 d.vkCmdClearColorImage( m_commandBuffer, 5768 static_cast<VkImage>( image ), 5769 static_cast<VkImageLayout>( imageLayout ), 5770 reinterpret_cast<const VkClearColorValue *>( &color ), 5771 ranges.size(), 5772 reinterpret_cast<const VkImageSubresourceRange *>( ranges.data() ) ); 5773 } 5774 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 5775 5776 // wrapper function for command vkCmdClearDepthStencilImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdClearDepthStencilImage.html 5777 template <typename Dispatch> clearDepthStencilImage(VULKAN_HPP_NAMESPACE::Image image,VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,const VULKAN_HPP_NAMESPACE::ClearDepthStencilValue * pDepthStencil,uint32_t rangeCount,const VULKAN_HPP_NAMESPACE::ImageSubresourceRange * pRanges,Dispatch const & d) const5778 VULKAN_HPP_INLINE void CommandBuffer::clearDepthStencilImage( VULKAN_HPP_NAMESPACE::Image image, 5779 VULKAN_HPP_NAMESPACE::ImageLayout imageLayout, 5780 const VULKAN_HPP_NAMESPACE::ClearDepthStencilValue * pDepthStencil, 5781 uint32_t rangeCount, 5782 const VULKAN_HPP_NAMESPACE::ImageSubresourceRange * pRanges, 5783 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5784 { 5785 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5786 d.vkCmdClearDepthStencilImage( static_cast<VkCommandBuffer>( m_commandBuffer ), 5787 static_cast<VkImage>( image ), 5788 static_cast<VkImageLayout>( imageLayout ), 5789 reinterpret_cast<const VkClearDepthStencilValue *>( pDepthStencil ), 5790 rangeCount, 5791 reinterpret_cast<const VkImageSubresourceRange *>( pRanges ) ); 5792 } 5793 5794 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 5795 // wrapper function for command vkCmdClearDepthStencilImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdClearDepthStencilImage.html 5796 template <typename Dispatch> 5797 VULKAN_HPP_INLINE void clearDepthStencilImage(VULKAN_HPP_NAMESPACE::Image image,VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,const VULKAN_HPP_NAMESPACE::ClearDepthStencilValue & depthStencil,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceRange> const & ranges,Dispatch const & d) const5798 CommandBuffer::clearDepthStencilImage( VULKAN_HPP_NAMESPACE::Image image, 5799 VULKAN_HPP_NAMESPACE::ImageLayout imageLayout, 5800 const VULKAN_HPP_NAMESPACE::ClearDepthStencilValue & depthStencil, 5801 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceRange> const & ranges, 5802 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5803 { 5804 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5805 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 5806 VULKAN_HPP_ASSERT( d.vkCmdClearDepthStencilImage && "Function <vkCmdClearDepthStencilImage> requires <VK_VERSION_1_0>" ); 5807 # endif 5808 5809 d.vkCmdClearDepthStencilImage( m_commandBuffer, 5810 static_cast<VkImage>( image ), 5811 static_cast<VkImageLayout>( imageLayout ), 5812 reinterpret_cast<const VkClearDepthStencilValue *>( &depthStencil ), 5813 ranges.size(), 5814 reinterpret_cast<const VkImageSubresourceRange *>( ranges.data() ) ); 5815 } 5816 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 5817 5818 // wrapper function for command vkCmdClearAttachments, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdClearAttachments.html 5819 template <typename Dispatch> clearAttachments(uint32_t attachmentCount,const VULKAN_HPP_NAMESPACE::ClearAttachment * pAttachments,uint32_t rectCount,const VULKAN_HPP_NAMESPACE::ClearRect * pRects,Dispatch const & d) const5820 VULKAN_HPP_INLINE void CommandBuffer::clearAttachments( uint32_t attachmentCount, 5821 const VULKAN_HPP_NAMESPACE::ClearAttachment * pAttachments, 5822 uint32_t rectCount, 5823 const VULKAN_HPP_NAMESPACE::ClearRect * pRects, 5824 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5825 { 5826 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5827 d.vkCmdClearAttachments( static_cast<VkCommandBuffer>( m_commandBuffer ), 5828 attachmentCount, 5829 reinterpret_cast<const VkClearAttachment *>( pAttachments ), 5830 rectCount, 5831 reinterpret_cast<const VkClearRect *>( pRects ) ); 5832 } 5833 5834 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 5835 // wrapper function for command vkCmdClearAttachments, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdClearAttachments.html 5836 template <typename Dispatch> clearAttachments(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ClearAttachment> const & attachments,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ClearRect> const & rects,Dispatch const & d) const5837 VULKAN_HPP_INLINE void CommandBuffer::clearAttachments( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ClearAttachment> const & attachments, 5838 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ClearRect> const & rects, 5839 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5840 { 5841 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5842 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 5843 VULKAN_HPP_ASSERT( d.vkCmdClearAttachments && "Function <vkCmdClearAttachments> requires <VK_VERSION_1_0>" ); 5844 # endif 5845 5846 d.vkCmdClearAttachments( m_commandBuffer, 5847 attachments.size(), 5848 reinterpret_cast<const VkClearAttachment *>( attachments.data() ), 5849 rects.size(), 5850 reinterpret_cast<const VkClearRect *>( rects.data() ) ); 5851 } 5852 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 5853 5854 // wrapper function for command vkCmdResolveImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResolveImage.html 5855 template <typename Dispatch> resolveImage(VULKAN_HPP_NAMESPACE::Image srcImage,VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,VULKAN_HPP_NAMESPACE::Image dstImage,VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,uint32_t regionCount,const VULKAN_HPP_NAMESPACE::ImageResolve * pRegions,Dispatch const & d) const5856 VULKAN_HPP_INLINE void CommandBuffer::resolveImage( VULKAN_HPP_NAMESPACE::Image srcImage, 5857 VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout, 5858 VULKAN_HPP_NAMESPACE::Image dstImage, 5859 VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout, 5860 uint32_t regionCount, 5861 const VULKAN_HPP_NAMESPACE::ImageResolve * pRegions, 5862 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5863 { 5864 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5865 d.vkCmdResolveImage( static_cast<VkCommandBuffer>( m_commandBuffer ), 5866 static_cast<VkImage>( srcImage ), 5867 static_cast<VkImageLayout>( srcImageLayout ), 5868 static_cast<VkImage>( dstImage ), 5869 static_cast<VkImageLayout>( dstImageLayout ), 5870 regionCount, 5871 reinterpret_cast<const VkImageResolve *>( pRegions ) ); 5872 } 5873 5874 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 5875 // wrapper function for command vkCmdResolveImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResolveImage.html 5876 template <typename Dispatch> resolveImage(VULKAN_HPP_NAMESPACE::Image srcImage,VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,VULKAN_HPP_NAMESPACE::Image dstImage,VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageResolve> const & regions,Dispatch const & d) const5877 VULKAN_HPP_INLINE void CommandBuffer::resolveImage( VULKAN_HPP_NAMESPACE::Image srcImage, 5878 VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout, 5879 VULKAN_HPP_NAMESPACE::Image dstImage, 5880 VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout, 5881 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageResolve> const & regions, 5882 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5883 { 5884 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5885 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 5886 VULKAN_HPP_ASSERT( d.vkCmdResolveImage && "Function <vkCmdResolveImage> requires <VK_VERSION_1_0>" ); 5887 # endif 5888 5889 d.vkCmdResolveImage( m_commandBuffer, 5890 static_cast<VkImage>( srcImage ), 5891 static_cast<VkImageLayout>( srcImageLayout ), 5892 static_cast<VkImage>( dstImage ), 5893 static_cast<VkImageLayout>( dstImageLayout ), 5894 regions.size(), 5895 reinterpret_cast<const VkImageResolve *>( regions.data() ) ); 5896 } 5897 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 5898 5899 // wrapper function for command vkCmdSetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetEvent.html 5900 template <typename Dispatch> setEvent(VULKAN_HPP_NAMESPACE::Event event,VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask,Dispatch const & d) const5901 VULKAN_HPP_INLINE void CommandBuffer::setEvent( VULKAN_HPP_NAMESPACE::Event event, 5902 VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask, 5903 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5904 { 5905 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5906 d.vkCmdSetEvent( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkEvent>( event ), static_cast<VkPipelineStageFlags>( stageMask ) ); 5907 } 5908 5909 // wrapper function for command vkCmdResetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResetEvent.html 5910 template <typename Dispatch> resetEvent(VULKAN_HPP_NAMESPACE::Event event,VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask,Dispatch const & d) const5911 VULKAN_HPP_INLINE void CommandBuffer::resetEvent( VULKAN_HPP_NAMESPACE::Event event, 5912 VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask, 5913 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5914 { 5915 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5916 d.vkCmdResetEvent( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkEvent>( event ), static_cast<VkPipelineStageFlags>( stageMask ) ); 5917 } 5918 5919 // wrapper function for command vkCmdWaitEvents, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents.html 5920 template <typename Dispatch> waitEvents(uint32_t eventCount,const VULKAN_HPP_NAMESPACE::Event * pEvents,VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask,VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask,uint32_t memoryBarrierCount,const VULKAN_HPP_NAMESPACE::MemoryBarrier * pMemoryBarriers,uint32_t bufferMemoryBarrierCount,const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier * pBufferMemoryBarriers,uint32_t imageMemoryBarrierCount,const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier * pImageMemoryBarriers,Dispatch const & d) const5921 VULKAN_HPP_INLINE void CommandBuffer::waitEvents( uint32_t eventCount, 5922 const VULKAN_HPP_NAMESPACE::Event * pEvents, 5923 VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask, 5924 VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask, 5925 uint32_t memoryBarrierCount, 5926 const VULKAN_HPP_NAMESPACE::MemoryBarrier * pMemoryBarriers, 5927 uint32_t bufferMemoryBarrierCount, 5928 const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier * pBufferMemoryBarriers, 5929 uint32_t imageMemoryBarrierCount, 5930 const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier * pImageMemoryBarriers, 5931 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5932 { 5933 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5934 d.vkCmdWaitEvents( static_cast<VkCommandBuffer>( m_commandBuffer ), 5935 eventCount, 5936 reinterpret_cast<const VkEvent *>( pEvents ), 5937 static_cast<VkPipelineStageFlags>( srcStageMask ), 5938 static_cast<VkPipelineStageFlags>( dstStageMask ), 5939 memoryBarrierCount, 5940 reinterpret_cast<const VkMemoryBarrier *>( pMemoryBarriers ), 5941 bufferMemoryBarrierCount, 5942 reinterpret_cast<const VkBufferMemoryBarrier *>( pBufferMemoryBarriers ), 5943 imageMemoryBarrierCount, 5944 reinterpret_cast<const VkImageMemoryBarrier *>( pImageMemoryBarriers ) ); 5945 } 5946 5947 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 5948 // wrapper function for command vkCmdWaitEvents, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents.html 5949 template <typename Dispatch> 5950 VULKAN_HPP_INLINE void waitEvents(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const & events,VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask,VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryBarrier> const & memoryBarriers,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier> const & bufferMemoryBarriers,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier> const & imageMemoryBarriers,Dispatch const & d) const5951 CommandBuffer::waitEvents( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const & events, 5952 VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask, 5953 VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask, 5954 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryBarrier> const & memoryBarriers, 5955 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier> const & bufferMemoryBarriers, 5956 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier> const & imageMemoryBarriers, 5957 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5958 { 5959 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5960 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 5961 VULKAN_HPP_ASSERT( d.vkCmdWaitEvents && "Function <vkCmdWaitEvents> requires <VK_VERSION_1_0>" ); 5962 # endif 5963 5964 d.vkCmdWaitEvents( m_commandBuffer, 5965 events.size(), 5966 reinterpret_cast<const VkEvent *>( events.data() ), 5967 static_cast<VkPipelineStageFlags>( srcStageMask ), 5968 static_cast<VkPipelineStageFlags>( dstStageMask ), 5969 memoryBarriers.size(), 5970 reinterpret_cast<const VkMemoryBarrier *>( memoryBarriers.data() ), 5971 bufferMemoryBarriers.size(), 5972 reinterpret_cast<const VkBufferMemoryBarrier *>( bufferMemoryBarriers.data() ), 5973 imageMemoryBarriers.size(), 5974 reinterpret_cast<const VkImageMemoryBarrier *>( imageMemoryBarriers.data() ) ); 5975 } 5976 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 5977 5978 // wrapper function for command vkCmdPipelineBarrier, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPipelineBarrier.html 5979 template <typename Dispatch> pipelineBarrier(VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask,VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask,VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags,uint32_t memoryBarrierCount,const VULKAN_HPP_NAMESPACE::MemoryBarrier * pMemoryBarriers,uint32_t bufferMemoryBarrierCount,const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier * pBufferMemoryBarriers,uint32_t imageMemoryBarrierCount,const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier * pImageMemoryBarriers,Dispatch const & d) const5980 VULKAN_HPP_INLINE void CommandBuffer::pipelineBarrier( VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask, 5981 VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask, 5982 VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags, 5983 uint32_t memoryBarrierCount, 5984 const VULKAN_HPP_NAMESPACE::MemoryBarrier * pMemoryBarriers, 5985 uint32_t bufferMemoryBarrierCount, 5986 const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier * pBufferMemoryBarriers, 5987 uint32_t imageMemoryBarrierCount, 5988 const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier * pImageMemoryBarriers, 5989 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 5990 { 5991 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 5992 d.vkCmdPipelineBarrier( static_cast<VkCommandBuffer>( m_commandBuffer ), 5993 static_cast<VkPipelineStageFlags>( srcStageMask ), 5994 static_cast<VkPipelineStageFlags>( dstStageMask ), 5995 static_cast<VkDependencyFlags>( dependencyFlags ), 5996 memoryBarrierCount, 5997 reinterpret_cast<const VkMemoryBarrier *>( pMemoryBarriers ), 5998 bufferMemoryBarrierCount, 5999 reinterpret_cast<const VkBufferMemoryBarrier *>( pBufferMemoryBarriers ), 6000 imageMemoryBarrierCount, 6001 reinterpret_cast<const VkImageMemoryBarrier *>( pImageMemoryBarriers ) ); 6002 } 6003 6004 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 6005 // wrapper function for command vkCmdPipelineBarrier, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPipelineBarrier.html 6006 template <typename Dispatch> 6007 VULKAN_HPP_INLINE void pipelineBarrier(VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask,VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask,VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryBarrier> const & memoryBarriers,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier> const & bufferMemoryBarriers,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier> const & imageMemoryBarriers,Dispatch const & d) const6008 CommandBuffer::pipelineBarrier( VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask, 6009 VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask, 6010 VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags, 6011 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryBarrier> const & memoryBarriers, 6012 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier> const & bufferMemoryBarriers, 6013 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier> const & imageMemoryBarriers, 6014 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6015 { 6016 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6017 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6018 VULKAN_HPP_ASSERT( d.vkCmdPipelineBarrier && "Function <vkCmdPipelineBarrier> requires <VK_VERSION_1_0>" ); 6019 # endif 6020 6021 d.vkCmdPipelineBarrier( m_commandBuffer, 6022 static_cast<VkPipelineStageFlags>( srcStageMask ), 6023 static_cast<VkPipelineStageFlags>( dstStageMask ), 6024 static_cast<VkDependencyFlags>( dependencyFlags ), 6025 memoryBarriers.size(), 6026 reinterpret_cast<const VkMemoryBarrier *>( memoryBarriers.data() ), 6027 bufferMemoryBarriers.size(), 6028 reinterpret_cast<const VkBufferMemoryBarrier *>( bufferMemoryBarriers.data() ), 6029 imageMemoryBarriers.size(), 6030 reinterpret_cast<const VkImageMemoryBarrier *>( imageMemoryBarriers.data() ) ); 6031 } 6032 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 6033 6034 // wrapper function for command vkCmdBeginQuery, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginQuery.html 6035 template <typename Dispatch> beginQuery(VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t query,VULKAN_HPP_NAMESPACE::QueryControlFlags flags,Dispatch const & d) const6036 VULKAN_HPP_INLINE void CommandBuffer::beginQuery( VULKAN_HPP_NAMESPACE::QueryPool queryPool, 6037 uint32_t query, 6038 VULKAN_HPP_NAMESPACE::QueryControlFlags flags, 6039 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6040 { 6041 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6042 d.vkCmdBeginQuery( 6043 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkQueryPool>( queryPool ), query, static_cast<VkQueryControlFlags>( flags ) ); 6044 } 6045 6046 // wrapper function for command vkCmdEndQuery, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndQuery.html 6047 template <typename Dispatch> endQuery(VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t query,Dispatch const & d) const6048 VULKAN_HPP_INLINE void CommandBuffer::endQuery( VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6049 { 6050 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6051 d.vkCmdEndQuery( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkQueryPool>( queryPool ), query ); 6052 } 6053 6054 // wrapper function for command vkCmdResetQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResetQueryPool.html 6055 template <typename Dispatch> resetQueryPool(VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,Dispatch const & d) const6056 VULKAN_HPP_INLINE void CommandBuffer::resetQueryPool( VULKAN_HPP_NAMESPACE::QueryPool queryPool, 6057 uint32_t firstQuery, 6058 uint32_t queryCount, 6059 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6060 { 6061 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6062 d.vkCmdResetQueryPool( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkQueryPool>( queryPool ), firstQuery, queryCount ); 6063 } 6064 6065 // wrapper function for command vkCmdWriteTimestamp, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteTimestamp.html 6066 template <typename Dispatch> writeTimestamp(VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage,VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t query,Dispatch const & d) const6067 VULKAN_HPP_INLINE void CommandBuffer::writeTimestamp( VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage, 6068 VULKAN_HPP_NAMESPACE::QueryPool queryPool, 6069 uint32_t query, 6070 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6071 { 6072 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6073 d.vkCmdWriteTimestamp( 6074 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkPipelineStageFlagBits>( pipelineStage ), static_cast<VkQueryPool>( queryPool ), query ); 6075 } 6076 6077 // wrapper function for command vkCmdCopyQueryPoolResults, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyQueryPoolResults.html 6078 template <typename Dispatch> copyQueryPoolResults(VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,VULKAN_HPP_NAMESPACE::Buffer dstBuffer,VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,VULKAN_HPP_NAMESPACE::DeviceSize stride,VULKAN_HPP_NAMESPACE::QueryResultFlags flags,Dispatch const & d) const6079 VULKAN_HPP_INLINE void CommandBuffer::copyQueryPoolResults( VULKAN_HPP_NAMESPACE::QueryPool queryPool, 6080 uint32_t firstQuery, 6081 uint32_t queryCount, 6082 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, 6083 VULKAN_HPP_NAMESPACE::DeviceSize dstOffset, 6084 VULKAN_HPP_NAMESPACE::DeviceSize stride, 6085 VULKAN_HPP_NAMESPACE::QueryResultFlags flags, 6086 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6087 { 6088 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6089 d.vkCmdCopyQueryPoolResults( static_cast<VkCommandBuffer>( m_commandBuffer ), 6090 static_cast<VkQueryPool>( queryPool ), 6091 firstQuery, 6092 queryCount, 6093 static_cast<VkBuffer>( dstBuffer ), 6094 static_cast<VkDeviceSize>( dstOffset ), 6095 static_cast<VkDeviceSize>( stride ), 6096 static_cast<VkQueryResultFlags>( flags ) ); 6097 } 6098 6099 // wrapper function for command vkCmdPushConstants, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushConstants.html 6100 template <typename Dispatch> pushConstants(VULKAN_HPP_NAMESPACE::PipelineLayout layout,VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags,uint32_t offset,uint32_t size,const void * pValues,Dispatch const & d) const6101 VULKAN_HPP_INLINE void CommandBuffer::pushConstants( VULKAN_HPP_NAMESPACE::PipelineLayout layout, 6102 VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags, 6103 uint32_t offset, 6104 uint32_t size, 6105 const void * pValues, 6106 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6107 { 6108 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6109 d.vkCmdPushConstants( static_cast<VkCommandBuffer>( m_commandBuffer ), 6110 static_cast<VkPipelineLayout>( layout ), 6111 static_cast<VkShaderStageFlags>( stageFlags ), 6112 offset, 6113 size, 6114 pValues ); 6115 } 6116 6117 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 6118 // wrapper function for command vkCmdPushConstants, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushConstants.html 6119 template <typename ValuesType, typename Dispatch> pushConstants(VULKAN_HPP_NAMESPACE::PipelineLayout layout,VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags,uint32_t offset,VULKAN_HPP_NAMESPACE::ArrayProxy<const ValuesType> const & values,Dispatch const & d) const6120 VULKAN_HPP_INLINE void CommandBuffer::pushConstants( VULKAN_HPP_NAMESPACE::PipelineLayout layout, 6121 VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags, 6122 uint32_t offset, 6123 VULKAN_HPP_NAMESPACE::ArrayProxy<const ValuesType> const & values, 6124 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6125 { 6126 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6127 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6128 VULKAN_HPP_ASSERT( d.vkCmdPushConstants && "Function <vkCmdPushConstants> requires <VK_VERSION_1_0>" ); 6129 # endif 6130 6131 d.vkCmdPushConstants( m_commandBuffer, 6132 static_cast<VkPipelineLayout>( layout ), 6133 static_cast<VkShaderStageFlags>( stageFlags ), 6134 offset, 6135 values.size() * sizeof( ValuesType ), 6136 reinterpret_cast<const void *>( values.data() ) ); 6137 } 6138 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 6139 6140 // wrapper function for command vkCmdBeginRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass.html 6141 template <typename Dispatch> beginRenderPass(const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo * pRenderPassBegin,VULKAN_HPP_NAMESPACE::SubpassContents contents,Dispatch const & d) const6142 VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass( const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo * pRenderPassBegin, 6143 VULKAN_HPP_NAMESPACE::SubpassContents contents, 6144 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6145 { 6146 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6147 d.vkCmdBeginRenderPass( static_cast<VkCommandBuffer>( m_commandBuffer ), 6148 reinterpret_cast<const VkRenderPassBeginInfo *>( pRenderPassBegin ), 6149 static_cast<VkSubpassContents>( contents ) ); 6150 } 6151 6152 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 6153 // wrapper function for command vkCmdBeginRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass.html 6154 template <typename Dispatch> beginRenderPass(const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo & renderPassBegin,VULKAN_HPP_NAMESPACE::SubpassContents contents,Dispatch const & d) const6155 VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass( const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo & renderPassBegin, 6156 VULKAN_HPP_NAMESPACE::SubpassContents contents, 6157 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6158 { 6159 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6160 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6161 VULKAN_HPP_ASSERT( d.vkCmdBeginRenderPass && "Function <vkCmdBeginRenderPass> requires <VK_VERSION_1_0>" ); 6162 # endif 6163 6164 d.vkCmdBeginRenderPass( m_commandBuffer, reinterpret_cast<const VkRenderPassBeginInfo *>( &renderPassBegin ), static_cast<VkSubpassContents>( contents ) ); 6165 } 6166 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 6167 6168 // wrapper function for command vkCmdNextSubpass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdNextSubpass.html 6169 template <typename Dispatch> nextSubpass(VULKAN_HPP_NAMESPACE::SubpassContents contents,Dispatch const & d) const6170 VULKAN_HPP_INLINE void CommandBuffer::nextSubpass( VULKAN_HPP_NAMESPACE::SubpassContents contents, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6171 { 6172 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6173 d.vkCmdNextSubpass( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkSubpassContents>( contents ) ); 6174 } 6175 6176 // wrapper function for command vkCmdEndRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderPass.html 6177 template <typename Dispatch> endRenderPass(Dispatch const & d) const6178 VULKAN_HPP_INLINE void CommandBuffer::endRenderPass( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6179 { 6180 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6181 d.vkCmdEndRenderPass( static_cast<VkCommandBuffer>( m_commandBuffer ) ); 6182 } 6183 6184 // wrapper function for command vkCmdExecuteCommands, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdExecuteCommands.html 6185 template <typename Dispatch> executeCommands(uint32_t commandBufferCount,const VULKAN_HPP_NAMESPACE::CommandBuffer * pCommandBuffers,Dispatch const & d) const6186 VULKAN_HPP_INLINE void CommandBuffer::executeCommands( uint32_t commandBufferCount, 6187 const VULKAN_HPP_NAMESPACE::CommandBuffer * pCommandBuffers, 6188 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6189 { 6190 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6191 d.vkCmdExecuteCommands( static_cast<VkCommandBuffer>( m_commandBuffer ), commandBufferCount, reinterpret_cast<const VkCommandBuffer *>( pCommandBuffers ) ); 6192 } 6193 6194 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 6195 // wrapper function for command vkCmdExecuteCommands, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdExecuteCommands.html 6196 template <typename Dispatch> executeCommands(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const & commandBuffers,Dispatch const & d) const6197 VULKAN_HPP_INLINE void CommandBuffer::executeCommands( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const & commandBuffers, 6198 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6199 { 6200 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6201 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6202 VULKAN_HPP_ASSERT( d.vkCmdExecuteCommands && "Function <vkCmdExecuteCommands> requires <VK_VERSION_1_0>" ); 6203 # endif 6204 6205 d.vkCmdExecuteCommands( m_commandBuffer, commandBuffers.size(), reinterpret_cast<const VkCommandBuffer *>( commandBuffers.data() ) ); 6206 } 6207 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 6208 6209 //=== VK_VERSION_1_1 === 6210 6211 // wrapper function for command vkEnumerateInstanceVersion, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceVersion.html 6212 template <typename Dispatch> enumerateInstanceVersion(uint32_t * pApiVersion,Dispatch const & d)6213 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result enumerateInstanceVersion( uint32_t * pApiVersion, Dispatch const & d ) VULKAN_HPP_NOEXCEPT 6214 { 6215 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6216 return static_cast<Result>( d.vkEnumerateInstanceVersion( pApiVersion ) ); 6217 } 6218 6219 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 6220 // wrapper function for command vkEnumerateInstanceVersion, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceVersion.html 6221 template <typename Dispatch> enumerateInstanceVersion(Dispatch const & d)6222 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<uint32_t>::type enumerateInstanceVersion( Dispatch const & d ) 6223 { 6224 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6225 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6226 VULKAN_HPP_ASSERT( d.vkEnumerateInstanceVersion && "Function <vkEnumerateInstanceVersion> requires <VK_VERSION_1_1>" ); 6227 # endif 6228 6229 uint32_t apiVersion; 6230 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkEnumerateInstanceVersion( &apiVersion ) ); 6231 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::enumerateInstanceVersion" ); 6232 6233 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( apiVersion ) ); 6234 } 6235 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 6236 6237 // wrapper function for command vkBindBufferMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindBufferMemory2.html 6238 template <typename Dispatch> bindBufferMemory2(uint32_t bindInfoCount,const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo * pBindInfos,Dispatch const & d) const6239 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::bindBufferMemory2( uint32_t bindInfoCount, 6240 const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo * pBindInfos, 6241 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6242 { 6243 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6244 return static_cast<Result>( 6245 d.vkBindBufferMemory2( static_cast<VkDevice>( m_device ), bindInfoCount, reinterpret_cast<const VkBindBufferMemoryInfo *>( pBindInfos ) ) ); 6246 } 6247 6248 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 6249 // wrapper function for command vkBindBufferMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindBufferMemory2.html 6250 template <typename Dispatch> 6251 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type bindBufferMemory2(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const & bindInfos,Dispatch const & d) const6252 Device::bindBufferMemory2( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const & bindInfos, Dispatch const & d ) const 6253 { 6254 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6255 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6256 VULKAN_HPP_ASSERT( d.vkBindBufferMemory2 && "Function <vkBindBufferMemory2> requires <VK_KHR_bind_memory2> or <VK_VERSION_1_1>" ); 6257 # endif 6258 6259 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 6260 d.vkBindBufferMemory2( m_device, bindInfos.size(), reinterpret_cast<const VkBindBufferMemoryInfo *>( bindInfos.data() ) ) ); 6261 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindBufferMemory2" ); 6262 6263 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 6264 } 6265 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 6266 6267 // wrapper function for command vkBindImageMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory2.html 6268 template <typename Dispatch> bindImageMemory2(uint32_t bindInfoCount,const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo * pBindInfos,Dispatch const & d) const6269 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::bindImageMemory2( uint32_t bindInfoCount, 6270 const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo * pBindInfos, 6271 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6272 { 6273 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6274 return static_cast<Result>( 6275 d.vkBindImageMemory2( static_cast<VkDevice>( m_device ), bindInfoCount, reinterpret_cast<const VkBindImageMemoryInfo *>( pBindInfos ) ) ); 6276 } 6277 6278 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 6279 // wrapper function for command vkBindImageMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory2.html 6280 template <typename Dispatch> 6281 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type bindImageMemory2(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const & bindInfos,Dispatch const & d) const6282 Device::bindImageMemory2( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const & bindInfos, Dispatch const & d ) const 6283 { 6284 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6285 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6286 VULKAN_HPP_ASSERT( d.vkBindImageMemory2 && "Function <vkBindImageMemory2> requires <VK_KHR_bind_memory2> or <VK_VERSION_1_1>" ); 6287 # endif 6288 6289 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 6290 d.vkBindImageMemory2( m_device, bindInfos.size(), reinterpret_cast<const VkBindImageMemoryInfo *>( bindInfos.data() ) ) ); 6291 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindImageMemory2" ); 6292 6293 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 6294 } 6295 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 6296 6297 // wrapper function for command vkGetDeviceGroupPeerMemoryFeatures, see 6298 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupPeerMemoryFeatures.html 6299 template <typename Dispatch> getGroupPeerMemoryFeatures(uint32_t heapIndex,uint32_t localDeviceIndex,uint32_t remoteDeviceIndex,VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags * pPeerMemoryFeatures,Dispatch const & d) const6300 VULKAN_HPP_INLINE void Device::getGroupPeerMemoryFeatures( uint32_t heapIndex, 6301 uint32_t localDeviceIndex, 6302 uint32_t remoteDeviceIndex, 6303 VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags * pPeerMemoryFeatures, 6304 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6305 { 6306 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6307 d.vkGetDeviceGroupPeerMemoryFeatures( 6308 static_cast<VkDevice>( m_device ), heapIndex, localDeviceIndex, remoteDeviceIndex, reinterpret_cast<VkPeerMemoryFeatureFlags *>( pPeerMemoryFeatures ) ); 6309 } 6310 6311 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 6312 // wrapper function for command vkGetDeviceGroupPeerMemoryFeatures, see 6313 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupPeerMemoryFeatures.html 6314 template <typename Dispatch> getGroupPeerMemoryFeatures(uint32_t heapIndex,uint32_t localDeviceIndex,uint32_t remoteDeviceIndex,Dispatch const & d) const6315 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags Device::getGroupPeerMemoryFeatures( 6316 uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6317 { 6318 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6319 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6320 VULKAN_HPP_ASSERT( d.vkGetDeviceGroupPeerMemoryFeatures && 6321 "Function <vkGetDeviceGroupPeerMemoryFeatures> requires <VK_KHR_device_group> or <VK_VERSION_1_1>" ); 6322 # endif 6323 6324 VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags peerMemoryFeatures; 6325 d.vkGetDeviceGroupPeerMemoryFeatures( 6326 m_device, heapIndex, localDeviceIndex, remoteDeviceIndex, reinterpret_cast<VkPeerMemoryFeatureFlags *>( &peerMemoryFeatures ) ); 6327 6328 return peerMemoryFeatures; 6329 } 6330 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 6331 6332 // wrapper function for command vkCmdSetDeviceMask, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDeviceMask.html 6333 template <typename Dispatch> setDeviceMask(uint32_t deviceMask,Dispatch const & d) const6334 VULKAN_HPP_INLINE void CommandBuffer::setDeviceMask( uint32_t deviceMask, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6335 { 6336 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6337 d.vkCmdSetDeviceMask( static_cast<VkCommandBuffer>( m_commandBuffer ), deviceMask ); 6338 } 6339 6340 // wrapper function for command vkCmdDispatchBase, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchBase.html 6341 template <typename Dispatch> dispatchBase(uint32_t baseGroupX,uint32_t baseGroupY,uint32_t baseGroupZ,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ,Dispatch const & d) const6342 VULKAN_HPP_INLINE void CommandBuffer::dispatchBase( uint32_t baseGroupX, 6343 uint32_t baseGroupY, 6344 uint32_t baseGroupZ, 6345 uint32_t groupCountX, 6346 uint32_t groupCountY, 6347 uint32_t groupCountZ, 6348 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6349 { 6350 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6351 d.vkCmdDispatchBase( static_cast<VkCommandBuffer>( m_commandBuffer ), baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ ); 6352 } 6353 6354 // wrapper function for command vkEnumeratePhysicalDeviceGroups, see 6355 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceGroups.html 6356 template <typename Dispatch> 6357 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result enumeratePhysicalDeviceGroups(uint32_t * pPhysicalDeviceGroupCount,VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties,Dispatch const & d) const6358 Instance::enumeratePhysicalDeviceGroups( uint32_t * pPhysicalDeviceGroupCount, 6359 VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties, 6360 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6361 { 6362 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6363 return static_cast<Result>( d.vkEnumeratePhysicalDeviceGroups( static_cast<VkInstance>( m_instance ), 6364 pPhysicalDeviceGroupCount, 6365 reinterpret_cast<VkPhysicalDeviceGroupProperties *>( pPhysicalDeviceGroupProperties ) ) ); 6366 } 6367 6368 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 6369 // wrapper function for command vkEnumeratePhysicalDeviceGroups, see 6370 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceGroups.html 6371 template <typename PhysicalDeviceGroupPropertiesAllocator, 6372 typename Dispatch, 6373 typename std::enable_if< 6374 std::is_same<typename PhysicalDeviceGroupPropertiesAllocator::value_type, VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties>::value, 6375 int>::type> 6376 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 6377 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties, PhysicalDeviceGroupPropertiesAllocator>>::type enumeratePhysicalDeviceGroups(Dispatch const & d) const6378 Instance::enumeratePhysicalDeviceGroups( Dispatch const & d ) const 6379 { 6380 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6381 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6382 VULKAN_HPP_ASSERT( d.vkEnumeratePhysicalDeviceGroups && 6383 "Function <vkEnumeratePhysicalDeviceGroups> requires <VK_KHR_device_group_creation> or <VK_VERSION_1_1>" ); 6384 # endif 6385 6386 std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties, PhysicalDeviceGroupPropertiesAllocator> physicalDeviceGroupProperties; 6387 uint32_t physicalDeviceGroupCount; 6388 VULKAN_HPP_NAMESPACE::Result result; 6389 do 6390 { 6391 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkEnumeratePhysicalDeviceGroups( m_instance, &physicalDeviceGroupCount, nullptr ) ); 6392 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && physicalDeviceGroupCount ) 6393 { 6394 physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); 6395 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkEnumeratePhysicalDeviceGroups( 6396 m_instance, &physicalDeviceGroupCount, reinterpret_cast<VkPhysicalDeviceGroupProperties *>( physicalDeviceGroupProperties.data() ) ) ); 6397 } 6398 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 6399 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroups" ); 6400 VULKAN_HPP_ASSERT( physicalDeviceGroupCount <= physicalDeviceGroupProperties.size() ); 6401 if ( physicalDeviceGroupCount < physicalDeviceGroupProperties.size() ) 6402 { 6403 physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); 6404 } 6405 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( physicalDeviceGroupProperties ) ); 6406 } 6407 6408 // wrapper function for command vkEnumeratePhysicalDeviceGroups, see 6409 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceGroups.html 6410 template <typename PhysicalDeviceGroupPropertiesAllocator, 6411 typename Dispatch, 6412 typename std::enable_if< 6413 std::is_same<typename PhysicalDeviceGroupPropertiesAllocator::value_type, VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties>::value, 6414 int>::type> 6415 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 6416 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties, PhysicalDeviceGroupPropertiesAllocator>>::type enumeratePhysicalDeviceGroups(PhysicalDeviceGroupPropertiesAllocator & physicalDeviceGroupPropertiesAllocator,Dispatch const & d) const6417 Instance::enumeratePhysicalDeviceGroups( PhysicalDeviceGroupPropertiesAllocator & physicalDeviceGroupPropertiesAllocator, Dispatch const & d ) const 6418 { 6419 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6420 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6421 VULKAN_HPP_ASSERT( d.vkEnumeratePhysicalDeviceGroups && 6422 "Function <vkEnumeratePhysicalDeviceGroups> requires <VK_KHR_device_group_creation> or <VK_VERSION_1_1>" ); 6423 # endif 6424 6425 std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties, PhysicalDeviceGroupPropertiesAllocator> physicalDeviceGroupProperties( 6426 physicalDeviceGroupPropertiesAllocator ); 6427 uint32_t physicalDeviceGroupCount; 6428 VULKAN_HPP_NAMESPACE::Result result; 6429 do 6430 { 6431 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkEnumeratePhysicalDeviceGroups( m_instance, &physicalDeviceGroupCount, nullptr ) ); 6432 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && physicalDeviceGroupCount ) 6433 { 6434 physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); 6435 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkEnumeratePhysicalDeviceGroups( 6436 m_instance, &physicalDeviceGroupCount, reinterpret_cast<VkPhysicalDeviceGroupProperties *>( physicalDeviceGroupProperties.data() ) ) ); 6437 } 6438 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 6439 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroups" ); 6440 VULKAN_HPP_ASSERT( physicalDeviceGroupCount <= physicalDeviceGroupProperties.size() ); 6441 if ( physicalDeviceGroupCount < physicalDeviceGroupProperties.size() ) 6442 { 6443 physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); 6444 } 6445 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( physicalDeviceGroupProperties ) ); 6446 } 6447 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 6448 6449 // wrapper function for command vkGetImageMemoryRequirements2, see 6450 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2.html 6451 template <typename Dispatch> getImageMemoryRequirements2(const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 * pInfo,VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements,Dispatch const & d) const6452 VULKAN_HPP_INLINE void Device::getImageMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 * pInfo, 6453 VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements, 6454 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6455 { 6456 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6457 d.vkGetImageMemoryRequirements2( static_cast<VkDevice>( m_device ), 6458 reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>( pInfo ), 6459 reinterpret_cast<VkMemoryRequirements2 *>( pMemoryRequirements ) ); 6460 } 6461 6462 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 6463 // wrapper function for command vkGetImageMemoryRequirements2, see 6464 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2.html 6465 template <typename Dispatch> 6466 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2 getImageMemoryRequirements2(const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 & info,Dispatch const & d) const6467 Device::getImageMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6468 { 6469 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6470 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6471 VULKAN_HPP_ASSERT( d.vkGetImageMemoryRequirements2 && 6472 "Function <vkGetImageMemoryRequirements2> requires <VK_KHR_get_memory_requirements2> or <VK_VERSION_1_1>" ); 6473 # endif 6474 6475 VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements; 6476 d.vkGetImageMemoryRequirements2( 6477 m_device, reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>( &info ), reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 6478 6479 return memoryRequirements; 6480 } 6481 6482 // wrapper function for command vkGetImageMemoryRequirements2, see 6483 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2.html 6484 template <typename X, typename Y, typename... Z, typename Dispatch> 6485 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> getImageMemoryRequirements2(const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 & info,Dispatch const & d) const6486 Device::getImageMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6487 { 6488 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6489 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6490 VULKAN_HPP_ASSERT( d.vkGetImageMemoryRequirements2 && 6491 "Function <vkGetImageMemoryRequirements2> requires <VK_KHR_get_memory_requirements2> or <VK_VERSION_1_1>" ); 6492 # endif 6493 6494 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 6495 VULKAN_HPP_NAMESPACE::MemoryRequirements2 & memoryRequirements = structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>(); 6496 d.vkGetImageMemoryRequirements2( 6497 m_device, reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>( &info ), reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 6498 6499 return structureChain; 6500 } 6501 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 6502 6503 // wrapper function for command vkGetBufferMemoryRequirements2, see 6504 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2.html 6505 template <typename Dispatch> getBufferMemoryRequirements2(const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 * pInfo,VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements,Dispatch const & d) const6506 VULKAN_HPP_INLINE void Device::getBufferMemoryRequirements2( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 * pInfo, 6507 VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements, 6508 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6509 { 6510 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6511 d.vkGetBufferMemoryRequirements2( static_cast<VkDevice>( m_device ), 6512 reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>( pInfo ), 6513 reinterpret_cast<VkMemoryRequirements2 *>( pMemoryRequirements ) ); 6514 } 6515 6516 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 6517 // wrapper function for command vkGetBufferMemoryRequirements2, see 6518 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2.html 6519 template <typename Dispatch> 6520 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2 getBufferMemoryRequirements2(const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 & info,Dispatch const & d) const6521 Device::getBufferMemoryRequirements2( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6522 { 6523 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6524 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6525 VULKAN_HPP_ASSERT( d.vkGetBufferMemoryRequirements2 && 6526 "Function <vkGetBufferMemoryRequirements2> requires <VK_KHR_get_memory_requirements2> or <VK_VERSION_1_1>" ); 6527 # endif 6528 6529 VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements; 6530 d.vkGetBufferMemoryRequirements2( 6531 m_device, reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>( &info ), reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 6532 6533 return memoryRequirements; 6534 } 6535 6536 // wrapper function for command vkGetBufferMemoryRequirements2, see 6537 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2.html 6538 template <typename X, typename Y, typename... Z, typename Dispatch> 6539 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> getBufferMemoryRequirements2(const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 & info,Dispatch const & d) const6540 Device::getBufferMemoryRequirements2( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6541 { 6542 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6543 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6544 VULKAN_HPP_ASSERT( d.vkGetBufferMemoryRequirements2 && 6545 "Function <vkGetBufferMemoryRequirements2> requires <VK_KHR_get_memory_requirements2> or <VK_VERSION_1_1>" ); 6546 # endif 6547 6548 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 6549 VULKAN_HPP_NAMESPACE::MemoryRequirements2 & memoryRequirements = structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>(); 6550 d.vkGetBufferMemoryRequirements2( 6551 m_device, reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>( &info ), reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 6552 6553 return structureChain; 6554 } 6555 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 6556 6557 // wrapper function for command vkGetImageSparseMemoryRequirements2, see 6558 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements2.html 6559 template <typename Dispatch> getImageSparseMemoryRequirements2(const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 * pInfo,uint32_t * pSparseMemoryRequirementCount,VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2 * pSparseMemoryRequirements,Dispatch const & d) const6560 VULKAN_HPP_INLINE void Device::getImageSparseMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 * pInfo, 6561 uint32_t * pSparseMemoryRequirementCount, 6562 VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2 * pSparseMemoryRequirements, 6563 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6564 { 6565 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6566 d.vkGetImageSparseMemoryRequirements2( static_cast<VkDevice>( m_device ), 6567 reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( pInfo ), 6568 pSparseMemoryRequirementCount, 6569 reinterpret_cast<VkSparseImageMemoryRequirements2 *>( pSparseMemoryRequirements ) ); 6570 } 6571 6572 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 6573 // wrapper function for command vkGetImageSparseMemoryRequirements2, see 6574 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements2.html 6575 template <typename SparseImageMemoryRequirements2Allocator, 6576 typename Dispatch, 6577 typename std::enable_if< 6578 std::is_same<typename SparseImageMemoryRequirements2Allocator::value_type, VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>::value, 6579 int>::type> 6580 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator> getImageSparseMemoryRequirements2(const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 & info,Dispatch const & d) const6581 Device::getImageSparseMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 & info, Dispatch const & d ) const 6582 { 6583 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6584 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6585 VULKAN_HPP_ASSERT( d.vkGetImageSparseMemoryRequirements2 && 6586 "Function <vkGetImageSparseMemoryRequirements2> requires <VK_KHR_get_memory_requirements2> or <VK_VERSION_1_1>" ); 6587 # endif 6588 6589 std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator> sparseMemoryRequirements; 6590 uint32_t sparseMemoryRequirementCount; 6591 d.vkGetImageSparseMemoryRequirements2( 6592 m_device, reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ), &sparseMemoryRequirementCount, nullptr ); 6593 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); 6594 d.vkGetImageSparseMemoryRequirements2( m_device, 6595 reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ), 6596 &sparseMemoryRequirementCount, 6597 reinterpret_cast<VkSparseImageMemoryRequirements2 *>( sparseMemoryRequirements.data() ) ); 6598 6599 VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); 6600 if ( sparseMemoryRequirementCount < sparseMemoryRequirements.size() ) 6601 { 6602 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); 6603 } 6604 return sparseMemoryRequirements; 6605 } 6606 6607 // wrapper function for command vkGetImageSparseMemoryRequirements2, see 6608 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements2.html 6609 template <typename SparseImageMemoryRequirements2Allocator, 6610 typename Dispatch, 6611 typename std::enable_if< 6612 std::is_same<typename SparseImageMemoryRequirements2Allocator::value_type, VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>::value, 6613 int>::type> 6614 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator> getImageSparseMemoryRequirements2(const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 & info,SparseImageMemoryRequirements2Allocator & sparseImageMemoryRequirements2Allocator,Dispatch const & d) const6615 Device::getImageSparseMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 & info, 6616 SparseImageMemoryRequirements2Allocator & sparseImageMemoryRequirements2Allocator, 6617 Dispatch const & d ) const 6618 { 6619 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6620 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6621 VULKAN_HPP_ASSERT( d.vkGetImageSparseMemoryRequirements2 && 6622 "Function <vkGetImageSparseMemoryRequirements2> requires <VK_KHR_get_memory_requirements2> or <VK_VERSION_1_1>" ); 6623 # endif 6624 6625 std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator> sparseMemoryRequirements( 6626 sparseImageMemoryRequirements2Allocator ); 6627 uint32_t sparseMemoryRequirementCount; 6628 d.vkGetImageSparseMemoryRequirements2( 6629 m_device, reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ), &sparseMemoryRequirementCount, nullptr ); 6630 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); 6631 d.vkGetImageSparseMemoryRequirements2( m_device, 6632 reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ), 6633 &sparseMemoryRequirementCount, 6634 reinterpret_cast<VkSparseImageMemoryRequirements2 *>( sparseMemoryRequirements.data() ) ); 6635 6636 VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); 6637 if ( sparseMemoryRequirementCount < sparseMemoryRequirements.size() ) 6638 { 6639 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); 6640 } 6641 return sparseMemoryRequirements; 6642 } 6643 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 6644 6645 // wrapper function for command vkGetPhysicalDeviceFeatures2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2.html 6646 template <typename Dispatch> getFeatures2(VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 * pFeatures,Dispatch const & d) const6647 VULKAN_HPP_INLINE void PhysicalDevice::getFeatures2( VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 * pFeatures, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6648 { 6649 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6650 d.vkGetPhysicalDeviceFeatures2( static_cast<VkPhysicalDevice>( m_physicalDevice ), reinterpret_cast<VkPhysicalDeviceFeatures2 *>( pFeatures ) ); 6651 } 6652 6653 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 6654 // wrapper function for command vkGetPhysicalDeviceFeatures2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2.html 6655 template <typename Dispatch> 6656 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 getFeatures2(Dispatch const & d) const6657 PhysicalDevice::getFeatures2( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6658 { 6659 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6660 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6661 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceFeatures2 && 6662 "Function <vkGetPhysicalDeviceFeatures2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 6663 # endif 6664 6665 VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 features; 6666 d.vkGetPhysicalDeviceFeatures2( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceFeatures2 *>( &features ) ); 6667 6668 return features; 6669 } 6670 6671 // wrapper function for command vkGetPhysicalDeviceFeatures2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2.html 6672 template <typename X, typename Y, typename... Z, typename Dispatch> 6673 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> getFeatures2(Dispatch const & d) const6674 PhysicalDevice::getFeatures2( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6675 { 6676 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6677 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6678 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceFeatures2 && 6679 "Function <vkGetPhysicalDeviceFeatures2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 6680 # endif 6681 6682 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 6683 VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 & features = structureChain.template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2>(); 6684 d.vkGetPhysicalDeviceFeatures2( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceFeatures2 *>( &features ) ); 6685 6686 return structureChain; 6687 } 6688 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 6689 6690 // wrapper function for command vkGetPhysicalDeviceProperties2, see 6691 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2.html 6692 template <typename Dispatch> getProperties2(VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 * pProperties,Dispatch const & d) const6693 VULKAN_HPP_INLINE void PhysicalDevice::getProperties2( VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 * pProperties, 6694 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6695 { 6696 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6697 d.vkGetPhysicalDeviceProperties2( static_cast<VkPhysicalDevice>( m_physicalDevice ), reinterpret_cast<VkPhysicalDeviceProperties2 *>( pProperties ) ); 6698 } 6699 6700 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 6701 // wrapper function for command vkGetPhysicalDeviceProperties2, see 6702 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2.html 6703 template <typename Dispatch> 6704 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 getProperties2(Dispatch const & d) const6705 PhysicalDevice::getProperties2( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6706 { 6707 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6708 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6709 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceProperties2 && 6710 "Function <vkGetPhysicalDeviceProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 6711 # endif 6712 6713 VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 properties; 6714 d.vkGetPhysicalDeviceProperties2( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceProperties2 *>( &properties ) ); 6715 6716 return properties; 6717 } 6718 6719 // wrapper function for command vkGetPhysicalDeviceProperties2, see 6720 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2.html 6721 template <typename X, typename Y, typename... Z, typename Dispatch> 6722 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> getProperties2(Dispatch const & d) const6723 PhysicalDevice::getProperties2( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6724 { 6725 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6726 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6727 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceProperties2 && 6728 "Function <vkGetPhysicalDeviceProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 6729 # endif 6730 6731 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 6732 VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 & properties = structureChain.template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2>(); 6733 d.vkGetPhysicalDeviceProperties2( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceProperties2 *>( &properties ) ); 6734 6735 return structureChain; 6736 } 6737 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 6738 6739 // wrapper function for command vkGetPhysicalDeviceFormatProperties2, see 6740 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2.html 6741 template <typename Dispatch> getFormatProperties2(VULKAN_HPP_NAMESPACE::Format format,VULKAN_HPP_NAMESPACE::FormatProperties2 * pFormatProperties,Dispatch const & d) const6742 VULKAN_HPP_INLINE void PhysicalDevice::getFormatProperties2( VULKAN_HPP_NAMESPACE::Format format, 6743 VULKAN_HPP_NAMESPACE::FormatProperties2 * pFormatProperties, 6744 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6745 { 6746 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6747 d.vkGetPhysicalDeviceFormatProperties2( 6748 static_cast<VkPhysicalDevice>( m_physicalDevice ), static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties2 *>( pFormatProperties ) ); 6749 } 6750 6751 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 6752 // wrapper function for command vkGetPhysicalDeviceFormatProperties2, see 6753 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2.html 6754 template <typename Dispatch> 6755 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::FormatProperties2 getFormatProperties2(VULKAN_HPP_NAMESPACE::Format format,Dispatch const & d) const6756 PhysicalDevice::getFormatProperties2( VULKAN_HPP_NAMESPACE::Format format, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6757 { 6758 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6759 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6760 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceFormatProperties2 && 6761 "Function <vkGetPhysicalDeviceFormatProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 6762 # endif 6763 6764 VULKAN_HPP_NAMESPACE::FormatProperties2 formatProperties; 6765 d.vkGetPhysicalDeviceFormatProperties2( m_physicalDevice, static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties2 *>( &formatProperties ) ); 6766 6767 return formatProperties; 6768 } 6769 6770 // wrapper function for command vkGetPhysicalDeviceFormatProperties2, see 6771 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2.html 6772 template <typename X, typename Y, typename... Z, typename Dispatch> 6773 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> getFormatProperties2(VULKAN_HPP_NAMESPACE::Format format,Dispatch const & d) const6774 PhysicalDevice::getFormatProperties2( VULKAN_HPP_NAMESPACE::Format format, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6775 { 6776 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6777 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6778 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceFormatProperties2 && 6779 "Function <vkGetPhysicalDeviceFormatProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 6780 # endif 6781 6782 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 6783 VULKAN_HPP_NAMESPACE::FormatProperties2 & formatProperties = structureChain.template get<VULKAN_HPP_NAMESPACE::FormatProperties2>(); 6784 d.vkGetPhysicalDeviceFormatProperties2( m_physicalDevice, static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties2 *>( &formatProperties ) ); 6785 6786 return structureChain; 6787 } 6788 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 6789 6790 // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2, see 6791 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2.html 6792 template <typename Dispatch> 6793 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getImageFormatProperties2(const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 * pImageFormatInfo,VULKAN_HPP_NAMESPACE::ImageFormatProperties2 * pImageFormatProperties,Dispatch const & d) const6794 PhysicalDevice::getImageFormatProperties2( const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 * pImageFormatInfo, 6795 VULKAN_HPP_NAMESPACE::ImageFormatProperties2 * pImageFormatProperties, 6796 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6797 { 6798 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6799 return static_cast<Result>( d.vkGetPhysicalDeviceImageFormatProperties2( static_cast<VkPhysicalDevice>( m_physicalDevice ), 6800 reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( pImageFormatInfo ), 6801 reinterpret_cast<VkImageFormatProperties2 *>( pImageFormatProperties ) ) ); 6802 } 6803 6804 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 6805 // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2, see 6806 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2.html 6807 template <typename Dispatch> 6808 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageFormatProperties2>::type getImageFormatProperties2(const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 & imageFormatInfo,Dispatch const & d) const6809 PhysicalDevice::getImageFormatProperties2( const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 & imageFormatInfo, Dispatch const & d ) const 6810 { 6811 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6812 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6813 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceImageFormatProperties2 && 6814 "Function <vkGetPhysicalDeviceImageFormatProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 6815 # endif 6816 6817 VULKAN_HPP_NAMESPACE::ImageFormatProperties2 imageFormatProperties; 6818 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 6819 d.vkGetPhysicalDeviceImageFormatProperties2( m_physicalDevice, 6820 reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( &imageFormatInfo ), 6821 reinterpret_cast<VkImageFormatProperties2 *>( &imageFormatProperties ) ) ); 6822 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2" ); 6823 6824 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( imageFormatProperties ) ); 6825 } 6826 6827 // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2, see 6828 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2.html 6829 template <typename X, typename Y, typename... Z, typename Dispatch> 6830 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>>::type getImageFormatProperties2(const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 & imageFormatInfo,Dispatch const & d) const6831 PhysicalDevice::getImageFormatProperties2( const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 & imageFormatInfo, Dispatch const & d ) const 6832 { 6833 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6834 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6835 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceImageFormatProperties2 && 6836 "Function <vkGetPhysicalDeviceImageFormatProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 6837 # endif 6838 6839 StructureChain<X, Y, Z...> structureChain; 6840 VULKAN_HPP_NAMESPACE::ImageFormatProperties2 & imageFormatProperties = structureChain.template get<VULKAN_HPP_NAMESPACE::ImageFormatProperties2>(); 6841 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 6842 d.vkGetPhysicalDeviceImageFormatProperties2( m_physicalDevice, 6843 reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( &imageFormatInfo ), 6844 reinterpret_cast<VkImageFormatProperties2 *>( &imageFormatProperties ) ) ); 6845 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2" ); 6846 6847 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChain ) ); 6848 } 6849 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 6850 6851 // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2, see 6852 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2.html 6853 template <typename Dispatch> getQueueFamilyProperties2(uint32_t * pQueueFamilyPropertyCount,VULKAN_HPP_NAMESPACE::QueueFamilyProperties2 * pQueueFamilyProperties,Dispatch const & d) const6854 VULKAN_HPP_INLINE void PhysicalDevice::getQueueFamilyProperties2( uint32_t * pQueueFamilyPropertyCount, 6855 VULKAN_HPP_NAMESPACE::QueueFamilyProperties2 * pQueueFamilyProperties, 6856 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 6857 { 6858 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6859 d.vkGetPhysicalDeviceQueueFamilyProperties2( 6860 static_cast<VkPhysicalDevice>( m_physicalDevice ), pQueueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties2 *>( pQueueFamilyProperties ) ); 6861 } 6862 6863 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 6864 // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2, see 6865 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2.html 6866 template < 6867 typename QueueFamilyProperties2Allocator, 6868 typename Dispatch, 6869 typename std::enable_if<std::is_same<typename QueueFamilyProperties2Allocator::value_type, VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>::value, int>::type> 6870 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2, QueueFamilyProperties2Allocator> getQueueFamilyProperties2(Dispatch const & d) const6871 PhysicalDevice::getQueueFamilyProperties2( Dispatch const & d ) const 6872 { 6873 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6874 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6875 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceQueueFamilyProperties2 && 6876 "Function <vkGetPhysicalDeviceQueueFamilyProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 6877 # endif 6878 6879 std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2, QueueFamilyProperties2Allocator> queueFamilyProperties; 6880 uint32_t queueFamilyPropertyCount; 6881 d.vkGetPhysicalDeviceQueueFamilyProperties2( m_physicalDevice, &queueFamilyPropertyCount, nullptr ); 6882 queueFamilyProperties.resize( queueFamilyPropertyCount ); 6883 d.vkGetPhysicalDeviceQueueFamilyProperties2( 6884 m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties2 *>( queueFamilyProperties.data() ) ); 6885 6886 VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); 6887 if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) 6888 { 6889 queueFamilyProperties.resize( queueFamilyPropertyCount ); 6890 } 6891 return queueFamilyProperties; 6892 } 6893 6894 // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2, see 6895 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2.html 6896 template < 6897 typename QueueFamilyProperties2Allocator, 6898 typename Dispatch, 6899 typename std::enable_if<std::is_same<typename QueueFamilyProperties2Allocator::value_type, VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>::value, int>::type> 6900 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2, QueueFamilyProperties2Allocator> getQueueFamilyProperties2(QueueFamilyProperties2Allocator & queueFamilyProperties2Allocator,Dispatch const & d) const6901 PhysicalDevice::getQueueFamilyProperties2( QueueFamilyProperties2Allocator & queueFamilyProperties2Allocator, Dispatch const & d ) const 6902 { 6903 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6904 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6905 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceQueueFamilyProperties2 && 6906 "Function <vkGetPhysicalDeviceQueueFamilyProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 6907 # endif 6908 6909 std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2, QueueFamilyProperties2Allocator> queueFamilyProperties( queueFamilyProperties2Allocator ); 6910 uint32_t queueFamilyPropertyCount; 6911 d.vkGetPhysicalDeviceQueueFamilyProperties2( m_physicalDevice, &queueFamilyPropertyCount, nullptr ); 6912 queueFamilyProperties.resize( queueFamilyPropertyCount ); 6913 d.vkGetPhysicalDeviceQueueFamilyProperties2( 6914 m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties2 *>( queueFamilyProperties.data() ) ); 6915 6916 VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); 6917 if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) 6918 { 6919 queueFamilyProperties.resize( queueFamilyPropertyCount ); 6920 } 6921 return queueFamilyProperties; 6922 } 6923 6924 // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2, see 6925 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2.html 6926 template <typename StructureChain, 6927 typename StructureChainAllocator, 6928 typename Dispatch, 6929 typename std::enable_if<std::is_same<typename StructureChainAllocator::value_type, StructureChain>::value, int>::type> 6930 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<StructureChain, StructureChainAllocator> getQueueFamilyProperties2(Dispatch const & d) const6931 PhysicalDevice::getQueueFamilyProperties2( Dispatch const & d ) const 6932 { 6933 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6934 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6935 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceQueueFamilyProperties2 && 6936 "Function <vkGetPhysicalDeviceQueueFamilyProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 6937 # endif 6938 6939 std::vector<StructureChain, StructureChainAllocator> structureChains; 6940 std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> queueFamilyProperties; 6941 uint32_t queueFamilyPropertyCount; 6942 d.vkGetPhysicalDeviceQueueFamilyProperties2( m_physicalDevice, &queueFamilyPropertyCount, nullptr ); 6943 structureChains.resize( queueFamilyPropertyCount ); 6944 queueFamilyProperties.resize( queueFamilyPropertyCount ); 6945 for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ ) 6946 { 6947 queueFamilyProperties[i].pNext = structureChains[i].template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>().pNext; 6948 } 6949 d.vkGetPhysicalDeviceQueueFamilyProperties2( 6950 m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties2 *>( queueFamilyProperties.data() ) ); 6951 6952 VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); 6953 if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) 6954 { 6955 structureChains.resize( queueFamilyPropertyCount ); 6956 } 6957 for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ ) 6958 { 6959 structureChains[i].template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>() = queueFamilyProperties[i]; 6960 } 6961 return structureChains; 6962 } 6963 6964 // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2, see 6965 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2.html 6966 template <typename StructureChain, 6967 typename StructureChainAllocator, 6968 typename Dispatch, 6969 typename std::enable_if<std::is_same<typename StructureChainAllocator::value_type, StructureChain>::value, int>::type> 6970 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<StructureChain, StructureChainAllocator> getQueueFamilyProperties2(StructureChainAllocator & structureChainAllocator,Dispatch const & d) const6971 PhysicalDevice::getQueueFamilyProperties2( StructureChainAllocator & structureChainAllocator, Dispatch const & d ) const 6972 { 6973 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 6974 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 6975 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceQueueFamilyProperties2 && 6976 "Function <vkGetPhysicalDeviceQueueFamilyProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 6977 # endif 6978 6979 std::vector<StructureChain, StructureChainAllocator> structureChains( structureChainAllocator ); 6980 std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> queueFamilyProperties; 6981 uint32_t queueFamilyPropertyCount; 6982 d.vkGetPhysicalDeviceQueueFamilyProperties2( m_physicalDevice, &queueFamilyPropertyCount, nullptr ); 6983 structureChains.resize( queueFamilyPropertyCount ); 6984 queueFamilyProperties.resize( queueFamilyPropertyCount ); 6985 for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ ) 6986 { 6987 queueFamilyProperties[i].pNext = structureChains[i].template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>().pNext; 6988 } 6989 d.vkGetPhysicalDeviceQueueFamilyProperties2( 6990 m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties2 *>( queueFamilyProperties.data() ) ); 6991 6992 VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); 6993 if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) 6994 { 6995 structureChains.resize( queueFamilyPropertyCount ); 6996 } 6997 for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ ) 6998 { 6999 structureChains[i].template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>() = queueFamilyProperties[i]; 7000 } 7001 return structureChains; 7002 } 7003 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 7004 7005 // wrapper function for command vkGetPhysicalDeviceMemoryProperties2, see 7006 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2.html 7007 template <typename Dispatch> getMemoryProperties2(VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 * pMemoryProperties,Dispatch const & d) const7008 VULKAN_HPP_INLINE void PhysicalDevice::getMemoryProperties2( VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 * pMemoryProperties, 7009 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7010 { 7011 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7012 d.vkGetPhysicalDeviceMemoryProperties2( static_cast<VkPhysicalDevice>( m_physicalDevice ), 7013 reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>( pMemoryProperties ) ); 7014 } 7015 7016 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 7017 // wrapper function for command vkGetPhysicalDeviceMemoryProperties2, see 7018 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2.html 7019 template <typename Dispatch> 7020 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 getMemoryProperties2(Dispatch const & d) const7021 PhysicalDevice::getMemoryProperties2( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7022 { 7023 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7024 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7025 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceMemoryProperties2 && 7026 "Function <vkGetPhysicalDeviceMemoryProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 7027 # endif 7028 7029 VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 memoryProperties; 7030 d.vkGetPhysicalDeviceMemoryProperties2( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>( &memoryProperties ) ); 7031 7032 return memoryProperties; 7033 } 7034 7035 // wrapper function for command vkGetPhysicalDeviceMemoryProperties2, see 7036 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2.html 7037 template <typename X, typename Y, typename... Z, typename Dispatch> 7038 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> getMemoryProperties2(Dispatch const & d) const7039 PhysicalDevice::getMemoryProperties2( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7040 { 7041 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7042 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7043 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceMemoryProperties2 && 7044 "Function <vkGetPhysicalDeviceMemoryProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 7045 # endif 7046 7047 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 7048 VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 & memoryProperties = 7049 structureChain.template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2>(); 7050 d.vkGetPhysicalDeviceMemoryProperties2( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>( &memoryProperties ) ); 7051 7052 return structureChain; 7053 } 7054 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 7055 7056 // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties2, see 7057 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2.html 7058 template <typename Dispatch> getSparseImageFormatProperties2(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,uint32_t * pPropertyCount,VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2 * pProperties,Dispatch const & d) const7059 VULKAN_HPP_INLINE void PhysicalDevice::getSparseImageFormatProperties2( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 * pFormatInfo, 7060 uint32_t * pPropertyCount, 7061 VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2 * pProperties, 7062 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7063 { 7064 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7065 d.vkGetPhysicalDeviceSparseImageFormatProperties2( static_cast<VkPhysicalDevice>( m_physicalDevice ), 7066 reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( pFormatInfo ), 7067 pPropertyCount, 7068 reinterpret_cast<VkSparseImageFormatProperties2 *>( pProperties ) ); 7069 } 7070 7071 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 7072 // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties2, see 7073 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2.html 7074 template < 7075 typename SparseImageFormatProperties2Allocator, 7076 typename Dispatch, 7077 typename std::enable_if<std::is_same<typename SparseImageFormatProperties2Allocator::value_type, VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2>::value, 7078 int>::type> 7079 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2, SparseImageFormatProperties2Allocator> getSparseImageFormatProperties2(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 & formatInfo,Dispatch const & d) const7080 PhysicalDevice::getSparseImageFormatProperties2( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 & formatInfo, Dispatch const & d ) const 7081 { 7082 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7083 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7084 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceSparseImageFormatProperties2 && 7085 "Function <vkGetPhysicalDeviceSparseImageFormatProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 7086 # endif 7087 7088 std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2, SparseImageFormatProperties2Allocator> properties; 7089 uint32_t propertyCount; 7090 d.vkGetPhysicalDeviceSparseImageFormatProperties2( 7091 m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ), &propertyCount, nullptr ); 7092 properties.resize( propertyCount ); 7093 d.vkGetPhysicalDeviceSparseImageFormatProperties2( m_physicalDevice, 7094 reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ), 7095 &propertyCount, 7096 reinterpret_cast<VkSparseImageFormatProperties2 *>( properties.data() ) ); 7097 7098 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 7099 if ( propertyCount < properties.size() ) 7100 { 7101 properties.resize( propertyCount ); 7102 } 7103 return properties; 7104 } 7105 7106 // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties2, see 7107 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2.html 7108 template < 7109 typename SparseImageFormatProperties2Allocator, 7110 typename Dispatch, 7111 typename std::enable_if<std::is_same<typename SparseImageFormatProperties2Allocator::value_type, VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2>::value, 7112 int>::type> 7113 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2, SparseImageFormatProperties2Allocator> getSparseImageFormatProperties2(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 & formatInfo,SparseImageFormatProperties2Allocator & sparseImageFormatProperties2Allocator,Dispatch const & d) const7114 PhysicalDevice::getSparseImageFormatProperties2( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 & formatInfo, 7115 SparseImageFormatProperties2Allocator & sparseImageFormatProperties2Allocator, 7116 Dispatch const & d ) const 7117 { 7118 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7119 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7120 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceSparseImageFormatProperties2 && 7121 "Function <vkGetPhysicalDeviceSparseImageFormatProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 7122 # endif 7123 7124 std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2, SparseImageFormatProperties2Allocator> properties( sparseImageFormatProperties2Allocator ); 7125 uint32_t propertyCount; 7126 d.vkGetPhysicalDeviceSparseImageFormatProperties2( 7127 m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ), &propertyCount, nullptr ); 7128 properties.resize( propertyCount ); 7129 d.vkGetPhysicalDeviceSparseImageFormatProperties2( m_physicalDevice, 7130 reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ), 7131 &propertyCount, 7132 reinterpret_cast<VkSparseImageFormatProperties2 *>( properties.data() ) ); 7133 7134 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 7135 if ( propertyCount < properties.size() ) 7136 { 7137 properties.resize( propertyCount ); 7138 } 7139 return properties; 7140 } 7141 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 7142 7143 // wrapper function for command vkTrimCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTrimCommandPool.html 7144 template <typename Dispatch> trimCommandPool(VULKAN_HPP_NAMESPACE::CommandPool commandPool,VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags,Dispatch const & d) const7145 VULKAN_HPP_INLINE void Device::trimCommandPool( VULKAN_HPP_NAMESPACE::CommandPool commandPool, 7146 VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags, 7147 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7148 { 7149 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7150 d.vkTrimCommandPool( static_cast<VkDevice>( m_device ), static_cast<VkCommandPool>( commandPool ), static_cast<VkCommandPoolTrimFlags>( flags ) ); 7151 } 7152 7153 // wrapper function for command vkGetDeviceQueue2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceQueue2.html 7154 template <typename Dispatch> getQueue2(const VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 * pQueueInfo,VULKAN_HPP_NAMESPACE::Queue * pQueue,Dispatch const & d) const7155 VULKAN_HPP_INLINE void Device::getQueue2( const VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 * pQueueInfo, 7156 VULKAN_HPP_NAMESPACE::Queue * pQueue, 7157 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7158 { 7159 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7160 d.vkGetDeviceQueue2( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDeviceQueueInfo2 *>( pQueueInfo ), reinterpret_cast<VkQueue *>( pQueue ) ); 7161 } 7162 7163 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 7164 // wrapper function for command vkGetDeviceQueue2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceQueue2.html 7165 template <typename Dispatch> getQueue2(const VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 & queueInfo,Dispatch const & d) const7166 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Queue Device::getQueue2( const VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 & queueInfo, 7167 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7168 { 7169 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7170 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7171 VULKAN_HPP_ASSERT( d.vkGetDeviceQueue2 && "Function <vkGetDeviceQueue2> requires <VK_VERSION_1_1>" ); 7172 # endif 7173 7174 VULKAN_HPP_NAMESPACE::Queue queue; 7175 d.vkGetDeviceQueue2( m_device, reinterpret_cast<const VkDeviceQueueInfo2 *>( &queueInfo ), reinterpret_cast<VkQueue *>( &queue ) ); 7176 7177 return queue; 7178 } 7179 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 7180 7181 // wrapper function for command vkCreateSamplerYcbcrConversion, see 7182 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSamplerYcbcrConversion.html 7183 template <typename Dispatch> 7184 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result createSamplerYcbcrConversion(const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion * pYcbcrConversion,Dispatch const & d) const7185 Device::createSamplerYcbcrConversion( const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo * pCreateInfo, 7186 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 7187 VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion * pYcbcrConversion, 7188 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7189 { 7190 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7191 return static_cast<Result>( d.vkCreateSamplerYcbcrConversion( static_cast<VkDevice>( m_device ), 7192 reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>( pCreateInfo ), 7193 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 7194 reinterpret_cast<VkSamplerYcbcrConversion *>( pYcbcrConversion ) ) ); 7195 } 7196 7197 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 7198 // wrapper function for command vkCreateSamplerYcbcrConversion, see 7199 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSamplerYcbcrConversion.html 7200 template <typename Dispatch> 7201 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion>::type createSamplerYcbcrConversion(const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const7202 Device::createSamplerYcbcrConversion( const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo & createInfo, 7203 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 7204 Dispatch const & d ) const 7205 { 7206 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7207 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7208 VULKAN_HPP_ASSERT( d.vkCreateSamplerYcbcrConversion && 7209 "Function <vkCreateSamplerYcbcrConversion> requires <VK_KHR_sampler_ycbcr_conversion> or <VK_VERSION_1_1>" ); 7210 # endif 7211 7212 VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion; 7213 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateSamplerYcbcrConversion( 7214 m_device, 7215 reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>( &createInfo ), 7216 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 7217 reinterpret_cast<VkSamplerYcbcrConversion *>( &ycbcrConversion ) ) ); 7218 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSamplerYcbcrConversion" ); 7219 7220 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( ycbcrConversion ) ); 7221 } 7222 7223 # ifndef VULKAN_HPP_NO_SMART_HANDLE 7224 // wrapper function for command vkCreateSamplerYcbcrConversion, see 7225 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSamplerYcbcrConversion.html 7226 template <typename Dispatch> 7227 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion, Dispatch>>::type createSamplerYcbcrConversionUnique(const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const7228 Device::createSamplerYcbcrConversionUnique( const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo & createInfo, 7229 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 7230 Dispatch const & d ) const 7231 { 7232 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7233 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7234 VULKAN_HPP_ASSERT( d.vkCreateSamplerYcbcrConversion && 7235 "Function <vkCreateSamplerYcbcrConversion> requires <VK_KHR_sampler_ycbcr_conversion> or <VK_VERSION_1_1>" ); 7236 # endif 7237 7238 VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion; 7239 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateSamplerYcbcrConversion( 7240 m_device, 7241 reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>( &createInfo ), 7242 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 7243 reinterpret_cast<VkSamplerYcbcrConversion *>( &ycbcrConversion ) ) ); 7244 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSamplerYcbcrConversionUnique" ); 7245 7246 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 7247 result, 7248 UniqueHandle<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion, Dispatch>( ycbcrConversion, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 7249 } 7250 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 7251 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 7252 7253 // wrapper function for command vkDestroySamplerYcbcrConversion, see 7254 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySamplerYcbcrConversion.html 7255 template <typename Dispatch> destroySamplerYcbcrConversion(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const7256 VULKAN_HPP_INLINE void Device::destroySamplerYcbcrConversion( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion, 7257 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 7258 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7259 { 7260 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7261 d.vkDestroySamplerYcbcrConversion( static_cast<VkDevice>( m_device ), 7262 static_cast<VkSamplerYcbcrConversion>( ycbcrConversion ), 7263 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 7264 } 7265 7266 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 7267 // wrapper function for command vkDestroySamplerYcbcrConversion, see 7268 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySamplerYcbcrConversion.html 7269 template <typename Dispatch> destroySamplerYcbcrConversion(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const7270 VULKAN_HPP_INLINE void Device::destroySamplerYcbcrConversion( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion, 7271 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 7272 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7273 { 7274 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7275 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7276 VULKAN_HPP_ASSERT( d.vkDestroySamplerYcbcrConversion && 7277 "Function <vkDestroySamplerYcbcrConversion> requires <VK_KHR_sampler_ycbcr_conversion> or <VK_VERSION_1_1>" ); 7278 # endif 7279 7280 d.vkDestroySamplerYcbcrConversion( 7281 m_device, 7282 static_cast<VkSamplerYcbcrConversion>( ycbcrConversion ), 7283 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 7284 } 7285 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 7286 7287 // wrapper function for command vkDestroySamplerYcbcrConversion, see 7288 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySamplerYcbcrConversion.html 7289 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const7290 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion, 7291 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 7292 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7293 { 7294 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7295 d.vkDestroySamplerYcbcrConversion( static_cast<VkDevice>( m_device ), 7296 static_cast<VkSamplerYcbcrConversion>( ycbcrConversion ), 7297 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 7298 } 7299 7300 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 7301 // wrapper function for command vkDestroySamplerYcbcrConversion, see 7302 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySamplerYcbcrConversion.html 7303 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const7304 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion, 7305 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 7306 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7307 { 7308 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7309 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7310 VULKAN_HPP_ASSERT( d.vkDestroySamplerYcbcrConversion && 7311 "Function <vkDestroySamplerYcbcrConversion> requires <VK_KHR_sampler_ycbcr_conversion> or <VK_VERSION_1_1>" ); 7312 # endif 7313 7314 d.vkDestroySamplerYcbcrConversion( 7315 m_device, 7316 static_cast<VkSamplerYcbcrConversion>( ycbcrConversion ), 7317 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 7318 } 7319 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 7320 7321 // wrapper function for command vkCreateDescriptorUpdateTemplate, see 7322 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorUpdateTemplate.html 7323 template <typename Dispatch> 7324 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result createDescriptorUpdateTemplate(const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate * pDescriptorUpdateTemplate,Dispatch const & d) const7325 Device::createDescriptorUpdateTemplate( const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo * pCreateInfo, 7326 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 7327 VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate * pDescriptorUpdateTemplate, 7328 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7329 { 7330 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7331 return static_cast<Result>( d.vkCreateDescriptorUpdateTemplate( static_cast<VkDevice>( m_device ), 7332 reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>( pCreateInfo ), 7333 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 7334 reinterpret_cast<VkDescriptorUpdateTemplate *>( pDescriptorUpdateTemplate ) ) ); 7335 } 7336 7337 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 7338 // wrapper function for command vkCreateDescriptorUpdateTemplate, see 7339 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorUpdateTemplate.html 7340 template <typename Dispatch> 7341 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate>::type createDescriptorUpdateTemplate(const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const7342 Device::createDescriptorUpdateTemplate( const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo & createInfo, 7343 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 7344 Dispatch const & d ) const 7345 { 7346 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7347 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7348 VULKAN_HPP_ASSERT( d.vkCreateDescriptorUpdateTemplate && 7349 "Function <vkCreateDescriptorUpdateTemplate> requires <VK_KHR_descriptor_update_template> or <VK_VERSION_1_1>" ); 7350 # endif 7351 7352 VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate; 7353 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateDescriptorUpdateTemplate( 7354 m_device, 7355 reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>( &createInfo ), 7356 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 7357 reinterpret_cast<VkDescriptorUpdateTemplate *>( &descriptorUpdateTemplate ) ) ); 7358 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorUpdateTemplate" ); 7359 7360 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( descriptorUpdateTemplate ) ); 7361 } 7362 7363 # ifndef VULKAN_HPP_NO_SMART_HANDLE 7364 // wrapper function for command vkCreateDescriptorUpdateTemplate, see 7365 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorUpdateTemplate.html 7366 template <typename Dispatch> 7367 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate, Dispatch>>::type createDescriptorUpdateTemplateUnique(const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const7368 Device::createDescriptorUpdateTemplateUnique( const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo & createInfo, 7369 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 7370 Dispatch const & d ) const 7371 { 7372 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7373 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7374 VULKAN_HPP_ASSERT( d.vkCreateDescriptorUpdateTemplate && 7375 "Function <vkCreateDescriptorUpdateTemplate> requires <VK_KHR_descriptor_update_template> or <VK_VERSION_1_1>" ); 7376 # endif 7377 7378 VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate; 7379 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateDescriptorUpdateTemplate( 7380 m_device, 7381 reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>( &createInfo ), 7382 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 7383 reinterpret_cast<VkDescriptorUpdateTemplate *>( &descriptorUpdateTemplate ) ) ); 7384 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorUpdateTemplateUnique" ); 7385 7386 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, 7387 UniqueHandle<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate, Dispatch>( 7388 descriptorUpdateTemplate, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 7389 } 7390 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 7391 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 7392 7393 // wrapper function for command vkDestroyDescriptorUpdateTemplate, see 7394 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorUpdateTemplate.html 7395 template <typename Dispatch> destroyDescriptorUpdateTemplate(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const7396 VULKAN_HPP_INLINE void Device::destroyDescriptorUpdateTemplate( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, 7397 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 7398 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7399 { 7400 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7401 d.vkDestroyDescriptorUpdateTemplate( static_cast<VkDevice>( m_device ), 7402 static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), 7403 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 7404 } 7405 7406 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 7407 // wrapper function for command vkDestroyDescriptorUpdateTemplate, see 7408 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorUpdateTemplate.html 7409 template <typename Dispatch> destroyDescriptorUpdateTemplate(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const7410 VULKAN_HPP_INLINE void Device::destroyDescriptorUpdateTemplate( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, 7411 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 7412 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7413 { 7414 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7415 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7416 VULKAN_HPP_ASSERT( d.vkDestroyDescriptorUpdateTemplate && 7417 "Function <vkDestroyDescriptorUpdateTemplate> requires <VK_KHR_descriptor_update_template> or <VK_VERSION_1_1>" ); 7418 # endif 7419 7420 d.vkDestroyDescriptorUpdateTemplate( 7421 m_device, 7422 static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), 7423 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 7424 } 7425 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 7426 7427 // wrapper function for command vkDestroyDescriptorUpdateTemplate, see 7428 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorUpdateTemplate.html 7429 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const7430 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, 7431 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 7432 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7433 { 7434 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7435 d.vkDestroyDescriptorUpdateTemplate( static_cast<VkDevice>( m_device ), 7436 static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), 7437 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 7438 } 7439 7440 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 7441 // wrapper function for command vkDestroyDescriptorUpdateTemplate, see 7442 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorUpdateTemplate.html 7443 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const7444 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, 7445 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 7446 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7447 { 7448 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7449 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7450 VULKAN_HPP_ASSERT( d.vkDestroyDescriptorUpdateTemplate && 7451 "Function <vkDestroyDescriptorUpdateTemplate> requires <VK_KHR_descriptor_update_template> or <VK_VERSION_1_1>" ); 7452 # endif 7453 7454 d.vkDestroyDescriptorUpdateTemplate( 7455 m_device, 7456 static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), 7457 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 7458 } 7459 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 7460 7461 // wrapper function for command vkUpdateDescriptorSetWithTemplate, see 7462 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateDescriptorSetWithTemplate.html 7463 template <typename Dispatch> updateDescriptorSetWithTemplate(VULKAN_HPP_NAMESPACE::DescriptorSet descriptorSet,VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,const void * pData,Dispatch const & d) const7464 VULKAN_HPP_INLINE void Device::updateDescriptorSetWithTemplate( VULKAN_HPP_NAMESPACE::DescriptorSet descriptorSet, 7465 VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, 7466 const void * pData, 7467 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7468 { 7469 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7470 d.vkUpdateDescriptorSetWithTemplate( static_cast<VkDevice>( m_device ), 7471 static_cast<VkDescriptorSet>( descriptorSet ), 7472 static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), 7473 pData ); 7474 } 7475 7476 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 7477 // wrapper function for command vkUpdateDescriptorSetWithTemplate, see 7478 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateDescriptorSetWithTemplate.html 7479 template <typename DataType, typename Dispatch> updateDescriptorSetWithTemplate(VULKAN_HPP_NAMESPACE::DescriptorSet descriptorSet,VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,DataType const & data,Dispatch const & d) const7480 VULKAN_HPP_INLINE void Device::updateDescriptorSetWithTemplate( VULKAN_HPP_NAMESPACE::DescriptorSet descriptorSet, 7481 VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, 7482 DataType const & data, 7483 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7484 { 7485 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7486 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7487 VULKAN_HPP_ASSERT( d.vkUpdateDescriptorSetWithTemplate && 7488 "Function <vkUpdateDescriptorSetWithTemplate> requires <VK_KHR_descriptor_update_template> or <VK_VERSION_1_1>" ); 7489 # endif 7490 7491 d.vkUpdateDescriptorSetWithTemplate( m_device, 7492 static_cast<VkDescriptorSet>( descriptorSet ), 7493 static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), 7494 reinterpret_cast<const void *>( &data ) ); 7495 } 7496 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 7497 7498 // wrapper function for command vkGetPhysicalDeviceExternalBufferProperties, see 7499 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalBufferProperties.html 7500 template <typename Dispatch> getExternalBufferProperties(const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo * pExternalBufferInfo,VULKAN_HPP_NAMESPACE::ExternalBufferProperties * pExternalBufferProperties,Dispatch const & d) const7501 VULKAN_HPP_INLINE void PhysicalDevice::getExternalBufferProperties( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo * pExternalBufferInfo, 7502 VULKAN_HPP_NAMESPACE::ExternalBufferProperties * pExternalBufferProperties, 7503 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7504 { 7505 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7506 d.vkGetPhysicalDeviceExternalBufferProperties( static_cast<VkPhysicalDevice>( m_physicalDevice ), 7507 reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo *>( pExternalBufferInfo ), 7508 reinterpret_cast<VkExternalBufferProperties *>( pExternalBufferProperties ) ); 7509 } 7510 7511 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 7512 // wrapper function for command vkGetPhysicalDeviceExternalBufferProperties, see 7513 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalBufferProperties.html 7514 template <typename Dispatch> 7515 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalBufferProperties getExternalBufferProperties(const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo & externalBufferInfo,Dispatch const & d) const7516 PhysicalDevice::getExternalBufferProperties( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo & externalBufferInfo, 7517 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7518 { 7519 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7520 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7521 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceExternalBufferProperties && 7522 "Function <vkGetPhysicalDeviceExternalBufferProperties> requires <VK_KHR_external_memory_capabilities> or <VK_VERSION_1_1>" ); 7523 # endif 7524 7525 VULKAN_HPP_NAMESPACE::ExternalBufferProperties externalBufferProperties; 7526 d.vkGetPhysicalDeviceExternalBufferProperties( m_physicalDevice, 7527 reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo *>( &externalBufferInfo ), 7528 reinterpret_cast<VkExternalBufferProperties *>( &externalBufferProperties ) ); 7529 7530 return externalBufferProperties; 7531 } 7532 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 7533 7534 // wrapper function for command vkGetPhysicalDeviceExternalFenceProperties, see 7535 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalFenceProperties.html 7536 template <typename Dispatch> getExternalFenceProperties(const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo * pExternalFenceInfo,VULKAN_HPP_NAMESPACE::ExternalFenceProperties * pExternalFenceProperties,Dispatch const & d) const7537 VULKAN_HPP_INLINE void PhysicalDevice::getExternalFenceProperties( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo * pExternalFenceInfo, 7538 VULKAN_HPP_NAMESPACE::ExternalFenceProperties * pExternalFenceProperties, 7539 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7540 { 7541 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7542 d.vkGetPhysicalDeviceExternalFenceProperties( static_cast<VkPhysicalDevice>( m_physicalDevice ), 7543 reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo *>( pExternalFenceInfo ), 7544 reinterpret_cast<VkExternalFenceProperties *>( pExternalFenceProperties ) ); 7545 } 7546 7547 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 7548 // wrapper function for command vkGetPhysicalDeviceExternalFenceProperties, see 7549 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalFenceProperties.html 7550 template <typename Dispatch> 7551 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalFenceProperties getExternalFenceProperties(const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo & externalFenceInfo,Dispatch const & d) const7552 PhysicalDevice::getExternalFenceProperties( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo & externalFenceInfo, 7553 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7554 { 7555 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7556 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7557 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceExternalFenceProperties && 7558 "Function <vkGetPhysicalDeviceExternalFenceProperties> requires <VK_KHR_external_fence_capabilities> or <VK_VERSION_1_1>" ); 7559 # endif 7560 7561 VULKAN_HPP_NAMESPACE::ExternalFenceProperties externalFenceProperties; 7562 d.vkGetPhysicalDeviceExternalFenceProperties( m_physicalDevice, 7563 reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo *>( &externalFenceInfo ), 7564 reinterpret_cast<VkExternalFenceProperties *>( &externalFenceProperties ) ); 7565 7566 return externalFenceProperties; 7567 } 7568 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 7569 7570 // wrapper function for command vkGetPhysicalDeviceExternalSemaphoreProperties, see 7571 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalSemaphoreProperties.html 7572 template <typename Dispatch> 7573 VULKAN_HPP_INLINE void getExternalSemaphoreProperties(const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties * pExternalSemaphoreProperties,Dispatch const & d) const7574 PhysicalDevice::getExternalSemaphoreProperties( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo, 7575 VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties * pExternalSemaphoreProperties, 7576 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7577 { 7578 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7579 d.vkGetPhysicalDeviceExternalSemaphoreProperties( static_cast<VkPhysicalDevice>( m_physicalDevice ), 7580 reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo *>( pExternalSemaphoreInfo ), 7581 reinterpret_cast<VkExternalSemaphoreProperties *>( pExternalSemaphoreProperties ) ); 7582 } 7583 7584 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 7585 // wrapper function for command vkGetPhysicalDeviceExternalSemaphoreProperties, see 7586 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalSemaphoreProperties.html 7587 template <typename Dispatch> 7588 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties getExternalSemaphoreProperties(const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo & externalSemaphoreInfo,Dispatch const & d) const7589 PhysicalDevice::getExternalSemaphoreProperties( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo & externalSemaphoreInfo, 7590 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7591 { 7592 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7593 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7594 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceExternalSemaphoreProperties && 7595 "Function <vkGetPhysicalDeviceExternalSemaphoreProperties> requires <VK_KHR_external_semaphore_capabilities> or <VK_VERSION_1_1>" ); 7596 # endif 7597 7598 VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties externalSemaphoreProperties; 7599 d.vkGetPhysicalDeviceExternalSemaphoreProperties( m_physicalDevice, 7600 reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo *>( &externalSemaphoreInfo ), 7601 reinterpret_cast<VkExternalSemaphoreProperties *>( &externalSemaphoreProperties ) ); 7602 7603 return externalSemaphoreProperties; 7604 } 7605 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 7606 7607 // wrapper function for command vkGetDescriptorSetLayoutSupport, see 7608 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupport.html 7609 template <typename Dispatch> getDescriptorSetLayoutSupport(const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo * pCreateInfo,VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport * pSupport,Dispatch const & d) const7610 VULKAN_HPP_INLINE void Device::getDescriptorSetLayoutSupport( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo * pCreateInfo, 7611 VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport * pSupport, 7612 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7613 { 7614 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7615 d.vkGetDescriptorSetLayoutSupport( static_cast<VkDevice>( m_device ), 7616 reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( pCreateInfo ), 7617 reinterpret_cast<VkDescriptorSetLayoutSupport *>( pSupport ) ); 7618 } 7619 7620 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 7621 // wrapper function for command vkGetDescriptorSetLayoutSupport, see 7622 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupport.html 7623 template <typename Dispatch> 7624 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport getDescriptorSetLayoutSupport(const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo,Dispatch const & d) const7625 Device::getDescriptorSetLayoutSupport( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo, 7626 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7627 { 7628 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7629 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7630 VULKAN_HPP_ASSERT( d.vkGetDescriptorSetLayoutSupport && "Function <vkGetDescriptorSetLayoutSupport> requires <VK_KHR_maintenance3> or <VK_VERSION_1_1>" ); 7631 # endif 7632 7633 VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport support; 7634 d.vkGetDescriptorSetLayoutSupport( 7635 m_device, reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( &createInfo ), reinterpret_cast<VkDescriptorSetLayoutSupport *>( &support ) ); 7636 7637 return support; 7638 } 7639 7640 // wrapper function for command vkGetDescriptorSetLayoutSupport, see 7641 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupport.html 7642 template <typename X, typename Y, typename... Z, typename Dispatch> 7643 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> getDescriptorSetLayoutSupport(const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo,Dispatch const & d) const7644 Device::getDescriptorSetLayoutSupport( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo, 7645 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7646 { 7647 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7648 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7649 VULKAN_HPP_ASSERT( d.vkGetDescriptorSetLayoutSupport && "Function <vkGetDescriptorSetLayoutSupport> requires <VK_KHR_maintenance3> or <VK_VERSION_1_1>" ); 7650 # endif 7651 7652 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 7653 VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport & support = structureChain.template get<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport>(); 7654 d.vkGetDescriptorSetLayoutSupport( 7655 m_device, reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( &createInfo ), reinterpret_cast<VkDescriptorSetLayoutSupport *>( &support ) ); 7656 7657 return structureChain; 7658 } 7659 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 7660 7661 //=== VK_VERSION_1_2 === 7662 7663 // wrapper function for command vkCmdDrawIndirectCount, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectCount.html 7664 template <typename Dispatch> drawIndirectCount(VULKAN_HPP_NAMESPACE::Buffer buffer,VULKAN_HPP_NAMESPACE::DeviceSize offset,VULKAN_HPP_NAMESPACE::Buffer countBuffer,VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride,Dispatch const & d) const7665 VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCount( VULKAN_HPP_NAMESPACE::Buffer buffer, 7666 VULKAN_HPP_NAMESPACE::DeviceSize offset, 7667 VULKAN_HPP_NAMESPACE::Buffer countBuffer, 7668 VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, 7669 uint32_t maxDrawCount, 7670 uint32_t stride, 7671 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7672 { 7673 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7674 d.vkCmdDrawIndirectCount( static_cast<VkCommandBuffer>( m_commandBuffer ), 7675 static_cast<VkBuffer>( buffer ), 7676 static_cast<VkDeviceSize>( offset ), 7677 static_cast<VkBuffer>( countBuffer ), 7678 static_cast<VkDeviceSize>( countBufferOffset ), 7679 maxDrawCount, 7680 stride ); 7681 } 7682 7683 // wrapper function for command vkCmdDrawIndexedIndirectCount, see 7684 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirectCount.html 7685 template <typename Dispatch> drawIndexedIndirectCount(VULKAN_HPP_NAMESPACE::Buffer buffer,VULKAN_HPP_NAMESPACE::DeviceSize offset,VULKAN_HPP_NAMESPACE::Buffer countBuffer,VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride,Dispatch const & d) const7686 VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCount( VULKAN_HPP_NAMESPACE::Buffer buffer, 7687 VULKAN_HPP_NAMESPACE::DeviceSize offset, 7688 VULKAN_HPP_NAMESPACE::Buffer countBuffer, 7689 VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, 7690 uint32_t maxDrawCount, 7691 uint32_t stride, 7692 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7693 { 7694 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7695 d.vkCmdDrawIndexedIndirectCount( static_cast<VkCommandBuffer>( m_commandBuffer ), 7696 static_cast<VkBuffer>( buffer ), 7697 static_cast<VkDeviceSize>( offset ), 7698 static_cast<VkBuffer>( countBuffer ), 7699 static_cast<VkDeviceSize>( countBufferOffset ), 7700 maxDrawCount, 7701 stride ); 7702 } 7703 7704 // wrapper function for command vkCreateRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass2.html 7705 template <typename Dispatch> createRenderPass2(const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::RenderPass * pRenderPass,Dispatch const & d) const7706 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createRenderPass2( const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 * pCreateInfo, 7707 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 7708 VULKAN_HPP_NAMESPACE::RenderPass * pRenderPass, 7709 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7710 { 7711 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7712 return static_cast<Result>( d.vkCreateRenderPass2( static_cast<VkDevice>( m_device ), 7713 reinterpret_cast<const VkRenderPassCreateInfo2 *>( pCreateInfo ), 7714 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 7715 reinterpret_cast<VkRenderPass *>( pRenderPass ) ) ); 7716 } 7717 7718 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 7719 // wrapper function for command vkCreateRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass2.html 7720 template <typename Dispatch> 7721 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::RenderPass>::type createRenderPass2(const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const7722 Device::createRenderPass2( const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 & createInfo, 7723 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 7724 Dispatch const & d ) const 7725 { 7726 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7727 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7728 VULKAN_HPP_ASSERT( d.vkCreateRenderPass2 && "Function <vkCreateRenderPass2> requires <VK_KHR_create_renderpass2> or <VK_VERSION_1_2>" ); 7729 # endif 7730 7731 VULKAN_HPP_NAMESPACE::RenderPass renderPass; 7732 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 7733 d.vkCreateRenderPass2( m_device, 7734 reinterpret_cast<const VkRenderPassCreateInfo2 *>( &createInfo ), 7735 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 7736 reinterpret_cast<VkRenderPass *>( &renderPass ) ) ); 7737 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPass2" ); 7738 7739 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( renderPass ) ); 7740 } 7741 7742 # ifndef VULKAN_HPP_NO_SMART_HANDLE 7743 // wrapper function for command vkCreateRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass2.html 7744 template <typename Dispatch> 7745 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::RenderPass, Dispatch>>::type createRenderPass2Unique(const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const7746 Device::createRenderPass2Unique( const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 & createInfo, 7747 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 7748 Dispatch const & d ) const 7749 { 7750 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7751 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7752 VULKAN_HPP_ASSERT( d.vkCreateRenderPass2 && "Function <vkCreateRenderPass2> requires <VK_KHR_create_renderpass2> or <VK_VERSION_1_2>" ); 7753 # endif 7754 7755 VULKAN_HPP_NAMESPACE::RenderPass renderPass; 7756 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 7757 d.vkCreateRenderPass2( m_device, 7758 reinterpret_cast<const VkRenderPassCreateInfo2 *>( &createInfo ), 7759 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 7760 reinterpret_cast<VkRenderPass *>( &renderPass ) ) ); 7761 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPass2Unique" ); 7762 7763 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 7764 result, UniqueHandle<VULKAN_HPP_NAMESPACE::RenderPass, Dispatch>( renderPass, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 7765 } 7766 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 7767 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 7768 7769 // wrapper function for command vkCmdBeginRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass2.html 7770 template <typename Dispatch> beginRenderPass2(const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo * pRenderPassBegin,const VULKAN_HPP_NAMESPACE::SubpassBeginInfo * pSubpassBeginInfo,Dispatch const & d) const7771 VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass2( const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo * pRenderPassBegin, 7772 const VULKAN_HPP_NAMESPACE::SubpassBeginInfo * pSubpassBeginInfo, 7773 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7774 { 7775 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7776 d.vkCmdBeginRenderPass2( static_cast<VkCommandBuffer>( m_commandBuffer ), 7777 reinterpret_cast<const VkRenderPassBeginInfo *>( pRenderPassBegin ), 7778 reinterpret_cast<const VkSubpassBeginInfo *>( pSubpassBeginInfo ) ); 7779 } 7780 7781 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 7782 // wrapper function for command vkCmdBeginRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass2.html 7783 template <typename Dispatch> beginRenderPass2(const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo & renderPassBegin,const VULKAN_HPP_NAMESPACE::SubpassBeginInfo & subpassBeginInfo,Dispatch const & d) const7784 VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass2( const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo & renderPassBegin, 7785 const VULKAN_HPP_NAMESPACE::SubpassBeginInfo & subpassBeginInfo, 7786 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7787 { 7788 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7789 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7790 VULKAN_HPP_ASSERT( d.vkCmdBeginRenderPass2 && "Function <vkCmdBeginRenderPass2> requires <VK_KHR_create_renderpass2> or <VK_VERSION_1_2>" ); 7791 # endif 7792 7793 d.vkCmdBeginRenderPass2( 7794 m_commandBuffer, reinterpret_cast<const VkRenderPassBeginInfo *>( &renderPassBegin ), reinterpret_cast<const VkSubpassBeginInfo *>( &subpassBeginInfo ) ); 7795 } 7796 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 7797 7798 // wrapper function for command vkCmdNextSubpass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdNextSubpass2.html 7799 template <typename Dispatch> nextSubpass2(const VULKAN_HPP_NAMESPACE::SubpassBeginInfo * pSubpassBeginInfo,const VULKAN_HPP_NAMESPACE::SubpassEndInfo * pSubpassEndInfo,Dispatch const & d) const7800 VULKAN_HPP_INLINE void CommandBuffer::nextSubpass2( const VULKAN_HPP_NAMESPACE::SubpassBeginInfo * pSubpassBeginInfo, 7801 const VULKAN_HPP_NAMESPACE::SubpassEndInfo * pSubpassEndInfo, 7802 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7803 { 7804 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7805 d.vkCmdNextSubpass2( static_cast<VkCommandBuffer>( m_commandBuffer ), 7806 reinterpret_cast<const VkSubpassBeginInfo *>( pSubpassBeginInfo ), 7807 reinterpret_cast<const VkSubpassEndInfo *>( pSubpassEndInfo ) ); 7808 } 7809 7810 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 7811 // wrapper function for command vkCmdNextSubpass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdNextSubpass2.html 7812 template <typename Dispatch> nextSubpass2(const VULKAN_HPP_NAMESPACE::SubpassBeginInfo & subpassBeginInfo,const VULKAN_HPP_NAMESPACE::SubpassEndInfo & subpassEndInfo,Dispatch const & d) const7813 VULKAN_HPP_INLINE void CommandBuffer::nextSubpass2( const VULKAN_HPP_NAMESPACE::SubpassBeginInfo & subpassBeginInfo, 7814 const VULKAN_HPP_NAMESPACE::SubpassEndInfo & subpassEndInfo, 7815 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7816 { 7817 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7818 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7819 VULKAN_HPP_ASSERT( d.vkCmdNextSubpass2 && "Function <vkCmdNextSubpass2> requires <VK_KHR_create_renderpass2> or <VK_VERSION_1_2>" ); 7820 # endif 7821 7822 d.vkCmdNextSubpass2( 7823 m_commandBuffer, reinterpret_cast<const VkSubpassBeginInfo *>( &subpassBeginInfo ), reinterpret_cast<const VkSubpassEndInfo *>( &subpassEndInfo ) ); 7824 } 7825 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 7826 7827 // wrapper function for command vkCmdEndRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderPass2.html 7828 template <typename Dispatch> endRenderPass2(const VULKAN_HPP_NAMESPACE::SubpassEndInfo * pSubpassEndInfo,Dispatch const & d) const7829 VULKAN_HPP_INLINE void CommandBuffer::endRenderPass2( const VULKAN_HPP_NAMESPACE::SubpassEndInfo * pSubpassEndInfo, 7830 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7831 { 7832 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7833 d.vkCmdEndRenderPass2( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkSubpassEndInfo *>( pSubpassEndInfo ) ); 7834 } 7835 7836 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 7837 // wrapper function for command vkCmdEndRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderPass2.html 7838 template <typename Dispatch> endRenderPass2(const VULKAN_HPP_NAMESPACE::SubpassEndInfo & subpassEndInfo,Dispatch const & d) const7839 VULKAN_HPP_INLINE void CommandBuffer::endRenderPass2( const VULKAN_HPP_NAMESPACE::SubpassEndInfo & subpassEndInfo, 7840 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7841 { 7842 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7843 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7844 VULKAN_HPP_ASSERT( d.vkCmdEndRenderPass2 && "Function <vkCmdEndRenderPass2> requires <VK_KHR_create_renderpass2> or <VK_VERSION_1_2>" ); 7845 # endif 7846 7847 d.vkCmdEndRenderPass2( m_commandBuffer, reinterpret_cast<const VkSubpassEndInfo *>( &subpassEndInfo ) ); 7848 } 7849 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 7850 7851 // wrapper function for command vkResetQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetQueryPool.html 7852 template <typename Dispatch> 7853 VULKAN_HPP_INLINE void resetQueryPool(VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,Dispatch const & d) const7854 Device::resetQueryPool( VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7855 { 7856 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7857 d.vkResetQueryPool( static_cast<VkDevice>( m_device ), static_cast<VkQueryPool>( queryPool ), firstQuery, queryCount ); 7858 } 7859 7860 // wrapper function for command vkGetSemaphoreCounterValue, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreCounterValue.html 7861 template <typename Dispatch> getSemaphoreCounterValue(VULKAN_HPP_NAMESPACE::Semaphore semaphore,uint64_t * pValue,Dispatch const & d) const7862 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSemaphoreCounterValue( VULKAN_HPP_NAMESPACE::Semaphore semaphore, 7863 uint64_t * pValue, 7864 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7865 { 7866 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7867 return static_cast<Result>( d.vkGetSemaphoreCounterValue( static_cast<VkDevice>( m_device ), static_cast<VkSemaphore>( semaphore ), pValue ) ); 7868 } 7869 7870 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 7871 // wrapper function for command vkGetSemaphoreCounterValue, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreCounterValue.html 7872 template <typename Dispatch> getSemaphoreCounterValue(VULKAN_HPP_NAMESPACE::Semaphore semaphore,Dispatch const & d) const7873 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<uint64_t>::type Device::getSemaphoreCounterValue( VULKAN_HPP_NAMESPACE::Semaphore semaphore, 7874 Dispatch const & d ) const 7875 { 7876 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7877 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7878 VULKAN_HPP_ASSERT( d.vkGetSemaphoreCounterValue && "Function <vkGetSemaphoreCounterValue> requires <VK_KHR_timeline_semaphore> or <VK_VERSION_1_2>" ); 7879 # endif 7880 7881 uint64_t value; 7882 VULKAN_HPP_NAMESPACE::Result result = 7883 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetSemaphoreCounterValue( m_device, static_cast<VkSemaphore>( semaphore ), &value ) ); 7884 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreCounterValue" ); 7885 7886 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( value ) ); 7887 } 7888 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 7889 7890 // wrapper function for command vkWaitSemaphores, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitSemaphores.html 7891 template <typename Dispatch> waitSemaphores(const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo * pWaitInfo,uint64_t timeout,Dispatch const & d) const7892 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::waitSemaphores( const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo * pWaitInfo, 7893 uint64_t timeout, 7894 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7895 { 7896 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7897 return static_cast<Result>( d.vkWaitSemaphores( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreWaitInfo *>( pWaitInfo ), timeout ) ); 7898 } 7899 7900 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 7901 // wrapper function for command vkWaitSemaphores, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitSemaphores.html 7902 template <typename Dispatch> 7903 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result waitSemaphores(const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo & waitInfo,uint64_t timeout,Dispatch const & d) const7904 Device::waitSemaphores( const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo & waitInfo, uint64_t timeout, Dispatch const & d ) const 7905 { 7906 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7907 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7908 VULKAN_HPP_ASSERT( d.vkWaitSemaphores && "Function <vkWaitSemaphores> requires <VK_KHR_timeline_semaphore> or <VK_VERSION_1_2>" ); 7909 # endif 7910 7911 VULKAN_HPP_NAMESPACE::Result result = 7912 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkWaitSemaphores( m_device, reinterpret_cast<const VkSemaphoreWaitInfo *>( &waitInfo ), timeout ) ); 7913 VULKAN_HPP_NAMESPACE::detail::resultCheck( 7914 result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitSemaphores", { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eTimeout } ); 7915 7916 return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); 7917 } 7918 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 7919 7920 // wrapper function for command vkSignalSemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSignalSemaphore.html 7921 template <typename Dispatch> signalSemaphore(const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo * pSignalInfo,Dispatch const & d) const7922 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::signalSemaphore( const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo * pSignalInfo, 7923 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7924 { 7925 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7926 return static_cast<Result>( d.vkSignalSemaphore( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreSignalInfo *>( pSignalInfo ) ) ); 7927 } 7928 7929 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 7930 // wrapper function for command vkSignalSemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSignalSemaphore.html 7931 template <typename Dispatch> 7932 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type signalSemaphore(const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo & signalInfo,Dispatch const & d) const7933 Device::signalSemaphore( const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo & signalInfo, Dispatch const & d ) const 7934 { 7935 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7936 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7937 VULKAN_HPP_ASSERT( d.vkSignalSemaphore && "Function <vkSignalSemaphore> requires <VK_KHR_timeline_semaphore> or <VK_VERSION_1_2>" ); 7938 # endif 7939 7940 VULKAN_HPP_NAMESPACE::Result result = 7941 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkSignalSemaphore( m_device, reinterpret_cast<const VkSemaphoreSignalInfo *>( &signalInfo ) ) ); 7942 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::signalSemaphore" ); 7943 7944 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 7945 } 7946 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 7947 7948 // wrapper function for command vkGetBufferDeviceAddress, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferDeviceAddress.html 7949 template <typename Dispatch> getBufferAddress(const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo * pInfo,Dispatch const & d) const7950 VULKAN_HPP_INLINE DeviceAddress Device::getBufferAddress( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo * pInfo, 7951 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7952 { 7953 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7954 return static_cast<DeviceAddress>( 7955 d.vkGetBufferDeviceAddress( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkBufferDeviceAddressInfo *>( pInfo ) ) ); 7956 } 7957 7958 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 7959 // wrapper function for command vkGetBufferDeviceAddress, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferDeviceAddress.html 7960 template <typename Dispatch> getBufferAddress(const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo & info,Dispatch const & d) const7961 VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceAddress Device::getBufferAddress( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo & info, 7962 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7963 { 7964 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7965 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7966 VULKAN_HPP_ASSERT( d.vkGetBufferDeviceAddress && 7967 "Function <vkGetBufferDeviceAddress> requires <VK_EXT_buffer_device_address> or <VK_KHR_buffer_device_address> or <VK_VERSION_1_2>" ); 7968 # endif 7969 7970 VkDeviceAddress result = d.vkGetBufferDeviceAddress( m_device, reinterpret_cast<const VkBufferDeviceAddressInfo *>( &info ) ); 7971 7972 return static_cast<VULKAN_HPP_NAMESPACE::DeviceAddress>( result ); 7973 } 7974 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 7975 7976 // wrapper function for command vkGetBufferOpaqueCaptureAddress, see 7977 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferOpaqueCaptureAddress.html 7978 template <typename Dispatch> getBufferOpaqueCaptureAddress(const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo * pInfo,Dispatch const & d) const7979 VULKAN_HPP_INLINE uint64_t Device::getBufferOpaqueCaptureAddress( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo * pInfo, 7980 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7981 { 7982 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7983 return d.vkGetBufferOpaqueCaptureAddress( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkBufferDeviceAddressInfo *>( pInfo ) ); 7984 } 7985 7986 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 7987 // wrapper function for command vkGetBufferOpaqueCaptureAddress, see 7988 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferOpaqueCaptureAddress.html 7989 template <typename Dispatch> getBufferOpaqueCaptureAddress(const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo & info,Dispatch const & d) const7990 VULKAN_HPP_INLINE uint64_t Device::getBufferOpaqueCaptureAddress( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo & info, 7991 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 7992 { 7993 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 7994 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 7995 VULKAN_HPP_ASSERT( d.vkGetBufferOpaqueCaptureAddress && 7996 "Function <vkGetBufferOpaqueCaptureAddress> requires <VK_KHR_buffer_device_address> or <VK_VERSION_1_2>" ); 7997 # endif 7998 7999 uint64_t result = d.vkGetBufferOpaqueCaptureAddress( m_device, reinterpret_cast<const VkBufferDeviceAddressInfo *>( &info ) ); 8000 8001 return result; 8002 } 8003 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 8004 8005 // wrapper function for command vkGetDeviceMemoryOpaqueCaptureAddress, see 8006 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMemoryOpaqueCaptureAddress.html 8007 template <typename Dispatch> getMemoryOpaqueCaptureAddress(const VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo * pInfo,Dispatch const & d) const8008 VULKAN_HPP_INLINE uint64_t Device::getMemoryOpaqueCaptureAddress( const VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo * pInfo, 8009 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8010 { 8011 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8012 return d.vkGetDeviceMemoryOpaqueCaptureAddress( static_cast<VkDevice>( m_device ), 8013 reinterpret_cast<const VkDeviceMemoryOpaqueCaptureAddressInfo *>( pInfo ) ); 8014 } 8015 8016 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 8017 // wrapper function for command vkGetDeviceMemoryOpaqueCaptureAddress, see 8018 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMemoryOpaqueCaptureAddress.html 8019 template <typename Dispatch> getMemoryOpaqueCaptureAddress(const VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo & info,Dispatch const & d) const8020 VULKAN_HPP_INLINE uint64_t Device::getMemoryOpaqueCaptureAddress( const VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo & info, 8021 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8022 { 8023 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8024 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8025 VULKAN_HPP_ASSERT( d.vkGetDeviceMemoryOpaqueCaptureAddress && 8026 "Function <vkGetDeviceMemoryOpaqueCaptureAddress> requires <VK_KHR_buffer_device_address> or <VK_VERSION_1_2>" ); 8027 # endif 8028 8029 uint64_t result = d.vkGetDeviceMemoryOpaqueCaptureAddress( m_device, reinterpret_cast<const VkDeviceMemoryOpaqueCaptureAddressInfo *>( &info ) ); 8030 8031 return result; 8032 } 8033 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 8034 8035 //=== VK_VERSION_1_3 === 8036 8037 // wrapper function for command vkGetPhysicalDeviceToolProperties, see 8038 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceToolProperties.html 8039 template <typename Dispatch> getToolProperties(uint32_t * pToolCount,VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties * pToolProperties,Dispatch const & d) const8040 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getToolProperties( uint32_t * pToolCount, 8041 VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties * pToolProperties, 8042 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8043 { 8044 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8045 return static_cast<Result>( d.vkGetPhysicalDeviceToolProperties( 8046 static_cast<VkPhysicalDevice>( m_physicalDevice ), pToolCount, reinterpret_cast<VkPhysicalDeviceToolProperties *>( pToolProperties ) ) ); 8047 } 8048 8049 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 8050 // wrapper function for command vkGetPhysicalDeviceToolProperties, see 8051 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceToolProperties.html 8052 template < 8053 typename PhysicalDeviceToolPropertiesAllocator, 8054 typename Dispatch, 8055 typename std::enable_if<std::is_same<typename PhysicalDeviceToolPropertiesAllocator::value_type, VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties>::value, 8056 int>::type> 8057 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 8058 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties, PhysicalDeviceToolPropertiesAllocator>>::type getToolProperties(Dispatch const & d) const8059 PhysicalDevice::getToolProperties( Dispatch const & d ) const 8060 { 8061 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8062 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8063 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceToolProperties && 8064 "Function <vkGetPhysicalDeviceToolProperties> requires <VK_EXT_tooling_info> or <VK_VERSION_1_3>" ); 8065 # endif 8066 8067 std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties, PhysicalDeviceToolPropertiesAllocator> toolProperties; 8068 uint32_t toolCount; 8069 VULKAN_HPP_NAMESPACE::Result result; 8070 do 8071 { 8072 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceToolProperties( m_physicalDevice, &toolCount, nullptr ) ); 8073 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && toolCount ) 8074 { 8075 toolProperties.resize( toolCount ); 8076 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 8077 d.vkGetPhysicalDeviceToolProperties( m_physicalDevice, &toolCount, reinterpret_cast<VkPhysicalDeviceToolProperties *>( toolProperties.data() ) ) ); 8078 } 8079 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 8080 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getToolProperties" ); 8081 VULKAN_HPP_ASSERT( toolCount <= toolProperties.size() ); 8082 if ( toolCount < toolProperties.size() ) 8083 { 8084 toolProperties.resize( toolCount ); 8085 } 8086 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( toolProperties ) ); 8087 } 8088 8089 // wrapper function for command vkGetPhysicalDeviceToolProperties, see 8090 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceToolProperties.html 8091 template < 8092 typename PhysicalDeviceToolPropertiesAllocator, 8093 typename Dispatch, 8094 typename std::enable_if<std::is_same<typename PhysicalDeviceToolPropertiesAllocator::value_type, VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties>::value, 8095 int>::type> 8096 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 8097 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties, PhysicalDeviceToolPropertiesAllocator>>::type getToolProperties(PhysicalDeviceToolPropertiesAllocator & physicalDeviceToolPropertiesAllocator,Dispatch const & d) const8098 PhysicalDevice::getToolProperties( PhysicalDeviceToolPropertiesAllocator & physicalDeviceToolPropertiesAllocator, Dispatch const & d ) const 8099 { 8100 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8101 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8102 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceToolProperties && 8103 "Function <vkGetPhysicalDeviceToolProperties> requires <VK_EXT_tooling_info> or <VK_VERSION_1_3>" ); 8104 # endif 8105 8106 std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties, PhysicalDeviceToolPropertiesAllocator> toolProperties( 8107 physicalDeviceToolPropertiesAllocator ); 8108 uint32_t toolCount; 8109 VULKAN_HPP_NAMESPACE::Result result; 8110 do 8111 { 8112 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceToolProperties( m_physicalDevice, &toolCount, nullptr ) ); 8113 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && toolCount ) 8114 { 8115 toolProperties.resize( toolCount ); 8116 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 8117 d.vkGetPhysicalDeviceToolProperties( m_physicalDevice, &toolCount, reinterpret_cast<VkPhysicalDeviceToolProperties *>( toolProperties.data() ) ) ); 8118 } 8119 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 8120 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getToolProperties" ); 8121 VULKAN_HPP_ASSERT( toolCount <= toolProperties.size() ); 8122 if ( toolCount < toolProperties.size() ) 8123 { 8124 toolProperties.resize( toolCount ); 8125 } 8126 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( toolProperties ) ); 8127 } 8128 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 8129 8130 // wrapper function for command vkCreatePrivateDataSlot, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePrivateDataSlot.html 8131 template <typename Dispatch> createPrivateDataSlot(const VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::PrivateDataSlot * pPrivateDataSlot,Dispatch const & d) const8132 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createPrivateDataSlot( const VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo * pCreateInfo, 8133 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 8134 VULKAN_HPP_NAMESPACE::PrivateDataSlot * pPrivateDataSlot, 8135 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8136 { 8137 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8138 return static_cast<Result>( d.vkCreatePrivateDataSlot( static_cast<VkDevice>( m_device ), 8139 reinterpret_cast<const VkPrivateDataSlotCreateInfo *>( pCreateInfo ), 8140 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 8141 reinterpret_cast<VkPrivateDataSlot *>( pPrivateDataSlot ) ) ); 8142 } 8143 8144 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 8145 // wrapper function for command vkCreatePrivateDataSlot, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePrivateDataSlot.html 8146 template <typename Dispatch> 8147 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::PrivateDataSlot>::type createPrivateDataSlot(const VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const8148 Device::createPrivateDataSlot( const VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo & createInfo, 8149 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 8150 Dispatch const & d ) const 8151 { 8152 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8153 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8154 VULKAN_HPP_ASSERT( d.vkCreatePrivateDataSlot && "Function <vkCreatePrivateDataSlot> requires <VK_EXT_private_data> or <VK_VERSION_1_3>" ); 8155 # endif 8156 8157 VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot; 8158 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 8159 d.vkCreatePrivateDataSlot( m_device, 8160 reinterpret_cast<const VkPrivateDataSlotCreateInfo *>( &createInfo ), 8161 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 8162 reinterpret_cast<VkPrivateDataSlot *>( &privateDataSlot ) ) ); 8163 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createPrivateDataSlot" ); 8164 8165 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( privateDataSlot ) ); 8166 } 8167 8168 # ifndef VULKAN_HPP_NO_SMART_HANDLE 8169 // wrapper function for command vkCreatePrivateDataSlot, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePrivateDataSlot.html 8170 template <typename Dispatch> 8171 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::PrivateDataSlot, Dispatch>>::type createPrivateDataSlotUnique(const VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const8172 Device::createPrivateDataSlotUnique( const VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo & createInfo, 8173 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 8174 Dispatch const & d ) const 8175 { 8176 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8177 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8178 VULKAN_HPP_ASSERT( d.vkCreatePrivateDataSlot && "Function <vkCreatePrivateDataSlot> requires <VK_EXT_private_data> or <VK_VERSION_1_3>" ); 8179 # endif 8180 8181 VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot; 8182 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 8183 d.vkCreatePrivateDataSlot( m_device, 8184 reinterpret_cast<const VkPrivateDataSlotCreateInfo *>( &createInfo ), 8185 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 8186 reinterpret_cast<VkPrivateDataSlot *>( &privateDataSlot ) ) ); 8187 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createPrivateDataSlotUnique" ); 8188 8189 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 8190 result, 8191 UniqueHandle<VULKAN_HPP_NAMESPACE::PrivateDataSlot, Dispatch>( privateDataSlot, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 8192 } 8193 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 8194 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 8195 8196 // wrapper function for command vkDestroyPrivateDataSlot, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPrivateDataSlot.html 8197 template <typename Dispatch> destroyPrivateDataSlot(VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const8198 VULKAN_HPP_INLINE void Device::destroyPrivateDataSlot( VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot, 8199 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 8200 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8201 { 8202 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8203 d.vkDestroyPrivateDataSlot( 8204 static_cast<VkDevice>( m_device ), static_cast<VkPrivateDataSlot>( privateDataSlot ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 8205 } 8206 8207 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 8208 // wrapper function for command vkDestroyPrivateDataSlot, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPrivateDataSlot.html 8209 template <typename Dispatch> destroyPrivateDataSlot(VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const8210 VULKAN_HPP_INLINE void Device::destroyPrivateDataSlot( VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot, 8211 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 8212 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8213 { 8214 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8215 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8216 VULKAN_HPP_ASSERT( d.vkDestroyPrivateDataSlot && "Function <vkDestroyPrivateDataSlot> requires <VK_EXT_private_data> or <VK_VERSION_1_3>" ); 8217 # endif 8218 8219 d.vkDestroyPrivateDataSlot( 8220 m_device, 8221 static_cast<VkPrivateDataSlot>( privateDataSlot ), 8222 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 8223 } 8224 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 8225 8226 // wrapper function for command vkDestroyPrivateDataSlot, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPrivateDataSlot.html 8227 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const8228 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot, 8229 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 8230 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8231 { 8232 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8233 d.vkDestroyPrivateDataSlot( 8234 static_cast<VkDevice>( m_device ), static_cast<VkPrivateDataSlot>( privateDataSlot ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 8235 } 8236 8237 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 8238 // wrapper function for command vkDestroyPrivateDataSlot, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPrivateDataSlot.html 8239 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const8240 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot, 8241 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 8242 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8243 { 8244 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8245 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8246 VULKAN_HPP_ASSERT( d.vkDestroyPrivateDataSlot && "Function <vkDestroyPrivateDataSlot> requires <VK_EXT_private_data> or <VK_VERSION_1_3>" ); 8247 # endif 8248 8249 d.vkDestroyPrivateDataSlot( 8250 m_device, 8251 static_cast<VkPrivateDataSlot>( privateDataSlot ), 8252 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 8253 } 8254 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 8255 8256 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 8257 // wrapper function for command vkSetPrivateData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetPrivateData.html 8258 template <typename Dispatch> setPrivateData(VULKAN_HPP_NAMESPACE::ObjectType objectType_,uint64_t objectHandle,VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,uint64_t data,Dispatch const & d) const8259 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::setPrivateData( VULKAN_HPP_NAMESPACE::ObjectType objectType_, 8260 uint64_t objectHandle, 8261 VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot, 8262 uint64_t data, 8263 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8264 { 8265 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8266 return static_cast<Result>( d.vkSetPrivateData( 8267 static_cast<VkDevice>( m_device ), static_cast<VkObjectType>( objectType_ ), objectHandle, static_cast<VkPrivateDataSlot>( privateDataSlot ), data ) ); 8268 } 8269 #else 8270 // wrapper function for command vkSetPrivateData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetPrivateData.html 8271 template <typename Dispatch> setPrivateData(VULKAN_HPP_NAMESPACE::ObjectType objectType_,uint64_t objectHandle,VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,uint64_t data,Dispatch const & d) const8272 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::setPrivateData( VULKAN_HPP_NAMESPACE::ObjectType objectType_, 8273 uint64_t objectHandle, 8274 VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot, 8275 uint64_t data, 8276 Dispatch const & d ) const 8277 { 8278 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8279 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8280 VULKAN_HPP_ASSERT( d.vkSetPrivateData && "Function <vkSetPrivateData> requires <VK_EXT_private_data> or <VK_VERSION_1_3>" ); 8281 # endif 8282 8283 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 8284 d.vkSetPrivateData( m_device, static_cast<VkObjectType>( objectType_ ), objectHandle, static_cast<VkPrivateDataSlot>( privateDataSlot ), data ) ); 8285 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setPrivateData" ); 8286 8287 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 8288 } 8289 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 8290 8291 // wrapper function for command vkGetPrivateData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPrivateData.html 8292 template <typename Dispatch> getPrivateData(VULKAN_HPP_NAMESPACE::ObjectType objectType_,uint64_t objectHandle,VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,uint64_t * pData,Dispatch const & d) const8293 VULKAN_HPP_INLINE void Device::getPrivateData( VULKAN_HPP_NAMESPACE::ObjectType objectType_, 8294 uint64_t objectHandle, 8295 VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot, 8296 uint64_t * pData, 8297 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8298 { 8299 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8300 d.vkGetPrivateData( 8301 static_cast<VkDevice>( m_device ), static_cast<VkObjectType>( objectType_ ), objectHandle, static_cast<VkPrivateDataSlot>( privateDataSlot ), pData ); 8302 } 8303 8304 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 8305 // wrapper function for command vkGetPrivateData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPrivateData.html 8306 template <typename Dispatch> getPrivateData(VULKAN_HPP_NAMESPACE::ObjectType objectType_,uint64_t objectHandle,VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,Dispatch const & d) const8307 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t Device::getPrivateData( VULKAN_HPP_NAMESPACE::ObjectType objectType_, 8308 uint64_t objectHandle, 8309 VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot, 8310 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8311 { 8312 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8313 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8314 VULKAN_HPP_ASSERT( d.vkGetPrivateData && "Function <vkGetPrivateData> requires <VK_EXT_private_data> or <VK_VERSION_1_3>" ); 8315 # endif 8316 8317 uint64_t data; 8318 d.vkGetPrivateData( m_device, static_cast<VkObjectType>( objectType_ ), objectHandle, static_cast<VkPrivateDataSlot>( privateDataSlot ), &data ); 8319 8320 return data; 8321 } 8322 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 8323 8324 // wrapper function for command vkCmdSetEvent2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetEvent2.html 8325 template <typename Dispatch> setEvent2(VULKAN_HPP_NAMESPACE::Event event,const VULKAN_HPP_NAMESPACE::DependencyInfo * pDependencyInfo,Dispatch const & d) const8326 VULKAN_HPP_INLINE void CommandBuffer::setEvent2( VULKAN_HPP_NAMESPACE::Event event, 8327 const VULKAN_HPP_NAMESPACE::DependencyInfo * pDependencyInfo, 8328 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8329 { 8330 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8331 d.vkCmdSetEvent2( 8332 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkEvent>( event ), reinterpret_cast<const VkDependencyInfo *>( pDependencyInfo ) ); 8333 } 8334 8335 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 8336 // wrapper function for command vkCmdSetEvent2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetEvent2.html 8337 template <typename Dispatch> setEvent2(VULKAN_HPP_NAMESPACE::Event event,const VULKAN_HPP_NAMESPACE::DependencyInfo & dependencyInfo,Dispatch const & d) const8338 VULKAN_HPP_INLINE void CommandBuffer::setEvent2( VULKAN_HPP_NAMESPACE::Event event, 8339 const VULKAN_HPP_NAMESPACE::DependencyInfo & dependencyInfo, 8340 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8341 { 8342 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8343 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8344 VULKAN_HPP_ASSERT( d.vkCmdSetEvent2 && "Function <vkCmdSetEvent2> requires <VK_KHR_synchronization2> or <VK_VERSION_1_3>" ); 8345 # endif 8346 8347 d.vkCmdSetEvent2( m_commandBuffer, static_cast<VkEvent>( event ), reinterpret_cast<const VkDependencyInfo *>( &dependencyInfo ) ); 8348 } 8349 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 8350 8351 // wrapper function for command vkCmdResetEvent2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResetEvent2.html 8352 template <typename Dispatch> resetEvent2(VULKAN_HPP_NAMESPACE::Event event,VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stageMask,Dispatch const & d) const8353 VULKAN_HPP_INLINE void CommandBuffer::resetEvent2( VULKAN_HPP_NAMESPACE::Event event, 8354 VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stageMask, 8355 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8356 { 8357 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8358 d.vkCmdResetEvent2( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkEvent>( event ), static_cast<VkPipelineStageFlags2>( stageMask ) ); 8359 } 8360 8361 // wrapper function for command vkCmdWaitEvents2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents2.html 8362 template <typename Dispatch> waitEvents2(uint32_t eventCount,const VULKAN_HPP_NAMESPACE::Event * pEvents,const VULKAN_HPP_NAMESPACE::DependencyInfo * pDependencyInfos,Dispatch const & d) const8363 VULKAN_HPP_INLINE void CommandBuffer::waitEvents2( uint32_t eventCount, 8364 const VULKAN_HPP_NAMESPACE::Event * pEvents, 8365 const VULKAN_HPP_NAMESPACE::DependencyInfo * pDependencyInfos, 8366 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8367 { 8368 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8369 d.vkCmdWaitEvents2( static_cast<VkCommandBuffer>( m_commandBuffer ), 8370 eventCount, 8371 reinterpret_cast<const VkEvent *>( pEvents ), 8372 reinterpret_cast<const VkDependencyInfo *>( pDependencyInfos ) ); 8373 } 8374 8375 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 8376 // wrapper function for command vkCmdWaitEvents2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents2.html 8377 template <typename Dispatch> waitEvents2(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const & events,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DependencyInfo> const & dependencyInfos,Dispatch const & d) const8378 VULKAN_HPP_INLINE void CommandBuffer::waitEvents2( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const & events, 8379 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DependencyInfo> const & dependencyInfos, 8380 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS 8381 { 8382 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8383 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8384 VULKAN_HPP_ASSERT( d.vkCmdWaitEvents2 && "Function <vkCmdWaitEvents2> requires <VK_KHR_synchronization2> or <VK_VERSION_1_3>" ); 8385 # endif 8386 # ifdef VULKAN_HPP_NO_EXCEPTIONS 8387 VULKAN_HPP_ASSERT( events.size() == dependencyInfos.size() ); 8388 # else 8389 if ( events.size() != dependencyInfos.size() ) 8390 { 8391 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::waitEvents2: events.size() != dependencyInfos.size()" ); 8392 } 8393 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ 8394 8395 d.vkCmdWaitEvents2( m_commandBuffer, 8396 events.size(), 8397 reinterpret_cast<const VkEvent *>( events.data() ), 8398 reinterpret_cast<const VkDependencyInfo *>( dependencyInfos.data() ) ); 8399 } 8400 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 8401 8402 // wrapper function for command vkCmdPipelineBarrier2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPipelineBarrier2.html 8403 template <typename Dispatch> pipelineBarrier2(const VULKAN_HPP_NAMESPACE::DependencyInfo * pDependencyInfo,Dispatch const & d) const8404 VULKAN_HPP_INLINE void CommandBuffer::pipelineBarrier2( const VULKAN_HPP_NAMESPACE::DependencyInfo * pDependencyInfo, 8405 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8406 { 8407 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8408 d.vkCmdPipelineBarrier2( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkDependencyInfo *>( pDependencyInfo ) ); 8409 } 8410 8411 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 8412 // wrapper function for command vkCmdPipelineBarrier2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPipelineBarrier2.html 8413 template <typename Dispatch> pipelineBarrier2(const VULKAN_HPP_NAMESPACE::DependencyInfo & dependencyInfo,Dispatch const & d) const8414 VULKAN_HPP_INLINE void CommandBuffer::pipelineBarrier2( const VULKAN_HPP_NAMESPACE::DependencyInfo & dependencyInfo, 8415 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8416 { 8417 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8418 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8419 VULKAN_HPP_ASSERT( d.vkCmdPipelineBarrier2 && "Function <vkCmdPipelineBarrier2> requires <VK_KHR_synchronization2> or <VK_VERSION_1_3>" ); 8420 # endif 8421 8422 d.vkCmdPipelineBarrier2( m_commandBuffer, reinterpret_cast<const VkDependencyInfo *>( &dependencyInfo ) ); 8423 } 8424 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 8425 8426 // wrapper function for command vkCmdWriteTimestamp2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteTimestamp2.html 8427 template <typename Dispatch> writeTimestamp2(VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stage,VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t query,Dispatch const & d) const8428 VULKAN_HPP_INLINE void CommandBuffer::writeTimestamp2( VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stage, 8429 VULKAN_HPP_NAMESPACE::QueryPool queryPool, 8430 uint32_t query, 8431 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8432 { 8433 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8434 d.vkCmdWriteTimestamp2( 8435 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkPipelineStageFlags2>( stage ), static_cast<VkQueryPool>( queryPool ), query ); 8436 } 8437 8438 // wrapper function for command vkQueueSubmit2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit2.html 8439 template <typename Dispatch> submit2(uint32_t submitCount,const VULKAN_HPP_NAMESPACE::SubmitInfo2 * pSubmits,VULKAN_HPP_NAMESPACE::Fence fence,Dispatch const & d) const8440 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Queue::submit2( uint32_t submitCount, 8441 const VULKAN_HPP_NAMESPACE::SubmitInfo2 * pSubmits, 8442 VULKAN_HPP_NAMESPACE::Fence fence, 8443 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8444 { 8445 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8446 return static_cast<Result>( 8447 d.vkQueueSubmit2( static_cast<VkQueue>( m_queue ), submitCount, reinterpret_cast<const VkSubmitInfo2 *>( pSubmits ), static_cast<VkFence>( fence ) ) ); 8448 } 8449 8450 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 8451 // wrapper function for command vkQueueSubmit2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit2.html 8452 template <typename Dispatch> submit2(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo2> const & submits,VULKAN_HPP_NAMESPACE::Fence fence,Dispatch const & d) const8453 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type Queue::submit2( 8454 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo2> const & submits, VULKAN_HPP_NAMESPACE::Fence fence, Dispatch const & d ) const 8455 { 8456 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8457 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8458 VULKAN_HPP_ASSERT( d.vkQueueSubmit2 && "Function <vkQueueSubmit2> requires <VK_KHR_synchronization2> or <VK_VERSION_1_3>" ); 8459 # endif 8460 8461 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 8462 d.vkQueueSubmit2( m_queue, submits.size(), reinterpret_cast<const VkSubmitInfo2 *>( submits.data() ), static_cast<VkFence>( fence ) ) ); 8463 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::submit2" ); 8464 8465 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 8466 } 8467 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 8468 8469 // wrapper function for command vkCmdCopyBuffer2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer2.html 8470 template <typename Dispatch> copyBuffer2(const VULKAN_HPP_NAMESPACE::CopyBufferInfo2 * pCopyBufferInfo,Dispatch const & d) const8471 VULKAN_HPP_INLINE void CommandBuffer::copyBuffer2( const VULKAN_HPP_NAMESPACE::CopyBufferInfo2 * pCopyBufferInfo, 8472 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8473 { 8474 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8475 d.vkCmdCopyBuffer2( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkCopyBufferInfo2 *>( pCopyBufferInfo ) ); 8476 } 8477 8478 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 8479 // wrapper function for command vkCmdCopyBuffer2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer2.html 8480 template <typename Dispatch> copyBuffer2(const VULKAN_HPP_NAMESPACE::CopyBufferInfo2 & copyBufferInfo,Dispatch const & d) const8481 VULKAN_HPP_INLINE void CommandBuffer::copyBuffer2( const VULKAN_HPP_NAMESPACE::CopyBufferInfo2 & copyBufferInfo, 8482 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8483 { 8484 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8485 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8486 VULKAN_HPP_ASSERT( d.vkCmdCopyBuffer2 && "Function <vkCmdCopyBuffer2> requires <VK_KHR_copy_commands2> or <VK_VERSION_1_3>" ); 8487 # endif 8488 8489 d.vkCmdCopyBuffer2( m_commandBuffer, reinterpret_cast<const VkCopyBufferInfo2 *>( ©BufferInfo ) ); 8490 } 8491 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 8492 8493 // wrapper function for command vkCmdCopyImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImage2.html 8494 template <typename Dispatch> copyImage2(const VULKAN_HPP_NAMESPACE::CopyImageInfo2 * pCopyImageInfo,Dispatch const & d) const8495 VULKAN_HPP_INLINE void CommandBuffer::copyImage2( const VULKAN_HPP_NAMESPACE::CopyImageInfo2 * pCopyImageInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8496 { 8497 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8498 d.vkCmdCopyImage2( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkCopyImageInfo2 *>( pCopyImageInfo ) ); 8499 } 8500 8501 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 8502 // wrapper function for command vkCmdCopyImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImage2.html 8503 template <typename Dispatch> copyImage2(const VULKAN_HPP_NAMESPACE::CopyImageInfo2 & copyImageInfo,Dispatch const & d) const8504 VULKAN_HPP_INLINE void CommandBuffer::copyImage2( const VULKAN_HPP_NAMESPACE::CopyImageInfo2 & copyImageInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8505 { 8506 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8507 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8508 VULKAN_HPP_ASSERT( d.vkCmdCopyImage2 && "Function <vkCmdCopyImage2> requires <VK_KHR_copy_commands2> or <VK_VERSION_1_3>" ); 8509 # endif 8510 8511 d.vkCmdCopyImage2( m_commandBuffer, reinterpret_cast<const VkCopyImageInfo2 *>( ©ImageInfo ) ); 8512 } 8513 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 8514 8515 // wrapper function for command vkCmdCopyBufferToImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBufferToImage2.html 8516 template <typename Dispatch> copyBufferToImage2(const VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2 * pCopyBufferToImageInfo,Dispatch const & d) const8517 VULKAN_HPP_INLINE void CommandBuffer::copyBufferToImage2( const VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2 * pCopyBufferToImageInfo, 8518 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8519 { 8520 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8521 d.vkCmdCopyBufferToImage2( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkCopyBufferToImageInfo2 *>( pCopyBufferToImageInfo ) ); 8522 } 8523 8524 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 8525 // wrapper function for command vkCmdCopyBufferToImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBufferToImage2.html 8526 template <typename Dispatch> copyBufferToImage2(const VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2 & copyBufferToImageInfo,Dispatch const & d) const8527 VULKAN_HPP_INLINE void CommandBuffer::copyBufferToImage2( const VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2 & copyBufferToImageInfo, 8528 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8529 { 8530 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8531 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8532 VULKAN_HPP_ASSERT( d.vkCmdCopyBufferToImage2 && "Function <vkCmdCopyBufferToImage2> requires <VK_KHR_copy_commands2> or <VK_VERSION_1_3>" ); 8533 # endif 8534 8535 d.vkCmdCopyBufferToImage2( m_commandBuffer, reinterpret_cast<const VkCopyBufferToImageInfo2 *>( ©BufferToImageInfo ) ); 8536 } 8537 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 8538 8539 // wrapper function for command vkCmdCopyImageToBuffer2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToBuffer2.html 8540 template <typename Dispatch> copyImageToBuffer2(const VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2 * pCopyImageToBufferInfo,Dispatch const & d) const8541 VULKAN_HPP_INLINE void CommandBuffer::copyImageToBuffer2( const VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2 * pCopyImageToBufferInfo, 8542 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8543 { 8544 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8545 d.vkCmdCopyImageToBuffer2( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkCopyImageToBufferInfo2 *>( pCopyImageToBufferInfo ) ); 8546 } 8547 8548 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 8549 // wrapper function for command vkCmdCopyImageToBuffer2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToBuffer2.html 8550 template <typename Dispatch> copyImageToBuffer2(const VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2 & copyImageToBufferInfo,Dispatch const & d) const8551 VULKAN_HPP_INLINE void CommandBuffer::copyImageToBuffer2( const VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2 & copyImageToBufferInfo, 8552 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8553 { 8554 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8555 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8556 VULKAN_HPP_ASSERT( d.vkCmdCopyImageToBuffer2 && "Function <vkCmdCopyImageToBuffer2> requires <VK_KHR_copy_commands2> or <VK_VERSION_1_3>" ); 8557 # endif 8558 8559 d.vkCmdCopyImageToBuffer2( m_commandBuffer, reinterpret_cast<const VkCopyImageToBufferInfo2 *>( ©ImageToBufferInfo ) ); 8560 } 8561 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 8562 8563 // wrapper function for command vkCmdBlitImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBlitImage2.html 8564 template <typename Dispatch> blitImage2(const VULKAN_HPP_NAMESPACE::BlitImageInfo2 * pBlitImageInfo,Dispatch const & d) const8565 VULKAN_HPP_INLINE void CommandBuffer::blitImage2( const VULKAN_HPP_NAMESPACE::BlitImageInfo2 * pBlitImageInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8566 { 8567 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8568 d.vkCmdBlitImage2( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkBlitImageInfo2 *>( pBlitImageInfo ) ); 8569 } 8570 8571 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 8572 // wrapper function for command vkCmdBlitImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBlitImage2.html 8573 template <typename Dispatch> blitImage2(const VULKAN_HPP_NAMESPACE::BlitImageInfo2 & blitImageInfo,Dispatch const & d) const8574 VULKAN_HPP_INLINE void CommandBuffer::blitImage2( const VULKAN_HPP_NAMESPACE::BlitImageInfo2 & blitImageInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8575 { 8576 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8577 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8578 VULKAN_HPP_ASSERT( d.vkCmdBlitImage2 && "Function <vkCmdBlitImage2> requires <VK_KHR_copy_commands2> or <VK_VERSION_1_3>" ); 8579 # endif 8580 8581 d.vkCmdBlitImage2( m_commandBuffer, reinterpret_cast<const VkBlitImageInfo2 *>( &blitImageInfo ) ); 8582 } 8583 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 8584 8585 // wrapper function for command vkCmdResolveImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResolveImage2.html 8586 template <typename Dispatch> resolveImage2(const VULKAN_HPP_NAMESPACE::ResolveImageInfo2 * pResolveImageInfo,Dispatch const & d) const8587 VULKAN_HPP_INLINE void CommandBuffer::resolveImage2( const VULKAN_HPP_NAMESPACE::ResolveImageInfo2 * pResolveImageInfo, 8588 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8589 { 8590 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8591 d.vkCmdResolveImage2( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkResolveImageInfo2 *>( pResolveImageInfo ) ); 8592 } 8593 8594 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 8595 // wrapper function for command vkCmdResolveImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResolveImage2.html 8596 template <typename Dispatch> resolveImage2(const VULKAN_HPP_NAMESPACE::ResolveImageInfo2 & resolveImageInfo,Dispatch const & d) const8597 VULKAN_HPP_INLINE void CommandBuffer::resolveImage2( const VULKAN_HPP_NAMESPACE::ResolveImageInfo2 & resolveImageInfo, 8598 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8599 { 8600 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8601 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8602 VULKAN_HPP_ASSERT( d.vkCmdResolveImage2 && "Function <vkCmdResolveImage2> requires <VK_KHR_copy_commands2> or <VK_VERSION_1_3>" ); 8603 # endif 8604 8605 d.vkCmdResolveImage2( m_commandBuffer, reinterpret_cast<const VkResolveImageInfo2 *>( &resolveImageInfo ) ); 8606 } 8607 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 8608 8609 // wrapper function for command vkCmdBeginRendering, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRendering.html 8610 template <typename Dispatch> beginRendering(const VULKAN_HPP_NAMESPACE::RenderingInfo * pRenderingInfo,Dispatch const & d) const8611 VULKAN_HPP_INLINE void CommandBuffer::beginRendering( const VULKAN_HPP_NAMESPACE::RenderingInfo * pRenderingInfo, 8612 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8613 { 8614 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8615 d.vkCmdBeginRendering( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkRenderingInfo *>( pRenderingInfo ) ); 8616 } 8617 8618 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 8619 // wrapper function for command vkCmdBeginRendering, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRendering.html 8620 template <typename Dispatch> beginRendering(const VULKAN_HPP_NAMESPACE::RenderingInfo & renderingInfo,Dispatch const & d) const8621 VULKAN_HPP_INLINE void CommandBuffer::beginRendering( const VULKAN_HPP_NAMESPACE::RenderingInfo & renderingInfo, 8622 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8623 { 8624 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8625 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8626 VULKAN_HPP_ASSERT( d.vkCmdBeginRendering && "Function <vkCmdBeginRendering> requires <VK_KHR_dynamic_rendering> or <VK_VERSION_1_3>" ); 8627 # endif 8628 8629 d.vkCmdBeginRendering( m_commandBuffer, reinterpret_cast<const VkRenderingInfo *>( &renderingInfo ) ); 8630 } 8631 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 8632 8633 // wrapper function for command vkCmdEndRendering, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRendering.html 8634 template <typename Dispatch> endRendering(Dispatch const & d) const8635 VULKAN_HPP_INLINE void CommandBuffer::endRendering( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8636 { 8637 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8638 d.vkCmdEndRendering( static_cast<VkCommandBuffer>( m_commandBuffer ) ); 8639 } 8640 8641 // wrapper function for command vkCmdSetCullMode, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCullMode.html 8642 template <typename Dispatch> setCullMode(VULKAN_HPP_NAMESPACE::CullModeFlags cullMode,Dispatch const & d) const8643 VULKAN_HPP_INLINE void CommandBuffer::setCullMode( VULKAN_HPP_NAMESPACE::CullModeFlags cullMode, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8644 { 8645 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8646 d.vkCmdSetCullMode( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkCullModeFlags>( cullMode ) ); 8647 } 8648 8649 // wrapper function for command vkCmdSetFrontFace, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFrontFace.html 8650 template <typename Dispatch> setFrontFace(VULKAN_HPP_NAMESPACE::FrontFace frontFace,Dispatch const & d) const8651 VULKAN_HPP_INLINE void CommandBuffer::setFrontFace( VULKAN_HPP_NAMESPACE::FrontFace frontFace, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8652 { 8653 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8654 d.vkCmdSetFrontFace( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkFrontFace>( frontFace ) ); 8655 } 8656 8657 // wrapper function for command vkCmdSetPrimitiveTopology, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPrimitiveTopology.html 8658 template <typename Dispatch> setPrimitiveTopology(VULKAN_HPP_NAMESPACE::PrimitiveTopology primitiveTopology,Dispatch const & d) const8659 VULKAN_HPP_INLINE void CommandBuffer::setPrimitiveTopology( VULKAN_HPP_NAMESPACE::PrimitiveTopology primitiveTopology, 8660 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8661 { 8662 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8663 d.vkCmdSetPrimitiveTopology( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkPrimitiveTopology>( primitiveTopology ) ); 8664 } 8665 8666 // wrapper function for command vkCmdSetViewportWithCount, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWithCount.html 8667 template <typename Dispatch> setViewportWithCount(uint32_t viewportCount,const VULKAN_HPP_NAMESPACE::Viewport * pViewports,Dispatch const & d) const8668 VULKAN_HPP_INLINE void CommandBuffer::setViewportWithCount( uint32_t viewportCount, 8669 const VULKAN_HPP_NAMESPACE::Viewport * pViewports, 8670 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8671 { 8672 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8673 d.vkCmdSetViewportWithCount( static_cast<VkCommandBuffer>( m_commandBuffer ), viewportCount, reinterpret_cast<const VkViewport *>( pViewports ) ); 8674 } 8675 8676 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 8677 // wrapper function for command vkCmdSetViewportWithCount, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWithCount.html 8678 template <typename Dispatch> setViewportWithCount(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const & viewports,Dispatch const & d) const8679 VULKAN_HPP_INLINE void CommandBuffer::setViewportWithCount( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const & viewports, 8680 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8681 { 8682 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8683 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8684 VULKAN_HPP_ASSERT( d.vkCmdSetViewportWithCount && 8685 "Function <vkCmdSetViewportWithCount> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); 8686 # endif 8687 8688 d.vkCmdSetViewportWithCount( m_commandBuffer, viewports.size(), reinterpret_cast<const VkViewport *>( viewports.data() ) ); 8689 } 8690 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 8691 8692 // wrapper function for command vkCmdSetScissorWithCount, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetScissorWithCount.html 8693 template <typename Dispatch> 8694 VULKAN_HPP_INLINE void setScissorWithCount(uint32_t scissorCount,const VULKAN_HPP_NAMESPACE::Rect2D * pScissors,Dispatch const & d) const8695 CommandBuffer::setScissorWithCount( uint32_t scissorCount, const VULKAN_HPP_NAMESPACE::Rect2D * pScissors, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8696 { 8697 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8698 d.vkCmdSetScissorWithCount( static_cast<VkCommandBuffer>( m_commandBuffer ), scissorCount, reinterpret_cast<const VkRect2D *>( pScissors ) ); 8699 } 8700 8701 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 8702 // wrapper function for command vkCmdSetScissorWithCount, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetScissorWithCount.html 8703 template <typename Dispatch> setScissorWithCount(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & scissors,Dispatch const & d) const8704 VULKAN_HPP_INLINE void CommandBuffer::setScissorWithCount( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & scissors, 8705 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8706 { 8707 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8708 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8709 VULKAN_HPP_ASSERT( d.vkCmdSetScissorWithCount && 8710 "Function <vkCmdSetScissorWithCount> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); 8711 # endif 8712 8713 d.vkCmdSetScissorWithCount( m_commandBuffer, scissors.size(), reinterpret_cast<const VkRect2D *>( scissors.data() ) ); 8714 } 8715 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 8716 8717 // wrapper function for command vkCmdBindVertexBuffers2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers2.html 8718 template <typename Dispatch> bindVertexBuffers2(uint32_t firstBinding,uint32_t bindingCount,const VULKAN_HPP_NAMESPACE::Buffer * pBuffers,const VULKAN_HPP_NAMESPACE::DeviceSize * pOffsets,const VULKAN_HPP_NAMESPACE::DeviceSize * pSizes,const VULKAN_HPP_NAMESPACE::DeviceSize * pStrides,Dispatch const & d) const8719 VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers2( uint32_t firstBinding, 8720 uint32_t bindingCount, 8721 const VULKAN_HPP_NAMESPACE::Buffer * pBuffers, 8722 const VULKAN_HPP_NAMESPACE::DeviceSize * pOffsets, 8723 const VULKAN_HPP_NAMESPACE::DeviceSize * pSizes, 8724 const VULKAN_HPP_NAMESPACE::DeviceSize * pStrides, 8725 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8726 { 8727 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8728 d.vkCmdBindVertexBuffers2( static_cast<VkCommandBuffer>( m_commandBuffer ), 8729 firstBinding, 8730 bindingCount, 8731 reinterpret_cast<const VkBuffer *>( pBuffers ), 8732 reinterpret_cast<const VkDeviceSize *>( pOffsets ), 8733 reinterpret_cast<const VkDeviceSize *>( pSizes ), 8734 reinterpret_cast<const VkDeviceSize *>( pStrides ) ); 8735 } 8736 8737 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 8738 // wrapper function for command vkCmdBindVertexBuffers2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers2.html 8739 template <typename Dispatch> bindVertexBuffers2(uint32_t firstBinding,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & sizes,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & strides,Dispatch const & d) const8740 VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers2( uint32_t firstBinding, 8741 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers, 8742 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets, 8743 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & sizes, 8744 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & strides, 8745 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS 8746 { 8747 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8748 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8749 VULKAN_HPP_ASSERT( d.vkCmdBindVertexBuffers2 && 8750 "Function <vkCmdBindVertexBuffers2> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); 8751 # endif 8752 # ifdef VULKAN_HPP_NO_EXCEPTIONS 8753 VULKAN_HPP_ASSERT( buffers.size() == offsets.size() ); 8754 VULKAN_HPP_ASSERT( sizes.empty() || buffers.size() == sizes.size() ); 8755 VULKAN_HPP_ASSERT( strides.empty() || buffers.size() == strides.size() ); 8756 # else 8757 if ( buffers.size() != offsets.size() ) 8758 { 8759 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindVertexBuffers2: buffers.size() != offsets.size()" ); 8760 } 8761 if ( !sizes.empty() && buffers.size() != sizes.size() ) 8762 { 8763 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindVertexBuffers2: buffers.size() != sizes.size()" ); 8764 } 8765 if ( !strides.empty() && buffers.size() != strides.size() ) 8766 { 8767 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindVertexBuffers2: buffers.size() != strides.size()" ); 8768 } 8769 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ 8770 8771 d.vkCmdBindVertexBuffers2( m_commandBuffer, 8772 firstBinding, 8773 buffers.size(), 8774 reinterpret_cast<const VkBuffer *>( buffers.data() ), 8775 reinterpret_cast<const VkDeviceSize *>( offsets.data() ), 8776 reinterpret_cast<const VkDeviceSize *>( sizes.data() ), 8777 reinterpret_cast<const VkDeviceSize *>( strides.data() ) ); 8778 } 8779 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 8780 8781 // wrapper function for command vkCmdSetDepthTestEnable, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthTestEnable.html 8782 template <typename Dispatch> setDepthTestEnable(VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable,Dispatch const & d) const8783 VULKAN_HPP_INLINE void CommandBuffer::setDepthTestEnable( VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8784 { 8785 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8786 d.vkCmdSetDepthTestEnable( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( depthTestEnable ) ); 8787 } 8788 8789 // wrapper function for command vkCmdSetDepthWriteEnable, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthWriteEnable.html 8790 template <typename Dispatch> setDepthWriteEnable(VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable,Dispatch const & d) const8791 VULKAN_HPP_INLINE void CommandBuffer::setDepthWriteEnable( VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8792 { 8793 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8794 d.vkCmdSetDepthWriteEnable( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( depthWriteEnable ) ); 8795 } 8796 8797 // wrapper function for command vkCmdSetDepthCompareOp, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthCompareOp.html 8798 template <typename Dispatch> setDepthCompareOp(VULKAN_HPP_NAMESPACE::CompareOp depthCompareOp,Dispatch const & d) const8799 VULKAN_HPP_INLINE void CommandBuffer::setDepthCompareOp( VULKAN_HPP_NAMESPACE::CompareOp depthCompareOp, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8800 { 8801 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8802 d.vkCmdSetDepthCompareOp( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkCompareOp>( depthCompareOp ) ); 8803 } 8804 8805 // wrapper function for command vkCmdSetDepthBoundsTestEnable, see 8806 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBoundsTestEnable.html 8807 template <typename Dispatch> setDepthBoundsTestEnable(VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable,Dispatch const & d) const8808 VULKAN_HPP_INLINE void CommandBuffer::setDepthBoundsTestEnable( VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable, 8809 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8810 { 8811 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8812 d.vkCmdSetDepthBoundsTestEnable( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( depthBoundsTestEnable ) ); 8813 } 8814 8815 // wrapper function for command vkCmdSetStencilTestEnable, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilTestEnable.html 8816 template <typename Dispatch> setStencilTestEnable(VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable,Dispatch const & d) const8817 VULKAN_HPP_INLINE void CommandBuffer::setStencilTestEnable( VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8818 { 8819 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8820 d.vkCmdSetStencilTestEnable( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( stencilTestEnable ) ); 8821 } 8822 8823 // wrapper function for command vkCmdSetStencilOp, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilOp.html 8824 template <typename Dispatch> setStencilOp(VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,VULKAN_HPP_NAMESPACE::StencilOp failOp,VULKAN_HPP_NAMESPACE::StencilOp passOp,VULKAN_HPP_NAMESPACE::StencilOp depthFailOp,VULKAN_HPP_NAMESPACE::CompareOp compareOp,Dispatch const & d) const8825 VULKAN_HPP_INLINE void CommandBuffer::setStencilOp( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask, 8826 VULKAN_HPP_NAMESPACE::StencilOp failOp, 8827 VULKAN_HPP_NAMESPACE::StencilOp passOp, 8828 VULKAN_HPP_NAMESPACE::StencilOp depthFailOp, 8829 VULKAN_HPP_NAMESPACE::CompareOp compareOp, 8830 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8831 { 8832 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8833 d.vkCmdSetStencilOp( static_cast<VkCommandBuffer>( m_commandBuffer ), 8834 static_cast<VkStencilFaceFlags>( faceMask ), 8835 static_cast<VkStencilOp>( failOp ), 8836 static_cast<VkStencilOp>( passOp ), 8837 static_cast<VkStencilOp>( depthFailOp ), 8838 static_cast<VkCompareOp>( compareOp ) ); 8839 } 8840 8841 // wrapper function for command vkCmdSetRasterizerDiscardEnable, see 8842 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRasterizerDiscardEnable.html 8843 template <typename Dispatch> setRasterizerDiscardEnable(VULKAN_HPP_NAMESPACE::Bool32 rasterizerDiscardEnable,Dispatch const & d) const8844 VULKAN_HPP_INLINE void CommandBuffer::setRasterizerDiscardEnable( VULKAN_HPP_NAMESPACE::Bool32 rasterizerDiscardEnable, 8845 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8846 { 8847 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8848 d.vkCmdSetRasterizerDiscardEnable( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( rasterizerDiscardEnable ) ); 8849 } 8850 8851 // wrapper function for command vkCmdSetDepthBiasEnable, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBiasEnable.html 8852 template <typename Dispatch> setDepthBiasEnable(VULKAN_HPP_NAMESPACE::Bool32 depthBiasEnable,Dispatch const & d) const8853 VULKAN_HPP_INLINE void CommandBuffer::setDepthBiasEnable( VULKAN_HPP_NAMESPACE::Bool32 depthBiasEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8854 { 8855 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8856 d.vkCmdSetDepthBiasEnable( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( depthBiasEnable ) ); 8857 } 8858 8859 // wrapper function for command vkCmdSetPrimitiveRestartEnable, see 8860 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPrimitiveRestartEnable.html 8861 template <typename Dispatch> setPrimitiveRestartEnable(VULKAN_HPP_NAMESPACE::Bool32 primitiveRestartEnable,Dispatch const & d) const8862 VULKAN_HPP_INLINE void CommandBuffer::setPrimitiveRestartEnable( VULKAN_HPP_NAMESPACE::Bool32 primitiveRestartEnable, 8863 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8864 { 8865 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8866 d.vkCmdSetPrimitiveRestartEnable( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( primitiveRestartEnable ) ); 8867 } 8868 8869 // wrapper function for command vkGetDeviceBufferMemoryRequirements, see 8870 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirements.html 8871 template <typename Dispatch> getBufferMemoryRequirements(const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements * pInfo,VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements,Dispatch const & d) const8872 VULKAN_HPP_INLINE void Device::getBufferMemoryRequirements( const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements * pInfo, 8873 VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements, 8874 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8875 { 8876 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8877 d.vkGetDeviceBufferMemoryRequirements( static_cast<VkDevice>( m_device ), 8878 reinterpret_cast<const VkDeviceBufferMemoryRequirements *>( pInfo ), 8879 reinterpret_cast<VkMemoryRequirements2 *>( pMemoryRequirements ) ); 8880 } 8881 8882 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 8883 // wrapper function for command vkGetDeviceBufferMemoryRequirements, see 8884 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirements.html 8885 template <typename Dispatch> 8886 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2 getBufferMemoryRequirements(const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements & info,Dispatch const & d) const8887 Device::getBufferMemoryRequirements( const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8888 { 8889 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8890 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8891 VULKAN_HPP_ASSERT( d.vkGetDeviceBufferMemoryRequirements && 8892 "Function <vkGetDeviceBufferMemoryRequirements> requires <VK_KHR_maintenance4> or <VK_VERSION_1_3>" ); 8893 # endif 8894 8895 VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements; 8896 d.vkGetDeviceBufferMemoryRequirements( 8897 m_device, reinterpret_cast<const VkDeviceBufferMemoryRequirements *>( &info ), reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 8898 8899 return memoryRequirements; 8900 } 8901 8902 // wrapper function for command vkGetDeviceBufferMemoryRequirements, see 8903 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirements.html 8904 template <typename X, typename Y, typename... Z, typename Dispatch> 8905 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> getBufferMemoryRequirements(const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements & info,Dispatch const & d) const8906 Device::getBufferMemoryRequirements( const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8907 { 8908 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8909 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8910 VULKAN_HPP_ASSERT( d.vkGetDeviceBufferMemoryRequirements && 8911 "Function <vkGetDeviceBufferMemoryRequirements> requires <VK_KHR_maintenance4> or <VK_VERSION_1_3>" ); 8912 # endif 8913 8914 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 8915 VULKAN_HPP_NAMESPACE::MemoryRequirements2 & memoryRequirements = structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>(); 8916 d.vkGetDeviceBufferMemoryRequirements( 8917 m_device, reinterpret_cast<const VkDeviceBufferMemoryRequirements *>( &info ), reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 8918 8919 return structureChain; 8920 } 8921 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 8922 8923 // wrapper function for command vkGetDeviceImageMemoryRequirements, see 8924 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirements.html 8925 template <typename Dispatch> getImageMemoryRequirements(const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements * pInfo,VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements,Dispatch const & d) const8926 VULKAN_HPP_INLINE void Device::getImageMemoryRequirements( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements * pInfo, 8927 VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements, 8928 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8929 { 8930 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8931 d.vkGetDeviceImageMemoryRequirements( static_cast<VkDevice>( m_device ), 8932 reinterpret_cast<const VkDeviceImageMemoryRequirements *>( pInfo ), 8933 reinterpret_cast<VkMemoryRequirements2 *>( pMemoryRequirements ) ); 8934 } 8935 8936 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 8937 // wrapper function for command vkGetDeviceImageMemoryRequirements, see 8938 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirements.html 8939 template <typename Dispatch> 8940 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2 getImageMemoryRequirements(const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements & info,Dispatch const & d) const8941 Device::getImageMemoryRequirements( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8942 { 8943 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8944 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8945 VULKAN_HPP_ASSERT( d.vkGetDeviceImageMemoryRequirements && 8946 "Function <vkGetDeviceImageMemoryRequirements> requires <VK_KHR_maintenance4> or <VK_VERSION_1_3>" ); 8947 # endif 8948 8949 VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements; 8950 d.vkGetDeviceImageMemoryRequirements( 8951 m_device, reinterpret_cast<const VkDeviceImageMemoryRequirements *>( &info ), reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 8952 8953 return memoryRequirements; 8954 } 8955 8956 // wrapper function for command vkGetDeviceImageMemoryRequirements, see 8957 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirements.html 8958 template <typename X, typename Y, typename... Z, typename Dispatch> 8959 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> getImageMemoryRequirements(const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements & info,Dispatch const & d) const8960 Device::getImageMemoryRequirements( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8961 { 8962 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8963 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 8964 VULKAN_HPP_ASSERT( d.vkGetDeviceImageMemoryRequirements && 8965 "Function <vkGetDeviceImageMemoryRequirements> requires <VK_KHR_maintenance4> or <VK_VERSION_1_3>" ); 8966 # endif 8967 8968 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 8969 VULKAN_HPP_NAMESPACE::MemoryRequirements2 & memoryRequirements = structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>(); 8970 d.vkGetDeviceImageMemoryRequirements( 8971 m_device, reinterpret_cast<const VkDeviceImageMemoryRequirements *>( &info ), reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 8972 8973 return structureChain; 8974 } 8975 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 8976 8977 // wrapper function for command vkGetDeviceImageSparseMemoryRequirements, see 8978 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSparseMemoryRequirements.html 8979 template <typename Dispatch> getImageSparseMemoryRequirements(const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements * pInfo,uint32_t * pSparseMemoryRequirementCount,VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2 * pSparseMemoryRequirements,Dispatch const & d) const8980 VULKAN_HPP_INLINE void Device::getImageSparseMemoryRequirements( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements * pInfo, 8981 uint32_t * pSparseMemoryRequirementCount, 8982 VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2 * pSparseMemoryRequirements, 8983 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 8984 { 8985 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 8986 d.vkGetDeviceImageSparseMemoryRequirements( static_cast<VkDevice>( m_device ), 8987 reinterpret_cast<const VkDeviceImageMemoryRequirements *>( pInfo ), 8988 pSparseMemoryRequirementCount, 8989 reinterpret_cast<VkSparseImageMemoryRequirements2 *>( pSparseMemoryRequirements ) ); 8990 } 8991 8992 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 8993 // wrapper function for command vkGetDeviceImageSparseMemoryRequirements, see 8994 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSparseMemoryRequirements.html 8995 template <typename SparseImageMemoryRequirements2Allocator, 8996 typename Dispatch, 8997 typename std::enable_if< 8998 std::is_same<typename SparseImageMemoryRequirements2Allocator::value_type, VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>::value, 8999 int>::type> 9000 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator> getImageSparseMemoryRequirements(const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements & info,Dispatch const & d) const9001 Device::getImageSparseMemoryRequirements( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements & info, Dispatch const & d ) const 9002 { 9003 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9004 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9005 VULKAN_HPP_ASSERT( d.vkGetDeviceImageSparseMemoryRequirements && 9006 "Function <vkGetDeviceImageSparseMemoryRequirements> requires <VK_KHR_maintenance4> or <VK_VERSION_1_3>" ); 9007 # endif 9008 9009 std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator> sparseMemoryRequirements; 9010 uint32_t sparseMemoryRequirementCount; 9011 d.vkGetDeviceImageSparseMemoryRequirements( 9012 m_device, reinterpret_cast<const VkDeviceImageMemoryRequirements *>( &info ), &sparseMemoryRequirementCount, nullptr ); 9013 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); 9014 d.vkGetDeviceImageSparseMemoryRequirements( m_device, 9015 reinterpret_cast<const VkDeviceImageMemoryRequirements *>( &info ), 9016 &sparseMemoryRequirementCount, 9017 reinterpret_cast<VkSparseImageMemoryRequirements2 *>( sparseMemoryRequirements.data() ) ); 9018 9019 VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); 9020 if ( sparseMemoryRequirementCount < sparseMemoryRequirements.size() ) 9021 { 9022 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); 9023 } 9024 return sparseMemoryRequirements; 9025 } 9026 9027 // wrapper function for command vkGetDeviceImageSparseMemoryRequirements, see 9028 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSparseMemoryRequirements.html 9029 template <typename SparseImageMemoryRequirements2Allocator, 9030 typename Dispatch, 9031 typename std::enable_if< 9032 std::is_same<typename SparseImageMemoryRequirements2Allocator::value_type, VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>::value, 9033 int>::type> 9034 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator> getImageSparseMemoryRequirements(const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements & info,SparseImageMemoryRequirements2Allocator & sparseImageMemoryRequirements2Allocator,Dispatch const & d) const9035 Device::getImageSparseMemoryRequirements( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements & info, 9036 SparseImageMemoryRequirements2Allocator & sparseImageMemoryRequirements2Allocator, 9037 Dispatch const & d ) const 9038 { 9039 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9040 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9041 VULKAN_HPP_ASSERT( d.vkGetDeviceImageSparseMemoryRequirements && 9042 "Function <vkGetDeviceImageSparseMemoryRequirements> requires <VK_KHR_maintenance4> or <VK_VERSION_1_3>" ); 9043 # endif 9044 9045 std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator> sparseMemoryRequirements( 9046 sparseImageMemoryRequirements2Allocator ); 9047 uint32_t sparseMemoryRequirementCount; 9048 d.vkGetDeviceImageSparseMemoryRequirements( 9049 m_device, reinterpret_cast<const VkDeviceImageMemoryRequirements *>( &info ), &sparseMemoryRequirementCount, nullptr ); 9050 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); 9051 d.vkGetDeviceImageSparseMemoryRequirements( m_device, 9052 reinterpret_cast<const VkDeviceImageMemoryRequirements *>( &info ), 9053 &sparseMemoryRequirementCount, 9054 reinterpret_cast<VkSparseImageMemoryRequirements2 *>( sparseMemoryRequirements.data() ) ); 9055 9056 VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); 9057 if ( sparseMemoryRequirementCount < sparseMemoryRequirements.size() ) 9058 { 9059 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); 9060 } 9061 return sparseMemoryRequirements; 9062 } 9063 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 9064 9065 //=== VK_VERSION_1_4 === 9066 9067 // wrapper function for command vkCmdSetLineStipple, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineStipple.html 9068 template <typename Dispatch> setLineStipple(uint32_t lineStippleFactor,uint16_t lineStipplePattern,Dispatch const & d) const9069 VULKAN_HPP_INLINE void CommandBuffer::setLineStipple( uint32_t lineStippleFactor, uint16_t lineStipplePattern, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9070 { 9071 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9072 d.vkCmdSetLineStipple( static_cast<VkCommandBuffer>( m_commandBuffer ), lineStippleFactor, lineStipplePattern ); 9073 } 9074 9075 // wrapper function for command vkMapMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory2.html 9076 template <typename Dispatch> mapMemory2(const VULKAN_HPP_NAMESPACE::MemoryMapInfo * pMemoryMapInfo,void ** ppData,Dispatch const & d) const9077 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::mapMemory2( const VULKAN_HPP_NAMESPACE::MemoryMapInfo * pMemoryMapInfo, 9078 void ** ppData, 9079 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9080 { 9081 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9082 return static_cast<Result>( d.vkMapMemory2( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkMemoryMapInfo *>( pMemoryMapInfo ), ppData ) ); 9083 } 9084 9085 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 9086 // wrapper function for command vkMapMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory2.html 9087 template <typename Dispatch> mapMemory2(const VULKAN_HPP_NAMESPACE::MemoryMapInfo & memoryMapInfo,Dispatch const & d) const9088 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<void *>::type Device::mapMemory2( const VULKAN_HPP_NAMESPACE::MemoryMapInfo & memoryMapInfo, 9089 Dispatch const & d ) const 9090 { 9091 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9092 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9093 VULKAN_HPP_ASSERT( d.vkMapMemory2 && "Function <vkMapMemory2> requires <VK_KHR_map_memory2> or <VK_VERSION_1_4>" ); 9094 # endif 9095 9096 void * pData; 9097 VULKAN_HPP_NAMESPACE::Result result = 9098 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkMapMemory2( m_device, reinterpret_cast<const VkMemoryMapInfo *>( &memoryMapInfo ), &pData ) ); 9099 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::mapMemory2" ); 9100 9101 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pData ) ); 9102 } 9103 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 9104 9105 // wrapper function for command vkUnmapMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnmapMemory2.html 9106 template <typename Dispatch> unmapMemory2(const VULKAN_HPP_NAMESPACE::MemoryUnmapInfo * pMemoryUnmapInfo,Dispatch const & d) const9107 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::unmapMemory2( const VULKAN_HPP_NAMESPACE::MemoryUnmapInfo * pMemoryUnmapInfo, 9108 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9109 { 9110 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9111 return static_cast<Result>( d.vkUnmapMemory2( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkMemoryUnmapInfo *>( pMemoryUnmapInfo ) ) ); 9112 } 9113 9114 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 9115 // wrapper function for command vkUnmapMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnmapMemory2.html 9116 template <typename Dispatch> unmapMemory2(const VULKAN_HPP_NAMESPACE::MemoryUnmapInfo & memoryUnmapInfo,Dispatch const & d) const9117 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::unmapMemory2( const VULKAN_HPP_NAMESPACE::MemoryUnmapInfo & memoryUnmapInfo, 9118 Dispatch const & d ) const 9119 { 9120 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9121 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9122 VULKAN_HPP_ASSERT( d.vkUnmapMemory2 && "Function <vkUnmapMemory2> requires <VK_KHR_map_memory2> or <VK_VERSION_1_4>" ); 9123 # endif 9124 9125 VULKAN_HPP_NAMESPACE::Result result = 9126 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkUnmapMemory2( m_device, reinterpret_cast<const VkMemoryUnmapInfo *>( &memoryUnmapInfo ) ) ); 9127 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::unmapMemory2" ); 9128 9129 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 9130 } 9131 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 9132 9133 // wrapper function for command vkCmdBindIndexBuffer2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindIndexBuffer2.html 9134 template <typename Dispatch> bindIndexBuffer2(VULKAN_HPP_NAMESPACE::Buffer buffer,VULKAN_HPP_NAMESPACE::DeviceSize offset,VULKAN_HPP_NAMESPACE::DeviceSize size,VULKAN_HPP_NAMESPACE::IndexType indexType,Dispatch const & d) const9135 VULKAN_HPP_INLINE void CommandBuffer::bindIndexBuffer2( VULKAN_HPP_NAMESPACE::Buffer buffer, 9136 VULKAN_HPP_NAMESPACE::DeviceSize offset, 9137 VULKAN_HPP_NAMESPACE::DeviceSize size, 9138 VULKAN_HPP_NAMESPACE::IndexType indexType, 9139 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9140 { 9141 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9142 d.vkCmdBindIndexBuffer2( static_cast<VkCommandBuffer>( m_commandBuffer ), 9143 static_cast<VkBuffer>( buffer ), 9144 static_cast<VkDeviceSize>( offset ), 9145 static_cast<VkDeviceSize>( size ), 9146 static_cast<VkIndexType>( indexType ) ); 9147 } 9148 9149 // wrapper function for command vkGetRenderingAreaGranularity, see 9150 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRenderingAreaGranularity.html 9151 template <typename Dispatch> getRenderingAreaGranularity(const VULKAN_HPP_NAMESPACE::RenderingAreaInfo * pRenderingAreaInfo,VULKAN_HPP_NAMESPACE::Extent2D * pGranularity,Dispatch const & d) const9152 VULKAN_HPP_INLINE void Device::getRenderingAreaGranularity( const VULKAN_HPP_NAMESPACE::RenderingAreaInfo * pRenderingAreaInfo, 9153 VULKAN_HPP_NAMESPACE::Extent2D * pGranularity, 9154 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9155 { 9156 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9157 d.vkGetRenderingAreaGranularity( 9158 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkRenderingAreaInfo *>( pRenderingAreaInfo ), reinterpret_cast<VkExtent2D *>( pGranularity ) ); 9159 } 9160 9161 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 9162 // wrapper function for command vkGetRenderingAreaGranularity, see 9163 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRenderingAreaGranularity.html 9164 template <typename Dispatch> 9165 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Extent2D getRenderingAreaGranularity(const VULKAN_HPP_NAMESPACE::RenderingAreaInfo & renderingAreaInfo,Dispatch const & d) const9166 Device::getRenderingAreaGranularity( const VULKAN_HPP_NAMESPACE::RenderingAreaInfo & renderingAreaInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9167 { 9168 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9169 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9170 VULKAN_HPP_ASSERT( d.vkGetRenderingAreaGranularity && "Function <vkGetRenderingAreaGranularity> requires <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); 9171 # endif 9172 9173 VULKAN_HPP_NAMESPACE::Extent2D granularity; 9174 d.vkGetRenderingAreaGranularity( 9175 m_device, reinterpret_cast<const VkRenderingAreaInfo *>( &renderingAreaInfo ), reinterpret_cast<VkExtent2D *>( &granularity ) ); 9176 9177 return granularity; 9178 } 9179 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 9180 9181 // wrapper function for command vkGetDeviceImageSubresourceLayout, see 9182 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayout.html 9183 template <typename Dispatch> getImageSubresourceLayout(const VULKAN_HPP_NAMESPACE::DeviceImageSubresourceInfo * pInfo,VULKAN_HPP_NAMESPACE::SubresourceLayout2 * pLayout,Dispatch const & d) const9184 VULKAN_HPP_INLINE void Device::getImageSubresourceLayout( const VULKAN_HPP_NAMESPACE::DeviceImageSubresourceInfo * pInfo, 9185 VULKAN_HPP_NAMESPACE::SubresourceLayout2 * pLayout, 9186 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9187 { 9188 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9189 d.vkGetDeviceImageSubresourceLayout( 9190 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDeviceImageSubresourceInfo *>( pInfo ), reinterpret_cast<VkSubresourceLayout2 *>( pLayout ) ); 9191 } 9192 9193 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 9194 // wrapper function for command vkGetDeviceImageSubresourceLayout, see 9195 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayout.html 9196 template <typename Dispatch> 9197 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::SubresourceLayout2 getImageSubresourceLayout(const VULKAN_HPP_NAMESPACE::DeviceImageSubresourceInfo & info,Dispatch const & d) const9198 Device::getImageSubresourceLayout( const VULKAN_HPP_NAMESPACE::DeviceImageSubresourceInfo & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9199 { 9200 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9201 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9202 VULKAN_HPP_ASSERT( d.vkGetDeviceImageSubresourceLayout && 9203 "Function <vkGetDeviceImageSubresourceLayout> requires <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); 9204 # endif 9205 9206 VULKAN_HPP_NAMESPACE::SubresourceLayout2 layout; 9207 d.vkGetDeviceImageSubresourceLayout( 9208 m_device, reinterpret_cast<const VkDeviceImageSubresourceInfo *>( &info ), reinterpret_cast<VkSubresourceLayout2 *>( &layout ) ); 9209 9210 return layout; 9211 } 9212 9213 // wrapper function for command vkGetDeviceImageSubresourceLayout, see 9214 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayout.html 9215 template <typename X, typename Y, typename... Z, typename Dispatch> 9216 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> getImageSubresourceLayout(const VULKAN_HPP_NAMESPACE::DeviceImageSubresourceInfo & info,Dispatch const & d) const9217 Device::getImageSubresourceLayout( const VULKAN_HPP_NAMESPACE::DeviceImageSubresourceInfo & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9218 { 9219 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9220 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9221 VULKAN_HPP_ASSERT( d.vkGetDeviceImageSubresourceLayout && 9222 "Function <vkGetDeviceImageSubresourceLayout> requires <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); 9223 # endif 9224 9225 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 9226 VULKAN_HPP_NAMESPACE::SubresourceLayout2 & layout = structureChain.template get<VULKAN_HPP_NAMESPACE::SubresourceLayout2>(); 9227 d.vkGetDeviceImageSubresourceLayout( 9228 m_device, reinterpret_cast<const VkDeviceImageSubresourceInfo *>( &info ), reinterpret_cast<VkSubresourceLayout2 *>( &layout ) ); 9229 9230 return structureChain; 9231 } 9232 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 9233 9234 // wrapper function for command vkGetImageSubresourceLayout2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2.html 9235 template <typename Dispatch> getImageSubresourceLayout2(VULKAN_HPP_NAMESPACE::Image image,const VULKAN_HPP_NAMESPACE::ImageSubresource2 * pSubresource,VULKAN_HPP_NAMESPACE::SubresourceLayout2 * pLayout,Dispatch const & d) const9236 VULKAN_HPP_INLINE void Device::getImageSubresourceLayout2( VULKAN_HPP_NAMESPACE::Image image, 9237 const VULKAN_HPP_NAMESPACE::ImageSubresource2 * pSubresource, 9238 VULKAN_HPP_NAMESPACE::SubresourceLayout2 * pLayout, 9239 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9240 { 9241 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9242 d.vkGetImageSubresourceLayout2( static_cast<VkDevice>( m_device ), 9243 static_cast<VkImage>( image ), 9244 reinterpret_cast<const VkImageSubresource2 *>( pSubresource ), 9245 reinterpret_cast<VkSubresourceLayout2 *>( pLayout ) ); 9246 } 9247 9248 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 9249 // wrapper function for command vkGetImageSubresourceLayout2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2.html 9250 template <typename Dispatch> getImageSubresourceLayout2(VULKAN_HPP_NAMESPACE::Image image,const VULKAN_HPP_NAMESPACE::ImageSubresource2 & subresource,Dispatch const & d) const9251 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::SubresourceLayout2 Device::getImageSubresourceLayout2( 9252 VULKAN_HPP_NAMESPACE::Image image, const VULKAN_HPP_NAMESPACE::ImageSubresource2 & subresource, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9253 { 9254 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9255 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9256 VULKAN_HPP_ASSERT( 9257 d.vkGetImageSubresourceLayout2 && 9258 "Function <vkGetImageSubresourceLayout2> requires <VK_EXT_host_image_copy> or <VK_EXT_image_compression_control> or <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); 9259 # endif 9260 9261 VULKAN_HPP_NAMESPACE::SubresourceLayout2 layout; 9262 d.vkGetImageSubresourceLayout2( m_device, 9263 static_cast<VkImage>( image ), 9264 reinterpret_cast<const VkImageSubresource2 *>( &subresource ), 9265 reinterpret_cast<VkSubresourceLayout2 *>( &layout ) ); 9266 9267 return layout; 9268 } 9269 9270 // wrapper function for command vkGetImageSubresourceLayout2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2.html 9271 template <typename X, typename Y, typename... Z, typename Dispatch> getImageSubresourceLayout2(VULKAN_HPP_NAMESPACE::Image image,const VULKAN_HPP_NAMESPACE::ImageSubresource2 & subresource,Dispatch const & d) const9272 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> Device::getImageSubresourceLayout2( 9273 VULKAN_HPP_NAMESPACE::Image image, const VULKAN_HPP_NAMESPACE::ImageSubresource2 & subresource, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9274 { 9275 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9276 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9277 VULKAN_HPP_ASSERT( 9278 d.vkGetImageSubresourceLayout2 && 9279 "Function <vkGetImageSubresourceLayout2> requires <VK_EXT_host_image_copy> or <VK_EXT_image_compression_control> or <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); 9280 # endif 9281 9282 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 9283 VULKAN_HPP_NAMESPACE::SubresourceLayout2 & layout = structureChain.template get<VULKAN_HPP_NAMESPACE::SubresourceLayout2>(); 9284 d.vkGetImageSubresourceLayout2( m_device, 9285 static_cast<VkImage>( image ), 9286 reinterpret_cast<const VkImageSubresource2 *>( &subresource ), 9287 reinterpret_cast<VkSubresourceLayout2 *>( &layout ) ); 9288 9289 return structureChain; 9290 } 9291 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 9292 9293 // wrapper function for command vkCmdPushDescriptorSet, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSet.html 9294 template <typename Dispatch> pushDescriptorSet(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,VULKAN_HPP_NAMESPACE::PipelineLayout layout,uint32_t set,uint32_t descriptorWriteCount,const VULKAN_HPP_NAMESPACE::WriteDescriptorSet * pDescriptorWrites,Dispatch const & d) const9295 VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSet( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint, 9296 VULKAN_HPP_NAMESPACE::PipelineLayout layout, 9297 uint32_t set, 9298 uint32_t descriptorWriteCount, 9299 const VULKAN_HPP_NAMESPACE::WriteDescriptorSet * pDescriptorWrites, 9300 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9301 { 9302 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9303 d.vkCmdPushDescriptorSet( static_cast<VkCommandBuffer>( m_commandBuffer ), 9304 static_cast<VkPipelineBindPoint>( pipelineBindPoint ), 9305 static_cast<VkPipelineLayout>( layout ), 9306 set, 9307 descriptorWriteCount, 9308 reinterpret_cast<const VkWriteDescriptorSet *>( pDescriptorWrites ) ); 9309 } 9310 9311 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 9312 // wrapper function for command vkCmdPushDescriptorSet, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSet.html 9313 template <typename Dispatch> 9314 VULKAN_HPP_INLINE void pushDescriptorSet(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,VULKAN_HPP_NAMESPACE::PipelineLayout layout,uint32_t set,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const & descriptorWrites,Dispatch const & d) const9315 CommandBuffer::pushDescriptorSet( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint, 9316 VULKAN_HPP_NAMESPACE::PipelineLayout layout, 9317 uint32_t set, 9318 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const & descriptorWrites, 9319 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9320 { 9321 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9322 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9323 VULKAN_HPP_ASSERT( d.vkCmdPushDescriptorSet && "Function <vkCmdPushDescriptorSet> requires <VK_KHR_push_descriptor> or <VK_VERSION_1_4>" ); 9324 # endif 9325 9326 d.vkCmdPushDescriptorSet( m_commandBuffer, 9327 static_cast<VkPipelineBindPoint>( pipelineBindPoint ), 9328 static_cast<VkPipelineLayout>( layout ), 9329 set, 9330 descriptorWrites.size(), 9331 reinterpret_cast<const VkWriteDescriptorSet *>( descriptorWrites.data() ) ); 9332 } 9333 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 9334 9335 // wrapper function for command vkCmdPushDescriptorSetWithTemplate, see 9336 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplate.html 9337 template <typename Dispatch> pushDescriptorSetWithTemplate(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,VULKAN_HPP_NAMESPACE::PipelineLayout layout,uint32_t set,const void * pData,Dispatch const & d) const9338 VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetWithTemplate( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, 9339 VULKAN_HPP_NAMESPACE::PipelineLayout layout, 9340 uint32_t set, 9341 const void * pData, 9342 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9343 { 9344 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9345 d.vkCmdPushDescriptorSetWithTemplate( static_cast<VkCommandBuffer>( m_commandBuffer ), 9346 static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), 9347 static_cast<VkPipelineLayout>( layout ), 9348 set, 9349 pData ); 9350 } 9351 9352 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 9353 // wrapper function for command vkCmdPushDescriptorSetWithTemplate, see 9354 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplate.html 9355 template <typename DataType, typename Dispatch> pushDescriptorSetWithTemplate(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,VULKAN_HPP_NAMESPACE::PipelineLayout layout,uint32_t set,DataType const & data,Dispatch const & d) const9356 VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetWithTemplate( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, 9357 VULKAN_HPP_NAMESPACE::PipelineLayout layout, 9358 uint32_t set, 9359 DataType const & data, 9360 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9361 { 9362 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9363 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9364 VULKAN_HPP_ASSERT( 9365 d.vkCmdPushDescriptorSetWithTemplate && 9366 "Function <vkCmdPushDescriptorSetWithTemplate> requires <VK_KHR_descriptor_update_template> or <VK_KHR_push_descriptor> or <VK_VERSION_1_4>" ); 9367 # endif 9368 9369 d.vkCmdPushDescriptorSetWithTemplate( m_commandBuffer, 9370 static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), 9371 static_cast<VkPipelineLayout>( layout ), 9372 set, 9373 reinterpret_cast<const void *>( &data ) ); 9374 } 9375 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 9376 9377 // wrapper function for command vkCmdSetRenderingAttachmentLocations, see 9378 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingAttachmentLocations.html 9379 template <typename Dispatch> setRenderingAttachmentLocations(const VULKAN_HPP_NAMESPACE::RenderingAttachmentLocationInfo * pLocationInfo,Dispatch const & d) const9380 VULKAN_HPP_INLINE void CommandBuffer::setRenderingAttachmentLocations( const VULKAN_HPP_NAMESPACE::RenderingAttachmentLocationInfo * pLocationInfo, 9381 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9382 { 9383 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9384 d.vkCmdSetRenderingAttachmentLocations( static_cast<VkCommandBuffer>( m_commandBuffer ), 9385 reinterpret_cast<const VkRenderingAttachmentLocationInfo *>( pLocationInfo ) ); 9386 } 9387 9388 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 9389 // wrapper function for command vkCmdSetRenderingAttachmentLocations, see 9390 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingAttachmentLocations.html 9391 template <typename Dispatch> setRenderingAttachmentLocations(const VULKAN_HPP_NAMESPACE::RenderingAttachmentLocationInfo & locationInfo,Dispatch const & d) const9392 VULKAN_HPP_INLINE void CommandBuffer::setRenderingAttachmentLocations( const VULKAN_HPP_NAMESPACE::RenderingAttachmentLocationInfo & locationInfo, 9393 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9394 { 9395 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9396 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9397 VULKAN_HPP_ASSERT( d.vkCmdSetRenderingAttachmentLocations && 9398 "Function <vkCmdSetRenderingAttachmentLocations> requires <VK_KHR_dynamic_rendering_local_read> or <VK_VERSION_1_4>" ); 9399 # endif 9400 9401 d.vkCmdSetRenderingAttachmentLocations( m_commandBuffer, reinterpret_cast<const VkRenderingAttachmentLocationInfo *>( &locationInfo ) ); 9402 } 9403 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 9404 9405 // wrapper function for command vkCmdSetRenderingInputAttachmentIndices, see 9406 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingInputAttachmentIndices.html 9407 template <typename Dispatch> 9408 VULKAN_HPP_INLINE void setRenderingInputAttachmentIndices(const VULKAN_HPP_NAMESPACE::RenderingInputAttachmentIndexInfo * pInputAttachmentIndexInfo,Dispatch const & d) const9409 CommandBuffer::setRenderingInputAttachmentIndices( const VULKAN_HPP_NAMESPACE::RenderingInputAttachmentIndexInfo * pInputAttachmentIndexInfo, 9410 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9411 { 9412 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9413 d.vkCmdSetRenderingInputAttachmentIndices( static_cast<VkCommandBuffer>( m_commandBuffer ), 9414 reinterpret_cast<const VkRenderingInputAttachmentIndexInfo *>( pInputAttachmentIndexInfo ) ); 9415 } 9416 9417 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 9418 // wrapper function for command vkCmdSetRenderingInputAttachmentIndices, see 9419 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingInputAttachmentIndices.html 9420 template <typename Dispatch> 9421 VULKAN_HPP_INLINE void setRenderingInputAttachmentIndices(const VULKAN_HPP_NAMESPACE::RenderingInputAttachmentIndexInfo & inputAttachmentIndexInfo,Dispatch const & d) const9422 CommandBuffer::setRenderingInputAttachmentIndices( const VULKAN_HPP_NAMESPACE::RenderingInputAttachmentIndexInfo & inputAttachmentIndexInfo, 9423 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9424 { 9425 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9426 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9427 VULKAN_HPP_ASSERT( d.vkCmdSetRenderingInputAttachmentIndices && 9428 "Function <vkCmdSetRenderingInputAttachmentIndices> requires <VK_KHR_dynamic_rendering_local_read> or <VK_VERSION_1_4>" ); 9429 # endif 9430 9431 d.vkCmdSetRenderingInputAttachmentIndices( m_commandBuffer, reinterpret_cast<const VkRenderingInputAttachmentIndexInfo *>( &inputAttachmentIndexInfo ) ); 9432 } 9433 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 9434 9435 // wrapper function for command vkCmdBindDescriptorSets2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorSets2.html 9436 template <typename Dispatch> bindDescriptorSets2(const VULKAN_HPP_NAMESPACE::BindDescriptorSetsInfo * pBindDescriptorSetsInfo,Dispatch const & d) const9437 VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorSets2( const VULKAN_HPP_NAMESPACE::BindDescriptorSetsInfo * pBindDescriptorSetsInfo, 9438 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9439 { 9440 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9441 d.vkCmdBindDescriptorSets2( static_cast<VkCommandBuffer>( m_commandBuffer ), 9442 reinterpret_cast<const VkBindDescriptorSetsInfo *>( pBindDescriptorSetsInfo ) ); 9443 } 9444 9445 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 9446 // wrapper function for command vkCmdBindDescriptorSets2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorSets2.html 9447 template <typename Dispatch> bindDescriptorSets2(const VULKAN_HPP_NAMESPACE::BindDescriptorSetsInfo & bindDescriptorSetsInfo,Dispatch const & d) const9448 VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorSets2( const VULKAN_HPP_NAMESPACE::BindDescriptorSetsInfo & bindDescriptorSetsInfo, 9449 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9450 { 9451 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9452 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9453 VULKAN_HPP_ASSERT( d.vkCmdBindDescriptorSets2 && "Function <vkCmdBindDescriptorSets2> requires <VK_KHR_maintenance6> or <VK_VERSION_1_4>" ); 9454 # endif 9455 9456 d.vkCmdBindDescriptorSets2( m_commandBuffer, reinterpret_cast<const VkBindDescriptorSetsInfo *>( &bindDescriptorSetsInfo ) ); 9457 } 9458 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 9459 9460 // wrapper function for command vkCmdPushConstants2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushConstants2.html 9461 template <typename Dispatch> pushConstants2(const VULKAN_HPP_NAMESPACE::PushConstantsInfo * pPushConstantsInfo,Dispatch const & d) const9462 VULKAN_HPP_INLINE void CommandBuffer::pushConstants2( const VULKAN_HPP_NAMESPACE::PushConstantsInfo * pPushConstantsInfo, 9463 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9464 { 9465 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9466 d.vkCmdPushConstants2( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkPushConstantsInfo *>( pPushConstantsInfo ) ); 9467 } 9468 9469 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 9470 // wrapper function for command vkCmdPushConstants2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushConstants2.html 9471 template <typename Dispatch> pushConstants2(const VULKAN_HPP_NAMESPACE::PushConstantsInfo & pushConstantsInfo,Dispatch const & d) const9472 VULKAN_HPP_INLINE void CommandBuffer::pushConstants2( const VULKAN_HPP_NAMESPACE::PushConstantsInfo & pushConstantsInfo, 9473 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9474 { 9475 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9476 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9477 VULKAN_HPP_ASSERT( d.vkCmdPushConstants2 && "Function <vkCmdPushConstants2> requires <VK_KHR_maintenance6> or <VK_VERSION_1_4>" ); 9478 # endif 9479 9480 d.vkCmdPushConstants2( m_commandBuffer, reinterpret_cast<const VkPushConstantsInfo *>( &pushConstantsInfo ) ); 9481 } 9482 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 9483 9484 // wrapper function for command vkCmdPushDescriptorSet2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSet2.html 9485 template <typename Dispatch> pushDescriptorSet2(const VULKAN_HPP_NAMESPACE::PushDescriptorSetInfo * pPushDescriptorSetInfo,Dispatch const & d) const9486 VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSet2( const VULKAN_HPP_NAMESPACE::PushDescriptorSetInfo * pPushDescriptorSetInfo, 9487 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9488 { 9489 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9490 d.vkCmdPushDescriptorSet2( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkPushDescriptorSetInfo *>( pPushDescriptorSetInfo ) ); 9491 } 9492 9493 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 9494 // wrapper function for command vkCmdPushDescriptorSet2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSet2.html 9495 template <typename Dispatch> pushDescriptorSet2(const VULKAN_HPP_NAMESPACE::PushDescriptorSetInfo & pushDescriptorSetInfo,Dispatch const & d) const9496 VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSet2( const VULKAN_HPP_NAMESPACE::PushDescriptorSetInfo & pushDescriptorSetInfo, 9497 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9498 { 9499 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9500 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9501 VULKAN_HPP_ASSERT( d.vkCmdPushDescriptorSet2 && "Function <vkCmdPushDescriptorSet2> requires <VK_KHR_maintenance6> or <VK_VERSION_1_4>" ); 9502 # endif 9503 9504 d.vkCmdPushDescriptorSet2( m_commandBuffer, reinterpret_cast<const VkPushDescriptorSetInfo *>( &pushDescriptorSetInfo ) ); 9505 } 9506 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 9507 9508 // wrapper function for command vkCmdPushDescriptorSetWithTemplate2, see 9509 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplate2.html 9510 template <typename Dispatch> 9511 VULKAN_HPP_INLINE void pushDescriptorSetWithTemplate2(const VULKAN_HPP_NAMESPACE::PushDescriptorSetWithTemplateInfo * pPushDescriptorSetWithTemplateInfo,Dispatch const & d) const9512 CommandBuffer::pushDescriptorSetWithTemplate2( const VULKAN_HPP_NAMESPACE::PushDescriptorSetWithTemplateInfo * pPushDescriptorSetWithTemplateInfo, 9513 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9514 { 9515 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9516 d.vkCmdPushDescriptorSetWithTemplate2( static_cast<VkCommandBuffer>( m_commandBuffer ), 9517 reinterpret_cast<const VkPushDescriptorSetWithTemplateInfo *>( pPushDescriptorSetWithTemplateInfo ) ); 9518 } 9519 9520 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 9521 // wrapper function for command vkCmdPushDescriptorSetWithTemplate2, see 9522 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplate2.html 9523 template <typename Dispatch> 9524 VULKAN_HPP_INLINE void pushDescriptorSetWithTemplate2(const VULKAN_HPP_NAMESPACE::PushDescriptorSetWithTemplateInfo & pushDescriptorSetWithTemplateInfo,Dispatch const & d) const9525 CommandBuffer::pushDescriptorSetWithTemplate2( const VULKAN_HPP_NAMESPACE::PushDescriptorSetWithTemplateInfo & pushDescriptorSetWithTemplateInfo, 9526 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9527 { 9528 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9529 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9530 VULKAN_HPP_ASSERT( d.vkCmdPushDescriptorSetWithTemplate2 && 9531 "Function <vkCmdPushDescriptorSetWithTemplate2> requires <VK_KHR_maintenance6> or <VK_VERSION_1_4>" ); 9532 # endif 9533 9534 d.vkCmdPushDescriptorSetWithTemplate2( m_commandBuffer, 9535 reinterpret_cast<const VkPushDescriptorSetWithTemplateInfo *>( &pushDescriptorSetWithTemplateInfo ) ); 9536 } 9537 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 9538 9539 // wrapper function for command vkCopyMemoryToImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToImage.html 9540 template <typename Dispatch> copyMemoryToImage(const VULKAN_HPP_NAMESPACE::CopyMemoryToImageInfo * pCopyMemoryToImageInfo,Dispatch const & d) const9541 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyMemoryToImage( const VULKAN_HPP_NAMESPACE::CopyMemoryToImageInfo * pCopyMemoryToImageInfo, 9542 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9543 { 9544 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9545 return static_cast<Result>( 9546 d.vkCopyMemoryToImage( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkCopyMemoryToImageInfo *>( pCopyMemoryToImageInfo ) ) ); 9547 } 9548 9549 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 9550 // wrapper function for command vkCopyMemoryToImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToImage.html 9551 template <typename Dispatch> 9552 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type copyMemoryToImage(const VULKAN_HPP_NAMESPACE::CopyMemoryToImageInfo & copyMemoryToImageInfo,Dispatch const & d) const9553 Device::copyMemoryToImage( const VULKAN_HPP_NAMESPACE::CopyMemoryToImageInfo & copyMemoryToImageInfo, Dispatch const & d ) const 9554 { 9555 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9556 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9557 VULKAN_HPP_ASSERT( d.vkCopyMemoryToImage && "Function <vkCopyMemoryToImage> requires <VK_EXT_host_image_copy> or <VK_VERSION_1_4>" ); 9558 # endif 9559 9560 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9561 d.vkCopyMemoryToImage( m_device, reinterpret_cast<const VkCopyMemoryToImageInfo *>( ©MemoryToImageInfo ) ) ); 9562 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::copyMemoryToImage" ); 9563 9564 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 9565 } 9566 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 9567 9568 // wrapper function for command vkCopyImageToMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToMemory.html 9569 template <typename Dispatch> copyImageToMemory(const VULKAN_HPP_NAMESPACE::CopyImageToMemoryInfo * pCopyImageToMemoryInfo,Dispatch const & d) const9570 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyImageToMemory( const VULKAN_HPP_NAMESPACE::CopyImageToMemoryInfo * pCopyImageToMemoryInfo, 9571 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9572 { 9573 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9574 return static_cast<Result>( 9575 d.vkCopyImageToMemory( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkCopyImageToMemoryInfo *>( pCopyImageToMemoryInfo ) ) ); 9576 } 9577 9578 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 9579 // wrapper function for command vkCopyImageToMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToMemory.html 9580 template <typename Dispatch> 9581 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type copyImageToMemory(const VULKAN_HPP_NAMESPACE::CopyImageToMemoryInfo & copyImageToMemoryInfo,Dispatch const & d) const9582 Device::copyImageToMemory( const VULKAN_HPP_NAMESPACE::CopyImageToMemoryInfo & copyImageToMemoryInfo, Dispatch const & d ) const 9583 { 9584 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9585 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9586 VULKAN_HPP_ASSERT( d.vkCopyImageToMemory && "Function <vkCopyImageToMemory> requires <VK_EXT_host_image_copy> or <VK_VERSION_1_4>" ); 9587 # endif 9588 9589 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9590 d.vkCopyImageToMemory( m_device, reinterpret_cast<const VkCopyImageToMemoryInfo *>( ©ImageToMemoryInfo ) ) ); 9591 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::copyImageToMemory" ); 9592 9593 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 9594 } 9595 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 9596 9597 // wrapper function for command vkCopyImageToImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToImage.html 9598 template <typename Dispatch> copyImageToImage(const VULKAN_HPP_NAMESPACE::CopyImageToImageInfo * pCopyImageToImageInfo,Dispatch const & d) const9599 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyImageToImage( const VULKAN_HPP_NAMESPACE::CopyImageToImageInfo * pCopyImageToImageInfo, 9600 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9601 { 9602 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9603 return static_cast<Result>( 9604 d.vkCopyImageToImage( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkCopyImageToImageInfo *>( pCopyImageToImageInfo ) ) ); 9605 } 9606 9607 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 9608 // wrapper function for command vkCopyImageToImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToImage.html 9609 template <typename Dispatch> 9610 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type copyImageToImage(const VULKAN_HPP_NAMESPACE::CopyImageToImageInfo & copyImageToImageInfo,Dispatch const & d) const9611 Device::copyImageToImage( const VULKAN_HPP_NAMESPACE::CopyImageToImageInfo & copyImageToImageInfo, Dispatch const & d ) const 9612 { 9613 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9614 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9615 VULKAN_HPP_ASSERT( d.vkCopyImageToImage && "Function <vkCopyImageToImage> requires <VK_EXT_host_image_copy> or <VK_VERSION_1_4>" ); 9616 # endif 9617 9618 VULKAN_HPP_NAMESPACE::Result result = 9619 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCopyImageToImage( m_device, reinterpret_cast<const VkCopyImageToImageInfo *>( ©ImageToImageInfo ) ) ); 9620 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::copyImageToImage" ); 9621 9622 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 9623 } 9624 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 9625 9626 // wrapper function for command vkTransitionImageLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTransitionImageLayout.html 9627 template <typename Dispatch> transitionImageLayout(uint32_t transitionCount,const VULKAN_HPP_NAMESPACE::HostImageLayoutTransitionInfo * pTransitions,Dispatch const & d) const9628 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::transitionImageLayout( uint32_t transitionCount, 9629 const VULKAN_HPP_NAMESPACE::HostImageLayoutTransitionInfo * pTransitions, 9630 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9631 { 9632 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9633 return static_cast<Result>( d.vkTransitionImageLayout( 9634 static_cast<VkDevice>( m_device ), transitionCount, reinterpret_cast<const VkHostImageLayoutTransitionInfo *>( pTransitions ) ) ); 9635 } 9636 9637 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 9638 // wrapper function for command vkTransitionImageLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTransitionImageLayout.html 9639 template <typename Dispatch> 9640 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type transitionImageLayout(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::HostImageLayoutTransitionInfo> const & transitions,Dispatch const & d) const9641 Device::transitionImageLayout( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::HostImageLayoutTransitionInfo> const & transitions, 9642 Dispatch const & d ) const 9643 { 9644 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9645 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9646 VULKAN_HPP_ASSERT( d.vkTransitionImageLayout && "Function <vkTransitionImageLayout> requires <VK_EXT_host_image_copy> or <VK_VERSION_1_4>" ); 9647 # endif 9648 9649 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9650 d.vkTransitionImageLayout( m_device, transitions.size(), reinterpret_cast<const VkHostImageLayoutTransitionInfo *>( transitions.data() ) ) ); 9651 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::transitionImageLayout" ); 9652 9653 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 9654 } 9655 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 9656 9657 //=== VK_KHR_surface === 9658 9659 // wrapper function for command vkDestroySurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySurfaceKHR.html 9660 template <typename Dispatch> destroySurfaceKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const9661 VULKAN_HPP_INLINE void Instance::destroySurfaceKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, 9662 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 9663 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9664 { 9665 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9666 d.vkDestroySurfaceKHR( 9667 static_cast<VkInstance>( m_instance ), static_cast<VkSurfaceKHR>( surface ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 9668 } 9669 9670 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 9671 // wrapper function for command vkDestroySurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySurfaceKHR.html 9672 template <typename Dispatch> destroySurfaceKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const9673 VULKAN_HPP_INLINE void Instance::destroySurfaceKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, 9674 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 9675 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9676 { 9677 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9678 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9679 VULKAN_HPP_ASSERT( d.vkDestroySurfaceKHR && "Function <vkDestroySurfaceKHR> requires <VK_KHR_surface>" ); 9680 # endif 9681 9682 d.vkDestroySurfaceKHR( m_instance, 9683 static_cast<VkSurfaceKHR>( surface ), 9684 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 9685 } 9686 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 9687 9688 // wrapper function for command vkDestroySurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySurfaceKHR.html 9689 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const9690 VULKAN_HPP_INLINE void Instance::destroy( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, 9691 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 9692 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9693 { 9694 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9695 d.vkDestroySurfaceKHR( 9696 static_cast<VkInstance>( m_instance ), static_cast<VkSurfaceKHR>( surface ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 9697 } 9698 9699 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 9700 // wrapper function for command vkDestroySurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySurfaceKHR.html 9701 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const9702 VULKAN_HPP_INLINE void Instance::destroy( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, 9703 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 9704 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9705 { 9706 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9707 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9708 VULKAN_HPP_ASSERT( d.vkDestroySurfaceKHR && "Function <vkDestroySurfaceKHR> requires <VK_KHR_surface>" ); 9709 # endif 9710 9711 d.vkDestroySurfaceKHR( m_instance, 9712 static_cast<VkSurfaceKHR>( surface ), 9713 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 9714 } 9715 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 9716 9717 // wrapper function for command vkGetPhysicalDeviceSurfaceSupportKHR, see 9718 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceSupportKHR.html 9719 template <typename Dispatch> getSurfaceSupportKHR(uint32_t queueFamilyIndex,VULKAN_HPP_NAMESPACE::SurfaceKHR surface,VULKAN_HPP_NAMESPACE::Bool32 * pSupported,Dispatch const & d) const9720 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getSurfaceSupportKHR( uint32_t queueFamilyIndex, 9721 VULKAN_HPP_NAMESPACE::SurfaceKHR surface, 9722 VULKAN_HPP_NAMESPACE::Bool32 * pSupported, 9723 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9724 { 9725 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9726 return static_cast<Result>( d.vkGetPhysicalDeviceSurfaceSupportKHR( 9727 static_cast<VkPhysicalDevice>( m_physicalDevice ), queueFamilyIndex, static_cast<VkSurfaceKHR>( surface ), reinterpret_cast<VkBool32 *>( pSupported ) ) ); 9728 } 9729 9730 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 9731 // wrapper function for command vkGetPhysicalDeviceSurfaceSupportKHR, see 9732 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceSupportKHR.html 9733 template <typename Dispatch> 9734 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Bool32>::type getSurfaceSupportKHR(uint32_t queueFamilyIndex,VULKAN_HPP_NAMESPACE::SurfaceKHR surface,Dispatch const & d) const9735 PhysicalDevice::getSurfaceSupportKHR( uint32_t queueFamilyIndex, VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Dispatch const & d ) const 9736 { 9737 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9738 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9739 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceSurfaceSupportKHR && "Function <vkGetPhysicalDeviceSurfaceSupportKHR> requires <VK_KHR_surface>" ); 9740 # endif 9741 9742 VULKAN_HPP_NAMESPACE::Bool32 supported; 9743 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceSurfaceSupportKHR( 9744 m_physicalDevice, queueFamilyIndex, static_cast<VkSurfaceKHR>( surface ), reinterpret_cast<VkBool32 *>( &supported ) ) ); 9745 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceSupportKHR" ); 9746 9747 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( supported ) ); 9748 } 9749 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 9750 9751 // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilitiesKHR, see 9752 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilitiesKHR.html 9753 template <typename Dispatch> getSurfaceCapabilitiesKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR * pSurfaceCapabilities,Dispatch const & d) const9754 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getSurfaceCapabilitiesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, 9755 VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR * pSurfaceCapabilities, 9756 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9757 { 9758 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9759 return static_cast<Result>( d.vkGetPhysicalDeviceSurfaceCapabilitiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 9760 static_cast<VkSurfaceKHR>( surface ), 9761 reinterpret_cast<VkSurfaceCapabilitiesKHR *>( pSurfaceCapabilities ) ) ); 9762 } 9763 9764 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 9765 // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilitiesKHR, see 9766 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilitiesKHR.html 9767 template <typename Dispatch> 9768 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR>::type getSurfaceCapabilitiesKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,Dispatch const & d) const9769 PhysicalDevice::getSurfaceCapabilitiesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Dispatch const & d ) const 9770 { 9771 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9772 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9773 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceSurfaceCapabilitiesKHR && "Function <vkGetPhysicalDeviceSurfaceCapabilitiesKHR> requires <VK_KHR_surface>" ); 9774 # endif 9775 9776 VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR surfaceCapabilities; 9777 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceSurfaceCapabilitiesKHR( 9778 m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), reinterpret_cast<VkSurfaceCapabilitiesKHR *>( &surfaceCapabilities ) ) ); 9779 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilitiesKHR" ); 9780 9781 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surfaceCapabilities ) ); 9782 } 9783 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 9784 9785 // wrapper function for command vkGetPhysicalDeviceSurfaceFormatsKHR, see 9786 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormatsKHR.html 9787 template <typename Dispatch> getSurfaceFormatsKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,uint32_t * pSurfaceFormatCount,VULKAN_HPP_NAMESPACE::SurfaceFormatKHR * pSurfaceFormats,Dispatch const & d) const9788 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getSurfaceFormatsKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, 9789 uint32_t * pSurfaceFormatCount, 9790 VULKAN_HPP_NAMESPACE::SurfaceFormatKHR * pSurfaceFormats, 9791 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9792 { 9793 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9794 return static_cast<Result>( d.vkGetPhysicalDeviceSurfaceFormatsKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 9795 static_cast<VkSurfaceKHR>( surface ), 9796 pSurfaceFormatCount, 9797 reinterpret_cast<VkSurfaceFormatKHR *>( pSurfaceFormats ) ) ); 9798 } 9799 9800 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 9801 // wrapper function for command vkGetPhysicalDeviceSurfaceFormatsKHR, see 9802 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormatsKHR.html 9803 template <typename SurfaceFormatKHRAllocator, 9804 typename Dispatch, 9805 typename std::enable_if<std::is_same<typename SurfaceFormatKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::SurfaceFormatKHR>::value, int>::type> 9806 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormatKHR, SurfaceFormatKHRAllocator>>::type getSurfaceFormatsKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,Dispatch const & d) const9807 PhysicalDevice::getSurfaceFormatsKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Dispatch const & d ) const 9808 { 9809 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9810 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9811 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceSurfaceFormatsKHR && "Function <vkGetPhysicalDeviceSurfaceFormatsKHR> requires <VK_KHR_surface>" ); 9812 # endif 9813 9814 std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormatKHR, SurfaceFormatKHRAllocator> surfaceFormats; 9815 uint32_t surfaceFormatCount; 9816 VULKAN_HPP_NAMESPACE::Result result; 9817 do 9818 { 9819 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9820 d.vkGetPhysicalDeviceSurfaceFormatsKHR( m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), &surfaceFormatCount, nullptr ) ); 9821 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && surfaceFormatCount ) 9822 { 9823 surfaceFormats.resize( surfaceFormatCount ); 9824 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceSurfaceFormatsKHR( 9825 m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), &surfaceFormatCount, reinterpret_cast<VkSurfaceFormatKHR *>( surfaceFormats.data() ) ) ); 9826 } 9827 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 9828 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormatsKHR" ); 9829 VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() ); 9830 if ( surfaceFormatCount < surfaceFormats.size() ) 9831 { 9832 surfaceFormats.resize( surfaceFormatCount ); 9833 } 9834 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surfaceFormats ) ); 9835 } 9836 9837 // wrapper function for command vkGetPhysicalDeviceSurfaceFormatsKHR, see 9838 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormatsKHR.html 9839 template <typename SurfaceFormatKHRAllocator, 9840 typename Dispatch, 9841 typename std::enable_if<std::is_same<typename SurfaceFormatKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::SurfaceFormatKHR>::value, int>::type> 9842 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormatKHR, SurfaceFormatKHRAllocator>>::type getSurfaceFormatsKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,SurfaceFormatKHRAllocator & surfaceFormatKHRAllocator,Dispatch const & d) const9843 PhysicalDevice::getSurfaceFormatsKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, 9844 SurfaceFormatKHRAllocator & surfaceFormatKHRAllocator, 9845 Dispatch const & d ) const 9846 { 9847 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9848 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9849 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceSurfaceFormatsKHR && "Function <vkGetPhysicalDeviceSurfaceFormatsKHR> requires <VK_KHR_surface>" ); 9850 # endif 9851 9852 std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormatKHR, SurfaceFormatKHRAllocator> surfaceFormats( surfaceFormatKHRAllocator ); 9853 uint32_t surfaceFormatCount; 9854 VULKAN_HPP_NAMESPACE::Result result; 9855 do 9856 { 9857 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9858 d.vkGetPhysicalDeviceSurfaceFormatsKHR( m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), &surfaceFormatCount, nullptr ) ); 9859 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && surfaceFormatCount ) 9860 { 9861 surfaceFormats.resize( surfaceFormatCount ); 9862 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceSurfaceFormatsKHR( 9863 m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), &surfaceFormatCount, reinterpret_cast<VkSurfaceFormatKHR *>( surfaceFormats.data() ) ) ); 9864 } 9865 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 9866 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormatsKHR" ); 9867 VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() ); 9868 if ( surfaceFormatCount < surfaceFormats.size() ) 9869 { 9870 surfaceFormats.resize( surfaceFormatCount ); 9871 } 9872 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surfaceFormats ) ); 9873 } 9874 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 9875 9876 // wrapper function for command vkGetPhysicalDeviceSurfacePresentModesKHR, see 9877 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfacePresentModesKHR.html 9878 template <typename Dispatch> getSurfacePresentModesKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,uint32_t * pPresentModeCount,VULKAN_HPP_NAMESPACE::PresentModeKHR * pPresentModes,Dispatch const & d) const9879 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, 9880 uint32_t * pPresentModeCount, 9881 VULKAN_HPP_NAMESPACE::PresentModeKHR * pPresentModes, 9882 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9883 { 9884 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9885 return static_cast<Result>( d.vkGetPhysicalDeviceSurfacePresentModesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 9886 static_cast<VkSurfaceKHR>( surface ), 9887 pPresentModeCount, 9888 reinterpret_cast<VkPresentModeKHR *>( pPresentModes ) ) ); 9889 } 9890 9891 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 9892 // wrapper function for command vkGetPhysicalDeviceSurfacePresentModesKHR, see 9893 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfacePresentModesKHR.html 9894 template <typename PresentModeKHRAllocator, 9895 typename Dispatch, 9896 typename std::enable_if<std::is_same<typename PresentModeKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::PresentModeKHR>::value, int>::type> 9897 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR, PresentModeKHRAllocator>>::type getSurfacePresentModesKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,Dispatch const & d) const9898 PhysicalDevice::getSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Dispatch const & d ) const 9899 { 9900 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9901 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9902 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceSurfacePresentModesKHR && "Function <vkGetPhysicalDeviceSurfacePresentModesKHR> requires <VK_KHR_surface>" ); 9903 # endif 9904 9905 std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR, PresentModeKHRAllocator> presentModes; 9906 uint32_t presentModeCount; 9907 VULKAN_HPP_NAMESPACE::Result result; 9908 do 9909 { 9910 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9911 d.vkGetPhysicalDeviceSurfacePresentModesKHR( m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), &presentModeCount, nullptr ) ); 9912 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && presentModeCount ) 9913 { 9914 presentModes.resize( presentModeCount ); 9915 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceSurfacePresentModesKHR( 9916 m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), &presentModeCount, reinterpret_cast<VkPresentModeKHR *>( presentModes.data() ) ) ); 9917 } 9918 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 9919 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModesKHR" ); 9920 VULKAN_HPP_ASSERT( presentModeCount <= presentModes.size() ); 9921 if ( presentModeCount < presentModes.size() ) 9922 { 9923 presentModes.resize( presentModeCount ); 9924 } 9925 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( presentModes ) ); 9926 } 9927 9928 // wrapper function for command vkGetPhysicalDeviceSurfacePresentModesKHR, see 9929 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfacePresentModesKHR.html 9930 template <typename PresentModeKHRAllocator, 9931 typename Dispatch, 9932 typename std::enable_if<std::is_same<typename PresentModeKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::PresentModeKHR>::value, int>::type> 9933 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR, PresentModeKHRAllocator>>::type getSurfacePresentModesKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,PresentModeKHRAllocator & presentModeKHRAllocator,Dispatch const & d) const9934 PhysicalDevice::getSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, 9935 PresentModeKHRAllocator & presentModeKHRAllocator, 9936 Dispatch const & d ) const 9937 { 9938 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9939 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9940 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceSurfacePresentModesKHR && "Function <vkGetPhysicalDeviceSurfacePresentModesKHR> requires <VK_KHR_surface>" ); 9941 # endif 9942 9943 std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR, PresentModeKHRAllocator> presentModes( presentModeKHRAllocator ); 9944 uint32_t presentModeCount; 9945 VULKAN_HPP_NAMESPACE::Result result; 9946 do 9947 { 9948 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9949 d.vkGetPhysicalDeviceSurfacePresentModesKHR( m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), &presentModeCount, nullptr ) ); 9950 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && presentModeCount ) 9951 { 9952 presentModes.resize( presentModeCount ); 9953 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceSurfacePresentModesKHR( 9954 m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), &presentModeCount, reinterpret_cast<VkPresentModeKHR *>( presentModes.data() ) ) ); 9955 } 9956 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 9957 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModesKHR" ); 9958 VULKAN_HPP_ASSERT( presentModeCount <= presentModes.size() ); 9959 if ( presentModeCount < presentModes.size() ) 9960 { 9961 presentModes.resize( presentModeCount ); 9962 } 9963 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( presentModes ) ); 9964 } 9965 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 9966 9967 //=== VK_KHR_swapchain === 9968 9969 // wrapper function for command vkCreateSwapchainKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSwapchainKHR.html 9970 template <typename Dispatch> createSwapchainKHR(const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::SwapchainKHR * pSwapchain,Dispatch const & d) const9971 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createSwapchainKHR( const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR * pCreateInfo, 9972 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 9973 VULKAN_HPP_NAMESPACE::SwapchainKHR * pSwapchain, 9974 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 9975 { 9976 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9977 return static_cast<Result>( d.vkCreateSwapchainKHR( static_cast<VkDevice>( m_device ), 9978 reinterpret_cast<const VkSwapchainCreateInfoKHR *>( pCreateInfo ), 9979 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 9980 reinterpret_cast<VkSwapchainKHR *>( pSwapchain ) ) ); 9981 } 9982 9983 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 9984 // wrapper function for command vkCreateSwapchainKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSwapchainKHR.html 9985 template <typename Dispatch> 9986 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SwapchainKHR>::type createSwapchainKHR(const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const9987 Device::createSwapchainKHR( const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR & createInfo, 9988 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 9989 Dispatch const & d ) const 9990 { 9991 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 9992 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 9993 VULKAN_HPP_ASSERT( d.vkCreateSwapchainKHR && "Function <vkCreateSwapchainKHR> requires <VK_KHR_swapchain>" ); 9994 # endif 9995 9996 VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain; 9997 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 9998 d.vkCreateSwapchainKHR( m_device, 9999 reinterpret_cast<const VkSwapchainCreateInfoKHR *>( &createInfo ), 10000 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 10001 reinterpret_cast<VkSwapchainKHR *>( &swapchain ) ) ); 10002 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSwapchainKHR" ); 10003 10004 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( swapchain ) ); 10005 } 10006 10007 # ifndef VULKAN_HPP_NO_SMART_HANDLE 10008 // wrapper function for command vkCreateSwapchainKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSwapchainKHR.html 10009 template <typename Dispatch> 10010 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SwapchainKHR, Dispatch>>::type createSwapchainKHRUnique(const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const10011 Device::createSwapchainKHRUnique( const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR & createInfo, 10012 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 10013 Dispatch const & d ) const 10014 { 10015 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10016 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 10017 VULKAN_HPP_ASSERT( d.vkCreateSwapchainKHR && "Function <vkCreateSwapchainKHR> requires <VK_KHR_swapchain>" ); 10018 # endif 10019 10020 VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain; 10021 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 10022 d.vkCreateSwapchainKHR( m_device, 10023 reinterpret_cast<const VkSwapchainCreateInfoKHR *>( &createInfo ), 10024 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 10025 reinterpret_cast<VkSwapchainKHR *>( &swapchain ) ) ); 10026 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSwapchainKHRUnique" ); 10027 10028 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 10029 result, UniqueHandle<VULKAN_HPP_NAMESPACE::SwapchainKHR, Dispatch>( swapchain, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 10030 } 10031 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 10032 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 10033 10034 // wrapper function for command vkDestroySwapchainKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySwapchainKHR.html 10035 template <typename Dispatch> destroySwapchainKHR(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const10036 VULKAN_HPP_INLINE void Device::destroySwapchainKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, 10037 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 10038 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 10039 { 10040 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10041 d.vkDestroySwapchainKHR( 10042 static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( swapchain ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 10043 } 10044 10045 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 10046 // wrapper function for command vkDestroySwapchainKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySwapchainKHR.html 10047 template <typename Dispatch> destroySwapchainKHR(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const10048 VULKAN_HPP_INLINE void Device::destroySwapchainKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, 10049 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 10050 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 10051 { 10052 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10053 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 10054 VULKAN_HPP_ASSERT( d.vkDestroySwapchainKHR && "Function <vkDestroySwapchainKHR> requires <VK_KHR_swapchain>" ); 10055 # endif 10056 10057 d.vkDestroySwapchainKHR( m_device, 10058 static_cast<VkSwapchainKHR>( swapchain ), 10059 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 10060 } 10061 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 10062 10063 // wrapper function for command vkDestroySwapchainKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySwapchainKHR.html 10064 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const10065 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, 10066 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 10067 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 10068 { 10069 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10070 d.vkDestroySwapchainKHR( 10071 static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( swapchain ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 10072 } 10073 10074 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 10075 // wrapper function for command vkDestroySwapchainKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySwapchainKHR.html 10076 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const10077 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, 10078 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 10079 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 10080 { 10081 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10082 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 10083 VULKAN_HPP_ASSERT( d.vkDestroySwapchainKHR && "Function <vkDestroySwapchainKHR> requires <VK_KHR_swapchain>" ); 10084 # endif 10085 10086 d.vkDestroySwapchainKHR( m_device, 10087 static_cast<VkSwapchainKHR>( swapchain ), 10088 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 10089 } 10090 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 10091 10092 // wrapper function for command vkGetSwapchainImagesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainImagesKHR.html 10093 template <typename Dispatch> getSwapchainImagesKHR(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,uint32_t * pSwapchainImageCount,VULKAN_HPP_NAMESPACE::Image * pSwapchainImages,Dispatch const & d) const10094 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSwapchainImagesKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, 10095 uint32_t * pSwapchainImageCount, 10096 VULKAN_HPP_NAMESPACE::Image * pSwapchainImages, 10097 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 10098 { 10099 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10100 return static_cast<Result>( d.vkGetSwapchainImagesKHR( 10101 static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( swapchain ), pSwapchainImageCount, reinterpret_cast<VkImage *>( pSwapchainImages ) ) ); 10102 } 10103 10104 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 10105 // wrapper function for command vkGetSwapchainImagesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainImagesKHR.html 10106 template <typename ImageAllocator, 10107 typename Dispatch, 10108 typename std::enable_if<std::is_same<typename ImageAllocator::value_type, VULKAN_HPP_NAMESPACE::Image>::value, int>::type> 10109 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::Image, ImageAllocator>>::type getSwapchainImagesKHR(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,Dispatch const & d) const10110 Device::getSwapchainImagesKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, Dispatch const & d ) const 10111 { 10112 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10113 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 10114 VULKAN_HPP_ASSERT( d.vkGetSwapchainImagesKHR && "Function <vkGetSwapchainImagesKHR> requires <VK_KHR_swapchain>" ); 10115 # endif 10116 10117 std::vector<VULKAN_HPP_NAMESPACE::Image, ImageAllocator> swapchainImages; 10118 uint32_t swapchainImageCount; 10119 VULKAN_HPP_NAMESPACE::Result result; 10120 do 10121 { 10122 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 10123 d.vkGetSwapchainImagesKHR( m_device, static_cast<VkSwapchainKHR>( swapchain ), &swapchainImageCount, nullptr ) ); 10124 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && swapchainImageCount ) 10125 { 10126 swapchainImages.resize( swapchainImageCount ); 10127 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetSwapchainImagesKHR( 10128 m_device, static_cast<VkSwapchainKHR>( swapchain ), &swapchainImageCount, reinterpret_cast<VkImage *>( swapchainImages.data() ) ) ); 10129 } 10130 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 10131 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSwapchainImagesKHR" ); 10132 VULKAN_HPP_ASSERT( swapchainImageCount <= swapchainImages.size() ); 10133 if ( swapchainImageCount < swapchainImages.size() ) 10134 { 10135 swapchainImages.resize( swapchainImageCount ); 10136 } 10137 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( swapchainImages ) ); 10138 } 10139 10140 // wrapper function for command vkGetSwapchainImagesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainImagesKHR.html 10141 template <typename ImageAllocator, 10142 typename Dispatch, 10143 typename std::enable_if<std::is_same<typename ImageAllocator::value_type, VULKAN_HPP_NAMESPACE::Image>::value, int>::type> 10144 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::Image, ImageAllocator>>::type getSwapchainImagesKHR(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,ImageAllocator & imageAllocator,Dispatch const & d) const10145 Device::getSwapchainImagesKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, ImageAllocator & imageAllocator, Dispatch const & d ) const 10146 { 10147 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10148 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 10149 VULKAN_HPP_ASSERT( d.vkGetSwapchainImagesKHR && "Function <vkGetSwapchainImagesKHR> requires <VK_KHR_swapchain>" ); 10150 # endif 10151 10152 std::vector<VULKAN_HPP_NAMESPACE::Image, ImageAllocator> swapchainImages( imageAllocator ); 10153 uint32_t swapchainImageCount; 10154 VULKAN_HPP_NAMESPACE::Result result; 10155 do 10156 { 10157 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 10158 d.vkGetSwapchainImagesKHR( m_device, static_cast<VkSwapchainKHR>( swapchain ), &swapchainImageCount, nullptr ) ); 10159 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && swapchainImageCount ) 10160 { 10161 swapchainImages.resize( swapchainImageCount ); 10162 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetSwapchainImagesKHR( 10163 m_device, static_cast<VkSwapchainKHR>( swapchain ), &swapchainImageCount, reinterpret_cast<VkImage *>( swapchainImages.data() ) ) ); 10164 } 10165 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 10166 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSwapchainImagesKHR" ); 10167 VULKAN_HPP_ASSERT( swapchainImageCount <= swapchainImages.size() ); 10168 if ( swapchainImageCount < swapchainImages.size() ) 10169 { 10170 swapchainImages.resize( swapchainImageCount ); 10171 } 10172 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( swapchainImages ) ); 10173 } 10174 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 10175 10176 // wrapper function for command vkAcquireNextImageKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireNextImageKHR.html 10177 template <typename Dispatch> acquireNextImageKHR(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,uint64_t timeout,VULKAN_HPP_NAMESPACE::Semaphore semaphore,VULKAN_HPP_NAMESPACE::Fence fence,uint32_t * pImageIndex,Dispatch const & d) const10178 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::acquireNextImageKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, 10179 uint64_t timeout, 10180 VULKAN_HPP_NAMESPACE::Semaphore semaphore, 10181 VULKAN_HPP_NAMESPACE::Fence fence, 10182 uint32_t * pImageIndex, 10183 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 10184 { 10185 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10186 return static_cast<Result>( d.vkAcquireNextImageKHR( static_cast<VkDevice>( m_device ), 10187 static_cast<VkSwapchainKHR>( swapchain ), 10188 timeout, 10189 static_cast<VkSemaphore>( semaphore ), 10190 static_cast<VkFence>( fence ), 10191 pImageIndex ) ); 10192 } 10193 10194 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 10195 // wrapper function for command vkAcquireNextImageKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireNextImageKHR.html 10196 template <typename Dispatch> acquireNextImageKHR(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,uint64_t timeout,VULKAN_HPP_NAMESPACE::Semaphore semaphore,VULKAN_HPP_NAMESPACE::Fence fence,Dispatch const & d) const10197 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<uint32_t> Device::acquireNextImageKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, 10198 uint64_t timeout, 10199 VULKAN_HPP_NAMESPACE::Semaphore semaphore, 10200 VULKAN_HPP_NAMESPACE::Fence fence, 10201 Dispatch const & d ) const 10202 { 10203 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10204 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 10205 VULKAN_HPP_ASSERT( d.vkAcquireNextImageKHR && "Function <vkAcquireNextImageKHR> requires <VK_KHR_swapchain>" ); 10206 # endif 10207 10208 uint32_t imageIndex; 10209 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkAcquireNextImageKHR( 10210 m_device, static_cast<VkSwapchainKHR>( swapchain ), timeout, static_cast<VkSemaphore>( semaphore ), static_cast<VkFence>( fence ), &imageIndex ) ); 10211 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 10212 VULKAN_HPP_NAMESPACE_STRING "::Device::acquireNextImageKHR", 10213 { VULKAN_HPP_NAMESPACE::Result::eSuccess, 10214 VULKAN_HPP_NAMESPACE::Result::eTimeout, 10215 VULKAN_HPP_NAMESPACE::Result::eNotReady, 10216 VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR } ); 10217 10218 return ResultValue<uint32_t>( result, std::move( imageIndex ) ); 10219 } 10220 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 10221 10222 // wrapper function for command vkQueuePresentKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueuePresentKHR.html 10223 template <typename Dispatch> presentKHR(const VULKAN_HPP_NAMESPACE::PresentInfoKHR * pPresentInfo,Dispatch const & d) const10224 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Queue::presentKHR( const VULKAN_HPP_NAMESPACE::PresentInfoKHR * pPresentInfo, 10225 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 10226 { 10227 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10228 return static_cast<Result>( d.vkQueuePresentKHR( static_cast<VkQueue>( m_queue ), reinterpret_cast<const VkPresentInfoKHR *>( pPresentInfo ) ) ); 10229 } 10230 10231 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 10232 // wrapper function for command vkQueuePresentKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueuePresentKHR.html 10233 template <typename Dispatch> presentKHR(const VULKAN_HPP_NAMESPACE::PresentInfoKHR & presentInfo,Dispatch const & d) const10234 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Queue::presentKHR( const VULKAN_HPP_NAMESPACE::PresentInfoKHR & presentInfo, 10235 Dispatch const & d ) const 10236 { 10237 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10238 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 10239 VULKAN_HPP_ASSERT( d.vkQueuePresentKHR && "Function <vkQueuePresentKHR> requires <VK_KHR_swapchain>" ); 10240 # endif 10241 10242 VULKAN_HPP_NAMESPACE::Result result = 10243 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkQueuePresentKHR( m_queue, reinterpret_cast<const VkPresentInfoKHR *>( &presentInfo ) ) ); 10244 VULKAN_HPP_NAMESPACE::detail::resultCheck( 10245 result, VULKAN_HPP_NAMESPACE_STRING "::Queue::presentKHR", { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR } ); 10246 10247 return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); 10248 } 10249 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 10250 10251 // wrapper function for command vkGetDeviceGroupPresentCapabilitiesKHR, see 10252 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupPresentCapabilitiesKHR.html 10253 template <typename Dispatch> getGroupPresentCapabilitiesKHR(VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities,Dispatch const & d) const10254 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getGroupPresentCapabilitiesKHR( 10255 VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 10256 { 10257 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10258 return static_cast<Result>( d.vkGetDeviceGroupPresentCapabilitiesKHR( 10259 static_cast<VkDevice>( m_device ), reinterpret_cast<VkDeviceGroupPresentCapabilitiesKHR *>( pDeviceGroupPresentCapabilities ) ) ); 10260 } 10261 10262 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 10263 // wrapper function for command vkGetDeviceGroupPresentCapabilitiesKHR, see 10264 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupPresentCapabilitiesKHR.html 10265 template <typename Dispatch> 10266 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR>::type getGroupPresentCapabilitiesKHR(Dispatch const & d) const10267 Device::getGroupPresentCapabilitiesKHR( Dispatch const & d ) const 10268 { 10269 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10270 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 10271 VULKAN_HPP_ASSERT( d.vkGetDeviceGroupPresentCapabilitiesKHR && 10272 "Function <vkGetDeviceGroupPresentCapabilitiesKHR> requires <VK_KHR_device_group> or <VK_KHR_swapchain>" ); 10273 # endif 10274 10275 VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR deviceGroupPresentCapabilities; 10276 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 10277 d.vkGetDeviceGroupPresentCapabilitiesKHR( m_device, reinterpret_cast<VkDeviceGroupPresentCapabilitiesKHR *>( &deviceGroupPresentCapabilities ) ) ); 10278 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getGroupPresentCapabilitiesKHR" ); 10279 10280 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( deviceGroupPresentCapabilities ) ); 10281 } 10282 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 10283 10284 // wrapper function for command vkGetDeviceGroupSurfacePresentModesKHR, see 10285 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupSurfacePresentModesKHR.html 10286 template <typename Dispatch> getGroupSurfacePresentModesKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR * pModes,Dispatch const & d) const10287 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getGroupSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, 10288 VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR * pModes, 10289 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 10290 { 10291 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10292 return static_cast<Result>( d.vkGetDeviceGroupSurfacePresentModesKHR( 10293 static_cast<VkDevice>( m_device ), static_cast<VkSurfaceKHR>( surface ), reinterpret_cast<VkDeviceGroupPresentModeFlagsKHR *>( pModes ) ) ); 10294 } 10295 10296 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 10297 // wrapper function for command vkGetDeviceGroupSurfacePresentModesKHR, see 10298 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupSurfacePresentModesKHR.html 10299 template <typename Dispatch> 10300 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR>::type getGroupSurfacePresentModesKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,Dispatch const & d) const10301 Device::getGroupSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Dispatch const & d ) const 10302 { 10303 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10304 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 10305 VULKAN_HPP_ASSERT( d.vkGetDeviceGroupSurfacePresentModesKHR && 10306 "Function <vkGetDeviceGroupSurfacePresentModesKHR> requires <VK_KHR_device_group> or <VK_KHR_swapchain>" ); 10307 # endif 10308 10309 VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR modes; 10310 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetDeviceGroupSurfacePresentModesKHR( 10311 m_device, static_cast<VkSurfaceKHR>( surface ), reinterpret_cast<VkDeviceGroupPresentModeFlagsKHR *>( &modes ) ) ); 10312 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getGroupSurfacePresentModesKHR" ); 10313 10314 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( modes ) ); 10315 } 10316 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 10317 10318 // wrapper function for command vkGetPhysicalDevicePresentRectanglesKHR, see 10319 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDevicePresentRectanglesKHR.html 10320 template <typename Dispatch> getPresentRectanglesKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,uint32_t * pRectCount,VULKAN_HPP_NAMESPACE::Rect2D * pRects,Dispatch const & d) const10321 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getPresentRectanglesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, 10322 uint32_t * pRectCount, 10323 VULKAN_HPP_NAMESPACE::Rect2D * pRects, 10324 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 10325 { 10326 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10327 return static_cast<Result>( d.vkGetPhysicalDevicePresentRectanglesKHR( 10328 static_cast<VkPhysicalDevice>( m_physicalDevice ), static_cast<VkSurfaceKHR>( surface ), pRectCount, reinterpret_cast<VkRect2D *>( pRects ) ) ); 10329 } 10330 10331 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 10332 // wrapper function for command vkGetPhysicalDevicePresentRectanglesKHR, see 10333 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDevicePresentRectanglesKHR.html 10334 template <typename Rect2DAllocator, 10335 typename Dispatch, 10336 typename std::enable_if<std::is_same<typename Rect2DAllocator::value_type, VULKAN_HPP_NAMESPACE::Rect2D>::value, int>::type> 10337 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::Rect2D, Rect2DAllocator>>::type getPresentRectanglesKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,Dispatch const & d) const10338 PhysicalDevice::getPresentRectanglesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Dispatch const & d ) const 10339 { 10340 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10341 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 10342 VULKAN_HPP_ASSERT( d.vkGetPhysicalDevicePresentRectanglesKHR && 10343 "Function <vkGetPhysicalDevicePresentRectanglesKHR> requires <VK_KHR_device_group> or <VK_KHR_swapchain>" ); 10344 # endif 10345 10346 std::vector<VULKAN_HPP_NAMESPACE::Rect2D, Rect2DAllocator> rects; 10347 uint32_t rectCount; 10348 VULKAN_HPP_NAMESPACE::Result result; 10349 do 10350 { 10351 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 10352 d.vkGetPhysicalDevicePresentRectanglesKHR( m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), &rectCount, nullptr ) ); 10353 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && rectCount ) 10354 { 10355 rects.resize( rectCount ); 10356 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDevicePresentRectanglesKHR( 10357 m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), &rectCount, reinterpret_cast<VkRect2D *>( rects.data() ) ) ); 10358 } 10359 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 10360 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getPresentRectanglesKHR" ); 10361 VULKAN_HPP_ASSERT( rectCount <= rects.size() ); 10362 if ( rectCount < rects.size() ) 10363 { 10364 rects.resize( rectCount ); 10365 } 10366 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( rects ) ); 10367 } 10368 10369 // wrapper function for command vkGetPhysicalDevicePresentRectanglesKHR, see 10370 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDevicePresentRectanglesKHR.html 10371 template <typename Rect2DAllocator, 10372 typename Dispatch, 10373 typename std::enable_if<std::is_same<typename Rect2DAllocator::value_type, VULKAN_HPP_NAMESPACE::Rect2D>::value, int>::type> 10374 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::Rect2D, Rect2DAllocator>>::type getPresentRectanglesKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,Rect2DAllocator & rect2DAllocator,Dispatch const & d) const10375 PhysicalDevice::getPresentRectanglesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Rect2DAllocator & rect2DAllocator, Dispatch const & d ) const 10376 { 10377 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10378 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 10379 VULKAN_HPP_ASSERT( d.vkGetPhysicalDevicePresentRectanglesKHR && 10380 "Function <vkGetPhysicalDevicePresentRectanglesKHR> requires <VK_KHR_device_group> or <VK_KHR_swapchain>" ); 10381 # endif 10382 10383 std::vector<VULKAN_HPP_NAMESPACE::Rect2D, Rect2DAllocator> rects( rect2DAllocator ); 10384 uint32_t rectCount; 10385 VULKAN_HPP_NAMESPACE::Result result; 10386 do 10387 { 10388 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 10389 d.vkGetPhysicalDevicePresentRectanglesKHR( m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), &rectCount, nullptr ) ); 10390 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && rectCount ) 10391 { 10392 rects.resize( rectCount ); 10393 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDevicePresentRectanglesKHR( 10394 m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), &rectCount, reinterpret_cast<VkRect2D *>( rects.data() ) ) ); 10395 } 10396 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 10397 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getPresentRectanglesKHR" ); 10398 VULKAN_HPP_ASSERT( rectCount <= rects.size() ); 10399 if ( rectCount < rects.size() ) 10400 { 10401 rects.resize( rectCount ); 10402 } 10403 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( rects ) ); 10404 } 10405 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 10406 10407 // wrapper function for command vkAcquireNextImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireNextImage2KHR.html 10408 template <typename Dispatch> acquireNextImage2KHR(const VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR * pAcquireInfo,uint32_t * pImageIndex,Dispatch const & d) const10409 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::acquireNextImage2KHR( const VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR * pAcquireInfo, 10410 uint32_t * pImageIndex, 10411 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 10412 { 10413 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10414 return static_cast<Result>( 10415 d.vkAcquireNextImage2KHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkAcquireNextImageInfoKHR *>( pAcquireInfo ), pImageIndex ) ); 10416 } 10417 10418 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 10419 // wrapper function for command vkAcquireNextImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireNextImage2KHR.html 10420 template <typename Dispatch> acquireNextImage2KHR(const VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR & acquireInfo,Dispatch const & d) const10421 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<uint32_t> Device::acquireNextImage2KHR( const VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR & acquireInfo, 10422 Dispatch const & d ) const 10423 { 10424 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10425 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 10426 VULKAN_HPP_ASSERT( d.vkAcquireNextImage2KHR && "Function <vkAcquireNextImage2KHR> requires <VK_KHR_device_group> or <VK_KHR_swapchain>" ); 10427 # endif 10428 10429 uint32_t imageIndex; 10430 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 10431 d.vkAcquireNextImage2KHR( m_device, reinterpret_cast<const VkAcquireNextImageInfoKHR *>( &acquireInfo ), &imageIndex ) ); 10432 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 10433 VULKAN_HPP_NAMESPACE_STRING "::Device::acquireNextImage2KHR", 10434 { VULKAN_HPP_NAMESPACE::Result::eSuccess, 10435 VULKAN_HPP_NAMESPACE::Result::eTimeout, 10436 VULKAN_HPP_NAMESPACE::Result::eNotReady, 10437 VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR } ); 10438 10439 return ResultValue<uint32_t>( result, std::move( imageIndex ) ); 10440 } 10441 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 10442 10443 //=== VK_KHR_display === 10444 10445 // wrapper function for command vkGetPhysicalDeviceDisplayPropertiesKHR, see 10446 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPropertiesKHR.html 10447 template <typename Dispatch> getDisplayPropertiesKHR(uint32_t * pPropertyCount,VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR * pProperties,Dispatch const & d) const10448 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getDisplayPropertiesKHR( uint32_t * pPropertyCount, 10449 VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR * pProperties, 10450 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 10451 { 10452 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10453 return static_cast<Result>( d.vkGetPhysicalDeviceDisplayPropertiesKHR( 10454 static_cast<VkPhysicalDevice>( m_physicalDevice ), pPropertyCount, reinterpret_cast<VkDisplayPropertiesKHR *>( pProperties ) ) ); 10455 } 10456 10457 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 10458 // wrapper function for command vkGetPhysicalDeviceDisplayPropertiesKHR, see 10459 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPropertiesKHR.html 10460 template < 10461 typename DisplayPropertiesKHRAllocator, 10462 typename Dispatch, 10463 typename std::enable_if<std::is_same<typename DisplayPropertiesKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR>::value, int>::type> 10464 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR, DisplayPropertiesKHRAllocator>>::type getDisplayPropertiesKHR(Dispatch const & d) const10465 PhysicalDevice::getDisplayPropertiesKHR( Dispatch const & d ) const 10466 { 10467 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10468 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 10469 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceDisplayPropertiesKHR && "Function <vkGetPhysicalDeviceDisplayPropertiesKHR> requires <VK_KHR_display>" ); 10470 # endif 10471 10472 std::vector<VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR, DisplayPropertiesKHRAllocator> properties; 10473 uint32_t propertyCount; 10474 VULKAN_HPP_NAMESPACE::Result result; 10475 do 10476 { 10477 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceDisplayPropertiesKHR( m_physicalDevice, &propertyCount, nullptr ) ); 10478 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 10479 { 10480 properties.resize( propertyCount ); 10481 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 10482 d.vkGetPhysicalDeviceDisplayPropertiesKHR( m_physicalDevice, &propertyCount, reinterpret_cast<VkDisplayPropertiesKHR *>( properties.data() ) ) ); 10483 } 10484 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 10485 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPropertiesKHR" ); 10486 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 10487 if ( propertyCount < properties.size() ) 10488 { 10489 properties.resize( propertyCount ); 10490 } 10491 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 10492 } 10493 10494 // wrapper function for command vkGetPhysicalDeviceDisplayPropertiesKHR, see 10495 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPropertiesKHR.html 10496 template < 10497 typename DisplayPropertiesKHRAllocator, 10498 typename Dispatch, 10499 typename std::enable_if<std::is_same<typename DisplayPropertiesKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR>::value, int>::type> 10500 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR, DisplayPropertiesKHRAllocator>>::type getDisplayPropertiesKHR(DisplayPropertiesKHRAllocator & displayPropertiesKHRAllocator,Dispatch const & d) const10501 PhysicalDevice::getDisplayPropertiesKHR( DisplayPropertiesKHRAllocator & displayPropertiesKHRAllocator, Dispatch const & d ) const 10502 { 10503 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10504 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 10505 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceDisplayPropertiesKHR && "Function <vkGetPhysicalDeviceDisplayPropertiesKHR> requires <VK_KHR_display>" ); 10506 # endif 10507 10508 std::vector<VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR, DisplayPropertiesKHRAllocator> properties( displayPropertiesKHRAllocator ); 10509 uint32_t propertyCount; 10510 VULKAN_HPP_NAMESPACE::Result result; 10511 do 10512 { 10513 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceDisplayPropertiesKHR( m_physicalDevice, &propertyCount, nullptr ) ); 10514 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 10515 { 10516 properties.resize( propertyCount ); 10517 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 10518 d.vkGetPhysicalDeviceDisplayPropertiesKHR( m_physicalDevice, &propertyCount, reinterpret_cast<VkDisplayPropertiesKHR *>( properties.data() ) ) ); 10519 } 10520 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 10521 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPropertiesKHR" ); 10522 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 10523 if ( propertyCount < properties.size() ) 10524 { 10525 properties.resize( propertyCount ); 10526 } 10527 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 10528 } 10529 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 10530 10531 // wrapper function for command vkGetPhysicalDeviceDisplayPlanePropertiesKHR, see 10532 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPlanePropertiesKHR.html 10533 template <typename Dispatch> getDisplayPlanePropertiesKHR(uint32_t * pPropertyCount,VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR * pProperties,Dispatch const & d) const10534 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getDisplayPlanePropertiesKHR( uint32_t * pPropertyCount, 10535 VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR * pProperties, 10536 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 10537 { 10538 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10539 return static_cast<Result>( d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR( 10540 static_cast<VkPhysicalDevice>( m_physicalDevice ), pPropertyCount, reinterpret_cast<VkDisplayPlanePropertiesKHR *>( pProperties ) ) ); 10541 } 10542 10543 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 10544 // wrapper function for command vkGetPhysicalDeviceDisplayPlanePropertiesKHR, see 10545 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPlanePropertiesKHR.html 10546 template < 10547 typename DisplayPlanePropertiesKHRAllocator, 10548 typename Dispatch, 10549 typename std::enable_if<std::is_same<typename DisplayPlanePropertiesKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR>::value, 10550 int>::type> 10551 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 10552 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR, DisplayPlanePropertiesKHRAllocator>>::type getDisplayPlanePropertiesKHR(Dispatch const & d) const10553 PhysicalDevice::getDisplayPlanePropertiesKHR( Dispatch const & d ) const 10554 { 10555 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10556 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 10557 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR && "Function <vkGetPhysicalDeviceDisplayPlanePropertiesKHR> requires <VK_KHR_display>" ); 10558 # endif 10559 10560 std::vector<VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR, DisplayPlanePropertiesKHRAllocator> properties; 10561 uint32_t propertyCount; 10562 VULKAN_HPP_NAMESPACE::Result result; 10563 do 10564 { 10565 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR( m_physicalDevice, &propertyCount, nullptr ) ); 10566 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 10567 { 10568 properties.resize( propertyCount ); 10569 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR( 10570 m_physicalDevice, &propertyCount, reinterpret_cast<VkDisplayPlanePropertiesKHR *>( properties.data() ) ) ); 10571 } 10572 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 10573 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlanePropertiesKHR" ); 10574 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 10575 if ( propertyCount < properties.size() ) 10576 { 10577 properties.resize( propertyCount ); 10578 } 10579 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 10580 } 10581 10582 // wrapper function for command vkGetPhysicalDeviceDisplayPlanePropertiesKHR, see 10583 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPlanePropertiesKHR.html 10584 template < 10585 typename DisplayPlanePropertiesKHRAllocator, 10586 typename Dispatch, 10587 typename std::enable_if<std::is_same<typename DisplayPlanePropertiesKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR>::value, 10588 int>::type> 10589 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 10590 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR, DisplayPlanePropertiesKHRAllocator>>::type getDisplayPlanePropertiesKHR(DisplayPlanePropertiesKHRAllocator & displayPlanePropertiesKHRAllocator,Dispatch const & d) const10591 PhysicalDevice::getDisplayPlanePropertiesKHR( DisplayPlanePropertiesKHRAllocator & displayPlanePropertiesKHRAllocator, Dispatch const & d ) const 10592 { 10593 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10594 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 10595 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR && "Function <vkGetPhysicalDeviceDisplayPlanePropertiesKHR> requires <VK_KHR_display>" ); 10596 # endif 10597 10598 std::vector<VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR, DisplayPlanePropertiesKHRAllocator> properties( displayPlanePropertiesKHRAllocator ); 10599 uint32_t propertyCount; 10600 VULKAN_HPP_NAMESPACE::Result result; 10601 do 10602 { 10603 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR( m_physicalDevice, &propertyCount, nullptr ) ); 10604 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 10605 { 10606 properties.resize( propertyCount ); 10607 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR( 10608 m_physicalDevice, &propertyCount, reinterpret_cast<VkDisplayPlanePropertiesKHR *>( properties.data() ) ) ); 10609 } 10610 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 10611 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlanePropertiesKHR" ); 10612 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 10613 if ( propertyCount < properties.size() ) 10614 { 10615 properties.resize( propertyCount ); 10616 } 10617 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 10618 } 10619 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 10620 10621 // wrapper function for command vkGetDisplayPlaneSupportedDisplaysKHR, see 10622 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneSupportedDisplaysKHR.html 10623 template <typename Dispatch> getDisplayPlaneSupportedDisplaysKHR(uint32_t planeIndex,uint32_t * pDisplayCount,VULKAN_HPP_NAMESPACE::DisplayKHR * pDisplays,Dispatch const & d) const10624 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR( uint32_t planeIndex, 10625 uint32_t * pDisplayCount, 10626 VULKAN_HPP_NAMESPACE::DisplayKHR * pDisplays, 10627 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 10628 { 10629 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10630 return static_cast<Result>( d.vkGetDisplayPlaneSupportedDisplaysKHR( 10631 static_cast<VkPhysicalDevice>( m_physicalDevice ), planeIndex, pDisplayCount, reinterpret_cast<VkDisplayKHR *>( pDisplays ) ) ); 10632 } 10633 10634 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 10635 // wrapper function for command vkGetDisplayPlaneSupportedDisplaysKHR, see 10636 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneSupportedDisplaysKHR.html 10637 template <typename DisplayKHRAllocator, 10638 typename Dispatch, 10639 typename std::enable_if<std::is_same<typename DisplayKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::DisplayKHR>::value, int>::type> 10640 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayKHR, DisplayKHRAllocator>>::type getDisplayPlaneSupportedDisplaysKHR(uint32_t planeIndex,Dispatch const & d) const10641 PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR( uint32_t planeIndex, Dispatch const & d ) const 10642 { 10643 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10644 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 10645 VULKAN_HPP_ASSERT( d.vkGetDisplayPlaneSupportedDisplaysKHR && "Function <vkGetDisplayPlaneSupportedDisplaysKHR> requires <VK_KHR_display>" ); 10646 # endif 10647 10648 std::vector<VULKAN_HPP_NAMESPACE::DisplayKHR, DisplayKHRAllocator> displays; 10649 uint32_t displayCount; 10650 VULKAN_HPP_NAMESPACE::Result result; 10651 do 10652 { 10653 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetDisplayPlaneSupportedDisplaysKHR( m_physicalDevice, planeIndex, &displayCount, nullptr ) ); 10654 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && displayCount ) 10655 { 10656 displays.resize( displayCount ); 10657 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 10658 d.vkGetDisplayPlaneSupportedDisplaysKHR( m_physicalDevice, planeIndex, &displayCount, reinterpret_cast<VkDisplayKHR *>( displays.data() ) ) ); 10659 } 10660 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 10661 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR" ); 10662 VULKAN_HPP_ASSERT( displayCount <= displays.size() ); 10663 if ( displayCount < displays.size() ) 10664 { 10665 displays.resize( displayCount ); 10666 } 10667 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( displays ) ); 10668 } 10669 10670 // wrapper function for command vkGetDisplayPlaneSupportedDisplaysKHR, see 10671 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneSupportedDisplaysKHR.html 10672 template <typename DisplayKHRAllocator, 10673 typename Dispatch, 10674 typename std::enable_if<std::is_same<typename DisplayKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::DisplayKHR>::value, int>::type> 10675 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayKHR, DisplayKHRAllocator>>::type getDisplayPlaneSupportedDisplaysKHR(uint32_t planeIndex,DisplayKHRAllocator & displayKHRAllocator,Dispatch const & d) const10676 PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR( uint32_t planeIndex, DisplayKHRAllocator & displayKHRAllocator, Dispatch const & d ) const 10677 { 10678 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10679 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 10680 VULKAN_HPP_ASSERT( d.vkGetDisplayPlaneSupportedDisplaysKHR && "Function <vkGetDisplayPlaneSupportedDisplaysKHR> requires <VK_KHR_display>" ); 10681 # endif 10682 10683 std::vector<VULKAN_HPP_NAMESPACE::DisplayKHR, DisplayKHRAllocator> displays( displayKHRAllocator ); 10684 uint32_t displayCount; 10685 VULKAN_HPP_NAMESPACE::Result result; 10686 do 10687 { 10688 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetDisplayPlaneSupportedDisplaysKHR( m_physicalDevice, planeIndex, &displayCount, nullptr ) ); 10689 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && displayCount ) 10690 { 10691 displays.resize( displayCount ); 10692 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 10693 d.vkGetDisplayPlaneSupportedDisplaysKHR( m_physicalDevice, planeIndex, &displayCount, reinterpret_cast<VkDisplayKHR *>( displays.data() ) ) ); 10694 } 10695 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 10696 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR" ); 10697 VULKAN_HPP_ASSERT( displayCount <= displays.size() ); 10698 if ( displayCount < displays.size() ) 10699 { 10700 displays.resize( displayCount ); 10701 } 10702 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( displays ) ); 10703 } 10704 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 10705 10706 // wrapper function for command vkGetDisplayModePropertiesKHR, see 10707 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModePropertiesKHR.html 10708 template <typename Dispatch> getDisplayModePropertiesKHR(VULKAN_HPP_NAMESPACE::DisplayKHR display,uint32_t * pPropertyCount,VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR * pProperties,Dispatch const & d) const10709 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getDisplayModePropertiesKHR( VULKAN_HPP_NAMESPACE::DisplayKHR display, 10710 uint32_t * pPropertyCount, 10711 VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR * pProperties, 10712 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 10713 { 10714 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10715 return static_cast<Result>( d.vkGetDisplayModePropertiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 10716 static_cast<VkDisplayKHR>( display ), 10717 pPropertyCount, 10718 reinterpret_cast<VkDisplayModePropertiesKHR *>( pProperties ) ) ); 10719 } 10720 10721 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 10722 // wrapper function for command vkGetDisplayModePropertiesKHR, see 10723 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModePropertiesKHR.html 10724 template <typename DisplayModePropertiesKHRAllocator, 10725 typename Dispatch, 10726 typename std::enable_if<std::is_same<typename DisplayModePropertiesKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR>::value, 10727 int>::type> 10728 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 10729 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR, DisplayModePropertiesKHRAllocator>>::type getDisplayModePropertiesKHR(VULKAN_HPP_NAMESPACE::DisplayKHR display,Dispatch const & d) const10730 PhysicalDevice::getDisplayModePropertiesKHR( VULKAN_HPP_NAMESPACE::DisplayKHR display, Dispatch const & d ) const 10731 { 10732 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10733 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 10734 VULKAN_HPP_ASSERT( d.vkGetDisplayModePropertiesKHR && "Function <vkGetDisplayModePropertiesKHR> requires <VK_KHR_display>" ); 10735 # endif 10736 10737 std::vector<VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR, DisplayModePropertiesKHRAllocator> properties; 10738 uint32_t propertyCount; 10739 VULKAN_HPP_NAMESPACE::Result result; 10740 do 10741 { 10742 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 10743 d.vkGetDisplayModePropertiesKHR( m_physicalDevice, static_cast<VkDisplayKHR>( display ), &propertyCount, nullptr ) ); 10744 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 10745 { 10746 properties.resize( propertyCount ); 10747 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetDisplayModePropertiesKHR( 10748 m_physicalDevice, static_cast<VkDisplayKHR>( display ), &propertyCount, reinterpret_cast<VkDisplayModePropertiesKHR *>( properties.data() ) ) ); 10749 } 10750 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 10751 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayModePropertiesKHR" ); 10752 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 10753 if ( propertyCount < properties.size() ) 10754 { 10755 properties.resize( propertyCount ); 10756 } 10757 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 10758 } 10759 10760 // wrapper function for command vkGetDisplayModePropertiesKHR, see 10761 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModePropertiesKHR.html 10762 template <typename DisplayModePropertiesKHRAllocator, 10763 typename Dispatch, 10764 typename std::enable_if<std::is_same<typename DisplayModePropertiesKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR>::value, 10765 int>::type> 10766 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 10767 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR, DisplayModePropertiesKHRAllocator>>::type getDisplayModePropertiesKHR(VULKAN_HPP_NAMESPACE::DisplayKHR display,DisplayModePropertiesKHRAllocator & displayModePropertiesKHRAllocator,Dispatch const & d) const10768 PhysicalDevice::getDisplayModePropertiesKHR( VULKAN_HPP_NAMESPACE::DisplayKHR display, 10769 DisplayModePropertiesKHRAllocator & displayModePropertiesKHRAllocator, 10770 Dispatch const & d ) const 10771 { 10772 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10773 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 10774 VULKAN_HPP_ASSERT( d.vkGetDisplayModePropertiesKHR && "Function <vkGetDisplayModePropertiesKHR> requires <VK_KHR_display>" ); 10775 # endif 10776 10777 std::vector<VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR, DisplayModePropertiesKHRAllocator> properties( displayModePropertiesKHRAllocator ); 10778 uint32_t propertyCount; 10779 VULKAN_HPP_NAMESPACE::Result result; 10780 do 10781 { 10782 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 10783 d.vkGetDisplayModePropertiesKHR( m_physicalDevice, static_cast<VkDisplayKHR>( display ), &propertyCount, nullptr ) ); 10784 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 10785 { 10786 properties.resize( propertyCount ); 10787 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetDisplayModePropertiesKHR( 10788 m_physicalDevice, static_cast<VkDisplayKHR>( display ), &propertyCount, reinterpret_cast<VkDisplayModePropertiesKHR *>( properties.data() ) ) ); 10789 } 10790 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 10791 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayModePropertiesKHR" ); 10792 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 10793 if ( propertyCount < properties.size() ) 10794 { 10795 properties.resize( propertyCount ); 10796 } 10797 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 10798 } 10799 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 10800 10801 // wrapper function for command vkCreateDisplayModeKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDisplayModeKHR.html 10802 template <typename Dispatch> createDisplayModeKHR(VULKAN_HPP_NAMESPACE::DisplayKHR display,const VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::DisplayModeKHR * pMode,Dispatch const & d) const10803 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::createDisplayModeKHR( VULKAN_HPP_NAMESPACE::DisplayKHR display, 10804 const VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR * pCreateInfo, 10805 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 10806 VULKAN_HPP_NAMESPACE::DisplayModeKHR * pMode, 10807 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 10808 { 10809 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10810 return static_cast<Result>( d.vkCreateDisplayModeKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 10811 static_cast<VkDisplayKHR>( display ), 10812 reinterpret_cast<const VkDisplayModeCreateInfoKHR *>( pCreateInfo ), 10813 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 10814 reinterpret_cast<VkDisplayModeKHR *>( pMode ) ) ); 10815 } 10816 10817 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 10818 // wrapper function for command vkCreateDisplayModeKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDisplayModeKHR.html 10819 template <typename Dispatch> 10820 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DisplayModeKHR>::type createDisplayModeKHR(VULKAN_HPP_NAMESPACE::DisplayKHR display,const VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const10821 PhysicalDevice::createDisplayModeKHR( VULKAN_HPP_NAMESPACE::DisplayKHR display, 10822 const VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR & createInfo, 10823 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 10824 Dispatch const & d ) const 10825 { 10826 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10827 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 10828 VULKAN_HPP_ASSERT( d.vkCreateDisplayModeKHR && "Function <vkCreateDisplayModeKHR> requires <VK_KHR_display>" ); 10829 # endif 10830 10831 VULKAN_HPP_NAMESPACE::DisplayModeKHR mode; 10832 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 10833 d.vkCreateDisplayModeKHR( m_physicalDevice, 10834 static_cast<VkDisplayKHR>( display ), 10835 reinterpret_cast<const VkDisplayModeCreateInfoKHR *>( &createInfo ), 10836 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 10837 reinterpret_cast<VkDisplayModeKHR *>( &mode ) ) ); 10838 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::createDisplayModeKHR" ); 10839 10840 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( mode ) ); 10841 } 10842 10843 # ifndef VULKAN_HPP_NO_SMART_HANDLE 10844 // wrapper function for command vkCreateDisplayModeKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDisplayModeKHR.html 10845 template <typename Dispatch> 10846 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::DisplayModeKHR, Dispatch>>::type createDisplayModeKHRUnique(VULKAN_HPP_NAMESPACE::DisplayKHR display,const VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const10847 PhysicalDevice::createDisplayModeKHRUnique( VULKAN_HPP_NAMESPACE::DisplayKHR display, 10848 const VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR & createInfo, 10849 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 10850 Dispatch const & d ) const 10851 { 10852 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10853 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 10854 VULKAN_HPP_ASSERT( d.vkCreateDisplayModeKHR && "Function <vkCreateDisplayModeKHR> requires <VK_KHR_display>" ); 10855 # endif 10856 10857 VULKAN_HPP_NAMESPACE::DisplayModeKHR mode; 10858 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 10859 d.vkCreateDisplayModeKHR( m_physicalDevice, 10860 static_cast<VkDisplayKHR>( display ), 10861 reinterpret_cast<const VkDisplayModeCreateInfoKHR *>( &createInfo ), 10862 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 10863 reinterpret_cast<VkDisplayModeKHR *>( &mode ) ) ); 10864 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::createDisplayModeKHRUnique" ); 10865 10866 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 10867 result, UniqueHandle<VULKAN_HPP_NAMESPACE::DisplayModeKHR, Dispatch>( mode, detail::ObjectDestroy<PhysicalDevice, Dispatch>( *this, allocator, d ) ) ); 10868 } 10869 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 10870 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 10871 10872 // wrapper function for command vkGetDisplayPlaneCapabilitiesKHR, see 10873 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneCapabilitiesKHR.html 10874 template <typename Dispatch> 10875 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getDisplayPlaneCapabilitiesKHR(VULKAN_HPP_NAMESPACE::DisplayModeKHR mode,uint32_t planeIndex,VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR * pCapabilities,Dispatch const & d) const10876 PhysicalDevice::getDisplayPlaneCapabilitiesKHR( VULKAN_HPP_NAMESPACE::DisplayModeKHR mode, 10877 uint32_t planeIndex, 10878 VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR * pCapabilities, 10879 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 10880 { 10881 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10882 return static_cast<Result>( d.vkGetDisplayPlaneCapabilitiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 10883 static_cast<VkDisplayModeKHR>( mode ), 10884 planeIndex, 10885 reinterpret_cast<VkDisplayPlaneCapabilitiesKHR *>( pCapabilities ) ) ); 10886 } 10887 10888 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 10889 // wrapper function for command vkGetDisplayPlaneCapabilitiesKHR, see 10890 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneCapabilitiesKHR.html 10891 template <typename Dispatch> 10892 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR>::type getDisplayPlaneCapabilitiesKHR(VULKAN_HPP_NAMESPACE::DisplayModeKHR mode,uint32_t planeIndex,Dispatch const & d) const10893 PhysicalDevice::getDisplayPlaneCapabilitiesKHR( VULKAN_HPP_NAMESPACE::DisplayModeKHR mode, uint32_t planeIndex, Dispatch const & d ) const 10894 { 10895 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10896 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 10897 VULKAN_HPP_ASSERT( d.vkGetDisplayPlaneCapabilitiesKHR && "Function <vkGetDisplayPlaneCapabilitiesKHR> requires <VK_KHR_display>" ); 10898 # endif 10899 10900 VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR capabilities; 10901 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetDisplayPlaneCapabilitiesKHR( 10902 m_physicalDevice, static_cast<VkDisplayModeKHR>( mode ), planeIndex, reinterpret_cast<VkDisplayPlaneCapabilitiesKHR *>( &capabilities ) ) ); 10903 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneCapabilitiesKHR" ); 10904 10905 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( capabilities ) ); 10906 } 10907 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 10908 10909 // wrapper function for command vkCreateDisplayPlaneSurfaceKHR, see 10910 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDisplayPlaneSurfaceKHR.html 10911 template <typename Dispatch> createDisplayPlaneSurfaceKHR(const VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,Dispatch const & d) const10912 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createDisplayPlaneSurfaceKHR( const VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR * pCreateInfo, 10913 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 10914 VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface, 10915 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 10916 { 10917 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10918 return static_cast<Result>( d.vkCreateDisplayPlaneSurfaceKHR( static_cast<VkInstance>( m_instance ), 10919 reinterpret_cast<const VkDisplaySurfaceCreateInfoKHR *>( pCreateInfo ), 10920 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 10921 reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) ); 10922 } 10923 10924 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 10925 // wrapper function for command vkCreateDisplayPlaneSurfaceKHR, see 10926 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDisplayPlaneSurfaceKHR.html 10927 template <typename Dispatch> 10928 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type createDisplayPlaneSurfaceKHR(const VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const10929 Instance::createDisplayPlaneSurfaceKHR( const VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR & createInfo, 10930 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 10931 Dispatch const & d ) const 10932 { 10933 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10934 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 10935 VULKAN_HPP_ASSERT( d.vkCreateDisplayPlaneSurfaceKHR && "Function <vkCreateDisplayPlaneSurfaceKHR> requires <VK_KHR_display>" ); 10936 # endif 10937 10938 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 10939 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateDisplayPlaneSurfaceKHR( 10940 m_instance, 10941 reinterpret_cast<const VkDisplaySurfaceCreateInfoKHR *>( &createInfo ), 10942 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 10943 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 10944 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDisplayPlaneSurfaceKHR" ); 10945 10946 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surface ) ); 10947 } 10948 10949 # ifndef VULKAN_HPP_NO_SMART_HANDLE 10950 // wrapper function for command vkCreateDisplayPlaneSurfaceKHR, see 10951 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDisplayPlaneSurfaceKHR.html 10952 template <typename Dispatch> 10953 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type createDisplayPlaneSurfaceKHRUnique(const VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const10954 Instance::createDisplayPlaneSurfaceKHRUnique( const VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR & createInfo, 10955 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 10956 Dispatch const & d ) const 10957 { 10958 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10959 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 10960 VULKAN_HPP_ASSERT( d.vkCreateDisplayPlaneSurfaceKHR && "Function <vkCreateDisplayPlaneSurfaceKHR> requires <VK_KHR_display>" ); 10961 # endif 10962 10963 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 10964 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateDisplayPlaneSurfaceKHR( 10965 m_instance, 10966 reinterpret_cast<const VkDisplaySurfaceCreateInfoKHR *>( &createInfo ), 10967 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 10968 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 10969 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDisplayPlaneSurfaceKHRUnique" ); 10970 10971 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 10972 result, UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>( surface, detail::ObjectDestroy<Instance, Dispatch>( *this, allocator, d ) ) ); 10973 } 10974 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 10975 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 10976 10977 //=== VK_KHR_display_swapchain === 10978 10979 // wrapper function for command vkCreateSharedSwapchainsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html 10980 template <typename Dispatch> createSharedSwapchainsKHR(uint32_t swapchainCount,const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR * pCreateInfos,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::SwapchainKHR * pSwapchains,Dispatch const & d) const10981 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createSharedSwapchainsKHR( uint32_t swapchainCount, 10982 const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR * pCreateInfos, 10983 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 10984 VULKAN_HPP_NAMESPACE::SwapchainKHR * pSwapchains, 10985 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 10986 { 10987 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 10988 return static_cast<Result>( d.vkCreateSharedSwapchainsKHR( static_cast<VkDevice>( m_device ), 10989 swapchainCount, 10990 reinterpret_cast<const VkSwapchainCreateInfoKHR *>( pCreateInfos ), 10991 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 10992 reinterpret_cast<VkSwapchainKHR *>( pSwapchains ) ) ); 10993 } 10994 10995 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 10996 // wrapper function for command vkCreateSharedSwapchainsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html 10997 template <typename SwapchainKHRAllocator, 10998 typename Dispatch, 10999 typename std::enable_if<std::is_same<typename SwapchainKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::SwapchainKHR>::value, int>::type> 11000 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::SwapchainKHR, SwapchainKHRAllocator>>::type createSharedSwapchainsKHR(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const11001 Device::createSharedSwapchainsKHR( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const & createInfos, 11002 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 11003 Dispatch const & d ) const 11004 { 11005 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11006 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11007 VULKAN_HPP_ASSERT( d.vkCreateSharedSwapchainsKHR && "Function <vkCreateSharedSwapchainsKHR> requires <VK_KHR_display_swapchain>" ); 11008 # endif 11009 11010 std::vector<VULKAN_HPP_NAMESPACE::SwapchainKHR, SwapchainKHRAllocator> swapchains( createInfos.size() ); 11011 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateSharedSwapchainsKHR( 11012 m_device, 11013 createInfos.size(), 11014 reinterpret_cast<const VkSwapchainCreateInfoKHR *>( createInfos.data() ), 11015 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 11016 reinterpret_cast<VkSwapchainKHR *>( swapchains.data() ) ) ); 11017 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainsKHR" ); 11018 11019 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( swapchains ) ); 11020 } 11021 11022 // wrapper function for command vkCreateSharedSwapchainsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html 11023 template <typename SwapchainKHRAllocator, 11024 typename Dispatch, 11025 typename std::enable_if<std::is_same<typename SwapchainKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::SwapchainKHR>::value, int>::type> 11026 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::SwapchainKHR, SwapchainKHRAllocator>>::type createSharedSwapchainsKHR(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,SwapchainKHRAllocator & swapchainKHRAllocator,Dispatch const & d) const11027 Device::createSharedSwapchainsKHR( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const & createInfos, 11028 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 11029 SwapchainKHRAllocator & swapchainKHRAllocator, 11030 Dispatch const & d ) const 11031 { 11032 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11033 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11034 VULKAN_HPP_ASSERT( d.vkCreateSharedSwapchainsKHR && "Function <vkCreateSharedSwapchainsKHR> requires <VK_KHR_display_swapchain>" ); 11035 # endif 11036 11037 std::vector<VULKAN_HPP_NAMESPACE::SwapchainKHR, SwapchainKHRAllocator> swapchains( createInfos.size(), swapchainKHRAllocator ); 11038 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateSharedSwapchainsKHR( 11039 m_device, 11040 createInfos.size(), 11041 reinterpret_cast<const VkSwapchainCreateInfoKHR *>( createInfos.data() ), 11042 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 11043 reinterpret_cast<VkSwapchainKHR *>( swapchains.data() ) ) ); 11044 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainsKHR" ); 11045 11046 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( swapchains ) ); 11047 } 11048 11049 // wrapper function for command vkCreateSharedSwapchainsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html 11050 template <typename Dispatch> 11051 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SwapchainKHR>::type createSharedSwapchainKHR(const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const11052 Device::createSharedSwapchainKHR( const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR & createInfo, 11053 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 11054 Dispatch const & d ) const 11055 { 11056 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11057 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11058 VULKAN_HPP_ASSERT( d.vkCreateSharedSwapchainsKHR && "Function <vkCreateSharedSwapchainsKHR> requires <VK_KHR_display_swapchain>" ); 11059 # endif 11060 11061 VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain; 11062 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateSharedSwapchainsKHR( 11063 m_device, 11064 1, 11065 reinterpret_cast<const VkSwapchainCreateInfoKHR *>( &createInfo ), 11066 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 11067 reinterpret_cast<VkSwapchainKHR *>( &swapchain ) ) ); 11068 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainKHR" ); 11069 11070 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( swapchain ) ); 11071 } 11072 11073 # ifndef VULKAN_HPP_NO_SMART_HANDLE 11074 // wrapper function for command vkCreateSharedSwapchainsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html 11075 template <typename Dispatch, 11076 typename SwapchainKHRAllocator, 11077 typename std::enable_if<std::is_same<typename SwapchainKHRAllocator::value_type, UniqueHandle<VULKAN_HPP_NAMESPACE::SwapchainKHR, Dispatch>>::value, 11078 int>::type> 11079 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 11080 typename ResultValueType<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::SwapchainKHR, Dispatch>, SwapchainKHRAllocator>>::type createSharedSwapchainsKHRUnique(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const11081 Device::createSharedSwapchainsKHRUnique( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const & createInfos, 11082 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 11083 Dispatch const & d ) const 11084 { 11085 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11086 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11087 VULKAN_HPP_ASSERT( d.vkCreateSharedSwapchainsKHR && "Function <vkCreateSharedSwapchainsKHR> requires <VK_KHR_display_swapchain>" ); 11088 # endif 11089 11090 std::vector<VULKAN_HPP_NAMESPACE::SwapchainKHR> swapchains( createInfos.size() ); 11091 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateSharedSwapchainsKHR( 11092 m_device, 11093 createInfos.size(), 11094 reinterpret_cast<const VkSwapchainCreateInfoKHR *>( createInfos.data() ), 11095 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 11096 reinterpret_cast<VkSwapchainKHR *>( swapchains.data() ) ) ); 11097 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainsKHRUnique" ); 11098 std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::SwapchainKHR, Dispatch>, SwapchainKHRAllocator> uniqueSwapchains; 11099 uniqueSwapchains.reserve( createInfos.size() ); 11100 detail::ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d ); 11101 for ( auto const & swapchain : swapchains ) 11102 { 11103 uniqueSwapchains.push_back( UniqueHandle<SwapchainKHR, Dispatch>( swapchain, deleter ) ); 11104 } 11105 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( uniqueSwapchains ) ); 11106 } 11107 11108 // wrapper function for command vkCreateSharedSwapchainsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html 11109 template <typename Dispatch, 11110 typename SwapchainKHRAllocator, 11111 typename std::enable_if<std::is_same<typename SwapchainKHRAllocator::value_type, UniqueHandle<VULKAN_HPP_NAMESPACE::SwapchainKHR, Dispatch>>::value, 11112 int>::type> 11113 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 11114 typename ResultValueType<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::SwapchainKHR, Dispatch>, SwapchainKHRAllocator>>::type createSharedSwapchainsKHRUnique(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,SwapchainKHRAllocator & swapchainKHRAllocator,Dispatch const & d) const11115 Device::createSharedSwapchainsKHRUnique( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const & createInfos, 11116 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 11117 SwapchainKHRAllocator & swapchainKHRAllocator, 11118 Dispatch const & d ) const 11119 { 11120 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11121 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11122 VULKAN_HPP_ASSERT( d.vkCreateSharedSwapchainsKHR && "Function <vkCreateSharedSwapchainsKHR> requires <VK_KHR_display_swapchain>" ); 11123 # endif 11124 11125 std::vector<VULKAN_HPP_NAMESPACE::SwapchainKHR> swapchains( createInfos.size() ); 11126 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateSharedSwapchainsKHR( 11127 m_device, 11128 createInfos.size(), 11129 reinterpret_cast<const VkSwapchainCreateInfoKHR *>( createInfos.data() ), 11130 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 11131 reinterpret_cast<VkSwapchainKHR *>( swapchains.data() ) ) ); 11132 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainsKHRUnique" ); 11133 std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::SwapchainKHR, Dispatch>, SwapchainKHRAllocator> uniqueSwapchains( swapchainKHRAllocator ); 11134 uniqueSwapchains.reserve( createInfos.size() ); 11135 detail::ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d ); 11136 for ( auto const & swapchain : swapchains ) 11137 { 11138 uniqueSwapchains.push_back( UniqueHandle<SwapchainKHR, Dispatch>( swapchain, deleter ) ); 11139 } 11140 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( uniqueSwapchains ) ); 11141 } 11142 11143 // wrapper function for command vkCreateSharedSwapchainsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html 11144 template <typename Dispatch> 11145 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SwapchainKHR, Dispatch>>::type createSharedSwapchainKHRUnique(const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const11146 Device::createSharedSwapchainKHRUnique( const VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR & createInfo, 11147 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 11148 Dispatch const & d ) const 11149 { 11150 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11151 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11152 VULKAN_HPP_ASSERT( d.vkCreateSharedSwapchainsKHR && "Function <vkCreateSharedSwapchainsKHR> requires <VK_KHR_display_swapchain>" ); 11153 # endif 11154 11155 VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain; 11156 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateSharedSwapchainsKHR( 11157 m_device, 11158 1, 11159 reinterpret_cast<const VkSwapchainCreateInfoKHR *>( &createInfo ), 11160 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 11161 reinterpret_cast<VkSwapchainKHR *>( &swapchain ) ) ); 11162 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainKHRUnique" ); 11163 11164 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 11165 result, UniqueHandle<VULKAN_HPP_NAMESPACE::SwapchainKHR, Dispatch>( swapchain, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 11166 } 11167 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 11168 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 11169 11170 #if defined( VK_USE_PLATFORM_XLIB_KHR ) 11171 //=== VK_KHR_xlib_surface === 11172 11173 // wrapper function for command vkCreateXlibSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateXlibSurfaceKHR.html 11174 template <typename Dispatch> createXlibSurfaceKHR(const VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,Dispatch const & d) const11175 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createXlibSurfaceKHR( const VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR * pCreateInfo, 11176 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 11177 VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface, 11178 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11179 { 11180 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11181 return static_cast<Result>( d.vkCreateXlibSurfaceKHR( static_cast<VkInstance>( m_instance ), 11182 reinterpret_cast<const VkXlibSurfaceCreateInfoKHR *>( pCreateInfo ), 11183 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 11184 reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) ); 11185 } 11186 11187 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 11188 // wrapper function for command vkCreateXlibSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateXlibSurfaceKHR.html 11189 template <typename Dispatch> 11190 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type createXlibSurfaceKHR(const VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const11191 Instance::createXlibSurfaceKHR( const VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR & createInfo, 11192 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 11193 Dispatch const & d ) const 11194 { 11195 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11196 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11197 VULKAN_HPP_ASSERT( d.vkCreateXlibSurfaceKHR && "Function <vkCreateXlibSurfaceKHR> requires <VK_KHR_xlib_surface>" ); 11198 # endif 11199 11200 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 11201 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 11202 d.vkCreateXlibSurfaceKHR( m_instance, 11203 reinterpret_cast<const VkXlibSurfaceCreateInfoKHR *>( &createInfo ), 11204 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 11205 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 11206 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createXlibSurfaceKHR" ); 11207 11208 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surface ) ); 11209 } 11210 11211 # ifndef VULKAN_HPP_NO_SMART_HANDLE 11212 // wrapper function for command vkCreateXlibSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateXlibSurfaceKHR.html 11213 template <typename Dispatch> 11214 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type createXlibSurfaceKHRUnique(const VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const11215 Instance::createXlibSurfaceKHRUnique( const VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR & createInfo, 11216 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 11217 Dispatch const & d ) const 11218 { 11219 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11220 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11221 VULKAN_HPP_ASSERT( d.vkCreateXlibSurfaceKHR && "Function <vkCreateXlibSurfaceKHR> requires <VK_KHR_xlib_surface>" ); 11222 # endif 11223 11224 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 11225 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 11226 d.vkCreateXlibSurfaceKHR( m_instance, 11227 reinterpret_cast<const VkXlibSurfaceCreateInfoKHR *>( &createInfo ), 11228 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 11229 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 11230 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createXlibSurfaceKHRUnique" ); 11231 11232 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 11233 result, UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>( surface, detail::ObjectDestroy<Instance, Dispatch>( *this, allocator, d ) ) ); 11234 } 11235 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 11236 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 11237 11238 // wrapper function for command vkGetPhysicalDeviceXlibPresentationSupportKHR, see 11239 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceXlibPresentationSupportKHR.html 11240 template <typename Dispatch> 11241 VULKAN_HPP_INLINE Bool32 getXlibPresentationSupportKHR(uint32_t queueFamilyIndex,Display * dpy,VisualID visualID,Dispatch const & d) const11242 PhysicalDevice::getXlibPresentationSupportKHR( uint32_t queueFamilyIndex, Display * dpy, VisualID visualID, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11243 { 11244 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11245 return static_cast<Bool32>( 11246 d.vkGetPhysicalDeviceXlibPresentationSupportKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), queueFamilyIndex, dpy, visualID ) ); 11247 } 11248 11249 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 11250 // wrapper function for command vkGetPhysicalDeviceXlibPresentationSupportKHR, see 11251 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceXlibPresentationSupportKHR.html 11252 template <typename Dispatch> 11253 VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32 getXlibPresentationSupportKHR(uint32_t queueFamilyIndex,Display & dpy,VisualID visualID,Dispatch const & d) const11254 PhysicalDevice::getXlibPresentationSupportKHR( uint32_t queueFamilyIndex, Display & dpy, VisualID visualID, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11255 { 11256 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11257 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11258 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceXlibPresentationSupportKHR && 11259 "Function <vkGetPhysicalDeviceXlibPresentationSupportKHR> requires <VK_KHR_xlib_surface>" ); 11260 # endif 11261 11262 VkBool32 result = d.vkGetPhysicalDeviceXlibPresentationSupportKHR( m_physicalDevice, queueFamilyIndex, &dpy, visualID ); 11263 11264 return static_cast<VULKAN_HPP_NAMESPACE::Bool32>( result ); 11265 } 11266 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 11267 #endif /*VK_USE_PLATFORM_XLIB_KHR*/ 11268 11269 #if defined( VK_USE_PLATFORM_XCB_KHR ) 11270 //=== VK_KHR_xcb_surface === 11271 11272 // wrapper function for command vkCreateXcbSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateXcbSurfaceKHR.html 11273 template <typename Dispatch> createXcbSurfaceKHR(const VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,Dispatch const & d) const11274 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createXcbSurfaceKHR( const VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR * pCreateInfo, 11275 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 11276 VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface, 11277 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11278 { 11279 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11280 return static_cast<Result>( d.vkCreateXcbSurfaceKHR( static_cast<VkInstance>( m_instance ), 11281 reinterpret_cast<const VkXcbSurfaceCreateInfoKHR *>( pCreateInfo ), 11282 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 11283 reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) ); 11284 } 11285 11286 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 11287 // wrapper function for command vkCreateXcbSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateXcbSurfaceKHR.html 11288 template <typename Dispatch> 11289 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type createXcbSurfaceKHR(const VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const11290 Instance::createXcbSurfaceKHR( const VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR & createInfo, 11291 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 11292 Dispatch const & d ) const 11293 { 11294 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11295 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11296 VULKAN_HPP_ASSERT( d.vkCreateXcbSurfaceKHR && "Function <vkCreateXcbSurfaceKHR> requires <VK_KHR_xcb_surface>" ); 11297 # endif 11298 11299 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 11300 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 11301 d.vkCreateXcbSurfaceKHR( m_instance, 11302 reinterpret_cast<const VkXcbSurfaceCreateInfoKHR *>( &createInfo ), 11303 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 11304 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 11305 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createXcbSurfaceKHR" ); 11306 11307 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surface ) ); 11308 } 11309 11310 # ifndef VULKAN_HPP_NO_SMART_HANDLE 11311 // wrapper function for command vkCreateXcbSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateXcbSurfaceKHR.html 11312 template <typename Dispatch> 11313 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type createXcbSurfaceKHRUnique(const VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const11314 Instance::createXcbSurfaceKHRUnique( const VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR & createInfo, 11315 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 11316 Dispatch const & d ) const 11317 { 11318 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11319 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11320 VULKAN_HPP_ASSERT( d.vkCreateXcbSurfaceKHR && "Function <vkCreateXcbSurfaceKHR> requires <VK_KHR_xcb_surface>" ); 11321 # endif 11322 11323 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 11324 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 11325 d.vkCreateXcbSurfaceKHR( m_instance, 11326 reinterpret_cast<const VkXcbSurfaceCreateInfoKHR *>( &createInfo ), 11327 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 11328 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 11329 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createXcbSurfaceKHRUnique" ); 11330 11331 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 11332 result, UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>( surface, detail::ObjectDestroy<Instance, Dispatch>( *this, allocator, d ) ) ); 11333 } 11334 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 11335 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 11336 11337 // wrapper function for command vkGetPhysicalDeviceXcbPresentationSupportKHR, see 11338 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceXcbPresentationSupportKHR.html 11339 template <typename Dispatch> getXcbPresentationSupportKHR(uint32_t queueFamilyIndex,xcb_connection_t * connection,xcb_visualid_t visual_id,Dispatch const & d) const11340 VULKAN_HPP_INLINE Bool32 PhysicalDevice::getXcbPresentationSupportKHR( uint32_t queueFamilyIndex, 11341 xcb_connection_t * connection, 11342 xcb_visualid_t visual_id, 11343 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11344 { 11345 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11346 return static_cast<Bool32>( 11347 d.vkGetPhysicalDeviceXcbPresentationSupportKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), queueFamilyIndex, connection, visual_id ) ); 11348 } 11349 11350 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 11351 // wrapper function for command vkGetPhysicalDeviceXcbPresentationSupportKHR, see 11352 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceXcbPresentationSupportKHR.html 11353 template <typename Dispatch> getXcbPresentationSupportKHR(uint32_t queueFamilyIndex,xcb_connection_t & connection,xcb_visualid_t visual_id,Dispatch const & d) const11354 VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32 PhysicalDevice::getXcbPresentationSupportKHR( uint32_t queueFamilyIndex, 11355 xcb_connection_t & connection, 11356 xcb_visualid_t visual_id, 11357 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11358 { 11359 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11360 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11361 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceXcbPresentationSupportKHR && 11362 "Function <vkGetPhysicalDeviceXcbPresentationSupportKHR> requires <VK_KHR_xcb_surface>" ); 11363 # endif 11364 11365 VkBool32 result = d.vkGetPhysicalDeviceXcbPresentationSupportKHR( m_physicalDevice, queueFamilyIndex, &connection, visual_id ); 11366 11367 return static_cast<VULKAN_HPP_NAMESPACE::Bool32>( result ); 11368 } 11369 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 11370 #endif /*VK_USE_PLATFORM_XCB_KHR*/ 11371 11372 #if defined( VK_USE_PLATFORM_WAYLAND_KHR ) 11373 //=== VK_KHR_wayland_surface === 11374 11375 // wrapper function for command vkCreateWaylandSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateWaylandSurfaceKHR.html 11376 template <typename Dispatch> createWaylandSurfaceKHR(const VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,Dispatch const & d) const11377 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createWaylandSurfaceKHR( const VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR * pCreateInfo, 11378 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 11379 VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface, 11380 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11381 { 11382 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11383 return static_cast<Result>( d.vkCreateWaylandSurfaceKHR( static_cast<VkInstance>( m_instance ), 11384 reinterpret_cast<const VkWaylandSurfaceCreateInfoKHR *>( pCreateInfo ), 11385 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 11386 reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) ); 11387 } 11388 11389 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 11390 // wrapper function for command vkCreateWaylandSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateWaylandSurfaceKHR.html 11391 template <typename Dispatch> 11392 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type createWaylandSurfaceKHR(const VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const11393 Instance::createWaylandSurfaceKHR( const VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR & createInfo, 11394 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 11395 Dispatch const & d ) const 11396 { 11397 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11398 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11399 VULKAN_HPP_ASSERT( d.vkCreateWaylandSurfaceKHR && "Function <vkCreateWaylandSurfaceKHR> requires <VK_KHR_wayland_surface>" ); 11400 # endif 11401 11402 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 11403 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateWaylandSurfaceKHR( 11404 m_instance, 11405 reinterpret_cast<const VkWaylandSurfaceCreateInfoKHR *>( &createInfo ), 11406 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 11407 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 11408 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createWaylandSurfaceKHR" ); 11409 11410 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surface ) ); 11411 } 11412 11413 # ifndef VULKAN_HPP_NO_SMART_HANDLE 11414 // wrapper function for command vkCreateWaylandSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateWaylandSurfaceKHR.html 11415 template <typename Dispatch> 11416 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type createWaylandSurfaceKHRUnique(const VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const11417 Instance::createWaylandSurfaceKHRUnique( const VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR & createInfo, 11418 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 11419 Dispatch const & d ) const 11420 { 11421 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11422 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11423 VULKAN_HPP_ASSERT( d.vkCreateWaylandSurfaceKHR && "Function <vkCreateWaylandSurfaceKHR> requires <VK_KHR_wayland_surface>" ); 11424 # endif 11425 11426 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 11427 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateWaylandSurfaceKHR( 11428 m_instance, 11429 reinterpret_cast<const VkWaylandSurfaceCreateInfoKHR *>( &createInfo ), 11430 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 11431 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 11432 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createWaylandSurfaceKHRUnique" ); 11433 11434 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 11435 result, UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>( surface, detail::ObjectDestroy<Instance, Dispatch>( *this, allocator, d ) ) ); 11436 } 11437 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 11438 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 11439 11440 // wrapper function for command vkGetPhysicalDeviceWaylandPresentationSupportKHR, see 11441 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceWaylandPresentationSupportKHR.html 11442 template <typename Dispatch> getWaylandPresentationSupportKHR(uint32_t queueFamilyIndex,struct wl_display * display,Dispatch const & d) const11443 VULKAN_HPP_INLINE Bool32 PhysicalDevice::getWaylandPresentationSupportKHR( uint32_t queueFamilyIndex, 11444 struct wl_display * display, 11445 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11446 { 11447 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11448 return static_cast<Bool32>( 11449 d.vkGetPhysicalDeviceWaylandPresentationSupportKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), queueFamilyIndex, display ) ); 11450 } 11451 11452 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 11453 // wrapper function for command vkGetPhysicalDeviceWaylandPresentationSupportKHR, see 11454 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceWaylandPresentationSupportKHR.html 11455 template <typename Dispatch> 11456 VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32 getWaylandPresentationSupportKHR(uint32_t queueFamilyIndex,struct wl_display & display,Dispatch const & d) const11457 PhysicalDevice::getWaylandPresentationSupportKHR( uint32_t queueFamilyIndex, struct wl_display & display, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11458 { 11459 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11460 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11461 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceWaylandPresentationSupportKHR && 11462 "Function <vkGetPhysicalDeviceWaylandPresentationSupportKHR> requires <VK_KHR_wayland_surface>" ); 11463 # endif 11464 11465 VkBool32 result = d.vkGetPhysicalDeviceWaylandPresentationSupportKHR( m_physicalDevice, queueFamilyIndex, &display ); 11466 11467 return static_cast<VULKAN_HPP_NAMESPACE::Bool32>( result ); 11468 } 11469 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 11470 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/ 11471 11472 #if defined( VK_USE_PLATFORM_ANDROID_KHR ) 11473 //=== VK_KHR_android_surface === 11474 11475 // wrapper function for command vkCreateAndroidSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAndroidSurfaceKHR.html 11476 template <typename Dispatch> createAndroidSurfaceKHR(const VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,Dispatch const & d) const11477 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createAndroidSurfaceKHR( const VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR * pCreateInfo, 11478 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 11479 VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface, 11480 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11481 { 11482 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11483 return static_cast<Result>( d.vkCreateAndroidSurfaceKHR( static_cast<VkInstance>( m_instance ), 11484 reinterpret_cast<const VkAndroidSurfaceCreateInfoKHR *>( pCreateInfo ), 11485 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 11486 reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) ); 11487 } 11488 11489 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 11490 // wrapper function for command vkCreateAndroidSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAndroidSurfaceKHR.html 11491 template <typename Dispatch> 11492 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type createAndroidSurfaceKHR(const VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const11493 Instance::createAndroidSurfaceKHR( const VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR & createInfo, 11494 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 11495 Dispatch const & d ) const 11496 { 11497 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11498 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11499 VULKAN_HPP_ASSERT( d.vkCreateAndroidSurfaceKHR && "Function <vkCreateAndroidSurfaceKHR> requires <VK_KHR_android_surface>" ); 11500 # endif 11501 11502 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 11503 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateAndroidSurfaceKHR( 11504 m_instance, 11505 reinterpret_cast<const VkAndroidSurfaceCreateInfoKHR *>( &createInfo ), 11506 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 11507 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 11508 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createAndroidSurfaceKHR" ); 11509 11510 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surface ) ); 11511 } 11512 11513 # ifndef VULKAN_HPP_NO_SMART_HANDLE 11514 // wrapper function for command vkCreateAndroidSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAndroidSurfaceKHR.html 11515 template <typename Dispatch> 11516 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type createAndroidSurfaceKHRUnique(const VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const11517 Instance::createAndroidSurfaceKHRUnique( const VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR & createInfo, 11518 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 11519 Dispatch const & d ) const 11520 { 11521 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11522 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11523 VULKAN_HPP_ASSERT( d.vkCreateAndroidSurfaceKHR && "Function <vkCreateAndroidSurfaceKHR> requires <VK_KHR_android_surface>" ); 11524 # endif 11525 11526 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 11527 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateAndroidSurfaceKHR( 11528 m_instance, 11529 reinterpret_cast<const VkAndroidSurfaceCreateInfoKHR *>( &createInfo ), 11530 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 11531 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 11532 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createAndroidSurfaceKHRUnique" ); 11533 11534 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 11535 result, UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>( surface, detail::ObjectDestroy<Instance, Dispatch>( *this, allocator, d ) ) ); 11536 } 11537 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 11538 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 11539 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ 11540 11541 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 11542 //=== VK_KHR_win32_surface === 11543 11544 // wrapper function for command vkCreateWin32SurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateWin32SurfaceKHR.html 11545 template <typename Dispatch> createWin32SurfaceKHR(const VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,Dispatch const & d) const11546 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createWin32SurfaceKHR( const VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR * pCreateInfo, 11547 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 11548 VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface, 11549 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11550 { 11551 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11552 return static_cast<Result>( d.vkCreateWin32SurfaceKHR( static_cast<VkInstance>( m_instance ), 11553 reinterpret_cast<const VkWin32SurfaceCreateInfoKHR *>( pCreateInfo ), 11554 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 11555 reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) ); 11556 } 11557 11558 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 11559 // wrapper function for command vkCreateWin32SurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateWin32SurfaceKHR.html 11560 template <typename Dispatch> 11561 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type createWin32SurfaceKHR(const VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const11562 Instance::createWin32SurfaceKHR( const VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR & createInfo, 11563 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 11564 Dispatch const & d ) const 11565 { 11566 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11567 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11568 VULKAN_HPP_ASSERT( d.vkCreateWin32SurfaceKHR && "Function <vkCreateWin32SurfaceKHR> requires <VK_KHR_win32_surface>" ); 11569 # endif 11570 11571 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 11572 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 11573 d.vkCreateWin32SurfaceKHR( m_instance, 11574 reinterpret_cast<const VkWin32SurfaceCreateInfoKHR *>( &createInfo ), 11575 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 11576 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 11577 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createWin32SurfaceKHR" ); 11578 11579 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surface ) ); 11580 } 11581 11582 # ifndef VULKAN_HPP_NO_SMART_HANDLE 11583 // wrapper function for command vkCreateWin32SurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateWin32SurfaceKHR.html 11584 template <typename Dispatch> 11585 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type createWin32SurfaceKHRUnique(const VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const11586 Instance::createWin32SurfaceKHRUnique( const VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR & createInfo, 11587 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 11588 Dispatch const & d ) const 11589 { 11590 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11591 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11592 VULKAN_HPP_ASSERT( d.vkCreateWin32SurfaceKHR && "Function <vkCreateWin32SurfaceKHR> requires <VK_KHR_win32_surface>" ); 11593 # endif 11594 11595 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 11596 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 11597 d.vkCreateWin32SurfaceKHR( m_instance, 11598 reinterpret_cast<const VkWin32SurfaceCreateInfoKHR *>( &createInfo ), 11599 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 11600 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 11601 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createWin32SurfaceKHRUnique" ); 11602 11603 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 11604 result, UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>( surface, detail::ObjectDestroy<Instance, Dispatch>( *this, allocator, d ) ) ); 11605 } 11606 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 11607 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 11608 11609 // wrapper function for command vkGetPhysicalDeviceWin32PresentationSupportKHR, see 11610 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceWin32PresentationSupportKHR.html 11611 template <typename Dispatch> getWin32PresentationSupportKHR(uint32_t queueFamilyIndex,Dispatch const & d) const11612 VULKAN_HPP_INLINE Bool32 PhysicalDevice::getWin32PresentationSupportKHR( uint32_t queueFamilyIndex, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11613 { 11614 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11615 return static_cast<Bool32>( d.vkGetPhysicalDeviceWin32PresentationSupportKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), queueFamilyIndex ) ); 11616 } 11617 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 11618 11619 #if defined( VK_USE_PLATFORM_OHOS ) 11620 //=== VK_OHOS_surface === 11621 11622 template <typename Dispatch> 11623 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result createSurfaceOHOS(const VULKAN_HPP_NAMESPACE::SurfaceCreateInfoOHOS * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,Dispatch const & d) const11624 Instance::createSurfaceOHOS( const VULKAN_HPP_NAMESPACE::SurfaceCreateInfoOHOS * pCreateInfo, 11625 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 11626 VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface, 11627 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11628 { 11629 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11630 return static_cast<Result>( 11631 d.vkCreateSurfaceOHOS( static_cast<VkInstance>( m_instance ), 11632 reinterpret_cast<const VkSurfaceCreateInfoOHOS *>( pCreateInfo ), 11633 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 11634 reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) ); 11635 } 11636 11637 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 11638 template <typename Dispatch> 11639 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE 11640 typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type createSurfaceOHOS(const VULKAN_HPP_NAMESPACE::SurfaceCreateInfoOHOS & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const11641 Instance::createSurfaceOHOS( const VULKAN_HPP_NAMESPACE::SurfaceCreateInfoOHOS & createInfo, 11642 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 11643 Dispatch const & d ) const 11644 { 11645 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11646 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11647 VULKAN_HPP_ASSERT( d.vkCreateSurfaceOHOS && "Function <vkCreateSurfaceOHOS> requires <VK_OHOS_surface>" ); 11648 # endif 11649 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 11650 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(d.vkCreateSurfaceOHOS( 11651 m_instance, 11652 reinterpret_cast<const VkSurfaceCreateInfoOHOS *>( &createInfo ), 11653 reinterpret_cast<const VkAllocationCallbacks *>( 11654 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 11655 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 11656 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createSurfaceOHOS" ); 11657 11658 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surface ) ); 11659 } 11660 11661 # ifndef VULKAN_HPP_NO_SMART_HANDLE 11662 template <typename Dispatch> 11663 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE 11664 typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type createSurfaceOHOSUnique(const VULKAN_HPP_NAMESPACE::SurfaceCreateInfoOHOS & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const11665 Instance::createSurfaceOHOSUnique( const VULKAN_HPP_NAMESPACE::SurfaceCreateInfoOHOS & createInfo, 11666 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 11667 Dispatch const & d ) const 11668 { 11669 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11670 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11671 VULKAN_HPP_ASSERT( d.vkCreateSurfaceOHOS && "Function <vkCreateSurfaceOHOS> requires <VK_OHOS_surface>" ); 11672 # endif 11673 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 11674 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateSurfaceOHOS( 11675 m_instance, 11676 reinterpret_cast<const VkSurfaceCreateInfoOHOS *>( &createInfo ), 11677 reinterpret_cast<const VkAllocationCallbacks *>( 11678 static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 11679 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 11680 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createSurfaceOHOSUnique" ); 11681 11682 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 11683 result, UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>( surface, detail::ObjectDestroy<Instance, Dispatch>( *this, allocator, d ) ) ); 11684 } 11685 # endif /*VULKAN_HPP_NO_SMART_HANDLE*/ 11686 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 11687 #endif /*VK_USE_PLATFORM_OHOS*/ 11688 11689 //=== VK_EXT_debug_report === 11690 11691 // wrapper function for command vkCreateDebugReportCallbackEXT, see 11692 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDebugReportCallbackEXT.html 11693 template <typename Dispatch> 11694 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result createDebugReportCallbackEXT(const VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT * pCallback,Dispatch const & d) const11695 Instance::createDebugReportCallbackEXT( const VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT * pCreateInfo, 11696 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 11697 VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT * pCallback, 11698 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11699 { 11700 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11701 return static_cast<Result>( d.vkCreateDebugReportCallbackEXT( static_cast<VkInstance>( m_instance ), 11702 reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT *>( pCreateInfo ), 11703 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 11704 reinterpret_cast<VkDebugReportCallbackEXT *>( pCallback ) ) ); 11705 } 11706 11707 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 11708 // wrapper function for command vkCreateDebugReportCallbackEXT, see 11709 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDebugReportCallbackEXT.html 11710 template <typename Dispatch> 11711 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT>::type createDebugReportCallbackEXT(const VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const11712 Instance::createDebugReportCallbackEXT( const VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT & createInfo, 11713 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 11714 Dispatch const & d ) const 11715 { 11716 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11717 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11718 VULKAN_HPP_ASSERT( d.vkCreateDebugReportCallbackEXT && "Function <vkCreateDebugReportCallbackEXT> requires <VK_EXT_debug_report>" ); 11719 # endif 11720 11721 VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback; 11722 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateDebugReportCallbackEXT( 11723 m_instance, 11724 reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT *>( &createInfo ), 11725 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 11726 reinterpret_cast<VkDebugReportCallbackEXT *>( &callback ) ) ); 11727 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDebugReportCallbackEXT" ); 11728 11729 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( callback ) ); 11730 } 11731 11732 # ifndef VULKAN_HPP_NO_SMART_HANDLE 11733 // wrapper function for command vkCreateDebugReportCallbackEXT, see 11734 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDebugReportCallbackEXT.html 11735 template <typename Dispatch> 11736 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT, Dispatch>>::type createDebugReportCallbackEXTUnique(const VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const11737 Instance::createDebugReportCallbackEXTUnique( const VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT & createInfo, 11738 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 11739 Dispatch const & d ) const 11740 { 11741 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11742 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11743 VULKAN_HPP_ASSERT( d.vkCreateDebugReportCallbackEXT && "Function <vkCreateDebugReportCallbackEXT> requires <VK_EXT_debug_report>" ); 11744 # endif 11745 11746 VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback; 11747 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateDebugReportCallbackEXT( 11748 m_instance, 11749 reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT *>( &createInfo ), 11750 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 11751 reinterpret_cast<VkDebugReportCallbackEXT *>( &callback ) ) ); 11752 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDebugReportCallbackEXTUnique" ); 11753 11754 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 11755 result, 11756 UniqueHandle<VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT, Dispatch>( callback, detail::ObjectDestroy<Instance, Dispatch>( *this, allocator, d ) ) ); 11757 } 11758 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 11759 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 11760 11761 // wrapper function for command vkDestroyDebugReportCallbackEXT, see 11762 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDebugReportCallbackEXT.html 11763 template <typename Dispatch> destroyDebugReportCallbackEXT(VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const11764 VULKAN_HPP_INLINE void Instance::destroyDebugReportCallbackEXT( VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback, 11765 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 11766 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11767 { 11768 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11769 d.vkDestroyDebugReportCallbackEXT( 11770 static_cast<VkInstance>( m_instance ), static_cast<VkDebugReportCallbackEXT>( callback ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 11771 } 11772 11773 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 11774 // wrapper function for command vkDestroyDebugReportCallbackEXT, see 11775 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDebugReportCallbackEXT.html 11776 template <typename Dispatch> destroyDebugReportCallbackEXT(VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const11777 VULKAN_HPP_INLINE void Instance::destroyDebugReportCallbackEXT( VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback, 11778 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 11779 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11780 { 11781 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11782 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11783 VULKAN_HPP_ASSERT( d.vkDestroyDebugReportCallbackEXT && "Function <vkDestroyDebugReportCallbackEXT> requires <VK_EXT_debug_report>" ); 11784 # endif 11785 11786 d.vkDestroyDebugReportCallbackEXT( 11787 m_instance, 11788 static_cast<VkDebugReportCallbackEXT>( callback ), 11789 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 11790 } 11791 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 11792 11793 // wrapper function for command vkDestroyDebugReportCallbackEXT, see 11794 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDebugReportCallbackEXT.html 11795 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const11796 VULKAN_HPP_INLINE void Instance::destroy( VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback, 11797 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 11798 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11799 { 11800 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11801 d.vkDestroyDebugReportCallbackEXT( 11802 static_cast<VkInstance>( m_instance ), static_cast<VkDebugReportCallbackEXT>( callback ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 11803 } 11804 11805 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 11806 // wrapper function for command vkDestroyDebugReportCallbackEXT, see 11807 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDebugReportCallbackEXT.html 11808 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const11809 VULKAN_HPP_INLINE void Instance::destroy( VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback, 11810 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 11811 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11812 { 11813 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11814 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11815 VULKAN_HPP_ASSERT( d.vkDestroyDebugReportCallbackEXT && "Function <vkDestroyDebugReportCallbackEXT> requires <VK_EXT_debug_report>" ); 11816 # endif 11817 11818 d.vkDestroyDebugReportCallbackEXT( 11819 m_instance, 11820 static_cast<VkDebugReportCallbackEXT>( callback ), 11821 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 11822 } 11823 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 11824 11825 // wrapper function for command vkDebugReportMessageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDebugReportMessageEXT.html 11826 template <typename Dispatch> debugReportMessageEXT(VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags,VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_,uint64_t object,size_t location,int32_t messageCode,const char * pLayerPrefix,const char * pMessage,Dispatch const & d) const11827 VULKAN_HPP_INLINE void Instance::debugReportMessageEXT( VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags, 11828 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_, 11829 uint64_t object, 11830 size_t location, 11831 int32_t messageCode, 11832 const char * pLayerPrefix, 11833 const char * pMessage, 11834 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11835 { 11836 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11837 d.vkDebugReportMessageEXT( static_cast<VkInstance>( m_instance ), 11838 static_cast<VkDebugReportFlagsEXT>( flags ), 11839 static_cast<VkDebugReportObjectTypeEXT>( objectType_ ), 11840 object, 11841 location, 11842 messageCode, 11843 pLayerPrefix, 11844 pMessage ); 11845 } 11846 11847 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 11848 // wrapper function for command vkDebugReportMessageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDebugReportMessageEXT.html 11849 template <typename Dispatch> debugReportMessageEXT(VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags,VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_,uint64_t object,size_t location,int32_t messageCode,const std::string & layerPrefix,const std::string & message,Dispatch const & d) const11850 VULKAN_HPP_INLINE void Instance::debugReportMessageEXT( VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags, 11851 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_, 11852 uint64_t object, 11853 size_t location, 11854 int32_t messageCode, 11855 const std::string & layerPrefix, 11856 const std::string & message, 11857 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11858 { 11859 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11860 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11861 VULKAN_HPP_ASSERT( d.vkDebugReportMessageEXT && "Function <vkDebugReportMessageEXT> requires <VK_EXT_debug_report>" ); 11862 # endif 11863 11864 d.vkDebugReportMessageEXT( m_instance, 11865 static_cast<VkDebugReportFlagsEXT>( flags ), 11866 static_cast<VkDebugReportObjectTypeEXT>( objectType_ ), 11867 object, 11868 location, 11869 messageCode, 11870 layerPrefix.c_str(), 11871 message.c_str() ); 11872 } 11873 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 11874 11875 //=== VK_EXT_debug_marker === 11876 11877 // wrapper function for command vkDebugMarkerSetObjectTagEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDebugMarkerSetObjectTagEXT.html 11878 template <typename Dispatch> debugMarkerSetObjectTagEXT(const VULKAN_HPP_NAMESPACE::DebugMarkerObjectTagInfoEXT * pTagInfo,Dispatch const & d) const11879 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::debugMarkerSetObjectTagEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerObjectTagInfoEXT * pTagInfo, 11880 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11881 { 11882 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11883 return static_cast<Result>( 11884 d.vkDebugMarkerSetObjectTagEXT( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDebugMarkerObjectTagInfoEXT *>( pTagInfo ) ) ); 11885 } 11886 11887 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 11888 // wrapper function for command vkDebugMarkerSetObjectTagEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDebugMarkerSetObjectTagEXT.html 11889 template <typename Dispatch> 11890 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type debugMarkerSetObjectTagEXT(const VULKAN_HPP_NAMESPACE::DebugMarkerObjectTagInfoEXT & tagInfo,Dispatch const & d) const11891 Device::debugMarkerSetObjectTagEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerObjectTagInfoEXT & tagInfo, Dispatch const & d ) const 11892 { 11893 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11894 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11895 VULKAN_HPP_ASSERT( d.vkDebugMarkerSetObjectTagEXT && "Function <vkDebugMarkerSetObjectTagEXT> requires <VK_EXT_debug_marker>" ); 11896 # endif 11897 11898 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 11899 d.vkDebugMarkerSetObjectTagEXT( m_device, reinterpret_cast<const VkDebugMarkerObjectTagInfoEXT *>( &tagInfo ) ) ); 11900 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::debugMarkerSetObjectTagEXT" ); 11901 11902 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 11903 } 11904 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 11905 11906 // wrapper function for command vkDebugMarkerSetObjectNameEXT, see 11907 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDebugMarkerSetObjectNameEXT.html 11908 template <typename Dispatch> debugMarkerSetObjectNameEXT(const VULKAN_HPP_NAMESPACE::DebugMarkerObjectNameInfoEXT * pNameInfo,Dispatch const & d) const11909 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::debugMarkerSetObjectNameEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerObjectNameInfoEXT * pNameInfo, 11910 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11911 { 11912 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11913 return static_cast<Result>( 11914 d.vkDebugMarkerSetObjectNameEXT( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDebugMarkerObjectNameInfoEXT *>( pNameInfo ) ) ); 11915 } 11916 11917 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 11918 // wrapper function for command vkDebugMarkerSetObjectNameEXT, see 11919 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDebugMarkerSetObjectNameEXT.html 11920 template <typename Dispatch> 11921 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type debugMarkerSetObjectNameEXT(const VULKAN_HPP_NAMESPACE::DebugMarkerObjectNameInfoEXT & nameInfo,Dispatch const & d) const11922 Device::debugMarkerSetObjectNameEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerObjectNameInfoEXT & nameInfo, Dispatch const & d ) const 11923 { 11924 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11925 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11926 VULKAN_HPP_ASSERT( d.vkDebugMarkerSetObjectNameEXT && "Function <vkDebugMarkerSetObjectNameEXT> requires <VK_EXT_debug_marker>" ); 11927 # endif 11928 11929 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 11930 d.vkDebugMarkerSetObjectNameEXT( m_device, reinterpret_cast<const VkDebugMarkerObjectNameInfoEXT *>( &nameInfo ) ) ); 11931 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::debugMarkerSetObjectNameEXT" ); 11932 11933 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 11934 } 11935 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 11936 11937 // wrapper function for command vkCmdDebugMarkerBeginEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDebugMarkerBeginEXT.html 11938 template <typename Dispatch> debugMarkerBeginEXT(const VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT * pMarkerInfo,Dispatch const & d) const11939 VULKAN_HPP_INLINE void CommandBuffer::debugMarkerBeginEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT * pMarkerInfo, 11940 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11941 { 11942 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11943 d.vkCmdDebugMarkerBeginEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkDebugMarkerMarkerInfoEXT *>( pMarkerInfo ) ); 11944 } 11945 11946 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 11947 // wrapper function for command vkCmdDebugMarkerBeginEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDebugMarkerBeginEXT.html 11948 template <typename Dispatch> debugMarkerBeginEXT(const VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT & markerInfo,Dispatch const & d) const11949 VULKAN_HPP_INLINE void CommandBuffer::debugMarkerBeginEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT & markerInfo, 11950 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11951 { 11952 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11953 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11954 VULKAN_HPP_ASSERT( d.vkCmdDebugMarkerBeginEXT && "Function <vkCmdDebugMarkerBeginEXT> requires <VK_EXT_debug_marker>" ); 11955 # endif 11956 11957 d.vkCmdDebugMarkerBeginEXT( m_commandBuffer, reinterpret_cast<const VkDebugMarkerMarkerInfoEXT *>( &markerInfo ) ); 11958 } 11959 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 11960 11961 // wrapper function for command vkCmdDebugMarkerEndEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDebugMarkerEndEXT.html 11962 template <typename Dispatch> debugMarkerEndEXT(Dispatch const & d) const11963 VULKAN_HPP_INLINE void CommandBuffer::debugMarkerEndEXT( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11964 { 11965 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11966 d.vkCmdDebugMarkerEndEXT( static_cast<VkCommandBuffer>( m_commandBuffer ) ); 11967 } 11968 11969 // wrapper function for command vkCmdDebugMarkerInsertEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDebugMarkerInsertEXT.html 11970 template <typename Dispatch> debugMarkerInsertEXT(const VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT * pMarkerInfo,Dispatch const & d) const11971 VULKAN_HPP_INLINE void CommandBuffer::debugMarkerInsertEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT * pMarkerInfo, 11972 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11973 { 11974 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11975 d.vkCmdDebugMarkerInsertEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkDebugMarkerMarkerInfoEXT *>( pMarkerInfo ) ); 11976 } 11977 11978 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 11979 // wrapper function for command vkCmdDebugMarkerInsertEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDebugMarkerInsertEXT.html 11980 template <typename Dispatch> debugMarkerInsertEXT(const VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT & markerInfo,Dispatch const & d) const11981 VULKAN_HPP_INLINE void CommandBuffer::debugMarkerInsertEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT & markerInfo, 11982 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 11983 { 11984 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 11985 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 11986 VULKAN_HPP_ASSERT( d.vkCmdDebugMarkerInsertEXT && "Function <vkCmdDebugMarkerInsertEXT> requires <VK_EXT_debug_marker>" ); 11987 # endif 11988 11989 d.vkCmdDebugMarkerInsertEXT( m_commandBuffer, reinterpret_cast<const VkDebugMarkerMarkerInfoEXT *>( &markerInfo ) ); 11990 } 11991 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 11992 11993 //=== VK_KHR_video_queue === 11994 11995 // wrapper function for command vkGetPhysicalDeviceVideoCapabilitiesKHR, see 11996 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoCapabilitiesKHR.html 11997 template <typename Dispatch> getVideoCapabilitiesKHR(const VULKAN_HPP_NAMESPACE::VideoProfileInfoKHR * pVideoProfile,VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR * pCapabilities,Dispatch const & d) const11998 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getVideoCapabilitiesKHR( const VULKAN_HPP_NAMESPACE::VideoProfileInfoKHR * pVideoProfile, 11999 VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR * pCapabilities, 12000 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12001 { 12002 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12003 return static_cast<Result>( d.vkGetPhysicalDeviceVideoCapabilitiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 12004 reinterpret_cast<const VkVideoProfileInfoKHR *>( pVideoProfile ), 12005 reinterpret_cast<VkVideoCapabilitiesKHR *>( pCapabilities ) ) ); 12006 } 12007 12008 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 12009 // wrapper function for command vkGetPhysicalDeviceVideoCapabilitiesKHR, see 12010 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoCapabilitiesKHR.html 12011 template <typename Dispatch> 12012 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR>::type getVideoCapabilitiesKHR(const VULKAN_HPP_NAMESPACE::VideoProfileInfoKHR & videoProfile,Dispatch const & d) const12013 PhysicalDevice::getVideoCapabilitiesKHR( const VULKAN_HPP_NAMESPACE::VideoProfileInfoKHR & videoProfile, Dispatch const & d ) const 12014 { 12015 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12016 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 12017 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceVideoCapabilitiesKHR && "Function <vkGetPhysicalDeviceVideoCapabilitiesKHR> requires <VK_KHR_video_queue>" ); 12018 # endif 12019 12020 VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR capabilities; 12021 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceVideoCapabilitiesKHR( 12022 m_physicalDevice, reinterpret_cast<const VkVideoProfileInfoKHR *>( &videoProfile ), reinterpret_cast<VkVideoCapabilitiesKHR *>( &capabilities ) ) ); 12023 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoCapabilitiesKHR" ); 12024 12025 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( capabilities ) ); 12026 } 12027 12028 // wrapper function for command vkGetPhysicalDeviceVideoCapabilitiesKHR, see 12029 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoCapabilitiesKHR.html 12030 template <typename X, typename Y, typename... Z, typename Dispatch> 12031 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>>::type getVideoCapabilitiesKHR(const VULKAN_HPP_NAMESPACE::VideoProfileInfoKHR & videoProfile,Dispatch const & d) const12032 PhysicalDevice::getVideoCapabilitiesKHR( const VULKAN_HPP_NAMESPACE::VideoProfileInfoKHR & videoProfile, Dispatch const & d ) const 12033 { 12034 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12035 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 12036 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceVideoCapabilitiesKHR && "Function <vkGetPhysicalDeviceVideoCapabilitiesKHR> requires <VK_KHR_video_queue>" ); 12037 # endif 12038 12039 StructureChain<X, Y, Z...> structureChain; 12040 VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR & capabilities = structureChain.template get<VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR>(); 12041 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceVideoCapabilitiesKHR( 12042 m_physicalDevice, reinterpret_cast<const VkVideoProfileInfoKHR *>( &videoProfile ), reinterpret_cast<VkVideoCapabilitiesKHR *>( &capabilities ) ) ); 12043 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoCapabilitiesKHR" ); 12044 12045 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChain ) ); 12046 } 12047 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 12048 12049 // wrapper function for command vkGetPhysicalDeviceVideoFormatPropertiesKHR, see 12050 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoFormatPropertiesKHR.html 12051 template <typename Dispatch> 12052 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getVideoFormatPropertiesKHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR * pVideoFormatInfo,uint32_t * pVideoFormatPropertyCount,VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR * pVideoFormatProperties,Dispatch const & d) const12053 PhysicalDevice::getVideoFormatPropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR * pVideoFormatInfo, 12054 uint32_t * pVideoFormatPropertyCount, 12055 VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR * pVideoFormatProperties, 12056 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12057 { 12058 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12059 return static_cast<Result>( d.vkGetPhysicalDeviceVideoFormatPropertiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 12060 reinterpret_cast<const VkPhysicalDeviceVideoFormatInfoKHR *>( pVideoFormatInfo ), 12061 pVideoFormatPropertyCount, 12062 reinterpret_cast<VkVideoFormatPropertiesKHR *>( pVideoFormatProperties ) ) ); 12063 } 12064 12065 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 12066 // wrapper function for command vkGetPhysicalDeviceVideoFormatPropertiesKHR, see 12067 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoFormatPropertiesKHR.html 12068 template <typename VideoFormatPropertiesKHRAllocator, 12069 typename Dispatch, 12070 typename std::enable_if<std::is_same<typename VideoFormatPropertiesKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR>::value, 12071 int>::type> 12072 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 12073 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR, VideoFormatPropertiesKHRAllocator>>::type getVideoFormatPropertiesKHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR & videoFormatInfo,Dispatch const & d) const12074 PhysicalDevice::getVideoFormatPropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR & videoFormatInfo, Dispatch const & d ) const 12075 { 12076 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12077 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 12078 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceVideoFormatPropertiesKHR && 12079 "Function <vkGetPhysicalDeviceVideoFormatPropertiesKHR> requires <VK_KHR_video_queue>" ); 12080 # endif 12081 12082 std::vector<VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR, VideoFormatPropertiesKHRAllocator> videoFormatProperties; 12083 uint32_t videoFormatPropertyCount; 12084 VULKAN_HPP_NAMESPACE::Result result; 12085 do 12086 { 12087 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceVideoFormatPropertiesKHR( 12088 m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceVideoFormatInfoKHR *>( &videoFormatInfo ), &videoFormatPropertyCount, nullptr ) ); 12089 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && videoFormatPropertyCount ) 12090 { 12091 videoFormatProperties.resize( videoFormatPropertyCount ); 12092 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 12093 d.vkGetPhysicalDeviceVideoFormatPropertiesKHR( m_physicalDevice, 12094 reinterpret_cast<const VkPhysicalDeviceVideoFormatInfoKHR *>( &videoFormatInfo ), 12095 &videoFormatPropertyCount, 12096 reinterpret_cast<VkVideoFormatPropertiesKHR *>( videoFormatProperties.data() ) ) ); 12097 } 12098 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 12099 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoFormatPropertiesKHR" ); 12100 VULKAN_HPP_ASSERT( videoFormatPropertyCount <= videoFormatProperties.size() ); 12101 if ( videoFormatPropertyCount < videoFormatProperties.size() ) 12102 { 12103 videoFormatProperties.resize( videoFormatPropertyCount ); 12104 } 12105 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( videoFormatProperties ) ); 12106 } 12107 12108 // wrapper function for command vkGetPhysicalDeviceVideoFormatPropertiesKHR, see 12109 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoFormatPropertiesKHR.html 12110 template <typename VideoFormatPropertiesKHRAllocator, 12111 typename Dispatch, 12112 typename std::enable_if<std::is_same<typename VideoFormatPropertiesKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR>::value, 12113 int>::type> 12114 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 12115 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR, VideoFormatPropertiesKHRAllocator>>::type getVideoFormatPropertiesKHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR & videoFormatInfo,VideoFormatPropertiesKHRAllocator & videoFormatPropertiesKHRAllocator,Dispatch const & d) const12116 PhysicalDevice::getVideoFormatPropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR & videoFormatInfo, 12117 VideoFormatPropertiesKHRAllocator & videoFormatPropertiesKHRAllocator, 12118 Dispatch const & d ) const 12119 { 12120 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12121 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 12122 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceVideoFormatPropertiesKHR && 12123 "Function <vkGetPhysicalDeviceVideoFormatPropertiesKHR> requires <VK_KHR_video_queue>" ); 12124 # endif 12125 12126 std::vector<VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR, VideoFormatPropertiesKHRAllocator> videoFormatProperties( videoFormatPropertiesKHRAllocator ); 12127 uint32_t videoFormatPropertyCount; 12128 VULKAN_HPP_NAMESPACE::Result result; 12129 do 12130 { 12131 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceVideoFormatPropertiesKHR( 12132 m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceVideoFormatInfoKHR *>( &videoFormatInfo ), &videoFormatPropertyCount, nullptr ) ); 12133 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && videoFormatPropertyCount ) 12134 { 12135 videoFormatProperties.resize( videoFormatPropertyCount ); 12136 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 12137 d.vkGetPhysicalDeviceVideoFormatPropertiesKHR( m_physicalDevice, 12138 reinterpret_cast<const VkPhysicalDeviceVideoFormatInfoKHR *>( &videoFormatInfo ), 12139 &videoFormatPropertyCount, 12140 reinterpret_cast<VkVideoFormatPropertiesKHR *>( videoFormatProperties.data() ) ) ); 12141 } 12142 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 12143 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoFormatPropertiesKHR" ); 12144 VULKAN_HPP_ASSERT( videoFormatPropertyCount <= videoFormatProperties.size() ); 12145 if ( videoFormatPropertyCount < videoFormatProperties.size() ) 12146 { 12147 videoFormatProperties.resize( videoFormatPropertyCount ); 12148 } 12149 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( videoFormatProperties ) ); 12150 } 12151 12152 // wrapper function for command vkGetPhysicalDeviceVideoFormatPropertiesKHR, see 12153 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoFormatPropertiesKHR.html 12154 template <typename StructureChain, 12155 typename StructureChainAllocator, 12156 typename Dispatch, 12157 typename std::enable_if<std::is_same<typename StructureChainAllocator::value_type, StructureChain>::value, int>::type> 12158 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<StructureChain, StructureChainAllocator>>::type getVideoFormatPropertiesKHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR & videoFormatInfo,Dispatch const & d) const12159 PhysicalDevice::getVideoFormatPropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR & videoFormatInfo, Dispatch const & d ) const 12160 { 12161 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12162 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 12163 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceVideoFormatPropertiesKHR && 12164 "Function <vkGetPhysicalDeviceVideoFormatPropertiesKHR> requires <VK_KHR_video_queue>" ); 12165 # endif 12166 12167 std::vector<StructureChain, StructureChainAllocator> structureChains; 12168 std::vector<VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR> videoFormatProperties; 12169 uint32_t videoFormatPropertyCount; 12170 VULKAN_HPP_NAMESPACE::Result result; 12171 do 12172 { 12173 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceVideoFormatPropertiesKHR( 12174 m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceVideoFormatInfoKHR *>( &videoFormatInfo ), &videoFormatPropertyCount, nullptr ) ); 12175 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && videoFormatPropertyCount ) 12176 { 12177 structureChains.resize( videoFormatPropertyCount ); 12178 videoFormatProperties.resize( videoFormatPropertyCount ); 12179 for ( uint32_t i = 0; i < videoFormatPropertyCount; i++ ) 12180 { 12181 videoFormatProperties[i].pNext = structureChains[i].template get<VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR>().pNext; 12182 } 12183 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 12184 d.vkGetPhysicalDeviceVideoFormatPropertiesKHR( m_physicalDevice, 12185 reinterpret_cast<const VkPhysicalDeviceVideoFormatInfoKHR *>( &videoFormatInfo ), 12186 &videoFormatPropertyCount, 12187 reinterpret_cast<VkVideoFormatPropertiesKHR *>( videoFormatProperties.data() ) ) ); 12188 } 12189 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 12190 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoFormatPropertiesKHR" ); 12191 VULKAN_HPP_ASSERT( videoFormatPropertyCount <= videoFormatProperties.size() ); 12192 if ( videoFormatPropertyCount < videoFormatProperties.size() ) 12193 { 12194 structureChains.resize( videoFormatPropertyCount ); 12195 } 12196 for ( uint32_t i = 0; i < videoFormatPropertyCount; i++ ) 12197 { 12198 structureChains[i].template get<VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR>() = videoFormatProperties[i]; 12199 } 12200 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChains ) ); 12201 } 12202 12203 // wrapper function for command vkGetPhysicalDeviceVideoFormatPropertiesKHR, see 12204 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoFormatPropertiesKHR.html 12205 template <typename StructureChain, 12206 typename StructureChainAllocator, 12207 typename Dispatch, 12208 typename std::enable_if<std::is_same<typename StructureChainAllocator::value_type, StructureChain>::value, int>::type> 12209 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<StructureChain, StructureChainAllocator>>::type getVideoFormatPropertiesKHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR & videoFormatInfo,StructureChainAllocator & structureChainAllocator,Dispatch const & d) const12210 PhysicalDevice::getVideoFormatPropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR & videoFormatInfo, 12211 StructureChainAllocator & structureChainAllocator, 12212 Dispatch const & d ) const 12213 { 12214 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12215 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 12216 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceVideoFormatPropertiesKHR && 12217 "Function <vkGetPhysicalDeviceVideoFormatPropertiesKHR> requires <VK_KHR_video_queue>" ); 12218 # endif 12219 12220 std::vector<StructureChain, StructureChainAllocator> structureChains( structureChainAllocator ); 12221 std::vector<VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR> videoFormatProperties; 12222 uint32_t videoFormatPropertyCount; 12223 VULKAN_HPP_NAMESPACE::Result result; 12224 do 12225 { 12226 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceVideoFormatPropertiesKHR( 12227 m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceVideoFormatInfoKHR *>( &videoFormatInfo ), &videoFormatPropertyCount, nullptr ) ); 12228 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && videoFormatPropertyCount ) 12229 { 12230 structureChains.resize( videoFormatPropertyCount ); 12231 videoFormatProperties.resize( videoFormatPropertyCount ); 12232 for ( uint32_t i = 0; i < videoFormatPropertyCount; i++ ) 12233 { 12234 videoFormatProperties[i].pNext = structureChains[i].template get<VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR>().pNext; 12235 } 12236 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 12237 d.vkGetPhysicalDeviceVideoFormatPropertiesKHR( m_physicalDevice, 12238 reinterpret_cast<const VkPhysicalDeviceVideoFormatInfoKHR *>( &videoFormatInfo ), 12239 &videoFormatPropertyCount, 12240 reinterpret_cast<VkVideoFormatPropertiesKHR *>( videoFormatProperties.data() ) ) ); 12241 } 12242 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 12243 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoFormatPropertiesKHR" ); 12244 VULKAN_HPP_ASSERT( videoFormatPropertyCount <= videoFormatProperties.size() ); 12245 if ( videoFormatPropertyCount < videoFormatProperties.size() ) 12246 { 12247 structureChains.resize( videoFormatPropertyCount ); 12248 } 12249 for ( uint32_t i = 0; i < videoFormatPropertyCount; i++ ) 12250 { 12251 structureChains[i].template get<VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR>() = videoFormatProperties[i]; 12252 } 12253 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChains ) ); 12254 } 12255 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 12256 12257 // wrapper function for command vkCreateVideoSessionKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateVideoSessionKHR.html 12258 template <typename Dispatch> createVideoSessionKHR(const VULKAN_HPP_NAMESPACE::VideoSessionCreateInfoKHR * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::VideoSessionKHR * pVideoSession,Dispatch const & d) const12259 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createVideoSessionKHR( const VULKAN_HPP_NAMESPACE::VideoSessionCreateInfoKHR * pCreateInfo, 12260 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 12261 VULKAN_HPP_NAMESPACE::VideoSessionKHR * pVideoSession, 12262 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12263 { 12264 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12265 return static_cast<Result>( d.vkCreateVideoSessionKHR( static_cast<VkDevice>( m_device ), 12266 reinterpret_cast<const VkVideoSessionCreateInfoKHR *>( pCreateInfo ), 12267 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 12268 reinterpret_cast<VkVideoSessionKHR *>( pVideoSession ) ) ); 12269 } 12270 12271 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 12272 // wrapper function for command vkCreateVideoSessionKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateVideoSessionKHR.html 12273 template <typename Dispatch> 12274 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::VideoSessionKHR>::type createVideoSessionKHR(const VULKAN_HPP_NAMESPACE::VideoSessionCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const12275 Device::createVideoSessionKHR( const VULKAN_HPP_NAMESPACE::VideoSessionCreateInfoKHR & createInfo, 12276 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 12277 Dispatch const & d ) const 12278 { 12279 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12280 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 12281 VULKAN_HPP_ASSERT( d.vkCreateVideoSessionKHR && "Function <vkCreateVideoSessionKHR> requires <VK_KHR_video_queue>" ); 12282 # endif 12283 12284 VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession; 12285 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 12286 d.vkCreateVideoSessionKHR( m_device, 12287 reinterpret_cast<const VkVideoSessionCreateInfoKHR *>( &createInfo ), 12288 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 12289 reinterpret_cast<VkVideoSessionKHR *>( &videoSession ) ) ); 12290 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createVideoSessionKHR" ); 12291 12292 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( videoSession ) ); 12293 } 12294 12295 # ifndef VULKAN_HPP_NO_SMART_HANDLE 12296 // wrapper function for command vkCreateVideoSessionKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateVideoSessionKHR.html 12297 template <typename Dispatch> 12298 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::VideoSessionKHR, Dispatch>>::type createVideoSessionKHRUnique(const VULKAN_HPP_NAMESPACE::VideoSessionCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const12299 Device::createVideoSessionKHRUnique( const VULKAN_HPP_NAMESPACE::VideoSessionCreateInfoKHR & createInfo, 12300 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 12301 Dispatch const & d ) const 12302 { 12303 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12304 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 12305 VULKAN_HPP_ASSERT( d.vkCreateVideoSessionKHR && "Function <vkCreateVideoSessionKHR> requires <VK_KHR_video_queue>" ); 12306 # endif 12307 12308 VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession; 12309 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 12310 d.vkCreateVideoSessionKHR( m_device, 12311 reinterpret_cast<const VkVideoSessionCreateInfoKHR *>( &createInfo ), 12312 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 12313 reinterpret_cast<VkVideoSessionKHR *>( &videoSession ) ) ); 12314 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createVideoSessionKHRUnique" ); 12315 12316 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 12317 result, UniqueHandle<VULKAN_HPP_NAMESPACE::VideoSessionKHR, Dispatch>( videoSession, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 12318 } 12319 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 12320 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 12321 12322 // wrapper function for command vkDestroyVideoSessionKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyVideoSessionKHR.html 12323 template <typename Dispatch> destroyVideoSessionKHR(VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const12324 VULKAN_HPP_INLINE void Device::destroyVideoSessionKHR( VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession, 12325 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 12326 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12327 { 12328 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12329 d.vkDestroyVideoSessionKHR( 12330 static_cast<VkDevice>( m_device ), static_cast<VkVideoSessionKHR>( videoSession ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 12331 } 12332 12333 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 12334 // wrapper function for command vkDestroyVideoSessionKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyVideoSessionKHR.html 12335 template <typename Dispatch> destroyVideoSessionKHR(VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const12336 VULKAN_HPP_INLINE void Device::destroyVideoSessionKHR( VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession, 12337 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 12338 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12339 { 12340 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12341 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 12342 VULKAN_HPP_ASSERT( d.vkDestroyVideoSessionKHR && "Function <vkDestroyVideoSessionKHR> requires <VK_KHR_video_queue>" ); 12343 # endif 12344 12345 d.vkDestroyVideoSessionKHR( 12346 m_device, 12347 static_cast<VkVideoSessionKHR>( videoSession ), 12348 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 12349 } 12350 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 12351 12352 // wrapper function for command vkDestroyVideoSessionKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyVideoSessionKHR.html 12353 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const12354 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession, 12355 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 12356 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12357 { 12358 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12359 d.vkDestroyVideoSessionKHR( 12360 static_cast<VkDevice>( m_device ), static_cast<VkVideoSessionKHR>( videoSession ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 12361 } 12362 12363 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 12364 // wrapper function for command vkDestroyVideoSessionKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyVideoSessionKHR.html 12365 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const12366 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession, 12367 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 12368 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12369 { 12370 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12371 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 12372 VULKAN_HPP_ASSERT( d.vkDestroyVideoSessionKHR && "Function <vkDestroyVideoSessionKHR> requires <VK_KHR_video_queue>" ); 12373 # endif 12374 12375 d.vkDestroyVideoSessionKHR( 12376 m_device, 12377 static_cast<VkVideoSessionKHR>( videoSession ), 12378 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 12379 } 12380 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 12381 12382 // wrapper function for command vkGetVideoSessionMemoryRequirementsKHR, see 12383 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetVideoSessionMemoryRequirementsKHR.html 12384 template <typename Dispatch> 12385 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getVideoSessionMemoryRequirementsKHR(VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession,uint32_t * pMemoryRequirementsCount,VULKAN_HPP_NAMESPACE::VideoSessionMemoryRequirementsKHR * pMemoryRequirements,Dispatch const & d) const12386 Device::getVideoSessionMemoryRequirementsKHR( VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession, 12387 uint32_t * pMemoryRequirementsCount, 12388 VULKAN_HPP_NAMESPACE::VideoSessionMemoryRequirementsKHR * pMemoryRequirements, 12389 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12390 { 12391 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12392 return static_cast<Result>( d.vkGetVideoSessionMemoryRequirementsKHR( static_cast<VkDevice>( m_device ), 12393 static_cast<VkVideoSessionKHR>( videoSession ), 12394 pMemoryRequirementsCount, 12395 reinterpret_cast<VkVideoSessionMemoryRequirementsKHR *>( pMemoryRequirements ) ) ); 12396 } 12397 12398 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 12399 // wrapper function for command vkGetVideoSessionMemoryRequirementsKHR, see 12400 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetVideoSessionMemoryRequirementsKHR.html 12401 template <typename VideoSessionMemoryRequirementsKHRAllocator, 12402 typename Dispatch, 12403 typename std::enable_if< 12404 std::is_same<typename VideoSessionMemoryRequirementsKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::VideoSessionMemoryRequirementsKHR>::value, 12405 int>::type> 12406 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 12407 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::VideoSessionMemoryRequirementsKHR, VideoSessionMemoryRequirementsKHRAllocator>>::type getVideoSessionMemoryRequirementsKHR(VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession,Dispatch const & d) const12408 Device::getVideoSessionMemoryRequirementsKHR( VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession, Dispatch const & d ) const 12409 { 12410 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12411 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 12412 VULKAN_HPP_ASSERT( d.vkGetVideoSessionMemoryRequirementsKHR && "Function <vkGetVideoSessionMemoryRequirementsKHR> requires <VK_KHR_video_queue>" ); 12413 # endif 12414 12415 std::vector<VULKAN_HPP_NAMESPACE::VideoSessionMemoryRequirementsKHR, VideoSessionMemoryRequirementsKHRAllocator> memoryRequirements; 12416 uint32_t memoryRequirementsCount; 12417 VULKAN_HPP_NAMESPACE::Result result; 12418 do 12419 { 12420 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 12421 d.vkGetVideoSessionMemoryRequirementsKHR( m_device, static_cast<VkVideoSessionKHR>( videoSession ), &memoryRequirementsCount, nullptr ) ); 12422 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && memoryRequirementsCount ) 12423 { 12424 memoryRequirements.resize( memoryRequirementsCount ); 12425 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 12426 d.vkGetVideoSessionMemoryRequirementsKHR( m_device, 12427 static_cast<VkVideoSessionKHR>( videoSession ), 12428 &memoryRequirementsCount, 12429 reinterpret_cast<VkVideoSessionMemoryRequirementsKHR *>( memoryRequirements.data() ) ) ); 12430 } 12431 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 12432 12433 VULKAN_HPP_ASSERT( memoryRequirementsCount <= memoryRequirements.size() ); 12434 if ( memoryRequirementsCount < memoryRequirements.size() ) 12435 { 12436 memoryRequirements.resize( memoryRequirementsCount ); 12437 } 12438 return memoryRequirements; 12439 } 12440 12441 // wrapper function for command vkGetVideoSessionMemoryRequirementsKHR, see 12442 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetVideoSessionMemoryRequirementsKHR.html 12443 template <typename VideoSessionMemoryRequirementsKHRAllocator, 12444 typename Dispatch, 12445 typename std::enable_if< 12446 std::is_same<typename VideoSessionMemoryRequirementsKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::VideoSessionMemoryRequirementsKHR>::value, 12447 int>::type> 12448 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 12449 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::VideoSessionMemoryRequirementsKHR, VideoSessionMemoryRequirementsKHRAllocator>>::type getVideoSessionMemoryRequirementsKHR(VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession,VideoSessionMemoryRequirementsKHRAllocator & videoSessionMemoryRequirementsKHRAllocator,Dispatch const & d) const12450 Device::getVideoSessionMemoryRequirementsKHR( VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession, 12451 VideoSessionMemoryRequirementsKHRAllocator & videoSessionMemoryRequirementsKHRAllocator, 12452 Dispatch const & d ) const 12453 { 12454 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12455 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 12456 VULKAN_HPP_ASSERT( d.vkGetVideoSessionMemoryRequirementsKHR && "Function <vkGetVideoSessionMemoryRequirementsKHR> requires <VK_KHR_video_queue>" ); 12457 # endif 12458 12459 std::vector<VULKAN_HPP_NAMESPACE::VideoSessionMemoryRequirementsKHR, VideoSessionMemoryRequirementsKHRAllocator> memoryRequirements( 12460 videoSessionMemoryRequirementsKHRAllocator ); 12461 uint32_t memoryRequirementsCount; 12462 VULKAN_HPP_NAMESPACE::Result result; 12463 do 12464 { 12465 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 12466 d.vkGetVideoSessionMemoryRequirementsKHR( m_device, static_cast<VkVideoSessionKHR>( videoSession ), &memoryRequirementsCount, nullptr ) ); 12467 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && memoryRequirementsCount ) 12468 { 12469 memoryRequirements.resize( memoryRequirementsCount ); 12470 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 12471 d.vkGetVideoSessionMemoryRequirementsKHR( m_device, 12472 static_cast<VkVideoSessionKHR>( videoSession ), 12473 &memoryRequirementsCount, 12474 reinterpret_cast<VkVideoSessionMemoryRequirementsKHR *>( memoryRequirements.data() ) ) ); 12475 } 12476 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 12477 12478 VULKAN_HPP_ASSERT( memoryRequirementsCount <= memoryRequirements.size() ); 12479 if ( memoryRequirementsCount < memoryRequirements.size() ) 12480 { 12481 memoryRequirements.resize( memoryRequirementsCount ); 12482 } 12483 return memoryRequirements; 12484 } 12485 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 12486 12487 // wrapper function for command vkBindVideoSessionMemoryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindVideoSessionMemoryKHR.html 12488 template <typename Dispatch> 12489 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result bindVideoSessionMemoryKHR(VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession,uint32_t bindSessionMemoryInfoCount,const VULKAN_HPP_NAMESPACE::BindVideoSessionMemoryInfoKHR * pBindSessionMemoryInfos,Dispatch const & d) const12490 Device::bindVideoSessionMemoryKHR( VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession, 12491 uint32_t bindSessionMemoryInfoCount, 12492 const VULKAN_HPP_NAMESPACE::BindVideoSessionMemoryInfoKHR * pBindSessionMemoryInfos, 12493 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12494 { 12495 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12496 return static_cast<Result>( d.vkBindVideoSessionMemoryKHR( static_cast<VkDevice>( m_device ), 12497 static_cast<VkVideoSessionKHR>( videoSession ), 12498 bindSessionMemoryInfoCount, 12499 reinterpret_cast<const VkBindVideoSessionMemoryInfoKHR *>( pBindSessionMemoryInfos ) ) ); 12500 } 12501 12502 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 12503 // wrapper function for command vkBindVideoSessionMemoryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindVideoSessionMemoryKHR.html 12504 template <typename Dispatch> bindVideoSessionMemoryKHR(VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BindVideoSessionMemoryInfoKHR> const & bindSessionMemoryInfos,Dispatch const & d) const12505 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::bindVideoSessionMemoryKHR( 12506 VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession, 12507 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BindVideoSessionMemoryInfoKHR> const & bindSessionMemoryInfos, 12508 Dispatch const & d ) const 12509 { 12510 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12511 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 12512 VULKAN_HPP_ASSERT( d.vkBindVideoSessionMemoryKHR && "Function <vkBindVideoSessionMemoryKHR> requires <VK_KHR_video_queue>" ); 12513 # endif 12514 12515 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 12516 d.vkBindVideoSessionMemoryKHR( m_device, 12517 static_cast<VkVideoSessionKHR>( videoSession ), 12518 bindSessionMemoryInfos.size(), 12519 reinterpret_cast<const VkBindVideoSessionMemoryInfoKHR *>( bindSessionMemoryInfos.data() ) ) ); 12520 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindVideoSessionMemoryKHR" ); 12521 12522 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 12523 } 12524 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 12525 12526 // wrapper function for command vkCreateVideoSessionParametersKHR, see 12527 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateVideoSessionParametersKHR.html 12528 template <typename Dispatch> 12529 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result createVideoSessionParametersKHR(const VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateInfoKHR * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR * pVideoSessionParameters,Dispatch const & d) const12530 Device::createVideoSessionParametersKHR( const VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateInfoKHR * pCreateInfo, 12531 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 12532 VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR * pVideoSessionParameters, 12533 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12534 { 12535 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12536 return static_cast<Result>( d.vkCreateVideoSessionParametersKHR( static_cast<VkDevice>( m_device ), 12537 reinterpret_cast<const VkVideoSessionParametersCreateInfoKHR *>( pCreateInfo ), 12538 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 12539 reinterpret_cast<VkVideoSessionParametersKHR *>( pVideoSessionParameters ) ) ); 12540 } 12541 12542 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 12543 // wrapper function for command vkCreateVideoSessionParametersKHR, see 12544 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateVideoSessionParametersKHR.html 12545 template <typename Dispatch> 12546 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR>::type createVideoSessionParametersKHR(const VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const12547 Device::createVideoSessionParametersKHR( const VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateInfoKHR & createInfo, 12548 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 12549 Dispatch const & d ) const 12550 { 12551 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12552 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 12553 VULKAN_HPP_ASSERT( d.vkCreateVideoSessionParametersKHR && "Function <vkCreateVideoSessionParametersKHR> requires <VK_KHR_video_queue>" ); 12554 # endif 12555 12556 VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters; 12557 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateVideoSessionParametersKHR( 12558 m_device, 12559 reinterpret_cast<const VkVideoSessionParametersCreateInfoKHR *>( &createInfo ), 12560 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 12561 reinterpret_cast<VkVideoSessionParametersKHR *>( &videoSessionParameters ) ) ); 12562 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createVideoSessionParametersKHR" ); 12563 12564 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( videoSessionParameters ) ); 12565 } 12566 12567 # ifndef VULKAN_HPP_NO_SMART_HANDLE 12568 // wrapper function for command vkCreateVideoSessionParametersKHR, see 12569 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateVideoSessionParametersKHR.html 12570 template <typename Dispatch> 12571 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR, Dispatch>>::type createVideoSessionParametersKHRUnique(const VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const12572 Device::createVideoSessionParametersKHRUnique( const VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateInfoKHR & createInfo, 12573 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 12574 Dispatch const & d ) const 12575 { 12576 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12577 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 12578 VULKAN_HPP_ASSERT( d.vkCreateVideoSessionParametersKHR && "Function <vkCreateVideoSessionParametersKHR> requires <VK_KHR_video_queue>" ); 12579 # endif 12580 12581 VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters; 12582 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateVideoSessionParametersKHR( 12583 m_device, 12584 reinterpret_cast<const VkVideoSessionParametersCreateInfoKHR *>( &createInfo ), 12585 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 12586 reinterpret_cast<VkVideoSessionParametersKHR *>( &videoSessionParameters ) ) ); 12587 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createVideoSessionParametersKHRUnique" ); 12588 12589 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, 12590 UniqueHandle<VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR, Dispatch>( 12591 videoSessionParameters, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 12592 } 12593 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 12594 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 12595 12596 // wrapper function for command vkUpdateVideoSessionParametersKHR, see 12597 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateVideoSessionParametersKHR.html 12598 template <typename Dispatch> 12599 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result updateVideoSessionParametersKHR(VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters,const VULKAN_HPP_NAMESPACE::VideoSessionParametersUpdateInfoKHR * pUpdateInfo,Dispatch const & d) const12600 Device::updateVideoSessionParametersKHR( VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters, 12601 const VULKAN_HPP_NAMESPACE::VideoSessionParametersUpdateInfoKHR * pUpdateInfo, 12602 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12603 { 12604 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12605 return static_cast<Result>( d.vkUpdateVideoSessionParametersKHR( static_cast<VkDevice>( m_device ), 12606 static_cast<VkVideoSessionParametersKHR>( videoSessionParameters ), 12607 reinterpret_cast<const VkVideoSessionParametersUpdateInfoKHR *>( pUpdateInfo ) ) ); 12608 } 12609 12610 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 12611 // wrapper function for command vkUpdateVideoSessionParametersKHR, see 12612 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateVideoSessionParametersKHR.html 12613 template <typename Dispatch> 12614 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type updateVideoSessionParametersKHR(VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters,const VULKAN_HPP_NAMESPACE::VideoSessionParametersUpdateInfoKHR & updateInfo,Dispatch const & d) const12615 Device::updateVideoSessionParametersKHR( VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters, 12616 const VULKAN_HPP_NAMESPACE::VideoSessionParametersUpdateInfoKHR & updateInfo, 12617 Dispatch const & d ) const 12618 { 12619 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12620 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 12621 VULKAN_HPP_ASSERT( d.vkUpdateVideoSessionParametersKHR && "Function <vkUpdateVideoSessionParametersKHR> requires <VK_KHR_video_queue>" ); 12622 # endif 12623 12624 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 12625 d.vkUpdateVideoSessionParametersKHR( m_device, 12626 static_cast<VkVideoSessionParametersKHR>( videoSessionParameters ), 12627 reinterpret_cast<const VkVideoSessionParametersUpdateInfoKHR *>( &updateInfo ) ) ); 12628 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::updateVideoSessionParametersKHR" ); 12629 12630 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 12631 } 12632 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 12633 12634 // wrapper function for command vkDestroyVideoSessionParametersKHR, see 12635 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyVideoSessionParametersKHR.html 12636 template <typename Dispatch> destroyVideoSessionParametersKHR(VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const12637 VULKAN_HPP_INLINE void Device::destroyVideoSessionParametersKHR( VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters, 12638 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 12639 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12640 { 12641 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12642 d.vkDestroyVideoSessionParametersKHR( static_cast<VkDevice>( m_device ), 12643 static_cast<VkVideoSessionParametersKHR>( videoSessionParameters ), 12644 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 12645 } 12646 12647 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 12648 // wrapper function for command vkDestroyVideoSessionParametersKHR, see 12649 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyVideoSessionParametersKHR.html 12650 template <typename Dispatch> destroyVideoSessionParametersKHR(VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const12651 VULKAN_HPP_INLINE void Device::destroyVideoSessionParametersKHR( VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters, 12652 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 12653 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12654 { 12655 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12656 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 12657 VULKAN_HPP_ASSERT( d.vkDestroyVideoSessionParametersKHR && "Function <vkDestroyVideoSessionParametersKHR> requires <VK_KHR_video_queue>" ); 12658 # endif 12659 12660 d.vkDestroyVideoSessionParametersKHR( 12661 m_device, 12662 static_cast<VkVideoSessionParametersKHR>( videoSessionParameters ), 12663 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 12664 } 12665 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 12666 12667 // wrapper function for command vkDestroyVideoSessionParametersKHR, see 12668 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyVideoSessionParametersKHR.html 12669 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const12670 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters, 12671 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 12672 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12673 { 12674 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12675 d.vkDestroyVideoSessionParametersKHR( static_cast<VkDevice>( m_device ), 12676 static_cast<VkVideoSessionParametersKHR>( videoSessionParameters ), 12677 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 12678 } 12679 12680 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 12681 // wrapper function for command vkDestroyVideoSessionParametersKHR, see 12682 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyVideoSessionParametersKHR.html 12683 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const12684 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters, 12685 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 12686 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12687 { 12688 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12689 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 12690 VULKAN_HPP_ASSERT( d.vkDestroyVideoSessionParametersKHR && "Function <vkDestroyVideoSessionParametersKHR> requires <VK_KHR_video_queue>" ); 12691 # endif 12692 12693 d.vkDestroyVideoSessionParametersKHR( 12694 m_device, 12695 static_cast<VkVideoSessionParametersKHR>( videoSessionParameters ), 12696 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 12697 } 12698 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 12699 12700 // wrapper function for command vkCmdBeginVideoCodingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginVideoCodingKHR.html 12701 template <typename Dispatch> beginVideoCodingKHR(const VULKAN_HPP_NAMESPACE::VideoBeginCodingInfoKHR * pBeginInfo,Dispatch const & d) const12702 VULKAN_HPP_INLINE void CommandBuffer::beginVideoCodingKHR( const VULKAN_HPP_NAMESPACE::VideoBeginCodingInfoKHR * pBeginInfo, 12703 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12704 { 12705 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12706 d.vkCmdBeginVideoCodingKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkVideoBeginCodingInfoKHR *>( pBeginInfo ) ); 12707 } 12708 12709 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 12710 // wrapper function for command vkCmdBeginVideoCodingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginVideoCodingKHR.html 12711 template <typename Dispatch> beginVideoCodingKHR(const VULKAN_HPP_NAMESPACE::VideoBeginCodingInfoKHR & beginInfo,Dispatch const & d) const12712 VULKAN_HPP_INLINE void CommandBuffer::beginVideoCodingKHR( const VULKAN_HPP_NAMESPACE::VideoBeginCodingInfoKHR & beginInfo, 12713 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12714 { 12715 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12716 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 12717 VULKAN_HPP_ASSERT( d.vkCmdBeginVideoCodingKHR && "Function <vkCmdBeginVideoCodingKHR> requires <VK_KHR_video_queue>" ); 12718 # endif 12719 12720 d.vkCmdBeginVideoCodingKHR( m_commandBuffer, reinterpret_cast<const VkVideoBeginCodingInfoKHR *>( &beginInfo ) ); 12721 } 12722 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 12723 12724 // wrapper function for command vkCmdEndVideoCodingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndVideoCodingKHR.html 12725 template <typename Dispatch> endVideoCodingKHR(const VULKAN_HPP_NAMESPACE::VideoEndCodingInfoKHR * pEndCodingInfo,Dispatch const & d) const12726 VULKAN_HPP_INLINE void CommandBuffer::endVideoCodingKHR( const VULKAN_HPP_NAMESPACE::VideoEndCodingInfoKHR * pEndCodingInfo, 12727 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12728 { 12729 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12730 d.vkCmdEndVideoCodingKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkVideoEndCodingInfoKHR *>( pEndCodingInfo ) ); 12731 } 12732 12733 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 12734 // wrapper function for command vkCmdEndVideoCodingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndVideoCodingKHR.html 12735 template <typename Dispatch> endVideoCodingKHR(const VULKAN_HPP_NAMESPACE::VideoEndCodingInfoKHR & endCodingInfo,Dispatch const & d) const12736 VULKAN_HPP_INLINE void CommandBuffer::endVideoCodingKHR( const VULKAN_HPP_NAMESPACE::VideoEndCodingInfoKHR & endCodingInfo, 12737 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12738 { 12739 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12740 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 12741 VULKAN_HPP_ASSERT( d.vkCmdEndVideoCodingKHR && "Function <vkCmdEndVideoCodingKHR> requires <VK_KHR_video_queue>" ); 12742 # endif 12743 12744 d.vkCmdEndVideoCodingKHR( m_commandBuffer, reinterpret_cast<const VkVideoEndCodingInfoKHR *>( &endCodingInfo ) ); 12745 } 12746 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 12747 12748 // wrapper function for command vkCmdControlVideoCodingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdControlVideoCodingKHR.html 12749 template <typename Dispatch> controlVideoCodingKHR(const VULKAN_HPP_NAMESPACE::VideoCodingControlInfoKHR * pCodingControlInfo,Dispatch const & d) const12750 VULKAN_HPP_INLINE void CommandBuffer::controlVideoCodingKHR( const VULKAN_HPP_NAMESPACE::VideoCodingControlInfoKHR * pCodingControlInfo, 12751 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12752 { 12753 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12754 d.vkCmdControlVideoCodingKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 12755 reinterpret_cast<const VkVideoCodingControlInfoKHR *>( pCodingControlInfo ) ); 12756 } 12757 12758 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 12759 // wrapper function for command vkCmdControlVideoCodingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdControlVideoCodingKHR.html 12760 template <typename Dispatch> controlVideoCodingKHR(const VULKAN_HPP_NAMESPACE::VideoCodingControlInfoKHR & codingControlInfo,Dispatch const & d) const12761 VULKAN_HPP_INLINE void CommandBuffer::controlVideoCodingKHR( const VULKAN_HPP_NAMESPACE::VideoCodingControlInfoKHR & codingControlInfo, 12762 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12763 { 12764 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12765 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 12766 VULKAN_HPP_ASSERT( d.vkCmdControlVideoCodingKHR && "Function <vkCmdControlVideoCodingKHR> requires <VK_KHR_video_queue>" ); 12767 # endif 12768 12769 d.vkCmdControlVideoCodingKHR( m_commandBuffer, reinterpret_cast<const VkVideoCodingControlInfoKHR *>( &codingControlInfo ) ); 12770 } 12771 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 12772 12773 //=== VK_KHR_video_decode_queue === 12774 12775 // wrapper function for command vkCmdDecodeVideoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecodeVideoKHR.html 12776 template <typename Dispatch> decodeVideoKHR(const VULKAN_HPP_NAMESPACE::VideoDecodeInfoKHR * pDecodeInfo,Dispatch const & d) const12777 VULKAN_HPP_INLINE void CommandBuffer::decodeVideoKHR( const VULKAN_HPP_NAMESPACE::VideoDecodeInfoKHR * pDecodeInfo, 12778 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12779 { 12780 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12781 d.vkCmdDecodeVideoKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkVideoDecodeInfoKHR *>( pDecodeInfo ) ); 12782 } 12783 12784 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 12785 // wrapper function for command vkCmdDecodeVideoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecodeVideoKHR.html 12786 template <typename Dispatch> decodeVideoKHR(const VULKAN_HPP_NAMESPACE::VideoDecodeInfoKHR & decodeInfo,Dispatch const & d) const12787 VULKAN_HPP_INLINE void CommandBuffer::decodeVideoKHR( const VULKAN_HPP_NAMESPACE::VideoDecodeInfoKHR & decodeInfo, 12788 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12789 { 12790 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12791 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 12792 VULKAN_HPP_ASSERT( d.vkCmdDecodeVideoKHR && "Function <vkCmdDecodeVideoKHR> requires <VK_KHR_video_decode_queue>" ); 12793 # endif 12794 12795 d.vkCmdDecodeVideoKHR( m_commandBuffer, reinterpret_cast<const VkVideoDecodeInfoKHR *>( &decodeInfo ) ); 12796 } 12797 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 12798 12799 //=== VK_EXT_transform_feedback === 12800 12801 // wrapper function for command vkCmdBindTransformFeedbackBuffersEXT, see 12802 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindTransformFeedbackBuffersEXT.html 12803 template <typename Dispatch> bindTransformFeedbackBuffersEXT(uint32_t firstBinding,uint32_t bindingCount,const VULKAN_HPP_NAMESPACE::Buffer * pBuffers,const VULKAN_HPP_NAMESPACE::DeviceSize * pOffsets,const VULKAN_HPP_NAMESPACE::DeviceSize * pSizes,Dispatch const & d) const12804 VULKAN_HPP_INLINE void CommandBuffer::bindTransformFeedbackBuffersEXT( uint32_t firstBinding, 12805 uint32_t bindingCount, 12806 const VULKAN_HPP_NAMESPACE::Buffer * pBuffers, 12807 const VULKAN_HPP_NAMESPACE::DeviceSize * pOffsets, 12808 const VULKAN_HPP_NAMESPACE::DeviceSize * pSizes, 12809 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12810 { 12811 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12812 d.vkCmdBindTransformFeedbackBuffersEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 12813 firstBinding, 12814 bindingCount, 12815 reinterpret_cast<const VkBuffer *>( pBuffers ), 12816 reinterpret_cast<const VkDeviceSize *>( pOffsets ), 12817 reinterpret_cast<const VkDeviceSize *>( pSizes ) ); 12818 } 12819 12820 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 12821 // wrapper function for command vkCmdBindTransformFeedbackBuffersEXT, see 12822 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindTransformFeedbackBuffersEXT.html 12823 template <typename Dispatch> 12824 VULKAN_HPP_INLINE void bindTransformFeedbackBuffersEXT(uint32_t firstBinding,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & sizes,Dispatch const & d) const12825 CommandBuffer::bindTransformFeedbackBuffersEXT( uint32_t firstBinding, 12826 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers, 12827 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets, 12828 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & sizes, 12829 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS 12830 { 12831 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12832 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 12833 VULKAN_HPP_ASSERT( d.vkCmdBindTransformFeedbackBuffersEXT && "Function <vkCmdBindTransformFeedbackBuffersEXT> requires <VK_EXT_transform_feedback>" ); 12834 # endif 12835 # ifdef VULKAN_HPP_NO_EXCEPTIONS 12836 VULKAN_HPP_ASSERT( buffers.size() == offsets.size() ); 12837 VULKAN_HPP_ASSERT( sizes.empty() || buffers.size() == sizes.size() ); 12838 # else 12839 if ( buffers.size() != offsets.size() ) 12840 { 12841 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindTransformFeedbackBuffersEXT: buffers.size() != offsets.size()" ); 12842 } 12843 if ( !sizes.empty() && buffers.size() != sizes.size() ) 12844 { 12845 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindTransformFeedbackBuffersEXT: buffers.size() != sizes.size()" ); 12846 } 12847 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ 12848 12849 d.vkCmdBindTransformFeedbackBuffersEXT( m_commandBuffer, 12850 firstBinding, 12851 buffers.size(), 12852 reinterpret_cast<const VkBuffer *>( buffers.data() ), 12853 reinterpret_cast<const VkDeviceSize *>( offsets.data() ), 12854 reinterpret_cast<const VkDeviceSize *>( sizes.data() ) ); 12855 } 12856 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 12857 12858 // wrapper function for command vkCmdBeginTransformFeedbackEXT, see 12859 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginTransformFeedbackEXT.html 12860 template <typename Dispatch> beginTransformFeedbackEXT(uint32_t firstCounterBuffer,uint32_t counterBufferCount,const VULKAN_HPP_NAMESPACE::Buffer * pCounterBuffers,const VULKAN_HPP_NAMESPACE::DeviceSize * pCounterBufferOffsets,Dispatch const & d) const12861 VULKAN_HPP_INLINE void CommandBuffer::beginTransformFeedbackEXT( uint32_t firstCounterBuffer, 12862 uint32_t counterBufferCount, 12863 const VULKAN_HPP_NAMESPACE::Buffer * pCounterBuffers, 12864 const VULKAN_HPP_NAMESPACE::DeviceSize * pCounterBufferOffsets, 12865 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12866 { 12867 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12868 d.vkCmdBeginTransformFeedbackEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 12869 firstCounterBuffer, 12870 counterBufferCount, 12871 reinterpret_cast<const VkBuffer *>( pCounterBuffers ), 12872 reinterpret_cast<const VkDeviceSize *>( pCounterBufferOffsets ) ); 12873 } 12874 12875 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 12876 // wrapper function for command vkCmdBeginTransformFeedbackEXT, see 12877 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginTransformFeedbackEXT.html 12878 template <typename Dispatch> 12879 VULKAN_HPP_INLINE void beginTransformFeedbackEXT(uint32_t firstCounterBuffer,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & counterBuffers,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & counterBufferOffsets,Dispatch const & d) const12880 CommandBuffer::beginTransformFeedbackEXT( uint32_t firstCounterBuffer, 12881 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & counterBuffers, 12882 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & counterBufferOffsets, 12883 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS 12884 { 12885 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12886 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 12887 VULKAN_HPP_ASSERT( d.vkCmdBeginTransformFeedbackEXT && "Function <vkCmdBeginTransformFeedbackEXT> requires <VK_EXT_transform_feedback>" ); 12888 # endif 12889 # ifdef VULKAN_HPP_NO_EXCEPTIONS 12890 VULKAN_HPP_ASSERT( counterBufferOffsets.empty() || counterBuffers.size() == counterBufferOffsets.size() ); 12891 # else 12892 if ( !counterBufferOffsets.empty() && counterBuffers.size() != counterBufferOffsets.size() ) 12893 { 12894 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::beginTransformFeedbackEXT: counterBuffers.size() != counterBufferOffsets.size()" ); 12895 } 12896 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ 12897 12898 d.vkCmdBeginTransformFeedbackEXT( m_commandBuffer, 12899 firstCounterBuffer, 12900 counterBuffers.size(), 12901 reinterpret_cast<const VkBuffer *>( counterBuffers.data() ), 12902 reinterpret_cast<const VkDeviceSize *>( counterBufferOffsets.data() ) ); 12903 } 12904 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 12905 12906 // wrapper function for command vkCmdEndTransformFeedbackEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndTransformFeedbackEXT.html 12907 template <typename Dispatch> endTransformFeedbackEXT(uint32_t firstCounterBuffer,uint32_t counterBufferCount,const VULKAN_HPP_NAMESPACE::Buffer * pCounterBuffers,const VULKAN_HPP_NAMESPACE::DeviceSize * pCounterBufferOffsets,Dispatch const & d) const12908 VULKAN_HPP_INLINE void CommandBuffer::endTransformFeedbackEXT( uint32_t firstCounterBuffer, 12909 uint32_t counterBufferCount, 12910 const VULKAN_HPP_NAMESPACE::Buffer * pCounterBuffers, 12911 const VULKAN_HPP_NAMESPACE::DeviceSize * pCounterBufferOffsets, 12912 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12913 { 12914 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12915 d.vkCmdEndTransformFeedbackEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 12916 firstCounterBuffer, 12917 counterBufferCount, 12918 reinterpret_cast<const VkBuffer *>( pCounterBuffers ), 12919 reinterpret_cast<const VkDeviceSize *>( pCounterBufferOffsets ) ); 12920 } 12921 12922 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 12923 // wrapper function for command vkCmdEndTransformFeedbackEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndTransformFeedbackEXT.html 12924 template <typename Dispatch> 12925 VULKAN_HPP_INLINE void endTransformFeedbackEXT(uint32_t firstCounterBuffer,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & counterBuffers,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & counterBufferOffsets,Dispatch const & d) const12926 CommandBuffer::endTransformFeedbackEXT( uint32_t firstCounterBuffer, 12927 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & counterBuffers, 12928 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & counterBufferOffsets, 12929 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS 12930 { 12931 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12932 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 12933 VULKAN_HPP_ASSERT( d.vkCmdEndTransformFeedbackEXT && "Function <vkCmdEndTransformFeedbackEXT> requires <VK_EXT_transform_feedback>" ); 12934 # endif 12935 # ifdef VULKAN_HPP_NO_EXCEPTIONS 12936 VULKAN_HPP_ASSERT( counterBufferOffsets.empty() || counterBuffers.size() == counterBufferOffsets.size() ); 12937 # else 12938 if ( !counterBufferOffsets.empty() && counterBuffers.size() != counterBufferOffsets.size() ) 12939 { 12940 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::endTransformFeedbackEXT: counterBuffers.size() != counterBufferOffsets.size()" ); 12941 } 12942 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ 12943 12944 d.vkCmdEndTransformFeedbackEXT( m_commandBuffer, 12945 firstCounterBuffer, 12946 counterBuffers.size(), 12947 reinterpret_cast<const VkBuffer *>( counterBuffers.data() ), 12948 reinterpret_cast<const VkDeviceSize *>( counterBufferOffsets.data() ) ); 12949 } 12950 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 12951 12952 // wrapper function for command vkCmdBeginQueryIndexedEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginQueryIndexedEXT.html 12953 template <typename Dispatch> beginQueryIndexedEXT(VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t query,VULKAN_HPP_NAMESPACE::QueryControlFlags flags,uint32_t index,Dispatch const & d) const12954 VULKAN_HPP_INLINE void CommandBuffer::beginQueryIndexedEXT( VULKAN_HPP_NAMESPACE::QueryPool queryPool, 12955 uint32_t query, 12956 VULKAN_HPP_NAMESPACE::QueryControlFlags flags, 12957 uint32_t index, 12958 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12959 { 12960 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12961 d.vkCmdBeginQueryIndexedEXT( 12962 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkQueryPool>( queryPool ), query, static_cast<VkQueryControlFlags>( flags ), index ); 12963 } 12964 12965 // wrapper function for command vkCmdEndQueryIndexedEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndQueryIndexedEXT.html 12966 template <typename Dispatch> 12967 VULKAN_HPP_INLINE void endQueryIndexedEXT(VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t query,uint32_t index,Dispatch const & d) const12968 CommandBuffer::endQueryIndexedEXT( VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query, uint32_t index, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12969 { 12970 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12971 d.vkCmdEndQueryIndexedEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkQueryPool>( queryPool ), query, index ); 12972 } 12973 12974 // wrapper function for command vkCmdDrawIndirectByteCountEXT, see 12975 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectByteCountEXT.html 12976 template <typename Dispatch> drawIndirectByteCountEXT(uint32_t instanceCount,uint32_t firstInstance,VULKAN_HPP_NAMESPACE::Buffer counterBuffer,VULKAN_HPP_NAMESPACE::DeviceSize counterBufferOffset,uint32_t counterOffset,uint32_t vertexStride,Dispatch const & d) const12977 VULKAN_HPP_INLINE void CommandBuffer::drawIndirectByteCountEXT( uint32_t instanceCount, 12978 uint32_t firstInstance, 12979 VULKAN_HPP_NAMESPACE::Buffer counterBuffer, 12980 VULKAN_HPP_NAMESPACE::DeviceSize counterBufferOffset, 12981 uint32_t counterOffset, 12982 uint32_t vertexStride, 12983 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 12984 { 12985 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 12986 d.vkCmdDrawIndirectByteCountEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 12987 instanceCount, 12988 firstInstance, 12989 static_cast<VkBuffer>( counterBuffer ), 12990 static_cast<VkDeviceSize>( counterBufferOffset ), 12991 counterOffset, 12992 vertexStride ); 12993 } 12994 12995 //=== VK_NVX_binary_import === 12996 12997 // wrapper function for command vkCreateCuModuleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCuModuleNVX.html 12998 template <typename Dispatch> createCuModuleNVX(const VULKAN_HPP_NAMESPACE::CuModuleCreateInfoNVX * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::CuModuleNVX * pModule,Dispatch const & d) const12999 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createCuModuleNVX( const VULKAN_HPP_NAMESPACE::CuModuleCreateInfoNVX * pCreateInfo, 13000 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 13001 VULKAN_HPP_NAMESPACE::CuModuleNVX * pModule, 13002 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13003 { 13004 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13005 return static_cast<Result>( d.vkCreateCuModuleNVX( static_cast<VkDevice>( m_device ), 13006 reinterpret_cast<const VkCuModuleCreateInfoNVX *>( pCreateInfo ), 13007 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 13008 reinterpret_cast<VkCuModuleNVX *>( pModule ) ) ); 13009 } 13010 13011 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 13012 // wrapper function for command vkCreateCuModuleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCuModuleNVX.html 13013 template <typename Dispatch> 13014 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::CuModuleNVX>::type createCuModuleNVX(const VULKAN_HPP_NAMESPACE::CuModuleCreateInfoNVX & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const13015 Device::createCuModuleNVX( const VULKAN_HPP_NAMESPACE::CuModuleCreateInfoNVX & createInfo, 13016 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 13017 Dispatch const & d ) const 13018 { 13019 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13020 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13021 VULKAN_HPP_ASSERT( d.vkCreateCuModuleNVX && "Function <vkCreateCuModuleNVX> requires <VK_NVX_binary_import>" ); 13022 # endif 13023 13024 VULKAN_HPP_NAMESPACE::CuModuleNVX module; 13025 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 13026 d.vkCreateCuModuleNVX( m_device, 13027 reinterpret_cast<const VkCuModuleCreateInfoNVX *>( &createInfo ), 13028 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 13029 reinterpret_cast<VkCuModuleNVX *>( &module ) ) ); 13030 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createCuModuleNVX" ); 13031 13032 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( module ) ); 13033 } 13034 13035 # ifndef VULKAN_HPP_NO_SMART_HANDLE 13036 // wrapper function for command vkCreateCuModuleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCuModuleNVX.html 13037 template <typename Dispatch> 13038 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::CuModuleNVX, Dispatch>>::type createCuModuleNVXUnique(const VULKAN_HPP_NAMESPACE::CuModuleCreateInfoNVX & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const13039 Device::createCuModuleNVXUnique( const VULKAN_HPP_NAMESPACE::CuModuleCreateInfoNVX & createInfo, 13040 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 13041 Dispatch const & d ) const 13042 { 13043 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13044 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13045 VULKAN_HPP_ASSERT( d.vkCreateCuModuleNVX && "Function <vkCreateCuModuleNVX> requires <VK_NVX_binary_import>" ); 13046 # endif 13047 13048 VULKAN_HPP_NAMESPACE::CuModuleNVX module; 13049 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 13050 d.vkCreateCuModuleNVX( m_device, 13051 reinterpret_cast<const VkCuModuleCreateInfoNVX *>( &createInfo ), 13052 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 13053 reinterpret_cast<VkCuModuleNVX *>( &module ) ) ); 13054 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createCuModuleNVXUnique" ); 13055 13056 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 13057 result, UniqueHandle<VULKAN_HPP_NAMESPACE::CuModuleNVX, Dispatch>( module, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 13058 } 13059 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 13060 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 13061 13062 // wrapper function for command vkCreateCuFunctionNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCuFunctionNVX.html 13063 template <typename Dispatch> createCuFunctionNVX(const VULKAN_HPP_NAMESPACE::CuFunctionCreateInfoNVX * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::CuFunctionNVX * pFunction,Dispatch const & d) const13064 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createCuFunctionNVX( const VULKAN_HPP_NAMESPACE::CuFunctionCreateInfoNVX * pCreateInfo, 13065 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 13066 VULKAN_HPP_NAMESPACE::CuFunctionNVX * pFunction, 13067 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13068 { 13069 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13070 return static_cast<Result>( d.vkCreateCuFunctionNVX( static_cast<VkDevice>( m_device ), 13071 reinterpret_cast<const VkCuFunctionCreateInfoNVX *>( pCreateInfo ), 13072 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 13073 reinterpret_cast<VkCuFunctionNVX *>( pFunction ) ) ); 13074 } 13075 13076 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 13077 // wrapper function for command vkCreateCuFunctionNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCuFunctionNVX.html 13078 template <typename Dispatch> 13079 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::CuFunctionNVX>::type createCuFunctionNVX(const VULKAN_HPP_NAMESPACE::CuFunctionCreateInfoNVX & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const13080 Device::createCuFunctionNVX( const VULKAN_HPP_NAMESPACE::CuFunctionCreateInfoNVX & createInfo, 13081 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 13082 Dispatch const & d ) const 13083 { 13084 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13085 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13086 VULKAN_HPP_ASSERT( d.vkCreateCuFunctionNVX && "Function <vkCreateCuFunctionNVX> requires <VK_NVX_binary_import>" ); 13087 # endif 13088 13089 VULKAN_HPP_NAMESPACE::CuFunctionNVX function; 13090 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 13091 d.vkCreateCuFunctionNVX( m_device, 13092 reinterpret_cast<const VkCuFunctionCreateInfoNVX *>( &createInfo ), 13093 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 13094 reinterpret_cast<VkCuFunctionNVX *>( &function ) ) ); 13095 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createCuFunctionNVX" ); 13096 13097 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( function ) ); 13098 } 13099 13100 # ifndef VULKAN_HPP_NO_SMART_HANDLE 13101 // wrapper function for command vkCreateCuFunctionNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCuFunctionNVX.html 13102 template <typename Dispatch> 13103 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::CuFunctionNVX, Dispatch>>::type createCuFunctionNVXUnique(const VULKAN_HPP_NAMESPACE::CuFunctionCreateInfoNVX & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const13104 Device::createCuFunctionNVXUnique( const VULKAN_HPP_NAMESPACE::CuFunctionCreateInfoNVX & createInfo, 13105 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 13106 Dispatch const & d ) const 13107 { 13108 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13109 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13110 VULKAN_HPP_ASSERT( d.vkCreateCuFunctionNVX && "Function <vkCreateCuFunctionNVX> requires <VK_NVX_binary_import>" ); 13111 # endif 13112 13113 VULKAN_HPP_NAMESPACE::CuFunctionNVX function; 13114 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 13115 d.vkCreateCuFunctionNVX( m_device, 13116 reinterpret_cast<const VkCuFunctionCreateInfoNVX *>( &createInfo ), 13117 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 13118 reinterpret_cast<VkCuFunctionNVX *>( &function ) ) ); 13119 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createCuFunctionNVXUnique" ); 13120 13121 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 13122 result, UniqueHandle<VULKAN_HPP_NAMESPACE::CuFunctionNVX, Dispatch>( function, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 13123 } 13124 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 13125 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 13126 13127 // wrapper function for command vkDestroyCuModuleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCuModuleNVX.html 13128 template <typename Dispatch> destroyCuModuleNVX(VULKAN_HPP_NAMESPACE::CuModuleNVX module,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const13129 VULKAN_HPP_INLINE void Device::destroyCuModuleNVX( VULKAN_HPP_NAMESPACE::CuModuleNVX module, 13130 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 13131 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13132 { 13133 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13134 d.vkDestroyCuModuleNVX( 13135 static_cast<VkDevice>( m_device ), static_cast<VkCuModuleNVX>( module ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 13136 } 13137 13138 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 13139 // wrapper function for command vkDestroyCuModuleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCuModuleNVX.html 13140 template <typename Dispatch> destroyCuModuleNVX(VULKAN_HPP_NAMESPACE::CuModuleNVX module,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const13141 VULKAN_HPP_INLINE void Device::destroyCuModuleNVX( VULKAN_HPP_NAMESPACE::CuModuleNVX module, 13142 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 13143 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13144 { 13145 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13146 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13147 VULKAN_HPP_ASSERT( d.vkDestroyCuModuleNVX && "Function <vkDestroyCuModuleNVX> requires <VK_NVX_binary_import>" ); 13148 # endif 13149 13150 d.vkDestroyCuModuleNVX( m_device, 13151 static_cast<VkCuModuleNVX>( module ), 13152 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 13153 } 13154 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 13155 13156 // wrapper function for command vkDestroyCuModuleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCuModuleNVX.html 13157 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::CuModuleNVX module,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const13158 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::CuModuleNVX module, 13159 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 13160 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13161 { 13162 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13163 d.vkDestroyCuModuleNVX( 13164 static_cast<VkDevice>( m_device ), static_cast<VkCuModuleNVX>( module ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 13165 } 13166 13167 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 13168 // wrapper function for command vkDestroyCuModuleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCuModuleNVX.html 13169 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::CuModuleNVX module,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const13170 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::CuModuleNVX module, 13171 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 13172 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13173 { 13174 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13175 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13176 VULKAN_HPP_ASSERT( d.vkDestroyCuModuleNVX && "Function <vkDestroyCuModuleNVX> requires <VK_NVX_binary_import>" ); 13177 # endif 13178 13179 d.vkDestroyCuModuleNVX( m_device, 13180 static_cast<VkCuModuleNVX>( module ), 13181 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 13182 } 13183 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 13184 13185 // wrapper function for command vkDestroyCuFunctionNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCuFunctionNVX.html 13186 template <typename Dispatch> destroyCuFunctionNVX(VULKAN_HPP_NAMESPACE::CuFunctionNVX function,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const13187 VULKAN_HPP_INLINE void Device::destroyCuFunctionNVX( VULKAN_HPP_NAMESPACE::CuFunctionNVX function, 13188 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 13189 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13190 { 13191 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13192 d.vkDestroyCuFunctionNVX( 13193 static_cast<VkDevice>( m_device ), static_cast<VkCuFunctionNVX>( function ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 13194 } 13195 13196 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 13197 // wrapper function for command vkDestroyCuFunctionNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCuFunctionNVX.html 13198 template <typename Dispatch> destroyCuFunctionNVX(VULKAN_HPP_NAMESPACE::CuFunctionNVX function,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const13199 VULKAN_HPP_INLINE void Device::destroyCuFunctionNVX( VULKAN_HPP_NAMESPACE::CuFunctionNVX function, 13200 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 13201 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13202 { 13203 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13204 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13205 VULKAN_HPP_ASSERT( d.vkDestroyCuFunctionNVX && "Function <vkDestroyCuFunctionNVX> requires <VK_NVX_binary_import>" ); 13206 # endif 13207 13208 d.vkDestroyCuFunctionNVX( m_device, 13209 static_cast<VkCuFunctionNVX>( function ), 13210 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 13211 } 13212 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 13213 13214 // wrapper function for command vkDestroyCuFunctionNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCuFunctionNVX.html 13215 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::CuFunctionNVX function,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const13216 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::CuFunctionNVX function, 13217 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 13218 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13219 { 13220 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13221 d.vkDestroyCuFunctionNVX( 13222 static_cast<VkDevice>( m_device ), static_cast<VkCuFunctionNVX>( function ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 13223 } 13224 13225 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 13226 // wrapper function for command vkDestroyCuFunctionNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCuFunctionNVX.html 13227 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::CuFunctionNVX function,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const13228 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::CuFunctionNVX function, 13229 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 13230 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13231 { 13232 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13233 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13234 VULKAN_HPP_ASSERT( d.vkDestroyCuFunctionNVX && "Function <vkDestroyCuFunctionNVX> requires <VK_NVX_binary_import>" ); 13235 # endif 13236 13237 d.vkDestroyCuFunctionNVX( m_device, 13238 static_cast<VkCuFunctionNVX>( function ), 13239 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 13240 } 13241 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 13242 13243 // wrapper function for command vkCmdCuLaunchKernelNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCuLaunchKernelNVX.html 13244 template <typename Dispatch> cuLaunchKernelNVX(const VULKAN_HPP_NAMESPACE::CuLaunchInfoNVX * pLaunchInfo,Dispatch const & d) const13245 VULKAN_HPP_INLINE void CommandBuffer::cuLaunchKernelNVX( const VULKAN_HPP_NAMESPACE::CuLaunchInfoNVX * pLaunchInfo, 13246 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13247 { 13248 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13249 d.vkCmdCuLaunchKernelNVX( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkCuLaunchInfoNVX *>( pLaunchInfo ) ); 13250 } 13251 13252 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 13253 // wrapper function for command vkCmdCuLaunchKernelNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCuLaunchKernelNVX.html 13254 template <typename Dispatch> cuLaunchKernelNVX(const VULKAN_HPP_NAMESPACE::CuLaunchInfoNVX & launchInfo,Dispatch const & d) const13255 VULKAN_HPP_INLINE void CommandBuffer::cuLaunchKernelNVX( const VULKAN_HPP_NAMESPACE::CuLaunchInfoNVX & launchInfo, 13256 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13257 { 13258 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13259 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13260 VULKAN_HPP_ASSERT( d.vkCmdCuLaunchKernelNVX && "Function <vkCmdCuLaunchKernelNVX> requires <VK_NVX_binary_import>" ); 13261 # endif 13262 13263 d.vkCmdCuLaunchKernelNVX( m_commandBuffer, reinterpret_cast<const VkCuLaunchInfoNVX *>( &launchInfo ) ); 13264 } 13265 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 13266 13267 //=== VK_NVX_image_view_handle === 13268 13269 // wrapper function for command vkGetImageViewHandleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewHandleNVX.html 13270 template <typename Dispatch> getImageViewHandleNVX(const VULKAN_HPP_NAMESPACE::ImageViewHandleInfoNVX * pInfo,Dispatch const & d) const13271 VULKAN_HPP_INLINE uint32_t Device::getImageViewHandleNVX( const VULKAN_HPP_NAMESPACE::ImageViewHandleInfoNVX * pInfo, 13272 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13273 { 13274 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13275 return d.vkGetImageViewHandleNVX( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImageViewHandleInfoNVX *>( pInfo ) ); 13276 } 13277 13278 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 13279 // wrapper function for command vkGetImageViewHandleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewHandleNVX.html 13280 template <typename Dispatch> getImageViewHandleNVX(const VULKAN_HPP_NAMESPACE::ImageViewHandleInfoNVX & info,Dispatch const & d) const13281 VULKAN_HPP_INLINE uint32_t Device::getImageViewHandleNVX( const VULKAN_HPP_NAMESPACE::ImageViewHandleInfoNVX & info, 13282 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13283 { 13284 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13285 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13286 VULKAN_HPP_ASSERT( d.vkGetImageViewHandleNVX && "Function <vkGetImageViewHandleNVX> requires <VK_NVX_image_view_handle>" ); 13287 # endif 13288 13289 uint32_t result = d.vkGetImageViewHandleNVX( m_device, reinterpret_cast<const VkImageViewHandleInfoNVX *>( &info ) ); 13290 13291 return result; 13292 } 13293 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 13294 13295 // wrapper function for command vkGetImageViewHandle64NVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewHandle64NVX.html 13296 template <typename Dispatch> getImageViewHandle64NVX(const VULKAN_HPP_NAMESPACE::ImageViewHandleInfoNVX * pInfo,Dispatch const & d) const13297 VULKAN_HPP_INLINE uint64_t Device::getImageViewHandle64NVX( const VULKAN_HPP_NAMESPACE::ImageViewHandleInfoNVX * pInfo, 13298 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13299 { 13300 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13301 return d.vkGetImageViewHandle64NVX( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImageViewHandleInfoNVX *>( pInfo ) ); 13302 } 13303 13304 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 13305 // wrapper function for command vkGetImageViewHandle64NVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewHandle64NVX.html 13306 template <typename Dispatch> getImageViewHandle64NVX(const VULKAN_HPP_NAMESPACE::ImageViewHandleInfoNVX & info,Dispatch const & d) const13307 VULKAN_HPP_INLINE uint64_t Device::getImageViewHandle64NVX( const VULKAN_HPP_NAMESPACE::ImageViewHandleInfoNVX & info, 13308 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13309 { 13310 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13311 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13312 VULKAN_HPP_ASSERT( d.vkGetImageViewHandle64NVX && "Function <vkGetImageViewHandle64NVX> requires <VK_NVX_image_view_handle>" ); 13313 # endif 13314 13315 uint64_t result = d.vkGetImageViewHandle64NVX( m_device, reinterpret_cast<const VkImageViewHandleInfoNVX *>( &info ) ); 13316 13317 return result; 13318 } 13319 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 13320 13321 // wrapper function for command vkGetImageViewAddressNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewAddressNVX.html 13322 template <typename Dispatch> getImageViewAddressNVX(VULKAN_HPP_NAMESPACE::ImageView imageView,VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX * pProperties,Dispatch const & d) const13323 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getImageViewAddressNVX( VULKAN_HPP_NAMESPACE::ImageView imageView, 13324 VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX * pProperties, 13325 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13326 { 13327 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13328 return static_cast<Result>( d.vkGetImageViewAddressNVX( 13329 static_cast<VkDevice>( m_device ), static_cast<VkImageView>( imageView ), reinterpret_cast<VkImageViewAddressPropertiesNVX *>( pProperties ) ) ); 13330 } 13331 13332 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 13333 // wrapper function for command vkGetImageViewAddressNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewAddressNVX.html 13334 template <typename Dispatch> 13335 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX>::type getImageViewAddressNVX(VULKAN_HPP_NAMESPACE::ImageView imageView,Dispatch const & d) const13336 Device::getImageViewAddressNVX( VULKAN_HPP_NAMESPACE::ImageView imageView, Dispatch const & d ) const 13337 { 13338 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13339 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13340 VULKAN_HPP_ASSERT( d.vkGetImageViewAddressNVX && "Function <vkGetImageViewAddressNVX> requires <VK_NVX_image_view_handle>" ); 13341 # endif 13342 13343 VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX properties; 13344 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 13345 d.vkGetImageViewAddressNVX( m_device, static_cast<VkImageView>( imageView ), reinterpret_cast<VkImageViewAddressPropertiesNVX *>( &properties ) ) ); 13346 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getImageViewAddressNVX" ); 13347 13348 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 13349 } 13350 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 13351 13352 //=== VK_AMD_draw_indirect_count === 13353 13354 // wrapper function for command vkCmdDrawIndirectCountAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectCountAMD.html 13355 template <typename Dispatch> drawIndirectCountAMD(VULKAN_HPP_NAMESPACE::Buffer buffer,VULKAN_HPP_NAMESPACE::DeviceSize offset,VULKAN_HPP_NAMESPACE::Buffer countBuffer,VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride,Dispatch const & d) const13356 VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCountAMD( VULKAN_HPP_NAMESPACE::Buffer buffer, 13357 VULKAN_HPP_NAMESPACE::DeviceSize offset, 13358 VULKAN_HPP_NAMESPACE::Buffer countBuffer, 13359 VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, 13360 uint32_t maxDrawCount, 13361 uint32_t stride, 13362 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13363 { 13364 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13365 d.vkCmdDrawIndirectCountAMD( static_cast<VkCommandBuffer>( m_commandBuffer ), 13366 static_cast<VkBuffer>( buffer ), 13367 static_cast<VkDeviceSize>( offset ), 13368 static_cast<VkBuffer>( countBuffer ), 13369 static_cast<VkDeviceSize>( countBufferOffset ), 13370 maxDrawCount, 13371 stride ); 13372 } 13373 13374 // wrapper function for command vkCmdDrawIndexedIndirectCountAMD, see 13375 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirectCountAMD.html 13376 template <typename Dispatch> drawIndexedIndirectCountAMD(VULKAN_HPP_NAMESPACE::Buffer buffer,VULKAN_HPP_NAMESPACE::DeviceSize offset,VULKAN_HPP_NAMESPACE::Buffer countBuffer,VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride,Dispatch const & d) const13377 VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCountAMD( VULKAN_HPP_NAMESPACE::Buffer buffer, 13378 VULKAN_HPP_NAMESPACE::DeviceSize offset, 13379 VULKAN_HPP_NAMESPACE::Buffer countBuffer, 13380 VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, 13381 uint32_t maxDrawCount, 13382 uint32_t stride, 13383 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13384 { 13385 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13386 d.vkCmdDrawIndexedIndirectCountAMD( static_cast<VkCommandBuffer>( m_commandBuffer ), 13387 static_cast<VkBuffer>( buffer ), 13388 static_cast<VkDeviceSize>( offset ), 13389 static_cast<VkBuffer>( countBuffer ), 13390 static_cast<VkDeviceSize>( countBufferOffset ), 13391 maxDrawCount, 13392 stride ); 13393 } 13394 13395 //=== VK_AMD_shader_info === 13396 13397 // wrapper function for command vkGetShaderInfoAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderInfoAMD.html 13398 template <typename Dispatch> getShaderInfoAMD(VULKAN_HPP_NAMESPACE::Pipeline pipeline,VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage,VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD infoType,size_t * pInfoSize,void * pInfo,Dispatch const & d) const13399 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getShaderInfoAMD( VULKAN_HPP_NAMESPACE::Pipeline pipeline, 13400 VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage, 13401 VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD infoType, 13402 size_t * pInfoSize, 13403 void * pInfo, 13404 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13405 { 13406 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13407 return static_cast<Result>( d.vkGetShaderInfoAMD( static_cast<VkDevice>( m_device ), 13408 static_cast<VkPipeline>( pipeline ), 13409 static_cast<VkShaderStageFlagBits>( shaderStage ), 13410 static_cast<VkShaderInfoTypeAMD>( infoType ), 13411 pInfoSize, 13412 pInfo ) ); 13413 } 13414 13415 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 13416 // wrapper function for command vkGetShaderInfoAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderInfoAMD.html 13417 template <typename Uint8_tAllocator, 13418 typename Dispatch, 13419 typename std::enable_if<std::is_same<typename Uint8_tAllocator::value_type, uint8_t>::value, int>::type> 13420 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type getShaderInfoAMD(VULKAN_HPP_NAMESPACE::Pipeline pipeline,VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage,VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD infoType,Dispatch const & d) const13421 Device::getShaderInfoAMD( VULKAN_HPP_NAMESPACE::Pipeline pipeline, 13422 VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage, 13423 VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD infoType, 13424 Dispatch const & d ) const 13425 { 13426 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13427 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13428 VULKAN_HPP_ASSERT( d.vkGetShaderInfoAMD && "Function <vkGetShaderInfoAMD> requires <VK_AMD_shader_info>" ); 13429 # endif 13430 13431 std::vector<uint8_t, Uint8_tAllocator> info; 13432 size_t infoSize; 13433 VULKAN_HPP_NAMESPACE::Result result; 13434 do 13435 { 13436 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetShaderInfoAMD( m_device, 13437 static_cast<VkPipeline>( pipeline ), 13438 static_cast<VkShaderStageFlagBits>( shaderStage ), 13439 static_cast<VkShaderInfoTypeAMD>( infoType ), 13440 &infoSize, 13441 nullptr ) ); 13442 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && infoSize ) 13443 { 13444 info.resize( infoSize ); 13445 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetShaderInfoAMD( m_device, 13446 static_cast<VkPipeline>( pipeline ), 13447 static_cast<VkShaderStageFlagBits>( shaderStage ), 13448 static_cast<VkShaderInfoTypeAMD>( infoType ), 13449 &infoSize, 13450 reinterpret_cast<void *>( info.data() ) ) ); 13451 } 13452 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 13453 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getShaderInfoAMD" ); 13454 VULKAN_HPP_ASSERT( infoSize <= info.size() ); 13455 if ( infoSize < info.size() ) 13456 { 13457 info.resize( infoSize ); 13458 } 13459 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( info ) ); 13460 } 13461 13462 // wrapper function for command vkGetShaderInfoAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderInfoAMD.html 13463 template <typename Uint8_tAllocator, 13464 typename Dispatch, 13465 typename std::enable_if<std::is_same<typename Uint8_tAllocator::value_type, uint8_t>::value, int>::type> 13466 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type getShaderInfoAMD(VULKAN_HPP_NAMESPACE::Pipeline pipeline,VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage,VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD infoType,Uint8_tAllocator & uint8_tAllocator,Dispatch const & d) const13467 Device::getShaderInfoAMD( VULKAN_HPP_NAMESPACE::Pipeline pipeline, 13468 VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage, 13469 VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD infoType, 13470 Uint8_tAllocator & uint8_tAllocator, 13471 Dispatch const & d ) const 13472 { 13473 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13474 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13475 VULKAN_HPP_ASSERT( d.vkGetShaderInfoAMD && "Function <vkGetShaderInfoAMD> requires <VK_AMD_shader_info>" ); 13476 # endif 13477 13478 std::vector<uint8_t, Uint8_tAllocator> info( uint8_tAllocator ); 13479 size_t infoSize; 13480 VULKAN_HPP_NAMESPACE::Result result; 13481 do 13482 { 13483 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetShaderInfoAMD( m_device, 13484 static_cast<VkPipeline>( pipeline ), 13485 static_cast<VkShaderStageFlagBits>( shaderStage ), 13486 static_cast<VkShaderInfoTypeAMD>( infoType ), 13487 &infoSize, 13488 nullptr ) ); 13489 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && infoSize ) 13490 { 13491 info.resize( infoSize ); 13492 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetShaderInfoAMD( m_device, 13493 static_cast<VkPipeline>( pipeline ), 13494 static_cast<VkShaderStageFlagBits>( shaderStage ), 13495 static_cast<VkShaderInfoTypeAMD>( infoType ), 13496 &infoSize, 13497 reinterpret_cast<void *>( info.data() ) ) ); 13498 } 13499 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 13500 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getShaderInfoAMD" ); 13501 VULKAN_HPP_ASSERT( infoSize <= info.size() ); 13502 if ( infoSize < info.size() ) 13503 { 13504 info.resize( infoSize ); 13505 } 13506 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( info ) ); 13507 } 13508 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 13509 13510 //=== VK_KHR_dynamic_rendering === 13511 13512 // wrapper function for command vkCmdBeginRenderingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderingKHR.html 13513 template <typename Dispatch> beginRenderingKHR(const VULKAN_HPP_NAMESPACE::RenderingInfo * pRenderingInfo,Dispatch const & d) const13514 VULKAN_HPP_INLINE void CommandBuffer::beginRenderingKHR( const VULKAN_HPP_NAMESPACE::RenderingInfo * pRenderingInfo, 13515 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13516 { 13517 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13518 d.vkCmdBeginRenderingKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkRenderingInfo *>( pRenderingInfo ) ); 13519 } 13520 13521 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 13522 // wrapper function for command vkCmdBeginRenderingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderingKHR.html 13523 template <typename Dispatch> beginRenderingKHR(const VULKAN_HPP_NAMESPACE::RenderingInfo & renderingInfo,Dispatch const & d) const13524 VULKAN_HPP_INLINE void CommandBuffer::beginRenderingKHR( const VULKAN_HPP_NAMESPACE::RenderingInfo & renderingInfo, 13525 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13526 { 13527 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13528 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13529 VULKAN_HPP_ASSERT( d.vkCmdBeginRenderingKHR && "Function <vkCmdBeginRenderingKHR> requires <VK_KHR_dynamic_rendering> or <VK_VERSION_1_3>" ); 13530 # endif 13531 13532 d.vkCmdBeginRenderingKHR( m_commandBuffer, reinterpret_cast<const VkRenderingInfo *>( &renderingInfo ) ); 13533 } 13534 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 13535 13536 // wrapper function for command vkCmdEndRenderingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderingKHR.html 13537 template <typename Dispatch> endRenderingKHR(Dispatch const & d) const13538 VULKAN_HPP_INLINE void CommandBuffer::endRenderingKHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13539 { 13540 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13541 d.vkCmdEndRenderingKHR( static_cast<VkCommandBuffer>( m_commandBuffer ) ); 13542 } 13543 13544 #if defined( VK_USE_PLATFORM_GGP ) 13545 //=== VK_GGP_stream_descriptor_surface === 13546 13547 // wrapper function for command vkCreateStreamDescriptorSurfaceGGP, see 13548 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateStreamDescriptorSurfaceGGP.html 13549 template <typename Dispatch> 13550 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result createStreamDescriptorSurfaceGGP(const VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,Dispatch const & d) const13551 Instance::createStreamDescriptorSurfaceGGP( const VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP * pCreateInfo, 13552 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 13553 VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface, 13554 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13555 { 13556 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13557 return static_cast<Result>( d.vkCreateStreamDescriptorSurfaceGGP( static_cast<VkInstance>( m_instance ), 13558 reinterpret_cast<const VkStreamDescriptorSurfaceCreateInfoGGP *>( pCreateInfo ), 13559 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 13560 reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) ); 13561 } 13562 13563 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 13564 // wrapper function for command vkCreateStreamDescriptorSurfaceGGP, see 13565 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateStreamDescriptorSurfaceGGP.html 13566 template <typename Dispatch> 13567 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type createStreamDescriptorSurfaceGGP(const VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const13568 Instance::createStreamDescriptorSurfaceGGP( const VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP & createInfo, 13569 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 13570 Dispatch const & d ) const 13571 { 13572 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13573 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13574 VULKAN_HPP_ASSERT( d.vkCreateStreamDescriptorSurfaceGGP && "Function <vkCreateStreamDescriptorSurfaceGGP> requires <VK_GGP_stream_descriptor_surface>" ); 13575 # endif 13576 13577 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 13578 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateStreamDescriptorSurfaceGGP( 13579 m_instance, 13580 reinterpret_cast<const VkStreamDescriptorSurfaceCreateInfoGGP *>( &createInfo ), 13581 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 13582 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 13583 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createStreamDescriptorSurfaceGGP" ); 13584 13585 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surface ) ); 13586 } 13587 13588 # ifndef VULKAN_HPP_NO_SMART_HANDLE 13589 // wrapper function for command vkCreateStreamDescriptorSurfaceGGP, see 13590 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateStreamDescriptorSurfaceGGP.html 13591 template <typename Dispatch> 13592 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type createStreamDescriptorSurfaceGGPUnique(const VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const13593 Instance::createStreamDescriptorSurfaceGGPUnique( const VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP & createInfo, 13594 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 13595 Dispatch const & d ) const 13596 { 13597 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13598 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13599 VULKAN_HPP_ASSERT( d.vkCreateStreamDescriptorSurfaceGGP && "Function <vkCreateStreamDescriptorSurfaceGGP> requires <VK_GGP_stream_descriptor_surface>" ); 13600 # endif 13601 13602 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 13603 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateStreamDescriptorSurfaceGGP( 13604 m_instance, 13605 reinterpret_cast<const VkStreamDescriptorSurfaceCreateInfoGGP *>( &createInfo ), 13606 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 13607 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 13608 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createStreamDescriptorSurfaceGGPUnique" ); 13609 13610 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 13611 result, UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>( surface, detail::ObjectDestroy<Instance, Dispatch>( *this, allocator, d ) ) ); 13612 } 13613 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 13614 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 13615 #endif /*VK_USE_PLATFORM_GGP*/ 13616 13617 //=== VK_NV_external_memory_capabilities === 13618 13619 // wrapper function for command vkGetPhysicalDeviceExternalImageFormatPropertiesNV, see 13620 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalImageFormatPropertiesNV.html 13621 template <typename Dispatch> 13622 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getExternalImageFormatPropertiesNV(VULKAN_HPP_NAMESPACE::Format format,VULKAN_HPP_NAMESPACE::ImageType type,VULKAN_HPP_NAMESPACE::ImageTiling tiling,VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,VULKAN_HPP_NAMESPACE::ImageCreateFlags flags,VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV externalHandleType,VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV * pExternalImageFormatProperties,Dispatch const & d) const13623 PhysicalDevice::getExternalImageFormatPropertiesNV( VULKAN_HPP_NAMESPACE::Format format, 13624 VULKAN_HPP_NAMESPACE::ImageType type, 13625 VULKAN_HPP_NAMESPACE::ImageTiling tiling, 13626 VULKAN_HPP_NAMESPACE::ImageUsageFlags usage, 13627 VULKAN_HPP_NAMESPACE::ImageCreateFlags flags, 13628 VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV externalHandleType, 13629 VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV * pExternalImageFormatProperties, 13630 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13631 { 13632 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13633 return static_cast<Result>( 13634 d.vkGetPhysicalDeviceExternalImageFormatPropertiesNV( static_cast<VkPhysicalDevice>( m_physicalDevice ), 13635 static_cast<VkFormat>( format ), 13636 static_cast<VkImageType>( type ), 13637 static_cast<VkImageTiling>( tiling ), 13638 static_cast<VkImageUsageFlags>( usage ), 13639 static_cast<VkImageCreateFlags>( flags ), 13640 static_cast<VkExternalMemoryHandleTypeFlagsNV>( externalHandleType ), 13641 reinterpret_cast<VkExternalImageFormatPropertiesNV *>( pExternalImageFormatProperties ) ) ); 13642 } 13643 13644 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 13645 // wrapper function for command vkGetPhysicalDeviceExternalImageFormatPropertiesNV, see 13646 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalImageFormatPropertiesNV.html 13647 template <typename Dispatch> 13648 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV>::type getExternalImageFormatPropertiesNV(VULKAN_HPP_NAMESPACE::Format format,VULKAN_HPP_NAMESPACE::ImageType type,VULKAN_HPP_NAMESPACE::ImageTiling tiling,VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,VULKAN_HPP_NAMESPACE::ImageCreateFlags flags,VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV externalHandleType,Dispatch const & d) const13649 PhysicalDevice::getExternalImageFormatPropertiesNV( VULKAN_HPP_NAMESPACE::Format format, 13650 VULKAN_HPP_NAMESPACE::ImageType type, 13651 VULKAN_HPP_NAMESPACE::ImageTiling tiling, 13652 VULKAN_HPP_NAMESPACE::ImageUsageFlags usage, 13653 VULKAN_HPP_NAMESPACE::ImageCreateFlags flags, 13654 VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV externalHandleType, 13655 Dispatch const & d ) const 13656 { 13657 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13658 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13659 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceExternalImageFormatPropertiesNV && 13660 "Function <vkGetPhysicalDeviceExternalImageFormatPropertiesNV> requires <VK_NV_external_memory_capabilities>" ); 13661 # endif 13662 13663 VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV externalImageFormatProperties; 13664 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 13665 d.vkGetPhysicalDeviceExternalImageFormatPropertiesNV( m_physicalDevice, 13666 static_cast<VkFormat>( format ), 13667 static_cast<VkImageType>( type ), 13668 static_cast<VkImageTiling>( tiling ), 13669 static_cast<VkImageUsageFlags>( usage ), 13670 static_cast<VkImageCreateFlags>( flags ), 13671 static_cast<VkExternalMemoryHandleTypeFlagsNV>( externalHandleType ), 13672 reinterpret_cast<VkExternalImageFormatPropertiesNV *>( &externalImageFormatProperties ) ) ); 13673 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getExternalImageFormatPropertiesNV" ); 13674 13675 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( externalImageFormatProperties ) ); 13676 } 13677 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 13678 13679 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 13680 //=== VK_NV_external_memory_win32 === 13681 13682 // wrapper function for command vkGetMemoryWin32HandleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryWin32HandleNV.html 13683 template <typename Dispatch> getMemoryWin32HandleNV(VULKAN_HPP_NAMESPACE::DeviceMemory memory,VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType,HANDLE * pHandle,Dispatch const & d) const13684 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getMemoryWin32HandleNV( VULKAN_HPP_NAMESPACE::DeviceMemory memory, 13685 VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType, 13686 HANDLE * pHandle, 13687 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13688 { 13689 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13690 return static_cast<Result>( d.vkGetMemoryWin32HandleNV( 13691 static_cast<VkDevice>( m_device ), static_cast<VkDeviceMemory>( memory ), static_cast<VkExternalMemoryHandleTypeFlagsNV>( handleType ), pHandle ) ); 13692 } 13693 13694 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 13695 // wrapper function for command vkGetMemoryWin32HandleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryWin32HandleNV.html 13696 template <typename Dispatch> getMemoryWin32HandleNV(VULKAN_HPP_NAMESPACE::DeviceMemory memory,VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType,Dispatch const & d) const13697 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<HANDLE>::type Device::getMemoryWin32HandleNV( 13698 VULKAN_HPP_NAMESPACE::DeviceMemory memory, VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType, Dispatch const & d ) const 13699 { 13700 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13701 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13702 VULKAN_HPP_ASSERT( d.vkGetMemoryWin32HandleNV && "Function <vkGetMemoryWin32HandleNV> requires <VK_NV_external_memory_win32>" ); 13703 # endif 13704 13705 HANDLE handle; 13706 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 13707 d.vkGetMemoryWin32HandleNV( m_device, static_cast<VkDeviceMemory>( memory ), static_cast<VkExternalMemoryHandleTypeFlagsNV>( handleType ), &handle ) ); 13708 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryWin32HandleNV" ); 13709 13710 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( handle ) ); 13711 } 13712 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 13713 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 13714 13715 //=== VK_KHR_get_physical_device_properties2 === 13716 13717 // wrapper function for command vkGetPhysicalDeviceFeatures2KHR, see 13718 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2KHR.html 13719 template <typename Dispatch> getFeatures2KHR(VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 * pFeatures,Dispatch const & d) const13720 VULKAN_HPP_INLINE void PhysicalDevice::getFeatures2KHR( VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 * pFeatures, 13721 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13722 { 13723 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13724 d.vkGetPhysicalDeviceFeatures2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), reinterpret_cast<VkPhysicalDeviceFeatures2 *>( pFeatures ) ); 13725 } 13726 13727 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 13728 // wrapper function for command vkGetPhysicalDeviceFeatures2KHR, see 13729 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2KHR.html 13730 template <typename Dispatch> 13731 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 getFeatures2KHR(Dispatch const & d) const13732 PhysicalDevice::getFeatures2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13733 { 13734 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13735 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13736 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceFeatures2KHR && 13737 "Function <vkGetPhysicalDeviceFeatures2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 13738 # endif 13739 13740 VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 features; 13741 d.vkGetPhysicalDeviceFeatures2KHR( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceFeatures2 *>( &features ) ); 13742 13743 return features; 13744 } 13745 13746 // wrapper function for command vkGetPhysicalDeviceFeatures2KHR, see 13747 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2KHR.html 13748 template <typename X, typename Y, typename... Z, typename Dispatch> 13749 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> getFeatures2KHR(Dispatch const & d) const13750 PhysicalDevice::getFeatures2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13751 { 13752 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13753 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13754 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceFeatures2KHR && 13755 "Function <vkGetPhysicalDeviceFeatures2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 13756 # endif 13757 13758 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 13759 VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 & features = structureChain.template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2>(); 13760 d.vkGetPhysicalDeviceFeatures2KHR( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceFeatures2 *>( &features ) ); 13761 13762 return structureChain; 13763 } 13764 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 13765 13766 // wrapper function for command vkGetPhysicalDeviceProperties2KHR, see 13767 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2KHR.html 13768 template <typename Dispatch> getProperties2KHR(VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 * pProperties,Dispatch const & d) const13769 VULKAN_HPP_INLINE void PhysicalDevice::getProperties2KHR( VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 * pProperties, 13770 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13771 { 13772 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13773 d.vkGetPhysicalDeviceProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), reinterpret_cast<VkPhysicalDeviceProperties2 *>( pProperties ) ); 13774 } 13775 13776 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 13777 // wrapper function for command vkGetPhysicalDeviceProperties2KHR, see 13778 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2KHR.html 13779 template <typename Dispatch> 13780 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 getProperties2KHR(Dispatch const & d) const13781 PhysicalDevice::getProperties2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13782 { 13783 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13784 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13785 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceProperties2KHR && 13786 "Function <vkGetPhysicalDeviceProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 13787 # endif 13788 13789 VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 properties; 13790 d.vkGetPhysicalDeviceProperties2KHR( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceProperties2 *>( &properties ) ); 13791 13792 return properties; 13793 } 13794 13795 // wrapper function for command vkGetPhysicalDeviceProperties2KHR, see 13796 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2KHR.html 13797 template <typename X, typename Y, typename... Z, typename Dispatch> 13798 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> getProperties2KHR(Dispatch const & d) const13799 PhysicalDevice::getProperties2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13800 { 13801 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13802 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13803 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceProperties2KHR && 13804 "Function <vkGetPhysicalDeviceProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 13805 # endif 13806 13807 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 13808 VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 & properties = structureChain.template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2>(); 13809 d.vkGetPhysicalDeviceProperties2KHR( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceProperties2 *>( &properties ) ); 13810 13811 return structureChain; 13812 } 13813 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 13814 13815 // wrapper function for command vkGetPhysicalDeviceFormatProperties2KHR, see 13816 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2KHR.html 13817 template <typename Dispatch> getFormatProperties2KHR(VULKAN_HPP_NAMESPACE::Format format,VULKAN_HPP_NAMESPACE::FormatProperties2 * pFormatProperties,Dispatch const & d) const13818 VULKAN_HPP_INLINE void PhysicalDevice::getFormatProperties2KHR( VULKAN_HPP_NAMESPACE::Format format, 13819 VULKAN_HPP_NAMESPACE::FormatProperties2 * pFormatProperties, 13820 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13821 { 13822 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13823 d.vkGetPhysicalDeviceFormatProperties2KHR( 13824 static_cast<VkPhysicalDevice>( m_physicalDevice ), static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties2 *>( pFormatProperties ) ); 13825 } 13826 13827 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 13828 // wrapper function for command vkGetPhysicalDeviceFormatProperties2KHR, see 13829 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2KHR.html 13830 template <typename Dispatch> 13831 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::FormatProperties2 getFormatProperties2KHR(VULKAN_HPP_NAMESPACE::Format format,Dispatch const & d) const13832 PhysicalDevice::getFormatProperties2KHR( VULKAN_HPP_NAMESPACE::Format format, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13833 { 13834 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13835 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13836 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceFormatProperties2KHR && 13837 "Function <vkGetPhysicalDeviceFormatProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 13838 # endif 13839 13840 VULKAN_HPP_NAMESPACE::FormatProperties2 formatProperties; 13841 d.vkGetPhysicalDeviceFormatProperties2KHR( 13842 m_physicalDevice, static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties2 *>( &formatProperties ) ); 13843 13844 return formatProperties; 13845 } 13846 13847 // wrapper function for command vkGetPhysicalDeviceFormatProperties2KHR, see 13848 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2KHR.html 13849 template <typename X, typename Y, typename... Z, typename Dispatch> 13850 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> getFormatProperties2KHR(VULKAN_HPP_NAMESPACE::Format format,Dispatch const & d) const13851 PhysicalDevice::getFormatProperties2KHR( VULKAN_HPP_NAMESPACE::Format format, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13852 { 13853 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13854 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13855 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceFormatProperties2KHR && 13856 "Function <vkGetPhysicalDeviceFormatProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 13857 # endif 13858 13859 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 13860 VULKAN_HPP_NAMESPACE::FormatProperties2 & formatProperties = structureChain.template get<VULKAN_HPP_NAMESPACE::FormatProperties2>(); 13861 d.vkGetPhysicalDeviceFormatProperties2KHR( 13862 m_physicalDevice, static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties2 *>( &formatProperties ) ); 13863 13864 return structureChain; 13865 } 13866 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 13867 13868 // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2KHR, see 13869 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html 13870 template <typename Dispatch> 13871 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getImageFormatProperties2KHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 * pImageFormatInfo,VULKAN_HPP_NAMESPACE::ImageFormatProperties2 * pImageFormatProperties,Dispatch const & d) const13872 PhysicalDevice::getImageFormatProperties2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 * pImageFormatInfo, 13873 VULKAN_HPP_NAMESPACE::ImageFormatProperties2 * pImageFormatProperties, 13874 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13875 { 13876 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13877 return static_cast<Result>( d.vkGetPhysicalDeviceImageFormatProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 13878 reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( pImageFormatInfo ), 13879 reinterpret_cast<VkImageFormatProperties2 *>( pImageFormatProperties ) ) ); 13880 } 13881 13882 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 13883 // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2KHR, see 13884 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html 13885 template <typename Dispatch> 13886 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageFormatProperties2>::type getImageFormatProperties2KHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 & imageFormatInfo,Dispatch const & d) const13887 PhysicalDevice::getImageFormatProperties2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 & imageFormatInfo, Dispatch const & d ) const 13888 { 13889 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13890 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13891 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceImageFormatProperties2KHR && 13892 "Function <vkGetPhysicalDeviceImageFormatProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 13893 # endif 13894 13895 VULKAN_HPP_NAMESPACE::ImageFormatProperties2 imageFormatProperties; 13896 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 13897 d.vkGetPhysicalDeviceImageFormatProperties2KHR( m_physicalDevice, 13898 reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( &imageFormatInfo ), 13899 reinterpret_cast<VkImageFormatProperties2 *>( &imageFormatProperties ) ) ); 13900 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2KHR" ); 13901 13902 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( imageFormatProperties ) ); 13903 } 13904 13905 // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2KHR, see 13906 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html 13907 template <typename X, typename Y, typename... Z, typename Dispatch> 13908 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>>::type getImageFormatProperties2KHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 & imageFormatInfo,Dispatch const & d) const13909 PhysicalDevice::getImageFormatProperties2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 & imageFormatInfo, Dispatch const & d ) const 13910 { 13911 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13912 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13913 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceImageFormatProperties2KHR && 13914 "Function <vkGetPhysicalDeviceImageFormatProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 13915 # endif 13916 13917 StructureChain<X, Y, Z...> structureChain; 13918 VULKAN_HPP_NAMESPACE::ImageFormatProperties2 & imageFormatProperties = structureChain.template get<VULKAN_HPP_NAMESPACE::ImageFormatProperties2>(); 13919 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 13920 d.vkGetPhysicalDeviceImageFormatProperties2KHR( m_physicalDevice, 13921 reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( &imageFormatInfo ), 13922 reinterpret_cast<VkImageFormatProperties2 *>( &imageFormatProperties ) ) ); 13923 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2KHR" ); 13924 13925 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChain ) ); 13926 } 13927 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 13928 13929 // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2KHR, see 13930 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html 13931 template <typename Dispatch> getQueueFamilyProperties2KHR(uint32_t * pQueueFamilyPropertyCount,VULKAN_HPP_NAMESPACE::QueueFamilyProperties2 * pQueueFamilyProperties,Dispatch const & d) const13932 VULKAN_HPP_INLINE void PhysicalDevice::getQueueFamilyProperties2KHR( uint32_t * pQueueFamilyPropertyCount, 13933 VULKAN_HPP_NAMESPACE::QueueFamilyProperties2 * pQueueFamilyProperties, 13934 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 13935 { 13936 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13937 d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( 13938 static_cast<VkPhysicalDevice>( m_physicalDevice ), pQueueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties2 *>( pQueueFamilyProperties ) ); 13939 } 13940 13941 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 13942 // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2KHR, see 13943 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html 13944 template < 13945 typename QueueFamilyProperties2Allocator, 13946 typename Dispatch, 13947 typename std::enable_if<std::is_same<typename QueueFamilyProperties2Allocator::value_type, VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>::value, int>::type> 13948 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2, QueueFamilyProperties2Allocator> getQueueFamilyProperties2KHR(Dispatch const & d) const13949 PhysicalDevice::getQueueFamilyProperties2KHR( Dispatch const & d ) const 13950 { 13951 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13952 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13953 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceQueueFamilyProperties2KHR && 13954 "Function <vkGetPhysicalDeviceQueueFamilyProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 13955 # endif 13956 13957 std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2, QueueFamilyProperties2Allocator> queueFamilyProperties; 13958 uint32_t queueFamilyPropertyCount; 13959 d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( m_physicalDevice, &queueFamilyPropertyCount, nullptr ); 13960 queueFamilyProperties.resize( queueFamilyPropertyCount ); 13961 d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( 13962 m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties2 *>( queueFamilyProperties.data() ) ); 13963 13964 VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); 13965 if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) 13966 { 13967 queueFamilyProperties.resize( queueFamilyPropertyCount ); 13968 } 13969 return queueFamilyProperties; 13970 } 13971 13972 // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2KHR, see 13973 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html 13974 template < 13975 typename QueueFamilyProperties2Allocator, 13976 typename Dispatch, 13977 typename std::enable_if<std::is_same<typename QueueFamilyProperties2Allocator::value_type, VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>::value, int>::type> 13978 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2, QueueFamilyProperties2Allocator> getQueueFamilyProperties2KHR(QueueFamilyProperties2Allocator & queueFamilyProperties2Allocator,Dispatch const & d) const13979 PhysicalDevice::getQueueFamilyProperties2KHR( QueueFamilyProperties2Allocator & queueFamilyProperties2Allocator, Dispatch const & d ) const 13980 { 13981 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 13982 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 13983 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceQueueFamilyProperties2KHR && 13984 "Function <vkGetPhysicalDeviceQueueFamilyProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 13985 # endif 13986 13987 std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2, QueueFamilyProperties2Allocator> queueFamilyProperties( queueFamilyProperties2Allocator ); 13988 uint32_t queueFamilyPropertyCount; 13989 d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( m_physicalDevice, &queueFamilyPropertyCount, nullptr ); 13990 queueFamilyProperties.resize( queueFamilyPropertyCount ); 13991 d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( 13992 m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties2 *>( queueFamilyProperties.data() ) ); 13993 13994 VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); 13995 if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) 13996 { 13997 queueFamilyProperties.resize( queueFamilyPropertyCount ); 13998 } 13999 return queueFamilyProperties; 14000 } 14001 14002 // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2KHR, see 14003 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html 14004 template <typename StructureChain, 14005 typename StructureChainAllocator, 14006 typename Dispatch, 14007 typename std::enable_if<std::is_same<typename StructureChainAllocator::value_type, StructureChain>::value, int>::type> 14008 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<StructureChain, StructureChainAllocator> getQueueFamilyProperties2KHR(Dispatch const & d) const14009 PhysicalDevice::getQueueFamilyProperties2KHR( Dispatch const & d ) const 14010 { 14011 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14012 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14013 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceQueueFamilyProperties2KHR && 14014 "Function <vkGetPhysicalDeviceQueueFamilyProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 14015 # endif 14016 14017 std::vector<StructureChain, StructureChainAllocator> structureChains; 14018 std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> queueFamilyProperties; 14019 uint32_t queueFamilyPropertyCount; 14020 d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( m_physicalDevice, &queueFamilyPropertyCount, nullptr ); 14021 structureChains.resize( queueFamilyPropertyCount ); 14022 queueFamilyProperties.resize( queueFamilyPropertyCount ); 14023 for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ ) 14024 { 14025 queueFamilyProperties[i].pNext = structureChains[i].template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>().pNext; 14026 } 14027 d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( 14028 m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties2 *>( queueFamilyProperties.data() ) ); 14029 14030 VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); 14031 if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) 14032 { 14033 structureChains.resize( queueFamilyPropertyCount ); 14034 } 14035 for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ ) 14036 { 14037 structureChains[i].template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>() = queueFamilyProperties[i]; 14038 } 14039 return structureChains; 14040 } 14041 14042 // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2KHR, see 14043 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html 14044 template <typename StructureChain, 14045 typename StructureChainAllocator, 14046 typename Dispatch, 14047 typename std::enable_if<std::is_same<typename StructureChainAllocator::value_type, StructureChain>::value, int>::type> 14048 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<StructureChain, StructureChainAllocator> getQueueFamilyProperties2KHR(StructureChainAllocator & structureChainAllocator,Dispatch const & d) const14049 PhysicalDevice::getQueueFamilyProperties2KHR( StructureChainAllocator & structureChainAllocator, Dispatch const & d ) const 14050 { 14051 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14052 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14053 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceQueueFamilyProperties2KHR && 14054 "Function <vkGetPhysicalDeviceQueueFamilyProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 14055 # endif 14056 14057 std::vector<StructureChain, StructureChainAllocator> structureChains( structureChainAllocator ); 14058 std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> queueFamilyProperties; 14059 uint32_t queueFamilyPropertyCount; 14060 d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( m_physicalDevice, &queueFamilyPropertyCount, nullptr ); 14061 structureChains.resize( queueFamilyPropertyCount ); 14062 queueFamilyProperties.resize( queueFamilyPropertyCount ); 14063 for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ ) 14064 { 14065 queueFamilyProperties[i].pNext = structureChains[i].template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>().pNext; 14066 } 14067 d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( 14068 m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties2 *>( queueFamilyProperties.data() ) ); 14069 14070 VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); 14071 if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) 14072 { 14073 structureChains.resize( queueFamilyPropertyCount ); 14074 } 14075 for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ ) 14076 { 14077 structureChains[i].template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>() = queueFamilyProperties[i]; 14078 } 14079 return structureChains; 14080 } 14081 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 14082 14083 // wrapper function for command vkGetPhysicalDeviceMemoryProperties2KHR, see 14084 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2KHR.html 14085 template <typename Dispatch> getMemoryProperties2KHR(VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 * pMemoryProperties,Dispatch const & d) const14086 VULKAN_HPP_INLINE void PhysicalDevice::getMemoryProperties2KHR( VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 * pMemoryProperties, 14087 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14088 { 14089 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14090 d.vkGetPhysicalDeviceMemoryProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 14091 reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>( pMemoryProperties ) ); 14092 } 14093 14094 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 14095 // wrapper function for command vkGetPhysicalDeviceMemoryProperties2KHR, see 14096 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2KHR.html 14097 template <typename Dispatch> 14098 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 getMemoryProperties2KHR(Dispatch const & d) const14099 PhysicalDevice::getMemoryProperties2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14100 { 14101 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14102 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14103 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceMemoryProperties2KHR && 14104 "Function <vkGetPhysicalDeviceMemoryProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 14105 # endif 14106 14107 VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 memoryProperties; 14108 d.vkGetPhysicalDeviceMemoryProperties2KHR( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>( &memoryProperties ) ); 14109 14110 return memoryProperties; 14111 } 14112 14113 // wrapper function for command vkGetPhysicalDeviceMemoryProperties2KHR, see 14114 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2KHR.html 14115 template <typename X, typename Y, typename... Z, typename Dispatch> 14116 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> getMemoryProperties2KHR(Dispatch const & d) const14117 PhysicalDevice::getMemoryProperties2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14118 { 14119 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14120 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14121 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceMemoryProperties2KHR && 14122 "Function <vkGetPhysicalDeviceMemoryProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 14123 # endif 14124 14125 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 14126 VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 & memoryProperties = 14127 structureChain.template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2>(); 14128 d.vkGetPhysicalDeviceMemoryProperties2KHR( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>( &memoryProperties ) ); 14129 14130 return structureChain; 14131 } 14132 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 14133 14134 // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties2KHR, see 14135 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2KHR.html 14136 template <typename Dispatch> getSparseImageFormatProperties2KHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,uint32_t * pPropertyCount,VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2 * pProperties,Dispatch const & d) const14137 VULKAN_HPP_INLINE void PhysicalDevice::getSparseImageFormatProperties2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 * pFormatInfo, 14138 uint32_t * pPropertyCount, 14139 VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2 * pProperties, 14140 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14141 { 14142 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14143 d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 14144 reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( pFormatInfo ), 14145 pPropertyCount, 14146 reinterpret_cast<VkSparseImageFormatProperties2 *>( pProperties ) ); 14147 } 14148 14149 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 14150 // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties2KHR, see 14151 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2KHR.html 14152 template < 14153 typename SparseImageFormatProperties2Allocator, 14154 typename Dispatch, 14155 typename std::enable_if<std::is_same<typename SparseImageFormatProperties2Allocator::value_type, VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2>::value, 14156 int>::type> 14157 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2, SparseImageFormatProperties2Allocator> getSparseImageFormatProperties2KHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 & formatInfo,Dispatch const & d) const14158 PhysicalDevice::getSparseImageFormatProperties2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 & formatInfo, 14159 Dispatch const & d ) const 14160 { 14161 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14162 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14163 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR && 14164 "Function <vkGetPhysicalDeviceSparseImageFormatProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 14165 # endif 14166 14167 std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2, SparseImageFormatProperties2Allocator> properties; 14168 uint32_t propertyCount; 14169 d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR( 14170 m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ), &propertyCount, nullptr ); 14171 properties.resize( propertyCount ); 14172 d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR( m_physicalDevice, 14173 reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ), 14174 &propertyCount, 14175 reinterpret_cast<VkSparseImageFormatProperties2 *>( properties.data() ) ); 14176 14177 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 14178 if ( propertyCount < properties.size() ) 14179 { 14180 properties.resize( propertyCount ); 14181 } 14182 return properties; 14183 } 14184 14185 // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties2KHR, see 14186 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2KHR.html 14187 template < 14188 typename SparseImageFormatProperties2Allocator, 14189 typename Dispatch, 14190 typename std::enable_if<std::is_same<typename SparseImageFormatProperties2Allocator::value_type, VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2>::value, 14191 int>::type> 14192 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2, SparseImageFormatProperties2Allocator> getSparseImageFormatProperties2KHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 & formatInfo,SparseImageFormatProperties2Allocator & sparseImageFormatProperties2Allocator,Dispatch const & d) const14193 PhysicalDevice::getSparseImageFormatProperties2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 & formatInfo, 14194 SparseImageFormatProperties2Allocator & sparseImageFormatProperties2Allocator, 14195 Dispatch const & d ) const 14196 { 14197 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14198 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14199 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR && 14200 "Function <vkGetPhysicalDeviceSparseImageFormatProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" ); 14201 # endif 14202 14203 std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2, SparseImageFormatProperties2Allocator> properties( sparseImageFormatProperties2Allocator ); 14204 uint32_t propertyCount; 14205 d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR( 14206 m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ), &propertyCount, nullptr ); 14207 properties.resize( propertyCount ); 14208 d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR( m_physicalDevice, 14209 reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ), 14210 &propertyCount, 14211 reinterpret_cast<VkSparseImageFormatProperties2 *>( properties.data() ) ); 14212 14213 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 14214 if ( propertyCount < properties.size() ) 14215 { 14216 properties.resize( propertyCount ); 14217 } 14218 return properties; 14219 } 14220 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 14221 14222 //=== VK_KHR_device_group === 14223 14224 // wrapper function for command vkGetDeviceGroupPeerMemoryFeaturesKHR, see 14225 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupPeerMemoryFeaturesKHR.html 14226 template <typename Dispatch> getGroupPeerMemoryFeaturesKHR(uint32_t heapIndex,uint32_t localDeviceIndex,uint32_t remoteDeviceIndex,VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags * pPeerMemoryFeatures,Dispatch const & d) const14227 VULKAN_HPP_INLINE void Device::getGroupPeerMemoryFeaturesKHR( uint32_t heapIndex, 14228 uint32_t localDeviceIndex, 14229 uint32_t remoteDeviceIndex, 14230 VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags * pPeerMemoryFeatures, 14231 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14232 { 14233 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14234 d.vkGetDeviceGroupPeerMemoryFeaturesKHR( 14235 static_cast<VkDevice>( m_device ), heapIndex, localDeviceIndex, remoteDeviceIndex, reinterpret_cast<VkPeerMemoryFeatureFlags *>( pPeerMemoryFeatures ) ); 14236 } 14237 14238 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 14239 // wrapper function for command vkGetDeviceGroupPeerMemoryFeaturesKHR, see 14240 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupPeerMemoryFeaturesKHR.html 14241 template <typename Dispatch> getGroupPeerMemoryFeaturesKHR(uint32_t heapIndex,uint32_t localDeviceIndex,uint32_t remoteDeviceIndex,Dispatch const & d) const14242 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags Device::getGroupPeerMemoryFeaturesKHR( 14243 uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14244 { 14245 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14246 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14247 VULKAN_HPP_ASSERT( d.vkGetDeviceGroupPeerMemoryFeaturesKHR && 14248 "Function <vkGetDeviceGroupPeerMemoryFeaturesKHR> requires <VK_KHR_device_group> or <VK_VERSION_1_1>" ); 14249 # endif 14250 14251 VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags peerMemoryFeatures; 14252 d.vkGetDeviceGroupPeerMemoryFeaturesKHR( 14253 m_device, heapIndex, localDeviceIndex, remoteDeviceIndex, reinterpret_cast<VkPeerMemoryFeatureFlags *>( &peerMemoryFeatures ) ); 14254 14255 return peerMemoryFeatures; 14256 } 14257 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 14258 14259 // wrapper function for command vkCmdSetDeviceMaskKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDeviceMaskKHR.html 14260 template <typename Dispatch> setDeviceMaskKHR(uint32_t deviceMask,Dispatch const & d) const14261 VULKAN_HPP_INLINE void CommandBuffer::setDeviceMaskKHR( uint32_t deviceMask, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14262 { 14263 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14264 d.vkCmdSetDeviceMaskKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), deviceMask ); 14265 } 14266 14267 // wrapper function for command vkCmdDispatchBaseKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchBaseKHR.html 14268 template <typename Dispatch> dispatchBaseKHR(uint32_t baseGroupX,uint32_t baseGroupY,uint32_t baseGroupZ,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ,Dispatch const & d) const14269 VULKAN_HPP_INLINE void CommandBuffer::dispatchBaseKHR( uint32_t baseGroupX, 14270 uint32_t baseGroupY, 14271 uint32_t baseGroupZ, 14272 uint32_t groupCountX, 14273 uint32_t groupCountY, 14274 uint32_t groupCountZ, 14275 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14276 { 14277 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14278 d.vkCmdDispatchBaseKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ ); 14279 } 14280 14281 #if defined( VK_USE_PLATFORM_VI_NN ) 14282 //=== VK_NN_vi_surface === 14283 14284 // wrapper function for command vkCreateViSurfaceNN, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateViSurfaceNN.html 14285 template <typename Dispatch> createViSurfaceNN(const VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,Dispatch const & d) const14286 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createViSurfaceNN( const VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN * pCreateInfo, 14287 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 14288 VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface, 14289 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14290 { 14291 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14292 return static_cast<Result>( d.vkCreateViSurfaceNN( static_cast<VkInstance>( m_instance ), 14293 reinterpret_cast<const VkViSurfaceCreateInfoNN *>( pCreateInfo ), 14294 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 14295 reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) ); 14296 } 14297 14298 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 14299 // wrapper function for command vkCreateViSurfaceNN, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateViSurfaceNN.html 14300 template <typename Dispatch> 14301 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type createViSurfaceNN(const VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const14302 Instance::createViSurfaceNN( const VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN & createInfo, 14303 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 14304 Dispatch const & d ) const 14305 { 14306 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14307 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14308 VULKAN_HPP_ASSERT( d.vkCreateViSurfaceNN && "Function <vkCreateViSurfaceNN> requires <VK_NN_vi_surface>" ); 14309 # endif 14310 14311 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 14312 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 14313 d.vkCreateViSurfaceNN( m_instance, 14314 reinterpret_cast<const VkViSurfaceCreateInfoNN *>( &createInfo ), 14315 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 14316 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 14317 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createViSurfaceNN" ); 14318 14319 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surface ) ); 14320 } 14321 14322 # ifndef VULKAN_HPP_NO_SMART_HANDLE 14323 // wrapper function for command vkCreateViSurfaceNN, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateViSurfaceNN.html 14324 template <typename Dispatch> 14325 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type createViSurfaceNNUnique(const VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const14326 Instance::createViSurfaceNNUnique( const VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN & createInfo, 14327 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 14328 Dispatch const & d ) const 14329 { 14330 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14331 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14332 VULKAN_HPP_ASSERT( d.vkCreateViSurfaceNN && "Function <vkCreateViSurfaceNN> requires <VK_NN_vi_surface>" ); 14333 # endif 14334 14335 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 14336 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 14337 d.vkCreateViSurfaceNN( m_instance, 14338 reinterpret_cast<const VkViSurfaceCreateInfoNN *>( &createInfo ), 14339 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 14340 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 14341 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createViSurfaceNNUnique" ); 14342 14343 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 14344 result, UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>( surface, detail::ObjectDestroy<Instance, Dispatch>( *this, allocator, d ) ) ); 14345 } 14346 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 14347 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 14348 #endif /*VK_USE_PLATFORM_VI_NN*/ 14349 14350 //=== VK_KHR_maintenance1 === 14351 14352 // wrapper function for command vkTrimCommandPoolKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTrimCommandPoolKHR.html 14353 template <typename Dispatch> trimCommandPoolKHR(VULKAN_HPP_NAMESPACE::CommandPool commandPool,VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags,Dispatch const & d) const14354 VULKAN_HPP_INLINE void Device::trimCommandPoolKHR( VULKAN_HPP_NAMESPACE::CommandPool commandPool, 14355 VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags, 14356 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14357 { 14358 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14359 d.vkTrimCommandPoolKHR( static_cast<VkDevice>( m_device ), static_cast<VkCommandPool>( commandPool ), static_cast<VkCommandPoolTrimFlags>( flags ) ); 14360 } 14361 14362 //=== VK_KHR_device_group_creation === 14363 14364 // wrapper function for command vkEnumeratePhysicalDeviceGroupsKHR, see 14365 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceGroupsKHR.html 14366 template <typename Dispatch> 14367 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result enumeratePhysicalDeviceGroupsKHR(uint32_t * pPhysicalDeviceGroupCount,VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties,Dispatch const & d) const14368 Instance::enumeratePhysicalDeviceGroupsKHR( uint32_t * pPhysicalDeviceGroupCount, 14369 VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties, 14370 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14371 { 14372 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14373 return static_cast<Result>( d.vkEnumeratePhysicalDeviceGroupsKHR( static_cast<VkInstance>( m_instance ), 14374 pPhysicalDeviceGroupCount, 14375 reinterpret_cast<VkPhysicalDeviceGroupProperties *>( pPhysicalDeviceGroupProperties ) ) ); 14376 } 14377 14378 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 14379 // wrapper function for command vkEnumeratePhysicalDeviceGroupsKHR, see 14380 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceGroupsKHR.html 14381 template <typename PhysicalDeviceGroupPropertiesAllocator, 14382 typename Dispatch, 14383 typename std::enable_if< 14384 std::is_same<typename PhysicalDeviceGroupPropertiesAllocator::value_type, VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties>::value, 14385 int>::type> 14386 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 14387 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties, PhysicalDeviceGroupPropertiesAllocator>>::type enumeratePhysicalDeviceGroupsKHR(Dispatch const & d) const14388 Instance::enumeratePhysicalDeviceGroupsKHR( Dispatch const & d ) const 14389 { 14390 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14391 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14392 VULKAN_HPP_ASSERT( d.vkEnumeratePhysicalDeviceGroupsKHR && 14393 "Function <vkEnumeratePhysicalDeviceGroupsKHR> requires <VK_KHR_device_group_creation> or <VK_VERSION_1_1>" ); 14394 # endif 14395 14396 std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties, PhysicalDeviceGroupPropertiesAllocator> physicalDeviceGroupProperties; 14397 uint32_t physicalDeviceGroupCount; 14398 VULKAN_HPP_NAMESPACE::Result result; 14399 do 14400 { 14401 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkEnumeratePhysicalDeviceGroupsKHR( m_instance, &physicalDeviceGroupCount, nullptr ) ); 14402 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && physicalDeviceGroupCount ) 14403 { 14404 physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); 14405 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkEnumeratePhysicalDeviceGroupsKHR( 14406 m_instance, &physicalDeviceGroupCount, reinterpret_cast<VkPhysicalDeviceGroupProperties *>( physicalDeviceGroupProperties.data() ) ) ); 14407 } 14408 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 14409 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroupsKHR" ); 14410 VULKAN_HPP_ASSERT( physicalDeviceGroupCount <= physicalDeviceGroupProperties.size() ); 14411 if ( physicalDeviceGroupCount < physicalDeviceGroupProperties.size() ) 14412 { 14413 physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); 14414 } 14415 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( physicalDeviceGroupProperties ) ); 14416 } 14417 14418 // wrapper function for command vkEnumeratePhysicalDeviceGroupsKHR, see 14419 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceGroupsKHR.html 14420 template <typename PhysicalDeviceGroupPropertiesAllocator, 14421 typename Dispatch, 14422 typename std::enable_if< 14423 std::is_same<typename PhysicalDeviceGroupPropertiesAllocator::value_type, VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties>::value, 14424 int>::type> 14425 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 14426 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties, PhysicalDeviceGroupPropertiesAllocator>>::type enumeratePhysicalDeviceGroupsKHR(PhysicalDeviceGroupPropertiesAllocator & physicalDeviceGroupPropertiesAllocator,Dispatch const & d) const14427 Instance::enumeratePhysicalDeviceGroupsKHR( PhysicalDeviceGroupPropertiesAllocator & physicalDeviceGroupPropertiesAllocator, Dispatch const & d ) const 14428 { 14429 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14430 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14431 VULKAN_HPP_ASSERT( d.vkEnumeratePhysicalDeviceGroupsKHR && 14432 "Function <vkEnumeratePhysicalDeviceGroupsKHR> requires <VK_KHR_device_group_creation> or <VK_VERSION_1_1>" ); 14433 # endif 14434 14435 std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties, PhysicalDeviceGroupPropertiesAllocator> physicalDeviceGroupProperties( 14436 physicalDeviceGroupPropertiesAllocator ); 14437 uint32_t physicalDeviceGroupCount; 14438 VULKAN_HPP_NAMESPACE::Result result; 14439 do 14440 { 14441 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkEnumeratePhysicalDeviceGroupsKHR( m_instance, &physicalDeviceGroupCount, nullptr ) ); 14442 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && physicalDeviceGroupCount ) 14443 { 14444 physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); 14445 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkEnumeratePhysicalDeviceGroupsKHR( 14446 m_instance, &physicalDeviceGroupCount, reinterpret_cast<VkPhysicalDeviceGroupProperties *>( physicalDeviceGroupProperties.data() ) ) ); 14447 } 14448 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 14449 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroupsKHR" ); 14450 VULKAN_HPP_ASSERT( physicalDeviceGroupCount <= physicalDeviceGroupProperties.size() ); 14451 if ( physicalDeviceGroupCount < physicalDeviceGroupProperties.size() ) 14452 { 14453 physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); 14454 } 14455 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( physicalDeviceGroupProperties ) ); 14456 } 14457 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 14458 14459 //=== VK_KHR_external_memory_capabilities === 14460 14461 // wrapper function for command vkGetPhysicalDeviceExternalBufferPropertiesKHR, see 14462 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalBufferPropertiesKHR.html 14463 template <typename Dispatch> getExternalBufferPropertiesKHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo * pExternalBufferInfo,VULKAN_HPP_NAMESPACE::ExternalBufferProperties * pExternalBufferProperties,Dispatch const & d) const14464 VULKAN_HPP_INLINE void PhysicalDevice::getExternalBufferPropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo * pExternalBufferInfo, 14465 VULKAN_HPP_NAMESPACE::ExternalBufferProperties * pExternalBufferProperties, 14466 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14467 { 14468 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14469 d.vkGetPhysicalDeviceExternalBufferPropertiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 14470 reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo *>( pExternalBufferInfo ), 14471 reinterpret_cast<VkExternalBufferProperties *>( pExternalBufferProperties ) ); 14472 } 14473 14474 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 14475 // wrapper function for command vkGetPhysicalDeviceExternalBufferPropertiesKHR, see 14476 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalBufferPropertiesKHR.html 14477 template <typename Dispatch> 14478 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalBufferProperties getExternalBufferPropertiesKHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo & externalBufferInfo,Dispatch const & d) const14479 PhysicalDevice::getExternalBufferPropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo & externalBufferInfo, 14480 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14481 { 14482 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14483 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14484 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceExternalBufferPropertiesKHR && 14485 "Function <vkGetPhysicalDeviceExternalBufferPropertiesKHR> requires <VK_KHR_external_memory_capabilities> or <VK_VERSION_1_1>" ); 14486 # endif 14487 14488 VULKAN_HPP_NAMESPACE::ExternalBufferProperties externalBufferProperties; 14489 d.vkGetPhysicalDeviceExternalBufferPropertiesKHR( m_physicalDevice, 14490 reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo *>( &externalBufferInfo ), 14491 reinterpret_cast<VkExternalBufferProperties *>( &externalBufferProperties ) ); 14492 14493 return externalBufferProperties; 14494 } 14495 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 14496 14497 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 14498 //=== VK_KHR_external_memory_win32 === 14499 14500 // wrapper function for command vkGetMemoryWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryWin32HandleKHR.html 14501 template <typename Dispatch> getMemoryWin32HandleKHR(const VULKAN_HPP_NAMESPACE::MemoryGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle,Dispatch const & d) const14502 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getMemoryWin32HandleKHR( const VULKAN_HPP_NAMESPACE::MemoryGetWin32HandleInfoKHR * pGetWin32HandleInfo, 14503 HANDLE * pHandle, 14504 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14505 { 14506 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14507 return static_cast<Result>( d.vkGetMemoryWin32HandleKHR( 14508 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkMemoryGetWin32HandleInfoKHR *>( pGetWin32HandleInfo ), pHandle ) ); 14509 } 14510 14511 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 14512 // wrapper function for command vkGetMemoryWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryWin32HandleKHR.html 14513 template <typename Dispatch> 14514 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<HANDLE>::type getMemoryWin32HandleKHR(const VULKAN_HPP_NAMESPACE::MemoryGetWin32HandleInfoKHR & getWin32HandleInfo,Dispatch const & d) const14515 Device::getMemoryWin32HandleKHR( const VULKAN_HPP_NAMESPACE::MemoryGetWin32HandleInfoKHR & getWin32HandleInfo, Dispatch const & d ) const 14516 { 14517 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14518 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14519 VULKAN_HPP_ASSERT( d.vkGetMemoryWin32HandleKHR && "Function <vkGetMemoryWin32HandleKHR> requires <VK_KHR_external_memory_win32>" ); 14520 # endif 14521 14522 HANDLE handle; 14523 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 14524 d.vkGetMemoryWin32HandleKHR( m_device, reinterpret_cast<const VkMemoryGetWin32HandleInfoKHR *>( &getWin32HandleInfo ), &handle ) ); 14525 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryWin32HandleKHR" ); 14526 14527 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( handle ) ); 14528 } 14529 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 14530 14531 // wrapper function for command vkGetMemoryWin32HandlePropertiesKHR, see 14532 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryWin32HandlePropertiesKHR.html 14533 template <typename Dispatch> 14534 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getMemoryWin32HandlePropertiesKHR(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,HANDLE handle,VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties,Dispatch const & d) const14535 Device::getMemoryWin32HandlePropertiesKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, 14536 HANDLE handle, 14537 VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties, 14538 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14539 { 14540 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14541 return static_cast<Result>( d.vkGetMemoryWin32HandlePropertiesKHR( static_cast<VkDevice>( m_device ), 14542 static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ), 14543 handle, 14544 reinterpret_cast<VkMemoryWin32HandlePropertiesKHR *>( pMemoryWin32HandleProperties ) ) ); 14545 } 14546 14547 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 14548 // wrapper function for command vkGetMemoryWin32HandlePropertiesKHR, see 14549 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryWin32HandlePropertiesKHR.html 14550 template <typename Dispatch> 14551 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR>::type getMemoryWin32HandlePropertiesKHR(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,HANDLE handle,Dispatch const & d) const14552 Device::getMemoryWin32HandlePropertiesKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, Dispatch const & d ) const 14553 { 14554 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14555 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14556 VULKAN_HPP_ASSERT( d.vkGetMemoryWin32HandlePropertiesKHR && "Function <vkGetMemoryWin32HandlePropertiesKHR> requires <VK_KHR_external_memory_win32>" ); 14557 # endif 14558 14559 VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR memoryWin32HandleProperties; 14560 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 14561 d.vkGetMemoryWin32HandlePropertiesKHR( m_device, 14562 static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ), 14563 handle, 14564 reinterpret_cast<VkMemoryWin32HandlePropertiesKHR *>( &memoryWin32HandleProperties ) ) ); 14565 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryWin32HandlePropertiesKHR" ); 14566 14567 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( memoryWin32HandleProperties ) ); 14568 } 14569 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 14570 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 14571 14572 //=== VK_KHR_external_memory_fd === 14573 14574 // wrapper function for command vkGetMemoryFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryFdKHR.html 14575 template <typename Dispatch> getMemoryFdKHR(const VULKAN_HPP_NAMESPACE::MemoryGetFdInfoKHR * pGetFdInfo,int * pFd,Dispatch const & d) const14576 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getMemoryFdKHR( const VULKAN_HPP_NAMESPACE::MemoryGetFdInfoKHR * pGetFdInfo, 14577 int * pFd, 14578 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14579 { 14580 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14581 return static_cast<Result>( d.vkGetMemoryFdKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkMemoryGetFdInfoKHR *>( pGetFdInfo ), pFd ) ); 14582 } 14583 14584 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 14585 // wrapper function for command vkGetMemoryFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryFdKHR.html 14586 template <typename Dispatch> getMemoryFdKHR(const VULKAN_HPP_NAMESPACE::MemoryGetFdInfoKHR & getFdInfo,Dispatch const & d) const14587 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<int>::type Device::getMemoryFdKHR( const VULKAN_HPP_NAMESPACE::MemoryGetFdInfoKHR & getFdInfo, 14588 Dispatch const & d ) const 14589 { 14590 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14591 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14592 VULKAN_HPP_ASSERT( d.vkGetMemoryFdKHR && "Function <vkGetMemoryFdKHR> requires <VK_KHR_external_memory_fd>" ); 14593 # endif 14594 14595 int fd; 14596 VULKAN_HPP_NAMESPACE::Result result = 14597 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetMemoryFdKHR( m_device, reinterpret_cast<const VkMemoryGetFdInfoKHR *>( &getFdInfo ), &fd ) ); 14598 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryFdKHR" ); 14599 14600 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( fd ) ); 14601 } 14602 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 14603 14604 // wrapper function for command vkGetMemoryFdPropertiesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryFdPropertiesKHR.html 14605 template <typename Dispatch> getMemoryFdPropertiesKHR(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,int fd,VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR * pMemoryFdProperties,Dispatch const & d) const14606 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getMemoryFdPropertiesKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, 14607 int fd, 14608 VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR * pMemoryFdProperties, 14609 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14610 { 14611 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14612 return static_cast<Result>( d.vkGetMemoryFdPropertiesKHR( static_cast<VkDevice>( m_device ), 14613 static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ), 14614 fd, 14615 reinterpret_cast<VkMemoryFdPropertiesKHR *>( pMemoryFdProperties ) ) ); 14616 } 14617 14618 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 14619 // wrapper function for command vkGetMemoryFdPropertiesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryFdPropertiesKHR.html 14620 template <typename Dispatch> 14621 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR>::type getMemoryFdPropertiesKHR(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,int fd,Dispatch const & d) const14622 Device::getMemoryFdPropertiesKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, int fd, Dispatch const & d ) const 14623 { 14624 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14625 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14626 VULKAN_HPP_ASSERT( d.vkGetMemoryFdPropertiesKHR && "Function <vkGetMemoryFdPropertiesKHR> requires <VK_KHR_external_memory_fd>" ); 14627 # endif 14628 14629 VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR memoryFdProperties; 14630 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetMemoryFdPropertiesKHR( 14631 m_device, static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ), fd, reinterpret_cast<VkMemoryFdPropertiesKHR *>( &memoryFdProperties ) ) ); 14632 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryFdPropertiesKHR" ); 14633 14634 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( memoryFdProperties ) ); 14635 } 14636 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 14637 14638 //=== VK_KHR_external_semaphore_capabilities === 14639 14640 // wrapper function for command vkGetPhysicalDeviceExternalSemaphorePropertiesKHR, see 14641 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalSemaphorePropertiesKHR.html 14642 template <typename Dispatch> 14643 VULKAN_HPP_INLINE void getExternalSemaphorePropertiesKHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties * pExternalSemaphoreProperties,Dispatch const & d) const14644 PhysicalDevice::getExternalSemaphorePropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo, 14645 VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties * pExternalSemaphoreProperties, 14646 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14647 { 14648 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14649 d.vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 14650 reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo *>( pExternalSemaphoreInfo ), 14651 reinterpret_cast<VkExternalSemaphoreProperties *>( pExternalSemaphoreProperties ) ); 14652 } 14653 14654 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 14655 // wrapper function for command vkGetPhysicalDeviceExternalSemaphorePropertiesKHR, see 14656 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalSemaphorePropertiesKHR.html 14657 template <typename Dispatch> 14658 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties getExternalSemaphorePropertiesKHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo & externalSemaphoreInfo,Dispatch const & d) const14659 PhysicalDevice::getExternalSemaphorePropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo & externalSemaphoreInfo, 14660 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14661 { 14662 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14663 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14664 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceExternalSemaphorePropertiesKHR && 14665 "Function <vkGetPhysicalDeviceExternalSemaphorePropertiesKHR> requires <VK_KHR_external_semaphore_capabilities> or <VK_VERSION_1_1>" ); 14666 # endif 14667 14668 VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties externalSemaphoreProperties; 14669 d.vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( m_physicalDevice, 14670 reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo *>( &externalSemaphoreInfo ), 14671 reinterpret_cast<VkExternalSemaphoreProperties *>( &externalSemaphoreProperties ) ); 14672 14673 return externalSemaphoreProperties; 14674 } 14675 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 14676 14677 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 14678 //=== VK_KHR_external_semaphore_win32 === 14679 14680 // wrapper function for command vkImportSemaphoreWin32HandleKHR, see 14681 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportSemaphoreWin32HandleKHR.html 14682 template <typename Dispatch> importSemaphoreWin32HandleKHR(const VULKAN_HPP_NAMESPACE::ImportSemaphoreWin32HandleInfoKHR * pImportSemaphoreWin32HandleInfo,Dispatch const & d) const14683 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::importSemaphoreWin32HandleKHR( 14684 const VULKAN_HPP_NAMESPACE::ImportSemaphoreWin32HandleInfoKHR * pImportSemaphoreWin32HandleInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14685 { 14686 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14687 return static_cast<Result>( d.vkImportSemaphoreWin32HandleKHR( 14688 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImportSemaphoreWin32HandleInfoKHR *>( pImportSemaphoreWin32HandleInfo ) ) ); 14689 } 14690 14691 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 14692 // wrapper function for command vkImportSemaphoreWin32HandleKHR, see 14693 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportSemaphoreWin32HandleKHR.html 14694 template <typename Dispatch> 14695 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type importSemaphoreWin32HandleKHR(const VULKAN_HPP_NAMESPACE::ImportSemaphoreWin32HandleInfoKHR & importSemaphoreWin32HandleInfo,Dispatch const & d) const14696 Device::importSemaphoreWin32HandleKHR( const VULKAN_HPP_NAMESPACE::ImportSemaphoreWin32HandleInfoKHR & importSemaphoreWin32HandleInfo, 14697 Dispatch const & d ) const 14698 { 14699 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14700 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14701 VULKAN_HPP_ASSERT( d.vkImportSemaphoreWin32HandleKHR && "Function <vkImportSemaphoreWin32HandleKHR> requires <VK_KHR_external_semaphore_win32>" ); 14702 # endif 14703 14704 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 14705 d.vkImportSemaphoreWin32HandleKHR( m_device, reinterpret_cast<const VkImportSemaphoreWin32HandleInfoKHR *>( &importSemaphoreWin32HandleInfo ) ) ); 14706 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::importSemaphoreWin32HandleKHR" ); 14707 14708 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 14709 } 14710 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 14711 14712 // wrapper function for command vkGetSemaphoreWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreWin32HandleKHR.html 14713 template <typename Dispatch> getSemaphoreWin32HandleKHR(const VULKAN_HPP_NAMESPACE::SemaphoreGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle,Dispatch const & d) const14714 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSemaphoreWin32HandleKHR( 14715 const VULKAN_HPP_NAMESPACE::SemaphoreGetWin32HandleInfoKHR * pGetWin32HandleInfo, HANDLE * pHandle, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14716 { 14717 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14718 return static_cast<Result>( d.vkGetSemaphoreWin32HandleKHR( 14719 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreGetWin32HandleInfoKHR *>( pGetWin32HandleInfo ), pHandle ) ); 14720 } 14721 14722 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 14723 // wrapper function for command vkGetSemaphoreWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreWin32HandleKHR.html 14724 template <typename Dispatch> 14725 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<HANDLE>::type getSemaphoreWin32HandleKHR(const VULKAN_HPP_NAMESPACE::SemaphoreGetWin32HandleInfoKHR & getWin32HandleInfo,Dispatch const & d) const14726 Device::getSemaphoreWin32HandleKHR( const VULKAN_HPP_NAMESPACE::SemaphoreGetWin32HandleInfoKHR & getWin32HandleInfo, Dispatch const & d ) const 14727 { 14728 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14729 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14730 VULKAN_HPP_ASSERT( d.vkGetSemaphoreWin32HandleKHR && "Function <vkGetSemaphoreWin32HandleKHR> requires <VK_KHR_external_semaphore_win32>" ); 14731 # endif 14732 14733 HANDLE handle; 14734 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 14735 d.vkGetSemaphoreWin32HandleKHR( m_device, reinterpret_cast<const VkSemaphoreGetWin32HandleInfoKHR *>( &getWin32HandleInfo ), &handle ) ); 14736 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreWin32HandleKHR" ); 14737 14738 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( handle ) ); 14739 } 14740 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 14741 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 14742 14743 //=== VK_KHR_external_semaphore_fd === 14744 14745 // wrapper function for command vkImportSemaphoreFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportSemaphoreFdKHR.html 14746 template <typename Dispatch> importSemaphoreFdKHR(const VULKAN_HPP_NAMESPACE::ImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo,Dispatch const & d) const14747 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::importSemaphoreFdKHR( const VULKAN_HPP_NAMESPACE::ImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo, 14748 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14749 { 14750 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14751 return static_cast<Result>( 14752 d.vkImportSemaphoreFdKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImportSemaphoreFdInfoKHR *>( pImportSemaphoreFdInfo ) ) ); 14753 } 14754 14755 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 14756 // wrapper function for command vkImportSemaphoreFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportSemaphoreFdKHR.html 14757 template <typename Dispatch> 14758 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type importSemaphoreFdKHR(const VULKAN_HPP_NAMESPACE::ImportSemaphoreFdInfoKHR & importSemaphoreFdInfo,Dispatch const & d) const14759 Device::importSemaphoreFdKHR( const VULKAN_HPP_NAMESPACE::ImportSemaphoreFdInfoKHR & importSemaphoreFdInfo, Dispatch const & d ) const 14760 { 14761 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14762 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14763 VULKAN_HPP_ASSERT( d.vkImportSemaphoreFdKHR && "Function <vkImportSemaphoreFdKHR> requires <VK_KHR_external_semaphore_fd>" ); 14764 # endif 14765 14766 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 14767 d.vkImportSemaphoreFdKHR( m_device, reinterpret_cast<const VkImportSemaphoreFdInfoKHR *>( &importSemaphoreFdInfo ) ) ); 14768 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::importSemaphoreFdKHR" ); 14769 14770 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 14771 } 14772 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 14773 14774 // wrapper function for command vkGetSemaphoreFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreFdKHR.html 14775 template <typename Dispatch> getSemaphoreFdKHR(const VULKAN_HPP_NAMESPACE::SemaphoreGetFdInfoKHR * pGetFdInfo,int * pFd,Dispatch const & d) const14776 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSemaphoreFdKHR( const VULKAN_HPP_NAMESPACE::SemaphoreGetFdInfoKHR * pGetFdInfo, 14777 int * pFd, 14778 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14779 { 14780 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14781 return static_cast<Result>( 14782 d.vkGetSemaphoreFdKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreGetFdInfoKHR *>( pGetFdInfo ), pFd ) ); 14783 } 14784 14785 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 14786 // wrapper function for command vkGetSemaphoreFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreFdKHR.html 14787 template <typename Dispatch> 14788 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<int>::type getSemaphoreFdKHR(const VULKAN_HPP_NAMESPACE::SemaphoreGetFdInfoKHR & getFdInfo,Dispatch const & d) const14789 Device::getSemaphoreFdKHR( const VULKAN_HPP_NAMESPACE::SemaphoreGetFdInfoKHR & getFdInfo, Dispatch const & d ) const 14790 { 14791 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14792 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14793 VULKAN_HPP_ASSERT( d.vkGetSemaphoreFdKHR && "Function <vkGetSemaphoreFdKHR> requires <VK_KHR_external_semaphore_fd>" ); 14794 # endif 14795 14796 int fd; 14797 VULKAN_HPP_NAMESPACE::Result result = 14798 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetSemaphoreFdKHR( m_device, reinterpret_cast<const VkSemaphoreGetFdInfoKHR *>( &getFdInfo ), &fd ) ); 14799 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreFdKHR" ); 14800 14801 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( fd ) ); 14802 } 14803 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 14804 14805 //=== VK_KHR_push_descriptor === 14806 14807 // wrapper function for command vkCmdPushDescriptorSetKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetKHR.html 14808 template <typename Dispatch> pushDescriptorSetKHR(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,VULKAN_HPP_NAMESPACE::PipelineLayout layout,uint32_t set,uint32_t descriptorWriteCount,const VULKAN_HPP_NAMESPACE::WriteDescriptorSet * pDescriptorWrites,Dispatch const & d) const14809 VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetKHR( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint, 14810 VULKAN_HPP_NAMESPACE::PipelineLayout layout, 14811 uint32_t set, 14812 uint32_t descriptorWriteCount, 14813 const VULKAN_HPP_NAMESPACE::WriteDescriptorSet * pDescriptorWrites, 14814 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14815 { 14816 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14817 d.vkCmdPushDescriptorSetKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 14818 static_cast<VkPipelineBindPoint>( pipelineBindPoint ), 14819 static_cast<VkPipelineLayout>( layout ), 14820 set, 14821 descriptorWriteCount, 14822 reinterpret_cast<const VkWriteDescriptorSet *>( pDescriptorWrites ) ); 14823 } 14824 14825 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 14826 // wrapper function for command vkCmdPushDescriptorSetKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetKHR.html 14827 template <typename Dispatch> 14828 VULKAN_HPP_INLINE void pushDescriptorSetKHR(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,VULKAN_HPP_NAMESPACE::PipelineLayout layout,uint32_t set,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const & descriptorWrites,Dispatch const & d) const14829 CommandBuffer::pushDescriptorSetKHR( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint, 14830 VULKAN_HPP_NAMESPACE::PipelineLayout layout, 14831 uint32_t set, 14832 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const & descriptorWrites, 14833 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14834 { 14835 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14836 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14837 VULKAN_HPP_ASSERT( d.vkCmdPushDescriptorSetKHR && "Function <vkCmdPushDescriptorSetKHR> requires <VK_KHR_push_descriptor> or <VK_VERSION_1_4>" ); 14838 # endif 14839 14840 d.vkCmdPushDescriptorSetKHR( m_commandBuffer, 14841 static_cast<VkPipelineBindPoint>( pipelineBindPoint ), 14842 static_cast<VkPipelineLayout>( layout ), 14843 set, 14844 descriptorWrites.size(), 14845 reinterpret_cast<const VkWriteDescriptorSet *>( descriptorWrites.data() ) ); 14846 } 14847 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 14848 14849 // wrapper function for command vkCmdPushDescriptorSetWithTemplateKHR, see 14850 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplateKHR.html 14851 template <typename Dispatch> pushDescriptorSetWithTemplateKHR(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,VULKAN_HPP_NAMESPACE::PipelineLayout layout,uint32_t set,const void * pData,Dispatch const & d) const14852 VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetWithTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, 14853 VULKAN_HPP_NAMESPACE::PipelineLayout layout, 14854 uint32_t set, 14855 const void * pData, 14856 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14857 { 14858 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14859 d.vkCmdPushDescriptorSetWithTemplateKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 14860 static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), 14861 static_cast<VkPipelineLayout>( layout ), 14862 set, 14863 pData ); 14864 } 14865 14866 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 14867 // wrapper function for command vkCmdPushDescriptorSetWithTemplateKHR, see 14868 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplateKHR.html 14869 template <typename DataType, typename Dispatch> pushDescriptorSetWithTemplateKHR(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,VULKAN_HPP_NAMESPACE::PipelineLayout layout,uint32_t set,DataType const & data,Dispatch const & d) const14870 VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetWithTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, 14871 VULKAN_HPP_NAMESPACE::PipelineLayout layout, 14872 uint32_t set, 14873 DataType const & data, 14874 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14875 { 14876 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14877 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14878 VULKAN_HPP_ASSERT( 14879 d.vkCmdPushDescriptorSetWithTemplateKHR && 14880 "Function <vkCmdPushDescriptorSetWithTemplateKHR> requires <VK_KHR_descriptor_update_template> or <VK_KHR_push_descriptor> or <VK_VERSION_1_4>" ); 14881 # endif 14882 14883 d.vkCmdPushDescriptorSetWithTemplateKHR( m_commandBuffer, 14884 static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), 14885 static_cast<VkPipelineLayout>( layout ), 14886 set, 14887 reinterpret_cast<const void *>( &data ) ); 14888 } 14889 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 14890 14891 //=== VK_EXT_conditional_rendering === 14892 14893 // wrapper function for command vkCmdBeginConditionalRenderingEXT, see 14894 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginConditionalRenderingEXT.html 14895 template <typename Dispatch> beginConditionalRenderingEXT(const VULKAN_HPP_NAMESPACE::ConditionalRenderingBeginInfoEXT * pConditionalRenderingBegin,Dispatch const & d) const14896 VULKAN_HPP_INLINE void CommandBuffer::beginConditionalRenderingEXT( const VULKAN_HPP_NAMESPACE::ConditionalRenderingBeginInfoEXT * pConditionalRenderingBegin, 14897 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14898 { 14899 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14900 d.vkCmdBeginConditionalRenderingEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 14901 reinterpret_cast<const VkConditionalRenderingBeginInfoEXT *>( pConditionalRenderingBegin ) ); 14902 } 14903 14904 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 14905 // wrapper function for command vkCmdBeginConditionalRenderingEXT, see 14906 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginConditionalRenderingEXT.html 14907 template <typename Dispatch> beginConditionalRenderingEXT(const VULKAN_HPP_NAMESPACE::ConditionalRenderingBeginInfoEXT & conditionalRenderingBegin,Dispatch const & d) const14908 VULKAN_HPP_INLINE void CommandBuffer::beginConditionalRenderingEXT( const VULKAN_HPP_NAMESPACE::ConditionalRenderingBeginInfoEXT & conditionalRenderingBegin, 14909 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14910 { 14911 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14912 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14913 VULKAN_HPP_ASSERT( d.vkCmdBeginConditionalRenderingEXT && "Function <vkCmdBeginConditionalRenderingEXT> requires <VK_EXT_conditional_rendering>" ); 14914 # endif 14915 14916 d.vkCmdBeginConditionalRenderingEXT( m_commandBuffer, reinterpret_cast<const VkConditionalRenderingBeginInfoEXT *>( &conditionalRenderingBegin ) ); 14917 } 14918 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 14919 14920 // wrapper function for command vkCmdEndConditionalRenderingEXT, see 14921 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndConditionalRenderingEXT.html 14922 template <typename Dispatch> endConditionalRenderingEXT(Dispatch const & d) const14923 VULKAN_HPP_INLINE void CommandBuffer::endConditionalRenderingEXT( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14924 { 14925 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14926 d.vkCmdEndConditionalRenderingEXT( static_cast<VkCommandBuffer>( m_commandBuffer ) ); 14927 } 14928 14929 //=== VK_KHR_descriptor_update_template === 14930 14931 // wrapper function for command vkCreateDescriptorUpdateTemplateKHR, see 14932 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorUpdateTemplateKHR.html 14933 template <typename Dispatch> 14934 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result createDescriptorUpdateTemplateKHR(const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate * pDescriptorUpdateTemplate,Dispatch const & d) const14935 Device::createDescriptorUpdateTemplateKHR( const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo * pCreateInfo, 14936 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 14937 VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate * pDescriptorUpdateTemplate, 14938 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 14939 { 14940 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14941 return static_cast<Result>( d.vkCreateDescriptorUpdateTemplateKHR( static_cast<VkDevice>( m_device ), 14942 reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>( pCreateInfo ), 14943 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 14944 reinterpret_cast<VkDescriptorUpdateTemplate *>( pDescriptorUpdateTemplate ) ) ); 14945 } 14946 14947 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 14948 // wrapper function for command vkCreateDescriptorUpdateTemplateKHR, see 14949 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorUpdateTemplateKHR.html 14950 template <typename Dispatch> 14951 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate>::type createDescriptorUpdateTemplateKHR(const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const14952 Device::createDescriptorUpdateTemplateKHR( const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo & createInfo, 14953 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 14954 Dispatch const & d ) const 14955 { 14956 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14957 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14958 VULKAN_HPP_ASSERT( d.vkCreateDescriptorUpdateTemplateKHR && 14959 "Function <vkCreateDescriptorUpdateTemplateKHR> requires <VK_KHR_descriptor_update_template> or <VK_VERSION_1_1>" ); 14960 # endif 14961 14962 VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate; 14963 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateDescriptorUpdateTemplateKHR( 14964 m_device, 14965 reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>( &createInfo ), 14966 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 14967 reinterpret_cast<VkDescriptorUpdateTemplate *>( &descriptorUpdateTemplate ) ) ); 14968 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorUpdateTemplateKHR" ); 14969 14970 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( descriptorUpdateTemplate ) ); 14971 } 14972 14973 # ifndef VULKAN_HPP_NO_SMART_HANDLE 14974 // wrapper function for command vkCreateDescriptorUpdateTemplateKHR, see 14975 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorUpdateTemplateKHR.html 14976 template <typename Dispatch> 14977 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate, Dispatch>>::type createDescriptorUpdateTemplateKHRUnique(const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const14978 Device::createDescriptorUpdateTemplateKHRUnique( const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo & createInfo, 14979 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 14980 Dispatch const & d ) const 14981 { 14982 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 14983 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 14984 VULKAN_HPP_ASSERT( d.vkCreateDescriptorUpdateTemplateKHR && 14985 "Function <vkCreateDescriptorUpdateTemplateKHR> requires <VK_KHR_descriptor_update_template> or <VK_VERSION_1_1>" ); 14986 # endif 14987 14988 VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate; 14989 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateDescriptorUpdateTemplateKHR( 14990 m_device, 14991 reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>( &createInfo ), 14992 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 14993 reinterpret_cast<VkDescriptorUpdateTemplate *>( &descriptorUpdateTemplate ) ) ); 14994 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorUpdateTemplateKHRUnique" ); 14995 14996 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, 14997 UniqueHandle<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate, Dispatch>( 14998 descriptorUpdateTemplate, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 14999 } 15000 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 15001 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 15002 15003 // wrapper function for command vkDestroyDescriptorUpdateTemplateKHR, see 15004 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorUpdateTemplateKHR.html 15005 template <typename Dispatch> destroyDescriptorUpdateTemplateKHR(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const15006 VULKAN_HPP_INLINE void Device::destroyDescriptorUpdateTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, 15007 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 15008 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15009 { 15010 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15011 d.vkDestroyDescriptorUpdateTemplateKHR( static_cast<VkDevice>( m_device ), 15012 static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), 15013 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 15014 } 15015 15016 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 15017 // wrapper function for command vkDestroyDescriptorUpdateTemplateKHR, see 15018 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorUpdateTemplateKHR.html 15019 template <typename Dispatch> destroyDescriptorUpdateTemplateKHR(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const15020 VULKAN_HPP_INLINE void Device::destroyDescriptorUpdateTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, 15021 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 15022 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15023 { 15024 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15025 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15026 VULKAN_HPP_ASSERT( d.vkDestroyDescriptorUpdateTemplateKHR && 15027 "Function <vkDestroyDescriptorUpdateTemplateKHR> requires <VK_KHR_descriptor_update_template> or <VK_VERSION_1_1>" ); 15028 # endif 15029 15030 d.vkDestroyDescriptorUpdateTemplateKHR( 15031 m_device, 15032 static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), 15033 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 15034 } 15035 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 15036 15037 // wrapper function for command vkUpdateDescriptorSetWithTemplateKHR, see 15038 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateDescriptorSetWithTemplateKHR.html 15039 template <typename Dispatch> updateDescriptorSetWithTemplateKHR(VULKAN_HPP_NAMESPACE::DescriptorSet descriptorSet,VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,const void * pData,Dispatch const & d) const15040 VULKAN_HPP_INLINE void Device::updateDescriptorSetWithTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorSet descriptorSet, 15041 VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, 15042 const void * pData, 15043 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15044 { 15045 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15046 d.vkUpdateDescriptorSetWithTemplateKHR( static_cast<VkDevice>( m_device ), 15047 static_cast<VkDescriptorSet>( descriptorSet ), 15048 static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), 15049 pData ); 15050 } 15051 15052 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 15053 // wrapper function for command vkUpdateDescriptorSetWithTemplateKHR, see 15054 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateDescriptorSetWithTemplateKHR.html 15055 template <typename DataType, typename Dispatch> updateDescriptorSetWithTemplateKHR(VULKAN_HPP_NAMESPACE::DescriptorSet descriptorSet,VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,DataType const & data,Dispatch const & d) const15056 VULKAN_HPP_INLINE void Device::updateDescriptorSetWithTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorSet descriptorSet, 15057 VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, 15058 DataType const & data, 15059 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15060 { 15061 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15062 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15063 VULKAN_HPP_ASSERT( d.vkUpdateDescriptorSetWithTemplateKHR && 15064 "Function <vkUpdateDescriptorSetWithTemplateKHR> requires <VK_KHR_descriptor_update_template> or <VK_VERSION_1_1>" ); 15065 # endif 15066 15067 d.vkUpdateDescriptorSetWithTemplateKHR( m_device, 15068 static_cast<VkDescriptorSet>( descriptorSet ), 15069 static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), 15070 reinterpret_cast<const void *>( &data ) ); 15071 } 15072 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 15073 15074 //=== VK_NV_clip_space_w_scaling === 15075 15076 // wrapper function for command vkCmdSetViewportWScalingNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWScalingNV.html 15077 template <typename Dispatch> setViewportWScalingNV(uint32_t firstViewport,uint32_t viewportCount,const VULKAN_HPP_NAMESPACE::ViewportWScalingNV * pViewportWScalings,Dispatch const & d) const15078 VULKAN_HPP_INLINE void CommandBuffer::setViewportWScalingNV( uint32_t firstViewport, 15079 uint32_t viewportCount, 15080 const VULKAN_HPP_NAMESPACE::ViewportWScalingNV * pViewportWScalings, 15081 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15082 { 15083 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15084 d.vkCmdSetViewportWScalingNV( 15085 static_cast<VkCommandBuffer>( m_commandBuffer ), firstViewport, viewportCount, reinterpret_cast<const VkViewportWScalingNV *>( pViewportWScalings ) ); 15086 } 15087 15088 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 15089 // wrapper function for command vkCmdSetViewportWScalingNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWScalingNV.html 15090 template <typename Dispatch> 15091 VULKAN_HPP_INLINE void setViewportWScalingNV(uint32_t firstViewport,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ViewportWScalingNV> const & viewportWScalings,Dispatch const & d) const15092 CommandBuffer::setViewportWScalingNV( uint32_t firstViewport, 15093 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ViewportWScalingNV> const & viewportWScalings, 15094 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15095 { 15096 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15097 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15098 VULKAN_HPP_ASSERT( d.vkCmdSetViewportWScalingNV && "Function <vkCmdSetViewportWScalingNV> requires <VK_NV_clip_space_w_scaling>" ); 15099 # endif 15100 15101 d.vkCmdSetViewportWScalingNV( 15102 m_commandBuffer, firstViewport, viewportWScalings.size(), reinterpret_cast<const VkViewportWScalingNV *>( viewportWScalings.data() ) ); 15103 } 15104 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 15105 15106 //=== VK_EXT_direct_mode_display === 15107 15108 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 15109 // wrapper function for command vkReleaseDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseDisplayEXT.html 15110 template <typename Dispatch> releaseDisplayEXT(VULKAN_HPP_NAMESPACE::DisplayKHR display,Dispatch const & d) const15111 VULKAN_HPP_INLINE Result PhysicalDevice::releaseDisplayEXT( VULKAN_HPP_NAMESPACE::DisplayKHR display, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15112 { 15113 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15114 return static_cast<Result>( d.vkReleaseDisplayEXT( static_cast<VkPhysicalDevice>( m_physicalDevice ), static_cast<VkDisplayKHR>( display ) ) ); 15115 } 15116 #else 15117 // wrapper function for command vkReleaseDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseDisplayEXT.html 15118 template <typename Dispatch> releaseDisplayEXT(VULKAN_HPP_NAMESPACE::DisplayKHR display,Dispatch const & d) const15119 VULKAN_HPP_INLINE void PhysicalDevice::releaseDisplayEXT( VULKAN_HPP_NAMESPACE::DisplayKHR display, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15120 { 15121 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15122 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15123 VULKAN_HPP_ASSERT( d.vkReleaseDisplayEXT && "Function <vkReleaseDisplayEXT> requires <VK_EXT_direct_mode_display>" ); 15124 # endif 15125 15126 d.vkReleaseDisplayEXT( m_physicalDevice, static_cast<VkDisplayKHR>( display ) ); 15127 } 15128 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 15129 15130 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT ) 15131 //=== VK_EXT_acquire_xlib_display === 15132 15133 // wrapper function for command vkAcquireXlibDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireXlibDisplayEXT.html 15134 template <typename Dispatch> acquireXlibDisplayEXT(Display * dpy,VULKAN_HPP_NAMESPACE::DisplayKHR display,Dispatch const & d) const15135 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::acquireXlibDisplayEXT( Display * dpy, 15136 VULKAN_HPP_NAMESPACE::DisplayKHR display, 15137 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15138 { 15139 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15140 return static_cast<Result>( d.vkAcquireXlibDisplayEXT( static_cast<VkPhysicalDevice>( m_physicalDevice ), dpy, static_cast<VkDisplayKHR>( display ) ) ); 15141 } 15142 15143 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 15144 // wrapper function for command vkAcquireXlibDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireXlibDisplayEXT.html 15145 template <typename Dispatch> 15146 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type acquireXlibDisplayEXT(Display & dpy,VULKAN_HPP_NAMESPACE::DisplayKHR display,Dispatch const & d) const15147 PhysicalDevice::acquireXlibDisplayEXT( Display & dpy, VULKAN_HPP_NAMESPACE::DisplayKHR display, Dispatch const & d ) const 15148 { 15149 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15150 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15151 VULKAN_HPP_ASSERT( d.vkAcquireXlibDisplayEXT && "Function <vkAcquireXlibDisplayEXT> requires <VK_EXT_acquire_xlib_display>" ); 15152 # endif 15153 15154 VULKAN_HPP_NAMESPACE::Result result = 15155 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkAcquireXlibDisplayEXT( m_physicalDevice, &dpy, static_cast<VkDisplayKHR>( display ) ) ); 15156 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::acquireXlibDisplayEXT" ); 15157 15158 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 15159 } 15160 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 15161 15162 // wrapper function for command vkGetRandROutputDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRandROutputDisplayEXT.html 15163 template <typename Dispatch> getRandROutputDisplayEXT(Display * dpy,RROutput rrOutput,VULKAN_HPP_NAMESPACE::DisplayKHR * pDisplay,Dispatch const & d) const15164 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getRandROutputDisplayEXT( Display * dpy, 15165 RROutput rrOutput, 15166 VULKAN_HPP_NAMESPACE::DisplayKHR * pDisplay, 15167 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15168 { 15169 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15170 return static_cast<Result>( 15171 d.vkGetRandROutputDisplayEXT( static_cast<VkPhysicalDevice>( m_physicalDevice ), dpy, rrOutput, reinterpret_cast<VkDisplayKHR *>( pDisplay ) ) ); 15172 } 15173 15174 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 15175 // wrapper function for command vkGetRandROutputDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRandROutputDisplayEXT.html 15176 template <typename Dispatch> 15177 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DisplayKHR>::type getRandROutputDisplayEXT(Display & dpy,RROutput rrOutput,Dispatch const & d) const15178 PhysicalDevice::getRandROutputDisplayEXT( Display & dpy, RROutput rrOutput, Dispatch const & d ) const 15179 { 15180 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15181 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15182 VULKAN_HPP_ASSERT( d.vkGetRandROutputDisplayEXT && "Function <vkGetRandROutputDisplayEXT> requires <VK_EXT_acquire_xlib_display>" ); 15183 # endif 15184 15185 VULKAN_HPP_NAMESPACE::DisplayKHR display; 15186 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 15187 d.vkGetRandROutputDisplayEXT( m_physicalDevice, &dpy, rrOutput, reinterpret_cast<VkDisplayKHR *>( &display ) ) ); 15188 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getRandROutputDisplayEXT" ); 15189 15190 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( display ) ); 15191 } 15192 15193 # ifndef VULKAN_HPP_NO_SMART_HANDLE 15194 // wrapper function for command vkGetRandROutputDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRandROutputDisplayEXT.html 15195 template <typename Dispatch> 15196 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::DisplayKHR, Dispatch>>::type getRandROutputDisplayEXTUnique(Display & dpy,RROutput rrOutput,Dispatch const & d) const15197 PhysicalDevice::getRandROutputDisplayEXTUnique( Display & dpy, RROutput rrOutput, Dispatch const & d ) const 15198 { 15199 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15200 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15201 VULKAN_HPP_ASSERT( d.vkGetRandROutputDisplayEXT && "Function <vkGetRandROutputDisplayEXT> requires <VK_EXT_acquire_xlib_display>" ); 15202 # endif 15203 15204 VULKAN_HPP_NAMESPACE::DisplayKHR display; 15205 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 15206 d.vkGetRandROutputDisplayEXT( m_physicalDevice, &dpy, rrOutput, reinterpret_cast<VkDisplayKHR *>( &display ) ) ); 15207 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getRandROutputDisplayEXTUnique" ); 15208 15209 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 15210 result, UniqueHandle<VULKAN_HPP_NAMESPACE::DisplayKHR, Dispatch>( display, detail::ObjectRelease<PhysicalDevice, Dispatch>( *this, d ) ) ); 15211 } 15212 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 15213 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 15214 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/ 15215 15216 //=== VK_EXT_display_surface_counter === 15217 15218 // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2EXT, see 15219 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2EXT.html 15220 template <typename Dispatch> 15221 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getSurfaceCapabilities2EXT(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT * pSurfaceCapabilities,Dispatch const & d) const15222 PhysicalDevice::getSurfaceCapabilities2EXT( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, 15223 VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT * pSurfaceCapabilities, 15224 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15225 { 15226 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15227 return static_cast<Result>( d.vkGetPhysicalDeviceSurfaceCapabilities2EXT( static_cast<VkPhysicalDevice>( m_physicalDevice ), 15228 static_cast<VkSurfaceKHR>( surface ), 15229 reinterpret_cast<VkSurfaceCapabilities2EXT *>( pSurfaceCapabilities ) ) ); 15230 } 15231 15232 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 15233 // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2EXT, see 15234 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2EXT.html 15235 template <typename Dispatch> 15236 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT>::type getSurfaceCapabilities2EXT(VULKAN_HPP_NAMESPACE::SurfaceKHR surface,Dispatch const & d) const15237 PhysicalDevice::getSurfaceCapabilities2EXT( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Dispatch const & d ) const 15238 { 15239 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15240 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15241 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceSurfaceCapabilities2EXT && 15242 "Function <vkGetPhysicalDeviceSurfaceCapabilities2EXT> requires <VK_EXT_display_surface_counter>" ); 15243 # endif 15244 15245 VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT surfaceCapabilities; 15246 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceSurfaceCapabilities2EXT( 15247 m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), reinterpret_cast<VkSurfaceCapabilities2EXT *>( &surfaceCapabilities ) ) ); 15248 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2EXT" ); 15249 15250 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surfaceCapabilities ) ); 15251 } 15252 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 15253 15254 //=== VK_EXT_display_control === 15255 15256 // wrapper function for command vkDisplayPowerControlEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDisplayPowerControlEXT.html 15257 template <typename Dispatch> displayPowerControlEXT(VULKAN_HPP_NAMESPACE::DisplayKHR display,const VULKAN_HPP_NAMESPACE::DisplayPowerInfoEXT * pDisplayPowerInfo,Dispatch const & d) const15258 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::displayPowerControlEXT( VULKAN_HPP_NAMESPACE::DisplayKHR display, 15259 const VULKAN_HPP_NAMESPACE::DisplayPowerInfoEXT * pDisplayPowerInfo, 15260 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15261 { 15262 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15263 return static_cast<Result>( d.vkDisplayPowerControlEXT( 15264 static_cast<VkDevice>( m_device ), static_cast<VkDisplayKHR>( display ), reinterpret_cast<const VkDisplayPowerInfoEXT *>( pDisplayPowerInfo ) ) ); 15265 } 15266 15267 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 15268 // wrapper function for command vkDisplayPowerControlEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDisplayPowerControlEXT.html 15269 template <typename Dispatch> displayPowerControlEXT(VULKAN_HPP_NAMESPACE::DisplayKHR display,const VULKAN_HPP_NAMESPACE::DisplayPowerInfoEXT & displayPowerInfo,Dispatch const & d) const15270 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::displayPowerControlEXT( VULKAN_HPP_NAMESPACE::DisplayKHR display, 15271 const VULKAN_HPP_NAMESPACE::DisplayPowerInfoEXT & displayPowerInfo, 15272 Dispatch const & d ) const 15273 { 15274 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15275 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15276 VULKAN_HPP_ASSERT( d.vkDisplayPowerControlEXT && "Function <vkDisplayPowerControlEXT> requires <VK_EXT_display_control>" ); 15277 # endif 15278 15279 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 15280 d.vkDisplayPowerControlEXT( m_device, static_cast<VkDisplayKHR>( display ), reinterpret_cast<const VkDisplayPowerInfoEXT *>( &displayPowerInfo ) ) ); 15281 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::displayPowerControlEXT" ); 15282 15283 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 15284 } 15285 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 15286 15287 // wrapper function for command vkRegisterDeviceEventEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterDeviceEventEXT.html 15288 template <typename Dispatch> registerEventEXT(const VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT * pDeviceEventInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::Fence * pFence,Dispatch const & d) const15289 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::registerEventEXT( const VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT * pDeviceEventInfo, 15290 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 15291 VULKAN_HPP_NAMESPACE::Fence * pFence, 15292 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15293 { 15294 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15295 return static_cast<Result>( d.vkRegisterDeviceEventEXT( static_cast<VkDevice>( m_device ), 15296 reinterpret_cast<const VkDeviceEventInfoEXT *>( pDeviceEventInfo ), 15297 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 15298 reinterpret_cast<VkFence *>( pFence ) ) ); 15299 } 15300 15301 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 15302 // wrapper function for command vkRegisterDeviceEventEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterDeviceEventEXT.html 15303 template <typename Dispatch> 15304 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Fence>::type registerEventEXT(const VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT & deviceEventInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const15305 Device::registerEventEXT( const VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT & deviceEventInfo, 15306 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 15307 Dispatch const & d ) const 15308 { 15309 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15310 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15311 VULKAN_HPP_ASSERT( d.vkRegisterDeviceEventEXT && "Function <vkRegisterDeviceEventEXT> requires <VK_EXT_display_control>" ); 15312 # endif 15313 15314 VULKAN_HPP_NAMESPACE::Fence fence; 15315 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkRegisterDeviceEventEXT( 15316 m_device, 15317 reinterpret_cast<const VkDeviceEventInfoEXT *>( &deviceEventInfo ), 15318 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 15319 reinterpret_cast<VkFence *>( &fence ) ) ); 15320 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::registerEventEXT" ); 15321 15322 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( fence ) ); 15323 } 15324 15325 # ifndef VULKAN_HPP_NO_SMART_HANDLE 15326 // wrapper function for command vkRegisterDeviceEventEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterDeviceEventEXT.html 15327 template <typename Dispatch> 15328 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::Fence, Dispatch>>::type registerEventEXTUnique(const VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT & deviceEventInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const15329 Device::registerEventEXTUnique( const VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT & deviceEventInfo, 15330 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 15331 Dispatch const & d ) const 15332 { 15333 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15334 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15335 VULKAN_HPP_ASSERT( d.vkRegisterDeviceEventEXT && "Function <vkRegisterDeviceEventEXT> requires <VK_EXT_display_control>" ); 15336 # endif 15337 15338 VULKAN_HPP_NAMESPACE::Fence fence; 15339 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkRegisterDeviceEventEXT( 15340 m_device, 15341 reinterpret_cast<const VkDeviceEventInfoEXT *>( &deviceEventInfo ), 15342 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 15343 reinterpret_cast<VkFence *>( &fence ) ) ); 15344 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::registerEventEXTUnique" ); 15345 15346 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 15347 result, UniqueHandle<VULKAN_HPP_NAMESPACE::Fence, Dispatch>( fence, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 15348 } 15349 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 15350 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 15351 15352 // wrapper function for command vkRegisterDisplayEventEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterDisplayEventEXT.html 15353 template <typename Dispatch> registerDisplayEventEXT(VULKAN_HPP_NAMESPACE::DisplayKHR display,const VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT * pDisplayEventInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::Fence * pFence,Dispatch const & d) const15354 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::registerDisplayEventEXT( VULKAN_HPP_NAMESPACE::DisplayKHR display, 15355 const VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT * pDisplayEventInfo, 15356 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 15357 VULKAN_HPP_NAMESPACE::Fence * pFence, 15358 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15359 { 15360 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15361 return static_cast<Result>( d.vkRegisterDisplayEventEXT( static_cast<VkDevice>( m_device ), 15362 static_cast<VkDisplayKHR>( display ), 15363 reinterpret_cast<const VkDisplayEventInfoEXT *>( pDisplayEventInfo ), 15364 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 15365 reinterpret_cast<VkFence *>( pFence ) ) ); 15366 } 15367 15368 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 15369 // wrapper function for command vkRegisterDisplayEventEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterDisplayEventEXT.html 15370 template <typename Dispatch> 15371 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Fence>::type registerDisplayEventEXT(VULKAN_HPP_NAMESPACE::DisplayKHR display,const VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT & displayEventInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const15372 Device::registerDisplayEventEXT( VULKAN_HPP_NAMESPACE::DisplayKHR display, 15373 const VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT & displayEventInfo, 15374 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 15375 Dispatch const & d ) const 15376 { 15377 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15378 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15379 VULKAN_HPP_ASSERT( d.vkRegisterDisplayEventEXT && "Function <vkRegisterDisplayEventEXT> requires <VK_EXT_display_control>" ); 15380 # endif 15381 15382 VULKAN_HPP_NAMESPACE::Fence fence; 15383 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkRegisterDisplayEventEXT( 15384 m_device, 15385 static_cast<VkDisplayKHR>( display ), 15386 reinterpret_cast<const VkDisplayEventInfoEXT *>( &displayEventInfo ), 15387 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 15388 reinterpret_cast<VkFence *>( &fence ) ) ); 15389 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::registerDisplayEventEXT" ); 15390 15391 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( fence ) ); 15392 } 15393 15394 # ifndef VULKAN_HPP_NO_SMART_HANDLE 15395 // wrapper function for command vkRegisterDisplayEventEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterDisplayEventEXT.html 15396 template <typename Dispatch> 15397 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::Fence, Dispatch>>::type registerDisplayEventEXTUnique(VULKAN_HPP_NAMESPACE::DisplayKHR display,const VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT & displayEventInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const15398 Device::registerDisplayEventEXTUnique( VULKAN_HPP_NAMESPACE::DisplayKHR display, 15399 const VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT & displayEventInfo, 15400 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 15401 Dispatch const & d ) const 15402 { 15403 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15404 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15405 VULKAN_HPP_ASSERT( d.vkRegisterDisplayEventEXT && "Function <vkRegisterDisplayEventEXT> requires <VK_EXT_display_control>" ); 15406 # endif 15407 15408 VULKAN_HPP_NAMESPACE::Fence fence; 15409 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkRegisterDisplayEventEXT( 15410 m_device, 15411 static_cast<VkDisplayKHR>( display ), 15412 reinterpret_cast<const VkDisplayEventInfoEXT *>( &displayEventInfo ), 15413 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 15414 reinterpret_cast<VkFence *>( &fence ) ) ); 15415 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::registerDisplayEventEXTUnique" ); 15416 15417 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 15418 result, UniqueHandle<VULKAN_HPP_NAMESPACE::Fence, Dispatch>( fence, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 15419 } 15420 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 15421 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 15422 15423 // wrapper function for command vkGetSwapchainCounterEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainCounterEXT.html 15424 template <typename Dispatch> getSwapchainCounterEXT(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,VULKAN_HPP_NAMESPACE::SurfaceCounterFlagBitsEXT counter,uint64_t * pCounterValue,Dispatch const & d) const15425 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSwapchainCounterEXT( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, 15426 VULKAN_HPP_NAMESPACE::SurfaceCounterFlagBitsEXT counter, 15427 uint64_t * pCounterValue, 15428 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15429 { 15430 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15431 return static_cast<Result>( d.vkGetSwapchainCounterEXT( 15432 static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( swapchain ), static_cast<VkSurfaceCounterFlagBitsEXT>( counter ), pCounterValue ) ); 15433 } 15434 15435 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 15436 // wrapper function for command vkGetSwapchainCounterEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainCounterEXT.html 15437 template <typename Dispatch> getSwapchainCounterEXT(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,VULKAN_HPP_NAMESPACE::SurfaceCounterFlagBitsEXT counter,Dispatch const & d) const15438 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<uint64_t>::type Device::getSwapchainCounterEXT( 15439 VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, VULKAN_HPP_NAMESPACE::SurfaceCounterFlagBitsEXT counter, Dispatch const & d ) const 15440 { 15441 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15442 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15443 VULKAN_HPP_ASSERT( d.vkGetSwapchainCounterEXT && "Function <vkGetSwapchainCounterEXT> requires <VK_EXT_display_control>" ); 15444 # endif 15445 15446 uint64_t counterValue; 15447 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 15448 d.vkGetSwapchainCounterEXT( m_device, static_cast<VkSwapchainKHR>( swapchain ), static_cast<VkSurfaceCounterFlagBitsEXT>( counter ), &counterValue ) ); 15449 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSwapchainCounterEXT" ); 15450 15451 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( counterValue ) ); 15452 } 15453 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 15454 15455 //=== VK_GOOGLE_display_timing === 15456 15457 // wrapper function for command vkGetRefreshCycleDurationGOOGLE, see 15458 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRefreshCycleDurationGOOGLE.html 15459 template <typename Dispatch> 15460 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getRefreshCycleDurationGOOGLE(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE * pDisplayTimingProperties,Dispatch const & d) const15461 Device::getRefreshCycleDurationGOOGLE( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, 15462 VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE * pDisplayTimingProperties, 15463 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15464 { 15465 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15466 return static_cast<Result>( d.vkGetRefreshCycleDurationGOOGLE( static_cast<VkDevice>( m_device ), 15467 static_cast<VkSwapchainKHR>( swapchain ), 15468 reinterpret_cast<VkRefreshCycleDurationGOOGLE *>( pDisplayTimingProperties ) ) ); 15469 } 15470 15471 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 15472 // wrapper function for command vkGetRefreshCycleDurationGOOGLE, see 15473 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRefreshCycleDurationGOOGLE.html 15474 template <typename Dispatch> 15475 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE>::type getRefreshCycleDurationGOOGLE(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,Dispatch const & d) const15476 Device::getRefreshCycleDurationGOOGLE( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, Dispatch const & d ) const 15477 { 15478 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15479 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15480 VULKAN_HPP_ASSERT( d.vkGetRefreshCycleDurationGOOGLE && "Function <vkGetRefreshCycleDurationGOOGLE> requires <VK_GOOGLE_display_timing>" ); 15481 # endif 15482 15483 VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE displayTimingProperties; 15484 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetRefreshCycleDurationGOOGLE( 15485 m_device, static_cast<VkSwapchainKHR>( swapchain ), reinterpret_cast<VkRefreshCycleDurationGOOGLE *>( &displayTimingProperties ) ) ); 15486 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getRefreshCycleDurationGOOGLE" ); 15487 15488 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( displayTimingProperties ) ); 15489 } 15490 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 15491 15492 // wrapper function for command vkGetPastPresentationTimingGOOGLE, see 15493 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPastPresentationTimingGOOGLE.html 15494 template <typename Dispatch> 15495 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getPastPresentationTimingGOOGLE(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,uint32_t * pPresentationTimingCount,VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE * pPresentationTimings,Dispatch const & d) const15496 Device::getPastPresentationTimingGOOGLE( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, 15497 uint32_t * pPresentationTimingCount, 15498 VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE * pPresentationTimings, 15499 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15500 { 15501 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15502 return static_cast<Result>( d.vkGetPastPresentationTimingGOOGLE( static_cast<VkDevice>( m_device ), 15503 static_cast<VkSwapchainKHR>( swapchain ), 15504 pPresentationTimingCount, 15505 reinterpret_cast<VkPastPresentationTimingGOOGLE *>( pPresentationTimings ) ) ); 15506 } 15507 15508 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 15509 // wrapper function for command vkGetPastPresentationTimingGOOGLE, see 15510 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPastPresentationTimingGOOGLE.html 15511 template < 15512 typename PastPresentationTimingGOOGLEAllocator, 15513 typename Dispatch, 15514 typename std::enable_if<std::is_same<typename PastPresentationTimingGOOGLEAllocator::value_type, VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE>::value, 15515 int>::type> 15516 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 15517 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE, PastPresentationTimingGOOGLEAllocator>>::type getPastPresentationTimingGOOGLE(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,Dispatch const & d) const15518 Device::getPastPresentationTimingGOOGLE( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, Dispatch const & d ) const 15519 { 15520 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15521 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15522 VULKAN_HPP_ASSERT( d.vkGetPastPresentationTimingGOOGLE && "Function <vkGetPastPresentationTimingGOOGLE> requires <VK_GOOGLE_display_timing>" ); 15523 # endif 15524 15525 std::vector<VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE, PastPresentationTimingGOOGLEAllocator> presentationTimings; 15526 uint32_t presentationTimingCount; 15527 VULKAN_HPP_NAMESPACE::Result result; 15528 do 15529 { 15530 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 15531 d.vkGetPastPresentationTimingGOOGLE( m_device, static_cast<VkSwapchainKHR>( swapchain ), &presentationTimingCount, nullptr ) ); 15532 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && presentationTimingCount ) 15533 { 15534 presentationTimings.resize( presentationTimingCount ); 15535 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 15536 d.vkGetPastPresentationTimingGOOGLE( m_device, 15537 static_cast<VkSwapchainKHR>( swapchain ), 15538 &presentationTimingCount, 15539 reinterpret_cast<VkPastPresentationTimingGOOGLE *>( presentationTimings.data() ) ) ); 15540 } 15541 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 15542 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPastPresentationTimingGOOGLE" ); 15543 VULKAN_HPP_ASSERT( presentationTimingCount <= presentationTimings.size() ); 15544 if ( presentationTimingCount < presentationTimings.size() ) 15545 { 15546 presentationTimings.resize( presentationTimingCount ); 15547 } 15548 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( presentationTimings ) ); 15549 } 15550 15551 // wrapper function for command vkGetPastPresentationTimingGOOGLE, see 15552 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPastPresentationTimingGOOGLE.html 15553 template < 15554 typename PastPresentationTimingGOOGLEAllocator, 15555 typename Dispatch, 15556 typename std::enable_if<std::is_same<typename PastPresentationTimingGOOGLEAllocator::value_type, VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE>::value, 15557 int>::type> 15558 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 15559 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE, PastPresentationTimingGOOGLEAllocator>>::type getPastPresentationTimingGOOGLE(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,PastPresentationTimingGOOGLEAllocator & pastPresentationTimingGOOGLEAllocator,Dispatch const & d) const15560 Device::getPastPresentationTimingGOOGLE( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, 15561 PastPresentationTimingGOOGLEAllocator & pastPresentationTimingGOOGLEAllocator, 15562 Dispatch const & d ) const 15563 { 15564 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15565 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15566 VULKAN_HPP_ASSERT( d.vkGetPastPresentationTimingGOOGLE && "Function <vkGetPastPresentationTimingGOOGLE> requires <VK_GOOGLE_display_timing>" ); 15567 # endif 15568 15569 std::vector<VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE, PastPresentationTimingGOOGLEAllocator> presentationTimings( 15570 pastPresentationTimingGOOGLEAllocator ); 15571 uint32_t presentationTimingCount; 15572 VULKAN_HPP_NAMESPACE::Result result; 15573 do 15574 { 15575 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 15576 d.vkGetPastPresentationTimingGOOGLE( m_device, static_cast<VkSwapchainKHR>( swapchain ), &presentationTimingCount, nullptr ) ); 15577 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && presentationTimingCount ) 15578 { 15579 presentationTimings.resize( presentationTimingCount ); 15580 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 15581 d.vkGetPastPresentationTimingGOOGLE( m_device, 15582 static_cast<VkSwapchainKHR>( swapchain ), 15583 &presentationTimingCount, 15584 reinterpret_cast<VkPastPresentationTimingGOOGLE *>( presentationTimings.data() ) ) ); 15585 } 15586 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 15587 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPastPresentationTimingGOOGLE" ); 15588 VULKAN_HPP_ASSERT( presentationTimingCount <= presentationTimings.size() ); 15589 if ( presentationTimingCount < presentationTimings.size() ) 15590 { 15591 presentationTimings.resize( presentationTimingCount ); 15592 } 15593 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( presentationTimings ) ); 15594 } 15595 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 15596 15597 //=== VK_EXT_discard_rectangles === 15598 15599 // wrapper function for command vkCmdSetDiscardRectangleEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDiscardRectangleEXT.html 15600 template <typename Dispatch> setDiscardRectangleEXT(uint32_t firstDiscardRectangle,uint32_t discardRectangleCount,const VULKAN_HPP_NAMESPACE::Rect2D * pDiscardRectangles,Dispatch const & d) const15601 VULKAN_HPP_INLINE void CommandBuffer::setDiscardRectangleEXT( uint32_t firstDiscardRectangle, 15602 uint32_t discardRectangleCount, 15603 const VULKAN_HPP_NAMESPACE::Rect2D * pDiscardRectangles, 15604 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15605 { 15606 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15607 d.vkCmdSetDiscardRectangleEXT( 15608 static_cast<VkCommandBuffer>( m_commandBuffer ), firstDiscardRectangle, discardRectangleCount, reinterpret_cast<const VkRect2D *>( pDiscardRectangles ) ); 15609 } 15610 15611 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 15612 // wrapper function for command vkCmdSetDiscardRectangleEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDiscardRectangleEXT.html 15613 template <typename Dispatch> setDiscardRectangleEXT(uint32_t firstDiscardRectangle,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & discardRectangles,Dispatch const & d) const15614 VULKAN_HPP_INLINE void CommandBuffer::setDiscardRectangleEXT( uint32_t firstDiscardRectangle, 15615 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & discardRectangles, 15616 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15617 { 15618 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15619 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15620 VULKAN_HPP_ASSERT( d.vkCmdSetDiscardRectangleEXT && "Function <vkCmdSetDiscardRectangleEXT> requires <VK_EXT_discard_rectangles>" ); 15621 # endif 15622 15623 d.vkCmdSetDiscardRectangleEXT( 15624 m_commandBuffer, firstDiscardRectangle, discardRectangles.size(), reinterpret_cast<const VkRect2D *>( discardRectangles.data() ) ); 15625 } 15626 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 15627 15628 // wrapper function for command vkCmdSetDiscardRectangleEnableEXT, see 15629 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDiscardRectangleEnableEXT.html 15630 template <typename Dispatch> setDiscardRectangleEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 discardRectangleEnable,Dispatch const & d) const15631 VULKAN_HPP_INLINE void CommandBuffer::setDiscardRectangleEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 discardRectangleEnable, 15632 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15633 { 15634 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15635 d.vkCmdSetDiscardRectangleEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( discardRectangleEnable ) ); 15636 } 15637 15638 // wrapper function for command vkCmdSetDiscardRectangleModeEXT, see 15639 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDiscardRectangleModeEXT.html 15640 template <typename Dispatch> setDiscardRectangleModeEXT(VULKAN_HPP_NAMESPACE::DiscardRectangleModeEXT discardRectangleMode,Dispatch const & d) const15641 VULKAN_HPP_INLINE void CommandBuffer::setDiscardRectangleModeEXT( VULKAN_HPP_NAMESPACE::DiscardRectangleModeEXT discardRectangleMode, 15642 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15643 { 15644 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15645 d.vkCmdSetDiscardRectangleModeEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkDiscardRectangleModeEXT>( discardRectangleMode ) ); 15646 } 15647 15648 //=== VK_EXT_hdr_metadata === 15649 15650 // wrapper function for command vkSetHdrMetadataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetHdrMetadataEXT.html 15651 template <typename Dispatch> setHdrMetadataEXT(uint32_t swapchainCount,const VULKAN_HPP_NAMESPACE::SwapchainKHR * pSwapchains,const VULKAN_HPP_NAMESPACE::HdrMetadataEXT * pMetadata,Dispatch const & d) const15652 VULKAN_HPP_INLINE void Device::setHdrMetadataEXT( uint32_t swapchainCount, 15653 const VULKAN_HPP_NAMESPACE::SwapchainKHR * pSwapchains, 15654 const VULKAN_HPP_NAMESPACE::HdrMetadataEXT * pMetadata, 15655 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15656 { 15657 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15658 d.vkSetHdrMetadataEXT( static_cast<VkDevice>( m_device ), 15659 swapchainCount, 15660 reinterpret_cast<const VkSwapchainKHR *>( pSwapchains ), 15661 reinterpret_cast<const VkHdrMetadataEXT *>( pMetadata ) ); 15662 } 15663 15664 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 15665 // wrapper function for command vkSetHdrMetadataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetHdrMetadataEXT.html 15666 template <typename Dispatch> setHdrMetadataEXT(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainKHR> const & swapchains,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::HdrMetadataEXT> const & metadata,Dispatch const & d) const15667 VULKAN_HPP_INLINE void Device::setHdrMetadataEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainKHR> const & swapchains, 15668 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::HdrMetadataEXT> const & metadata, 15669 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS 15670 { 15671 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15672 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15673 VULKAN_HPP_ASSERT( d.vkSetHdrMetadataEXT && "Function <vkSetHdrMetadataEXT> requires <VK_EXT_hdr_metadata>" ); 15674 # endif 15675 # ifdef VULKAN_HPP_NO_EXCEPTIONS 15676 VULKAN_HPP_ASSERT( swapchains.size() == metadata.size() ); 15677 # else 15678 if ( swapchains.size() != metadata.size() ) 15679 { 15680 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::Device::setHdrMetadataEXT: swapchains.size() != metadata.size()" ); 15681 } 15682 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ 15683 15684 d.vkSetHdrMetadataEXT( m_device, 15685 swapchains.size(), 15686 reinterpret_cast<const VkSwapchainKHR *>( swapchains.data() ), 15687 reinterpret_cast<const VkHdrMetadataEXT *>( metadata.data() ) ); 15688 } 15689 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 15690 15691 //=== VK_KHR_create_renderpass2 === 15692 15693 // wrapper function for command vkCreateRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass2KHR.html 15694 template <typename Dispatch> createRenderPass2KHR(const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::RenderPass * pRenderPass,Dispatch const & d) const15695 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createRenderPass2KHR( const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 * pCreateInfo, 15696 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 15697 VULKAN_HPP_NAMESPACE::RenderPass * pRenderPass, 15698 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15699 { 15700 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15701 return static_cast<Result>( d.vkCreateRenderPass2KHR( static_cast<VkDevice>( m_device ), 15702 reinterpret_cast<const VkRenderPassCreateInfo2 *>( pCreateInfo ), 15703 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 15704 reinterpret_cast<VkRenderPass *>( pRenderPass ) ) ); 15705 } 15706 15707 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 15708 // wrapper function for command vkCreateRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass2KHR.html 15709 template <typename Dispatch> 15710 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::RenderPass>::type createRenderPass2KHR(const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const15711 Device::createRenderPass2KHR( const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 & createInfo, 15712 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 15713 Dispatch const & d ) const 15714 { 15715 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15716 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15717 VULKAN_HPP_ASSERT( d.vkCreateRenderPass2KHR && "Function <vkCreateRenderPass2KHR> requires <VK_KHR_create_renderpass2> or <VK_VERSION_1_2>" ); 15718 # endif 15719 15720 VULKAN_HPP_NAMESPACE::RenderPass renderPass; 15721 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 15722 d.vkCreateRenderPass2KHR( m_device, 15723 reinterpret_cast<const VkRenderPassCreateInfo2 *>( &createInfo ), 15724 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 15725 reinterpret_cast<VkRenderPass *>( &renderPass ) ) ); 15726 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPass2KHR" ); 15727 15728 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( renderPass ) ); 15729 } 15730 15731 # ifndef VULKAN_HPP_NO_SMART_HANDLE 15732 // wrapper function for command vkCreateRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass2KHR.html 15733 template <typename Dispatch> 15734 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::RenderPass, Dispatch>>::type createRenderPass2KHRUnique(const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const15735 Device::createRenderPass2KHRUnique( const VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 & createInfo, 15736 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 15737 Dispatch const & d ) const 15738 { 15739 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15740 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15741 VULKAN_HPP_ASSERT( d.vkCreateRenderPass2KHR && "Function <vkCreateRenderPass2KHR> requires <VK_KHR_create_renderpass2> or <VK_VERSION_1_2>" ); 15742 # endif 15743 15744 VULKAN_HPP_NAMESPACE::RenderPass renderPass; 15745 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 15746 d.vkCreateRenderPass2KHR( m_device, 15747 reinterpret_cast<const VkRenderPassCreateInfo2 *>( &createInfo ), 15748 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 15749 reinterpret_cast<VkRenderPass *>( &renderPass ) ) ); 15750 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPass2KHRUnique" ); 15751 15752 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 15753 result, UniqueHandle<VULKAN_HPP_NAMESPACE::RenderPass, Dispatch>( renderPass, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 15754 } 15755 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 15756 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 15757 15758 // wrapper function for command vkCmdBeginRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass2KHR.html 15759 template <typename Dispatch> beginRenderPass2KHR(const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo * pRenderPassBegin,const VULKAN_HPP_NAMESPACE::SubpassBeginInfo * pSubpassBeginInfo,Dispatch const & d) const15760 VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass2KHR( const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo * pRenderPassBegin, 15761 const VULKAN_HPP_NAMESPACE::SubpassBeginInfo * pSubpassBeginInfo, 15762 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15763 { 15764 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15765 d.vkCmdBeginRenderPass2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 15766 reinterpret_cast<const VkRenderPassBeginInfo *>( pRenderPassBegin ), 15767 reinterpret_cast<const VkSubpassBeginInfo *>( pSubpassBeginInfo ) ); 15768 } 15769 15770 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 15771 // wrapper function for command vkCmdBeginRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass2KHR.html 15772 template <typename Dispatch> beginRenderPass2KHR(const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo & renderPassBegin,const VULKAN_HPP_NAMESPACE::SubpassBeginInfo & subpassBeginInfo,Dispatch const & d) const15773 VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass2KHR( const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo & renderPassBegin, 15774 const VULKAN_HPP_NAMESPACE::SubpassBeginInfo & subpassBeginInfo, 15775 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15776 { 15777 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15778 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15779 VULKAN_HPP_ASSERT( d.vkCmdBeginRenderPass2KHR && "Function <vkCmdBeginRenderPass2KHR> requires <VK_KHR_create_renderpass2> or <VK_VERSION_1_2>" ); 15780 # endif 15781 15782 d.vkCmdBeginRenderPass2KHR( 15783 m_commandBuffer, reinterpret_cast<const VkRenderPassBeginInfo *>( &renderPassBegin ), reinterpret_cast<const VkSubpassBeginInfo *>( &subpassBeginInfo ) ); 15784 } 15785 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 15786 15787 // wrapper function for command vkCmdNextSubpass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdNextSubpass2KHR.html 15788 template <typename Dispatch> nextSubpass2KHR(const VULKAN_HPP_NAMESPACE::SubpassBeginInfo * pSubpassBeginInfo,const VULKAN_HPP_NAMESPACE::SubpassEndInfo * pSubpassEndInfo,Dispatch const & d) const15789 VULKAN_HPP_INLINE void CommandBuffer::nextSubpass2KHR( const VULKAN_HPP_NAMESPACE::SubpassBeginInfo * pSubpassBeginInfo, 15790 const VULKAN_HPP_NAMESPACE::SubpassEndInfo * pSubpassEndInfo, 15791 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15792 { 15793 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15794 d.vkCmdNextSubpass2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 15795 reinterpret_cast<const VkSubpassBeginInfo *>( pSubpassBeginInfo ), 15796 reinterpret_cast<const VkSubpassEndInfo *>( pSubpassEndInfo ) ); 15797 } 15798 15799 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 15800 // wrapper function for command vkCmdNextSubpass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdNextSubpass2KHR.html 15801 template <typename Dispatch> nextSubpass2KHR(const VULKAN_HPP_NAMESPACE::SubpassBeginInfo & subpassBeginInfo,const VULKAN_HPP_NAMESPACE::SubpassEndInfo & subpassEndInfo,Dispatch const & d) const15802 VULKAN_HPP_INLINE void CommandBuffer::nextSubpass2KHR( const VULKAN_HPP_NAMESPACE::SubpassBeginInfo & subpassBeginInfo, 15803 const VULKAN_HPP_NAMESPACE::SubpassEndInfo & subpassEndInfo, 15804 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15805 { 15806 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15807 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15808 VULKAN_HPP_ASSERT( d.vkCmdNextSubpass2KHR && "Function <vkCmdNextSubpass2KHR> requires <VK_KHR_create_renderpass2> or <VK_VERSION_1_2>" ); 15809 # endif 15810 15811 d.vkCmdNextSubpass2KHR( 15812 m_commandBuffer, reinterpret_cast<const VkSubpassBeginInfo *>( &subpassBeginInfo ), reinterpret_cast<const VkSubpassEndInfo *>( &subpassEndInfo ) ); 15813 } 15814 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 15815 15816 // wrapper function for command vkCmdEndRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderPass2KHR.html 15817 template <typename Dispatch> endRenderPass2KHR(const VULKAN_HPP_NAMESPACE::SubpassEndInfo * pSubpassEndInfo,Dispatch const & d) const15818 VULKAN_HPP_INLINE void CommandBuffer::endRenderPass2KHR( const VULKAN_HPP_NAMESPACE::SubpassEndInfo * pSubpassEndInfo, 15819 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15820 { 15821 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15822 d.vkCmdEndRenderPass2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkSubpassEndInfo *>( pSubpassEndInfo ) ); 15823 } 15824 15825 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 15826 // wrapper function for command vkCmdEndRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderPass2KHR.html 15827 template <typename Dispatch> endRenderPass2KHR(const VULKAN_HPP_NAMESPACE::SubpassEndInfo & subpassEndInfo,Dispatch const & d) const15828 VULKAN_HPP_INLINE void CommandBuffer::endRenderPass2KHR( const VULKAN_HPP_NAMESPACE::SubpassEndInfo & subpassEndInfo, 15829 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15830 { 15831 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15832 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15833 VULKAN_HPP_ASSERT( d.vkCmdEndRenderPass2KHR && "Function <vkCmdEndRenderPass2KHR> requires <VK_KHR_create_renderpass2> or <VK_VERSION_1_2>" ); 15834 # endif 15835 15836 d.vkCmdEndRenderPass2KHR( m_commandBuffer, reinterpret_cast<const VkSubpassEndInfo *>( &subpassEndInfo ) ); 15837 } 15838 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 15839 15840 //=== VK_KHR_shared_presentable_image === 15841 15842 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 15843 // wrapper function for command vkGetSwapchainStatusKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainStatusKHR.html 15844 template <typename Dispatch> getSwapchainStatusKHR(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,Dispatch const & d) const15845 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSwapchainStatusKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, 15846 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15847 { 15848 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15849 return static_cast<Result>( d.vkGetSwapchainStatusKHR( static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( swapchain ) ) ); 15850 } 15851 #else 15852 // wrapper function for command vkGetSwapchainStatusKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainStatusKHR.html 15853 template <typename Dispatch> getSwapchainStatusKHR(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,Dispatch const & d) const15854 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Device::getSwapchainStatusKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, 15855 Dispatch const & d ) const 15856 { 15857 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15858 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15859 VULKAN_HPP_ASSERT( d.vkGetSwapchainStatusKHR && "Function <vkGetSwapchainStatusKHR> requires <VK_KHR_shared_presentable_image>" ); 15860 # endif 15861 15862 VULKAN_HPP_NAMESPACE::Result result = 15863 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetSwapchainStatusKHR( m_device, static_cast<VkSwapchainKHR>( swapchain ) ) ); 15864 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 15865 VULKAN_HPP_NAMESPACE_STRING "::Device::getSwapchainStatusKHR", 15866 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR } ); 15867 15868 return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); 15869 } 15870 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 15871 15872 //=== VK_KHR_external_fence_capabilities === 15873 15874 // wrapper function for command vkGetPhysicalDeviceExternalFencePropertiesKHR, see 15875 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalFencePropertiesKHR.html 15876 template <typename Dispatch> getExternalFencePropertiesKHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo * pExternalFenceInfo,VULKAN_HPP_NAMESPACE::ExternalFenceProperties * pExternalFenceProperties,Dispatch const & d) const15877 VULKAN_HPP_INLINE void PhysicalDevice::getExternalFencePropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo * pExternalFenceInfo, 15878 VULKAN_HPP_NAMESPACE::ExternalFenceProperties * pExternalFenceProperties, 15879 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15880 { 15881 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15882 d.vkGetPhysicalDeviceExternalFencePropertiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 15883 reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo *>( pExternalFenceInfo ), 15884 reinterpret_cast<VkExternalFenceProperties *>( pExternalFenceProperties ) ); 15885 } 15886 15887 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 15888 // wrapper function for command vkGetPhysicalDeviceExternalFencePropertiesKHR, see 15889 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalFencePropertiesKHR.html 15890 template <typename Dispatch> 15891 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalFenceProperties getExternalFencePropertiesKHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo & externalFenceInfo,Dispatch const & d) const15892 PhysicalDevice::getExternalFencePropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo & externalFenceInfo, 15893 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15894 { 15895 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15896 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15897 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceExternalFencePropertiesKHR && 15898 "Function <vkGetPhysicalDeviceExternalFencePropertiesKHR> requires <VK_KHR_external_fence_capabilities> or <VK_VERSION_1_1>" ); 15899 # endif 15900 15901 VULKAN_HPP_NAMESPACE::ExternalFenceProperties externalFenceProperties; 15902 d.vkGetPhysicalDeviceExternalFencePropertiesKHR( m_physicalDevice, 15903 reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo *>( &externalFenceInfo ), 15904 reinterpret_cast<VkExternalFenceProperties *>( &externalFenceProperties ) ); 15905 15906 return externalFenceProperties; 15907 } 15908 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 15909 15910 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 15911 //=== VK_KHR_external_fence_win32 === 15912 15913 // wrapper function for command vkImportFenceWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportFenceWin32HandleKHR.html 15914 template <typename Dispatch> importFenceWin32HandleKHR(const VULKAN_HPP_NAMESPACE::ImportFenceWin32HandleInfoKHR * pImportFenceWin32HandleInfo,Dispatch const & d) const15915 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::importFenceWin32HandleKHR( 15916 const VULKAN_HPP_NAMESPACE::ImportFenceWin32HandleInfoKHR * pImportFenceWin32HandleInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15917 { 15918 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15919 return static_cast<Result>( d.vkImportFenceWin32HandleKHR( static_cast<VkDevice>( m_device ), 15920 reinterpret_cast<const VkImportFenceWin32HandleInfoKHR *>( pImportFenceWin32HandleInfo ) ) ); 15921 } 15922 15923 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 15924 // wrapper function for command vkImportFenceWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportFenceWin32HandleKHR.html 15925 template <typename Dispatch> 15926 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type importFenceWin32HandleKHR(const VULKAN_HPP_NAMESPACE::ImportFenceWin32HandleInfoKHR & importFenceWin32HandleInfo,Dispatch const & d) const15927 Device::importFenceWin32HandleKHR( const VULKAN_HPP_NAMESPACE::ImportFenceWin32HandleInfoKHR & importFenceWin32HandleInfo, Dispatch const & d ) const 15928 { 15929 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15930 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15931 VULKAN_HPP_ASSERT( d.vkImportFenceWin32HandleKHR && "Function <vkImportFenceWin32HandleKHR> requires <VK_KHR_external_fence_win32>" ); 15932 # endif 15933 15934 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 15935 d.vkImportFenceWin32HandleKHR( m_device, reinterpret_cast<const VkImportFenceWin32HandleInfoKHR *>( &importFenceWin32HandleInfo ) ) ); 15936 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::importFenceWin32HandleKHR" ); 15937 15938 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 15939 } 15940 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 15941 15942 // wrapper function for command vkGetFenceWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceWin32HandleKHR.html 15943 template <typename Dispatch> getFenceWin32HandleKHR(const VULKAN_HPP_NAMESPACE::FenceGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle,Dispatch const & d) const15944 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getFenceWin32HandleKHR( const VULKAN_HPP_NAMESPACE::FenceGetWin32HandleInfoKHR * pGetWin32HandleInfo, 15945 HANDLE * pHandle, 15946 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15947 { 15948 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15949 return static_cast<Result>( 15950 d.vkGetFenceWin32HandleKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkFenceGetWin32HandleInfoKHR *>( pGetWin32HandleInfo ), pHandle ) ); 15951 } 15952 15953 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 15954 // wrapper function for command vkGetFenceWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceWin32HandleKHR.html 15955 template <typename Dispatch> 15956 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<HANDLE>::type getFenceWin32HandleKHR(const VULKAN_HPP_NAMESPACE::FenceGetWin32HandleInfoKHR & getWin32HandleInfo,Dispatch const & d) const15957 Device::getFenceWin32HandleKHR( const VULKAN_HPP_NAMESPACE::FenceGetWin32HandleInfoKHR & getWin32HandleInfo, Dispatch const & d ) const 15958 { 15959 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15960 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15961 VULKAN_HPP_ASSERT( d.vkGetFenceWin32HandleKHR && "Function <vkGetFenceWin32HandleKHR> requires <VK_KHR_external_fence_win32>" ); 15962 # endif 15963 15964 HANDLE handle; 15965 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 15966 d.vkGetFenceWin32HandleKHR( m_device, reinterpret_cast<const VkFenceGetWin32HandleInfoKHR *>( &getWin32HandleInfo ), &handle ) ); 15967 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getFenceWin32HandleKHR" ); 15968 15969 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( handle ) ); 15970 } 15971 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 15972 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 15973 15974 //=== VK_KHR_external_fence_fd === 15975 15976 // wrapper function for command vkImportFenceFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportFenceFdKHR.html 15977 template <typename Dispatch> importFenceFdKHR(const VULKAN_HPP_NAMESPACE::ImportFenceFdInfoKHR * pImportFenceFdInfo,Dispatch const & d) const15978 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::importFenceFdKHR( const VULKAN_HPP_NAMESPACE::ImportFenceFdInfoKHR * pImportFenceFdInfo, 15979 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 15980 { 15981 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15982 return static_cast<Result>( 15983 d.vkImportFenceFdKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImportFenceFdInfoKHR *>( pImportFenceFdInfo ) ) ); 15984 } 15985 15986 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 15987 // wrapper function for command vkImportFenceFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportFenceFdKHR.html 15988 template <typename Dispatch> 15989 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type importFenceFdKHR(const VULKAN_HPP_NAMESPACE::ImportFenceFdInfoKHR & importFenceFdInfo,Dispatch const & d) const15990 Device::importFenceFdKHR( const VULKAN_HPP_NAMESPACE::ImportFenceFdInfoKHR & importFenceFdInfo, Dispatch const & d ) const 15991 { 15992 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 15993 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 15994 VULKAN_HPP_ASSERT( d.vkImportFenceFdKHR && "Function <vkImportFenceFdKHR> requires <VK_KHR_external_fence_fd>" ); 15995 # endif 15996 15997 VULKAN_HPP_NAMESPACE::Result result = 15998 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkImportFenceFdKHR( m_device, reinterpret_cast<const VkImportFenceFdInfoKHR *>( &importFenceFdInfo ) ) ); 15999 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::importFenceFdKHR" ); 16000 16001 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 16002 } 16003 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 16004 16005 // wrapper function for command vkGetFenceFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceFdKHR.html 16006 template <typename Dispatch> getFenceFdKHR(const VULKAN_HPP_NAMESPACE::FenceGetFdInfoKHR * pGetFdInfo,int * pFd,Dispatch const & d) const16007 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getFenceFdKHR( const VULKAN_HPP_NAMESPACE::FenceGetFdInfoKHR * pGetFdInfo, 16008 int * pFd, 16009 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 16010 { 16011 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16012 return static_cast<Result>( d.vkGetFenceFdKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkFenceGetFdInfoKHR *>( pGetFdInfo ), pFd ) ); 16013 } 16014 16015 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 16016 // wrapper function for command vkGetFenceFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceFdKHR.html 16017 template <typename Dispatch> getFenceFdKHR(const VULKAN_HPP_NAMESPACE::FenceGetFdInfoKHR & getFdInfo,Dispatch const & d) const16018 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<int>::type Device::getFenceFdKHR( const VULKAN_HPP_NAMESPACE::FenceGetFdInfoKHR & getFdInfo, 16019 Dispatch const & d ) const 16020 { 16021 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16022 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 16023 VULKAN_HPP_ASSERT( d.vkGetFenceFdKHR && "Function <vkGetFenceFdKHR> requires <VK_KHR_external_fence_fd>" ); 16024 # endif 16025 16026 int fd; 16027 VULKAN_HPP_NAMESPACE::Result result = 16028 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetFenceFdKHR( m_device, reinterpret_cast<const VkFenceGetFdInfoKHR *>( &getFdInfo ), &fd ) ); 16029 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getFenceFdKHR" ); 16030 16031 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( fd ) ); 16032 } 16033 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 16034 16035 //=== VK_KHR_performance_query === 16036 16037 // wrapper function for command vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR, see 16038 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR.html 16039 template <typename Dispatch> 16040 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result enumerateQueueFamilyPerformanceQueryCountersKHR(uint32_t queueFamilyIndex,uint32_t * pCounterCount,VULKAN_HPP_NAMESPACE::PerformanceCounterKHR * pCounters,VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR * pCounterDescriptions,Dispatch const & d) const16041 PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR( uint32_t queueFamilyIndex, 16042 uint32_t * pCounterCount, 16043 VULKAN_HPP_NAMESPACE::PerformanceCounterKHR * pCounters, 16044 VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR * pCounterDescriptions, 16045 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 16046 { 16047 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16048 return static_cast<Result>( 16049 d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 16050 queueFamilyIndex, 16051 pCounterCount, 16052 reinterpret_cast<VkPerformanceCounterKHR *>( pCounters ), 16053 reinterpret_cast<VkPerformanceCounterDescriptionKHR *>( pCounterDescriptions ) ) ); 16054 } 16055 16056 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 16057 // wrapper function for command vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR, see 16058 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR.html 16059 template <typename PerformanceCounterKHRAllocator, 16060 typename PerformanceCounterDescriptionKHRAllocator, 16061 typename Dispatch, 16062 typename std::enable_if< 16063 std::is_same<typename PerformanceCounterKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::PerformanceCounterKHR>::value && 16064 std::is_same<typename PerformanceCounterDescriptionKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR>::value, 16065 int>::type> 16066 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 16067 typename ResultValueType<std::pair<std::vector<VULKAN_HPP_NAMESPACE::PerformanceCounterKHR, PerformanceCounterKHRAllocator>, 16068 std::vector<VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR, PerformanceCounterDescriptionKHRAllocator>>>::type enumerateQueueFamilyPerformanceQueryCountersKHR(uint32_t queueFamilyIndex,Dispatch const & d) const16069 PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR( uint32_t queueFamilyIndex, Dispatch const & d ) const 16070 { 16071 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16072 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 16073 VULKAN_HPP_ASSERT( d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR && 16074 "Function <vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR> requires <VK_KHR_performance_query>" ); 16075 # endif 16076 16077 std::pair<std::vector<VULKAN_HPP_NAMESPACE::PerformanceCounterKHR, PerformanceCounterKHRAllocator>, 16078 std::vector<VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR, PerformanceCounterDescriptionKHRAllocator>> 16079 data_; 16080 std::vector<VULKAN_HPP_NAMESPACE::PerformanceCounterKHR, PerformanceCounterKHRAllocator> & counters = data_.first; 16081 std::vector<VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR, PerformanceCounterDescriptionKHRAllocator> & counterDescriptions = data_.second; 16082 uint32_t counterCount; 16083 VULKAN_HPP_NAMESPACE::Result result; 16084 do 16085 { 16086 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 16087 d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( m_physicalDevice, queueFamilyIndex, &counterCount, nullptr, nullptr ) ); 16088 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && counterCount ) 16089 { 16090 counters.resize( counterCount ); 16091 counterDescriptions.resize( counterCount ); 16092 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( 16093 m_physicalDevice, 16094 queueFamilyIndex, 16095 &counterCount, 16096 reinterpret_cast<VkPerformanceCounterKHR *>( counters.data() ), 16097 reinterpret_cast<VkPerformanceCounterDescriptionKHR *>( counterDescriptions.data() ) ) ); 16098 } 16099 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 16100 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR" ); 16101 VULKAN_HPP_ASSERT( counterCount <= counters.size() ); 16102 if ( counterCount < counters.size() ) 16103 { 16104 counters.resize( counterCount ); 16105 counterDescriptions.resize( counterCount ); 16106 } 16107 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); 16108 } 16109 16110 // wrapper function for command vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR, see 16111 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR.html 16112 template <typename PerformanceCounterKHRAllocator, 16113 typename PerformanceCounterDescriptionKHRAllocator, 16114 typename Dispatch, 16115 typename std::enable_if< 16116 std::is_same<typename PerformanceCounterKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::PerformanceCounterKHR>::value && 16117 std::is_same<typename PerformanceCounterDescriptionKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR>::value, 16118 int>::type> 16119 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 16120 typename ResultValueType<std::pair<std::vector<VULKAN_HPP_NAMESPACE::PerformanceCounterKHR, PerformanceCounterKHRAllocator>, 16121 std::vector<VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR, PerformanceCounterDescriptionKHRAllocator>>>::type enumerateQueueFamilyPerformanceQueryCountersKHR(uint32_t queueFamilyIndex,PerformanceCounterKHRAllocator & performanceCounterKHRAllocator,PerformanceCounterDescriptionKHRAllocator & performanceCounterDescriptionKHRAllocator,Dispatch const & d) const16122 PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR( uint32_t queueFamilyIndex, 16123 PerformanceCounterKHRAllocator & performanceCounterKHRAllocator, 16124 PerformanceCounterDescriptionKHRAllocator & performanceCounterDescriptionKHRAllocator, 16125 Dispatch const & d ) const 16126 { 16127 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16128 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 16129 VULKAN_HPP_ASSERT( d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR && 16130 "Function <vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR> requires <VK_KHR_performance_query>" ); 16131 # endif 16132 16133 std::pair<std::vector<VULKAN_HPP_NAMESPACE::PerformanceCounterKHR, PerformanceCounterKHRAllocator>, 16134 std::vector<VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR, PerformanceCounterDescriptionKHRAllocator>> 16135 data_( 16136 std::piecewise_construct, std::forward_as_tuple( performanceCounterKHRAllocator ), std::forward_as_tuple( performanceCounterDescriptionKHRAllocator ) ); 16137 std::vector<VULKAN_HPP_NAMESPACE::PerformanceCounterKHR, PerformanceCounterKHRAllocator> & counters = data_.first; 16138 std::vector<VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR, PerformanceCounterDescriptionKHRAllocator> & counterDescriptions = data_.second; 16139 uint32_t counterCount; 16140 VULKAN_HPP_NAMESPACE::Result result; 16141 do 16142 { 16143 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 16144 d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( m_physicalDevice, queueFamilyIndex, &counterCount, nullptr, nullptr ) ); 16145 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && counterCount ) 16146 { 16147 counters.resize( counterCount ); 16148 counterDescriptions.resize( counterCount ); 16149 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( 16150 m_physicalDevice, 16151 queueFamilyIndex, 16152 &counterCount, 16153 reinterpret_cast<VkPerformanceCounterKHR *>( counters.data() ), 16154 reinterpret_cast<VkPerformanceCounterDescriptionKHR *>( counterDescriptions.data() ) ) ); 16155 } 16156 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 16157 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR" ); 16158 VULKAN_HPP_ASSERT( counterCount <= counters.size() ); 16159 if ( counterCount < counters.size() ) 16160 { 16161 counters.resize( counterCount ); 16162 counterDescriptions.resize( counterCount ); 16163 } 16164 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); 16165 } 16166 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 16167 16168 // wrapper function for command vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR, see 16169 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR.html 16170 template <typename Dispatch> 16171 VULKAN_HPP_INLINE void getQueueFamilyPerformanceQueryPassesKHR(const VULKAN_HPP_NAMESPACE::QueryPoolPerformanceCreateInfoKHR * pPerformanceQueryCreateInfo,uint32_t * pNumPasses,Dispatch const & d) const16172 PhysicalDevice::getQueueFamilyPerformanceQueryPassesKHR( const VULKAN_HPP_NAMESPACE::QueryPoolPerformanceCreateInfoKHR * pPerformanceQueryCreateInfo, 16173 uint32_t * pNumPasses, 16174 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 16175 { 16176 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16177 d.vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 16178 reinterpret_cast<const VkQueryPoolPerformanceCreateInfoKHR *>( pPerformanceQueryCreateInfo ), 16179 pNumPasses ); 16180 } 16181 16182 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 16183 // wrapper function for command vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR, see 16184 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR.html 16185 template <typename Dispatch> getQueueFamilyPerformanceQueryPassesKHR(const VULKAN_HPP_NAMESPACE::QueryPoolPerformanceCreateInfoKHR & performanceQueryCreateInfo,Dispatch const & d) const16186 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint32_t PhysicalDevice::getQueueFamilyPerformanceQueryPassesKHR( 16187 const VULKAN_HPP_NAMESPACE::QueryPoolPerformanceCreateInfoKHR & performanceQueryCreateInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 16188 { 16189 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16190 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 16191 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR && 16192 "Function <vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR> requires <VK_KHR_performance_query>" ); 16193 # endif 16194 16195 uint32_t numPasses; 16196 d.vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( 16197 m_physicalDevice, reinterpret_cast<const VkQueryPoolPerformanceCreateInfoKHR *>( &performanceQueryCreateInfo ), &numPasses ); 16198 16199 return numPasses; 16200 } 16201 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 16202 16203 // wrapper function for command vkAcquireProfilingLockKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireProfilingLockKHR.html 16204 template <typename Dispatch> acquireProfilingLockKHR(const VULKAN_HPP_NAMESPACE::AcquireProfilingLockInfoKHR * pInfo,Dispatch const & d) const16205 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::acquireProfilingLockKHR( const VULKAN_HPP_NAMESPACE::AcquireProfilingLockInfoKHR * pInfo, 16206 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 16207 { 16208 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16209 return static_cast<Result>( 16210 d.vkAcquireProfilingLockKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkAcquireProfilingLockInfoKHR *>( pInfo ) ) ); 16211 } 16212 16213 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 16214 // wrapper function for command vkAcquireProfilingLockKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireProfilingLockKHR.html 16215 template <typename Dispatch> 16216 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type acquireProfilingLockKHR(const VULKAN_HPP_NAMESPACE::AcquireProfilingLockInfoKHR & info,Dispatch const & d) const16217 Device::acquireProfilingLockKHR( const VULKAN_HPP_NAMESPACE::AcquireProfilingLockInfoKHR & info, Dispatch const & d ) const 16218 { 16219 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16220 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 16221 VULKAN_HPP_ASSERT( d.vkAcquireProfilingLockKHR && "Function <vkAcquireProfilingLockKHR> requires <VK_KHR_performance_query>" ); 16222 # endif 16223 16224 VULKAN_HPP_NAMESPACE::Result result = 16225 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkAcquireProfilingLockKHR( m_device, reinterpret_cast<const VkAcquireProfilingLockInfoKHR *>( &info ) ) ); 16226 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::acquireProfilingLockKHR" ); 16227 16228 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 16229 } 16230 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 16231 16232 // wrapper function for command vkReleaseProfilingLockKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseProfilingLockKHR.html 16233 template <typename Dispatch> releaseProfilingLockKHR(Dispatch const & d) const16234 VULKAN_HPP_INLINE void Device::releaseProfilingLockKHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 16235 { 16236 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16237 d.vkReleaseProfilingLockKHR( static_cast<VkDevice>( m_device ) ); 16238 } 16239 16240 //=== VK_KHR_get_surface_capabilities2 === 16241 16242 // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2KHR, see 16243 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html 16244 template <typename Dispatch> 16245 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getSurfaceCapabilities2KHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR * pSurfaceCapabilities,Dispatch const & d) const16246 PhysicalDevice::getSurfaceCapabilities2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo, 16247 VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR * pSurfaceCapabilities, 16248 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 16249 { 16250 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16251 return static_cast<Result>( d.vkGetPhysicalDeviceSurfaceCapabilities2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 16252 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( pSurfaceInfo ), 16253 reinterpret_cast<VkSurfaceCapabilities2KHR *>( pSurfaceCapabilities ) ) ); 16254 } 16255 16256 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 16257 // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2KHR, see 16258 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html 16259 template <typename Dispatch> 16260 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR>::type getSurfaceCapabilities2KHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,Dispatch const & d) const16261 PhysicalDevice::getSurfaceCapabilities2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo, Dispatch const & d ) const 16262 { 16263 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16264 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 16265 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceSurfaceCapabilities2KHR && 16266 "Function <vkGetPhysicalDeviceSurfaceCapabilities2KHR> requires <VK_KHR_get_surface_capabilities2>" ); 16267 # endif 16268 16269 VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR surfaceCapabilities; 16270 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 16271 d.vkGetPhysicalDeviceSurfaceCapabilities2KHR( m_physicalDevice, 16272 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), 16273 reinterpret_cast<VkSurfaceCapabilities2KHR *>( &surfaceCapabilities ) ) ); 16274 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2KHR" ); 16275 16276 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surfaceCapabilities ) ); 16277 } 16278 16279 // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2KHR, see 16280 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html 16281 template <typename X, typename Y, typename... Z, typename Dispatch> 16282 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>>::type getSurfaceCapabilities2KHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,Dispatch const & d) const16283 PhysicalDevice::getSurfaceCapabilities2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo, Dispatch const & d ) const 16284 { 16285 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16286 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 16287 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceSurfaceCapabilities2KHR && 16288 "Function <vkGetPhysicalDeviceSurfaceCapabilities2KHR> requires <VK_KHR_get_surface_capabilities2>" ); 16289 # endif 16290 16291 StructureChain<X, Y, Z...> structureChain; 16292 VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR & surfaceCapabilities = structureChain.template get<VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR>(); 16293 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 16294 d.vkGetPhysicalDeviceSurfaceCapabilities2KHR( m_physicalDevice, 16295 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), 16296 reinterpret_cast<VkSurfaceCapabilities2KHR *>( &surfaceCapabilities ) ) ); 16297 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2KHR" ); 16298 16299 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChain ) ); 16300 } 16301 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 16302 16303 // wrapper function for command vkGetPhysicalDeviceSurfaceFormats2KHR, see 16304 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormats2KHR.html 16305 template <typename Dispatch> getSurfaceFormats2KHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,uint32_t * pSurfaceFormatCount,VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR * pSurfaceFormats,Dispatch const & d) const16306 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getSurfaceFormats2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo, 16307 uint32_t * pSurfaceFormatCount, 16308 VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR * pSurfaceFormats, 16309 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 16310 { 16311 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16312 return static_cast<Result>( d.vkGetPhysicalDeviceSurfaceFormats2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 16313 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( pSurfaceInfo ), 16314 pSurfaceFormatCount, 16315 reinterpret_cast<VkSurfaceFormat2KHR *>( pSurfaceFormats ) ) ); 16316 } 16317 16318 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 16319 // wrapper function for command vkGetPhysicalDeviceSurfaceFormats2KHR, see 16320 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormats2KHR.html 16321 template <typename SurfaceFormat2KHRAllocator, 16322 typename Dispatch, 16323 typename std::enable_if<std::is_same<typename SurfaceFormat2KHRAllocator::value_type, VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR>::value, int>::type> 16324 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR, SurfaceFormat2KHRAllocator>>::type getSurfaceFormats2KHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,Dispatch const & d) const16325 PhysicalDevice::getSurfaceFormats2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo, Dispatch const & d ) const 16326 { 16327 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16328 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 16329 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceSurfaceFormats2KHR && 16330 "Function <vkGetPhysicalDeviceSurfaceFormats2KHR> requires <VK_KHR_get_surface_capabilities2>" ); 16331 # endif 16332 16333 std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR, SurfaceFormat2KHRAllocator> surfaceFormats; 16334 uint32_t surfaceFormatCount; 16335 VULKAN_HPP_NAMESPACE::Result result; 16336 do 16337 { 16338 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceSurfaceFormats2KHR( 16339 m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), &surfaceFormatCount, nullptr ) ); 16340 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && surfaceFormatCount ) 16341 { 16342 surfaceFormats.resize( surfaceFormatCount ); 16343 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 16344 d.vkGetPhysicalDeviceSurfaceFormats2KHR( m_physicalDevice, 16345 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), 16346 &surfaceFormatCount, 16347 reinterpret_cast<VkSurfaceFormat2KHR *>( surfaceFormats.data() ) ) ); 16348 } 16349 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 16350 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormats2KHR" ); 16351 VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() ); 16352 if ( surfaceFormatCount < surfaceFormats.size() ) 16353 { 16354 surfaceFormats.resize( surfaceFormatCount ); 16355 } 16356 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surfaceFormats ) ); 16357 } 16358 16359 // wrapper function for command vkGetPhysicalDeviceSurfaceFormats2KHR, see 16360 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormats2KHR.html 16361 template <typename SurfaceFormat2KHRAllocator, 16362 typename Dispatch, 16363 typename std::enable_if<std::is_same<typename SurfaceFormat2KHRAllocator::value_type, VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR>::value, int>::type> 16364 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR, SurfaceFormat2KHRAllocator>>::type getSurfaceFormats2KHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,SurfaceFormat2KHRAllocator & surfaceFormat2KHRAllocator,Dispatch const & d) const16365 PhysicalDevice::getSurfaceFormats2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo, 16366 SurfaceFormat2KHRAllocator & surfaceFormat2KHRAllocator, 16367 Dispatch const & d ) const 16368 { 16369 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16370 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 16371 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceSurfaceFormats2KHR && 16372 "Function <vkGetPhysicalDeviceSurfaceFormats2KHR> requires <VK_KHR_get_surface_capabilities2>" ); 16373 # endif 16374 16375 std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR, SurfaceFormat2KHRAllocator> surfaceFormats( surfaceFormat2KHRAllocator ); 16376 uint32_t surfaceFormatCount; 16377 VULKAN_HPP_NAMESPACE::Result result; 16378 do 16379 { 16380 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceSurfaceFormats2KHR( 16381 m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), &surfaceFormatCount, nullptr ) ); 16382 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && surfaceFormatCount ) 16383 { 16384 surfaceFormats.resize( surfaceFormatCount ); 16385 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 16386 d.vkGetPhysicalDeviceSurfaceFormats2KHR( m_physicalDevice, 16387 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), 16388 &surfaceFormatCount, 16389 reinterpret_cast<VkSurfaceFormat2KHR *>( surfaceFormats.data() ) ) ); 16390 } 16391 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 16392 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormats2KHR" ); 16393 VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() ); 16394 if ( surfaceFormatCount < surfaceFormats.size() ) 16395 { 16396 surfaceFormats.resize( surfaceFormatCount ); 16397 } 16398 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surfaceFormats ) ); 16399 } 16400 16401 // wrapper function for command vkGetPhysicalDeviceSurfaceFormats2KHR, see 16402 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormats2KHR.html 16403 template <typename StructureChain, 16404 typename StructureChainAllocator, 16405 typename Dispatch, 16406 typename std::enable_if<std::is_same<typename StructureChainAllocator::value_type, StructureChain>::value, int>::type> 16407 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<StructureChain, StructureChainAllocator>>::type getSurfaceFormats2KHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,Dispatch const & d) const16408 PhysicalDevice::getSurfaceFormats2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo, Dispatch const & d ) const 16409 { 16410 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16411 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 16412 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceSurfaceFormats2KHR && 16413 "Function <vkGetPhysicalDeviceSurfaceFormats2KHR> requires <VK_KHR_get_surface_capabilities2>" ); 16414 # endif 16415 16416 std::vector<StructureChain, StructureChainAllocator> structureChains; 16417 std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR> surfaceFormats; 16418 uint32_t surfaceFormatCount; 16419 VULKAN_HPP_NAMESPACE::Result result; 16420 do 16421 { 16422 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceSurfaceFormats2KHR( 16423 m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), &surfaceFormatCount, nullptr ) ); 16424 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && surfaceFormatCount ) 16425 { 16426 structureChains.resize( surfaceFormatCount ); 16427 surfaceFormats.resize( surfaceFormatCount ); 16428 for ( uint32_t i = 0; i < surfaceFormatCount; i++ ) 16429 { 16430 surfaceFormats[i].pNext = structureChains[i].template get<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR>().pNext; 16431 } 16432 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 16433 d.vkGetPhysicalDeviceSurfaceFormats2KHR( m_physicalDevice, 16434 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), 16435 &surfaceFormatCount, 16436 reinterpret_cast<VkSurfaceFormat2KHR *>( surfaceFormats.data() ) ) ); 16437 } 16438 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 16439 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormats2KHR" ); 16440 VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() ); 16441 if ( surfaceFormatCount < surfaceFormats.size() ) 16442 { 16443 structureChains.resize( surfaceFormatCount ); 16444 } 16445 for ( uint32_t i = 0; i < surfaceFormatCount; i++ ) 16446 { 16447 structureChains[i].template get<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR>() = surfaceFormats[i]; 16448 } 16449 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChains ) ); 16450 } 16451 16452 // wrapper function for command vkGetPhysicalDeviceSurfaceFormats2KHR, see 16453 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormats2KHR.html 16454 template <typename StructureChain, 16455 typename StructureChainAllocator, 16456 typename Dispatch, 16457 typename std::enable_if<std::is_same<typename StructureChainAllocator::value_type, StructureChain>::value, int>::type> 16458 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<StructureChain, StructureChainAllocator>>::type getSurfaceFormats2KHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,StructureChainAllocator & structureChainAllocator,Dispatch const & d) const16459 PhysicalDevice::getSurfaceFormats2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo, 16460 StructureChainAllocator & structureChainAllocator, 16461 Dispatch const & d ) const 16462 { 16463 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16464 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 16465 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceSurfaceFormats2KHR && 16466 "Function <vkGetPhysicalDeviceSurfaceFormats2KHR> requires <VK_KHR_get_surface_capabilities2>" ); 16467 # endif 16468 16469 std::vector<StructureChain, StructureChainAllocator> structureChains( structureChainAllocator ); 16470 std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR> surfaceFormats; 16471 uint32_t surfaceFormatCount; 16472 VULKAN_HPP_NAMESPACE::Result result; 16473 do 16474 { 16475 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceSurfaceFormats2KHR( 16476 m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), &surfaceFormatCount, nullptr ) ); 16477 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && surfaceFormatCount ) 16478 { 16479 structureChains.resize( surfaceFormatCount ); 16480 surfaceFormats.resize( surfaceFormatCount ); 16481 for ( uint32_t i = 0; i < surfaceFormatCount; i++ ) 16482 { 16483 surfaceFormats[i].pNext = structureChains[i].template get<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR>().pNext; 16484 } 16485 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 16486 d.vkGetPhysicalDeviceSurfaceFormats2KHR( m_physicalDevice, 16487 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), 16488 &surfaceFormatCount, 16489 reinterpret_cast<VkSurfaceFormat2KHR *>( surfaceFormats.data() ) ) ); 16490 } 16491 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 16492 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormats2KHR" ); 16493 VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() ); 16494 if ( surfaceFormatCount < surfaceFormats.size() ) 16495 { 16496 structureChains.resize( surfaceFormatCount ); 16497 } 16498 for ( uint32_t i = 0; i < surfaceFormatCount; i++ ) 16499 { 16500 structureChains[i].template get<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR>() = surfaceFormats[i]; 16501 } 16502 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChains ) ); 16503 } 16504 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 16505 16506 //=== VK_KHR_get_display_properties2 === 16507 16508 // wrapper function for command vkGetPhysicalDeviceDisplayProperties2KHR, see 16509 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayProperties2KHR.html 16510 template <typename Dispatch> getDisplayProperties2KHR(uint32_t * pPropertyCount,VULKAN_HPP_NAMESPACE::DisplayProperties2KHR * pProperties,Dispatch const & d) const16511 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getDisplayProperties2KHR( uint32_t * pPropertyCount, 16512 VULKAN_HPP_NAMESPACE::DisplayProperties2KHR * pProperties, 16513 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 16514 { 16515 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16516 return static_cast<Result>( d.vkGetPhysicalDeviceDisplayProperties2KHR( 16517 static_cast<VkPhysicalDevice>( m_physicalDevice ), pPropertyCount, reinterpret_cast<VkDisplayProperties2KHR *>( pProperties ) ) ); 16518 } 16519 16520 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 16521 // wrapper function for command vkGetPhysicalDeviceDisplayProperties2KHR, see 16522 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayProperties2KHR.html 16523 template < 16524 typename DisplayProperties2KHRAllocator, 16525 typename Dispatch, 16526 typename std::enable_if<std::is_same<typename DisplayProperties2KHRAllocator::value_type, VULKAN_HPP_NAMESPACE::DisplayProperties2KHR>::value, int>::type> 16527 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 16528 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayProperties2KHR, DisplayProperties2KHRAllocator>>::type getDisplayProperties2KHR(Dispatch const & d) const16529 PhysicalDevice::getDisplayProperties2KHR( Dispatch const & d ) const 16530 { 16531 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16532 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 16533 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceDisplayProperties2KHR && 16534 "Function <vkGetPhysicalDeviceDisplayProperties2KHR> requires <VK_KHR_get_display_properties2>" ); 16535 # endif 16536 16537 std::vector<VULKAN_HPP_NAMESPACE::DisplayProperties2KHR, DisplayProperties2KHRAllocator> properties; 16538 uint32_t propertyCount; 16539 VULKAN_HPP_NAMESPACE::Result result; 16540 do 16541 { 16542 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceDisplayProperties2KHR( m_physicalDevice, &propertyCount, nullptr ) ); 16543 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 16544 { 16545 properties.resize( propertyCount ); 16546 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 16547 d.vkGetPhysicalDeviceDisplayProperties2KHR( m_physicalDevice, &propertyCount, reinterpret_cast<VkDisplayProperties2KHR *>( properties.data() ) ) ); 16548 } 16549 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 16550 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayProperties2KHR" ); 16551 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 16552 if ( propertyCount < properties.size() ) 16553 { 16554 properties.resize( propertyCount ); 16555 } 16556 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 16557 } 16558 16559 // wrapper function for command vkGetPhysicalDeviceDisplayProperties2KHR, see 16560 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayProperties2KHR.html 16561 template < 16562 typename DisplayProperties2KHRAllocator, 16563 typename Dispatch, 16564 typename std::enable_if<std::is_same<typename DisplayProperties2KHRAllocator::value_type, VULKAN_HPP_NAMESPACE::DisplayProperties2KHR>::value, int>::type> 16565 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 16566 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayProperties2KHR, DisplayProperties2KHRAllocator>>::type getDisplayProperties2KHR(DisplayProperties2KHRAllocator & displayProperties2KHRAllocator,Dispatch const & d) const16567 PhysicalDevice::getDisplayProperties2KHR( DisplayProperties2KHRAllocator & displayProperties2KHRAllocator, Dispatch const & d ) const 16568 { 16569 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16570 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 16571 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceDisplayProperties2KHR && 16572 "Function <vkGetPhysicalDeviceDisplayProperties2KHR> requires <VK_KHR_get_display_properties2>" ); 16573 # endif 16574 16575 std::vector<VULKAN_HPP_NAMESPACE::DisplayProperties2KHR, DisplayProperties2KHRAllocator> properties( displayProperties2KHRAllocator ); 16576 uint32_t propertyCount; 16577 VULKAN_HPP_NAMESPACE::Result result; 16578 do 16579 { 16580 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceDisplayProperties2KHR( m_physicalDevice, &propertyCount, nullptr ) ); 16581 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 16582 { 16583 properties.resize( propertyCount ); 16584 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 16585 d.vkGetPhysicalDeviceDisplayProperties2KHR( m_physicalDevice, &propertyCount, reinterpret_cast<VkDisplayProperties2KHR *>( properties.data() ) ) ); 16586 } 16587 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 16588 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayProperties2KHR" ); 16589 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 16590 if ( propertyCount < properties.size() ) 16591 { 16592 properties.resize( propertyCount ); 16593 } 16594 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 16595 } 16596 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 16597 16598 // wrapper function for command vkGetPhysicalDeviceDisplayPlaneProperties2KHR, see 16599 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPlaneProperties2KHR.html 16600 template <typename Dispatch> getDisplayPlaneProperties2KHR(uint32_t * pPropertyCount,VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR * pProperties,Dispatch const & d) const16601 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getDisplayPlaneProperties2KHR( uint32_t * pPropertyCount, 16602 VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR * pProperties, 16603 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 16604 { 16605 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16606 return static_cast<Result>( d.vkGetPhysicalDeviceDisplayPlaneProperties2KHR( 16607 static_cast<VkPhysicalDevice>( m_physicalDevice ), pPropertyCount, reinterpret_cast<VkDisplayPlaneProperties2KHR *>( pProperties ) ) ); 16608 } 16609 16610 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 16611 // wrapper function for command vkGetPhysicalDeviceDisplayPlaneProperties2KHR, see 16612 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPlaneProperties2KHR.html 16613 template < 16614 typename DisplayPlaneProperties2KHRAllocator, 16615 typename Dispatch, 16616 typename std::enable_if<std::is_same<typename DisplayPlaneProperties2KHRAllocator::value_type, VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR>::value, 16617 int>::type> 16618 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 16619 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR, DisplayPlaneProperties2KHRAllocator>>::type getDisplayPlaneProperties2KHR(Dispatch const & d) const16620 PhysicalDevice::getDisplayPlaneProperties2KHR( Dispatch const & d ) const 16621 { 16622 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16623 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 16624 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceDisplayPlaneProperties2KHR && 16625 "Function <vkGetPhysicalDeviceDisplayPlaneProperties2KHR> requires <VK_KHR_get_display_properties2>" ); 16626 # endif 16627 16628 std::vector<VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR, DisplayPlaneProperties2KHRAllocator> properties; 16629 uint32_t propertyCount; 16630 VULKAN_HPP_NAMESPACE::Result result; 16631 do 16632 { 16633 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceDisplayPlaneProperties2KHR( m_physicalDevice, &propertyCount, nullptr ) ); 16634 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 16635 { 16636 properties.resize( propertyCount ); 16637 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceDisplayPlaneProperties2KHR( 16638 m_physicalDevice, &propertyCount, reinterpret_cast<VkDisplayPlaneProperties2KHR *>( properties.data() ) ) ); 16639 } 16640 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 16641 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneProperties2KHR" ); 16642 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 16643 if ( propertyCount < properties.size() ) 16644 { 16645 properties.resize( propertyCount ); 16646 } 16647 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 16648 } 16649 16650 // wrapper function for command vkGetPhysicalDeviceDisplayPlaneProperties2KHR, see 16651 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPlaneProperties2KHR.html 16652 template < 16653 typename DisplayPlaneProperties2KHRAllocator, 16654 typename Dispatch, 16655 typename std::enable_if<std::is_same<typename DisplayPlaneProperties2KHRAllocator::value_type, VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR>::value, 16656 int>::type> 16657 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 16658 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR, DisplayPlaneProperties2KHRAllocator>>::type getDisplayPlaneProperties2KHR(DisplayPlaneProperties2KHRAllocator & displayPlaneProperties2KHRAllocator,Dispatch const & d) const16659 PhysicalDevice::getDisplayPlaneProperties2KHR( DisplayPlaneProperties2KHRAllocator & displayPlaneProperties2KHRAllocator, Dispatch const & d ) const 16660 { 16661 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16662 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 16663 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceDisplayPlaneProperties2KHR && 16664 "Function <vkGetPhysicalDeviceDisplayPlaneProperties2KHR> requires <VK_KHR_get_display_properties2>" ); 16665 # endif 16666 16667 std::vector<VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR, DisplayPlaneProperties2KHRAllocator> properties( displayPlaneProperties2KHRAllocator ); 16668 uint32_t propertyCount; 16669 VULKAN_HPP_NAMESPACE::Result result; 16670 do 16671 { 16672 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceDisplayPlaneProperties2KHR( m_physicalDevice, &propertyCount, nullptr ) ); 16673 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 16674 { 16675 properties.resize( propertyCount ); 16676 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceDisplayPlaneProperties2KHR( 16677 m_physicalDevice, &propertyCount, reinterpret_cast<VkDisplayPlaneProperties2KHR *>( properties.data() ) ) ); 16678 } 16679 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 16680 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneProperties2KHR" ); 16681 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 16682 if ( propertyCount < properties.size() ) 16683 { 16684 properties.resize( propertyCount ); 16685 } 16686 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 16687 } 16688 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 16689 16690 // wrapper function for command vkGetDisplayModeProperties2KHR, see 16691 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModeProperties2KHR.html 16692 template <typename Dispatch> getDisplayModeProperties2KHR(VULKAN_HPP_NAMESPACE::DisplayKHR display,uint32_t * pPropertyCount,VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR * pProperties,Dispatch const & d) const16693 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getDisplayModeProperties2KHR( VULKAN_HPP_NAMESPACE::DisplayKHR display, 16694 uint32_t * pPropertyCount, 16695 VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR * pProperties, 16696 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 16697 { 16698 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16699 return static_cast<Result>( d.vkGetDisplayModeProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 16700 static_cast<VkDisplayKHR>( display ), 16701 pPropertyCount, 16702 reinterpret_cast<VkDisplayModeProperties2KHR *>( pProperties ) ) ); 16703 } 16704 16705 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 16706 // wrapper function for command vkGetDisplayModeProperties2KHR, see 16707 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModeProperties2KHR.html 16708 template < 16709 typename DisplayModeProperties2KHRAllocator, 16710 typename Dispatch, 16711 typename std::enable_if<std::is_same<typename DisplayModeProperties2KHRAllocator::value_type, VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR>::value, 16712 int>::type> 16713 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 16714 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR, DisplayModeProperties2KHRAllocator>>::type getDisplayModeProperties2KHR(VULKAN_HPP_NAMESPACE::DisplayKHR display,Dispatch const & d) const16715 PhysicalDevice::getDisplayModeProperties2KHR( VULKAN_HPP_NAMESPACE::DisplayKHR display, Dispatch const & d ) const 16716 { 16717 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16718 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 16719 VULKAN_HPP_ASSERT( d.vkGetDisplayModeProperties2KHR && "Function <vkGetDisplayModeProperties2KHR> requires <VK_KHR_get_display_properties2>" ); 16720 # endif 16721 16722 std::vector<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR, DisplayModeProperties2KHRAllocator> properties; 16723 uint32_t propertyCount; 16724 VULKAN_HPP_NAMESPACE::Result result; 16725 do 16726 { 16727 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 16728 d.vkGetDisplayModeProperties2KHR( m_physicalDevice, static_cast<VkDisplayKHR>( display ), &propertyCount, nullptr ) ); 16729 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 16730 { 16731 properties.resize( propertyCount ); 16732 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetDisplayModeProperties2KHR( 16733 m_physicalDevice, static_cast<VkDisplayKHR>( display ), &propertyCount, reinterpret_cast<VkDisplayModeProperties2KHR *>( properties.data() ) ) ); 16734 } 16735 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 16736 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayModeProperties2KHR" ); 16737 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 16738 if ( propertyCount < properties.size() ) 16739 { 16740 properties.resize( propertyCount ); 16741 } 16742 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 16743 } 16744 16745 // wrapper function for command vkGetDisplayModeProperties2KHR, see 16746 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModeProperties2KHR.html 16747 template < 16748 typename DisplayModeProperties2KHRAllocator, 16749 typename Dispatch, 16750 typename std::enable_if<std::is_same<typename DisplayModeProperties2KHRAllocator::value_type, VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR>::value, 16751 int>::type> 16752 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 16753 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR, DisplayModeProperties2KHRAllocator>>::type getDisplayModeProperties2KHR(VULKAN_HPP_NAMESPACE::DisplayKHR display,DisplayModeProperties2KHRAllocator & displayModeProperties2KHRAllocator,Dispatch const & d) const16754 PhysicalDevice::getDisplayModeProperties2KHR( VULKAN_HPP_NAMESPACE::DisplayKHR display, 16755 DisplayModeProperties2KHRAllocator & displayModeProperties2KHRAllocator, 16756 Dispatch const & d ) const 16757 { 16758 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16759 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 16760 VULKAN_HPP_ASSERT( d.vkGetDisplayModeProperties2KHR && "Function <vkGetDisplayModeProperties2KHR> requires <VK_KHR_get_display_properties2>" ); 16761 # endif 16762 16763 std::vector<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR, DisplayModeProperties2KHRAllocator> properties( displayModeProperties2KHRAllocator ); 16764 uint32_t propertyCount; 16765 VULKAN_HPP_NAMESPACE::Result result; 16766 do 16767 { 16768 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 16769 d.vkGetDisplayModeProperties2KHR( m_physicalDevice, static_cast<VkDisplayKHR>( display ), &propertyCount, nullptr ) ); 16770 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 16771 { 16772 properties.resize( propertyCount ); 16773 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetDisplayModeProperties2KHR( 16774 m_physicalDevice, static_cast<VkDisplayKHR>( display ), &propertyCount, reinterpret_cast<VkDisplayModeProperties2KHR *>( properties.data() ) ) ); 16775 } 16776 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 16777 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayModeProperties2KHR" ); 16778 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 16779 if ( propertyCount < properties.size() ) 16780 { 16781 properties.resize( propertyCount ); 16782 } 16783 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 16784 } 16785 16786 // wrapper function for command vkGetDisplayModeProperties2KHR, see 16787 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModeProperties2KHR.html 16788 template <typename StructureChain, 16789 typename StructureChainAllocator, 16790 typename Dispatch, 16791 typename std::enable_if<std::is_same<typename StructureChainAllocator::value_type, StructureChain>::value, int>::type> 16792 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<StructureChain, StructureChainAllocator>>::type getDisplayModeProperties2KHR(VULKAN_HPP_NAMESPACE::DisplayKHR display,Dispatch const & d) const16793 PhysicalDevice::getDisplayModeProperties2KHR( VULKAN_HPP_NAMESPACE::DisplayKHR display, Dispatch const & d ) const 16794 { 16795 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16796 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 16797 VULKAN_HPP_ASSERT( d.vkGetDisplayModeProperties2KHR && "Function <vkGetDisplayModeProperties2KHR> requires <VK_KHR_get_display_properties2>" ); 16798 # endif 16799 16800 std::vector<StructureChain, StructureChainAllocator> structureChains; 16801 std::vector<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR> properties; 16802 uint32_t propertyCount; 16803 VULKAN_HPP_NAMESPACE::Result result; 16804 do 16805 { 16806 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 16807 d.vkGetDisplayModeProperties2KHR( m_physicalDevice, static_cast<VkDisplayKHR>( display ), &propertyCount, nullptr ) ); 16808 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 16809 { 16810 structureChains.resize( propertyCount ); 16811 properties.resize( propertyCount ); 16812 for ( uint32_t i = 0; i < propertyCount; i++ ) 16813 { 16814 properties[i].pNext = structureChains[i].template get<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR>().pNext; 16815 } 16816 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetDisplayModeProperties2KHR( 16817 m_physicalDevice, static_cast<VkDisplayKHR>( display ), &propertyCount, reinterpret_cast<VkDisplayModeProperties2KHR *>( properties.data() ) ) ); 16818 } 16819 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 16820 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayModeProperties2KHR" ); 16821 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 16822 if ( propertyCount < properties.size() ) 16823 { 16824 structureChains.resize( propertyCount ); 16825 } 16826 for ( uint32_t i = 0; i < propertyCount; i++ ) 16827 { 16828 structureChains[i].template get<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR>() = properties[i]; 16829 } 16830 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChains ) ); 16831 } 16832 16833 // wrapper function for command vkGetDisplayModeProperties2KHR, see 16834 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModeProperties2KHR.html 16835 template <typename StructureChain, 16836 typename StructureChainAllocator, 16837 typename Dispatch, 16838 typename std::enable_if<std::is_same<typename StructureChainAllocator::value_type, StructureChain>::value, int>::type> 16839 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<StructureChain, StructureChainAllocator>>::type getDisplayModeProperties2KHR(VULKAN_HPP_NAMESPACE::DisplayKHR display,StructureChainAllocator & structureChainAllocator,Dispatch const & d) const16840 PhysicalDevice::getDisplayModeProperties2KHR( VULKAN_HPP_NAMESPACE::DisplayKHR display, 16841 StructureChainAllocator & structureChainAllocator, 16842 Dispatch const & d ) const 16843 { 16844 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16845 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 16846 VULKAN_HPP_ASSERT( d.vkGetDisplayModeProperties2KHR && "Function <vkGetDisplayModeProperties2KHR> requires <VK_KHR_get_display_properties2>" ); 16847 # endif 16848 16849 std::vector<StructureChain, StructureChainAllocator> structureChains( structureChainAllocator ); 16850 std::vector<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR> properties; 16851 uint32_t propertyCount; 16852 VULKAN_HPP_NAMESPACE::Result result; 16853 do 16854 { 16855 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 16856 d.vkGetDisplayModeProperties2KHR( m_physicalDevice, static_cast<VkDisplayKHR>( display ), &propertyCount, nullptr ) ); 16857 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 16858 { 16859 structureChains.resize( propertyCount ); 16860 properties.resize( propertyCount ); 16861 for ( uint32_t i = 0; i < propertyCount; i++ ) 16862 { 16863 properties[i].pNext = structureChains[i].template get<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR>().pNext; 16864 } 16865 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetDisplayModeProperties2KHR( 16866 m_physicalDevice, static_cast<VkDisplayKHR>( display ), &propertyCount, reinterpret_cast<VkDisplayModeProperties2KHR *>( properties.data() ) ) ); 16867 } 16868 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 16869 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayModeProperties2KHR" ); 16870 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 16871 if ( propertyCount < properties.size() ) 16872 { 16873 structureChains.resize( propertyCount ); 16874 } 16875 for ( uint32_t i = 0; i < propertyCount; i++ ) 16876 { 16877 structureChains[i].template get<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR>() = properties[i]; 16878 } 16879 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChains ) ); 16880 } 16881 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 16882 16883 // wrapper function for command vkGetDisplayPlaneCapabilities2KHR, see 16884 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneCapabilities2KHR.html 16885 template <typename Dispatch> 16886 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getDisplayPlaneCapabilities2KHR(const VULKAN_HPP_NAMESPACE::DisplayPlaneInfo2KHR * pDisplayPlaneInfo,VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR * pCapabilities,Dispatch const & d) const16887 PhysicalDevice::getDisplayPlaneCapabilities2KHR( const VULKAN_HPP_NAMESPACE::DisplayPlaneInfo2KHR * pDisplayPlaneInfo, 16888 VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR * pCapabilities, 16889 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 16890 { 16891 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16892 return static_cast<Result>( d.vkGetDisplayPlaneCapabilities2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 16893 reinterpret_cast<const VkDisplayPlaneInfo2KHR *>( pDisplayPlaneInfo ), 16894 reinterpret_cast<VkDisplayPlaneCapabilities2KHR *>( pCapabilities ) ) ); 16895 } 16896 16897 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 16898 // wrapper function for command vkGetDisplayPlaneCapabilities2KHR, see 16899 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneCapabilities2KHR.html 16900 template <typename Dispatch> 16901 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR>::type getDisplayPlaneCapabilities2KHR(const VULKAN_HPP_NAMESPACE::DisplayPlaneInfo2KHR & displayPlaneInfo,Dispatch const & d) const16902 PhysicalDevice::getDisplayPlaneCapabilities2KHR( const VULKAN_HPP_NAMESPACE::DisplayPlaneInfo2KHR & displayPlaneInfo, Dispatch const & d ) const 16903 { 16904 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16905 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 16906 VULKAN_HPP_ASSERT( d.vkGetDisplayPlaneCapabilities2KHR && "Function <vkGetDisplayPlaneCapabilities2KHR> requires <VK_KHR_get_display_properties2>" ); 16907 # endif 16908 16909 VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR capabilities; 16910 VULKAN_HPP_NAMESPACE::Result result = 16911 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetDisplayPlaneCapabilities2KHR( m_physicalDevice, 16912 reinterpret_cast<const VkDisplayPlaneInfo2KHR *>( &displayPlaneInfo ), 16913 reinterpret_cast<VkDisplayPlaneCapabilities2KHR *>( &capabilities ) ) ); 16914 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneCapabilities2KHR" ); 16915 16916 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( capabilities ) ); 16917 } 16918 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 16919 16920 #if defined( VK_USE_PLATFORM_IOS_MVK ) 16921 //=== VK_MVK_ios_surface === 16922 16923 // wrapper function for command vkCreateIOSSurfaceMVK, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIOSSurfaceMVK.html 16924 template <typename Dispatch> createIOSSurfaceMVK(const VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,Dispatch const & d) const16925 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createIOSSurfaceMVK( const VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK * pCreateInfo, 16926 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 16927 VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface, 16928 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 16929 { 16930 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16931 return static_cast<Result>( d.vkCreateIOSSurfaceMVK( static_cast<VkInstance>( m_instance ), 16932 reinterpret_cast<const VkIOSSurfaceCreateInfoMVK *>( pCreateInfo ), 16933 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 16934 reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) ); 16935 } 16936 16937 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 16938 // wrapper function for command vkCreateIOSSurfaceMVK, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIOSSurfaceMVK.html 16939 template <typename Dispatch> 16940 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type createIOSSurfaceMVK(const VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const16941 Instance::createIOSSurfaceMVK( const VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK & createInfo, 16942 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 16943 Dispatch const & d ) const 16944 { 16945 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16946 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 16947 VULKAN_HPP_ASSERT( d.vkCreateIOSSurfaceMVK && "Function <vkCreateIOSSurfaceMVK> requires <VK_MVK_ios_surface>" ); 16948 # endif 16949 16950 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 16951 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 16952 d.vkCreateIOSSurfaceMVK( m_instance, 16953 reinterpret_cast<const VkIOSSurfaceCreateInfoMVK *>( &createInfo ), 16954 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 16955 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 16956 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createIOSSurfaceMVK" ); 16957 16958 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surface ) ); 16959 } 16960 16961 # ifndef VULKAN_HPP_NO_SMART_HANDLE 16962 // wrapper function for command vkCreateIOSSurfaceMVK, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIOSSurfaceMVK.html 16963 template <typename Dispatch> 16964 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type createIOSSurfaceMVKUnique(const VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const16965 Instance::createIOSSurfaceMVKUnique( const VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK & createInfo, 16966 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 16967 Dispatch const & d ) const 16968 { 16969 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 16970 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 16971 VULKAN_HPP_ASSERT( d.vkCreateIOSSurfaceMVK && "Function <vkCreateIOSSurfaceMVK> requires <VK_MVK_ios_surface>" ); 16972 # endif 16973 16974 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 16975 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 16976 d.vkCreateIOSSurfaceMVK( m_instance, 16977 reinterpret_cast<const VkIOSSurfaceCreateInfoMVK *>( &createInfo ), 16978 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 16979 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 16980 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createIOSSurfaceMVKUnique" ); 16981 16982 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 16983 result, UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>( surface, detail::ObjectDestroy<Instance, Dispatch>( *this, allocator, d ) ) ); 16984 } 16985 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 16986 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 16987 #endif /*VK_USE_PLATFORM_IOS_MVK*/ 16988 16989 #if defined( VK_USE_PLATFORM_MACOS_MVK ) 16990 //=== VK_MVK_macos_surface === 16991 16992 // wrapper function for command vkCreateMacOSSurfaceMVK, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMacOSSurfaceMVK.html 16993 template <typename Dispatch> createMacOSSurfaceMVK(const VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,Dispatch const & d) const16994 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createMacOSSurfaceMVK( const VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK * pCreateInfo, 16995 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 16996 VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface, 16997 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 16998 { 16999 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17000 return static_cast<Result>( d.vkCreateMacOSSurfaceMVK( static_cast<VkInstance>( m_instance ), 17001 reinterpret_cast<const VkMacOSSurfaceCreateInfoMVK *>( pCreateInfo ), 17002 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 17003 reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) ); 17004 } 17005 17006 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 17007 // wrapper function for command vkCreateMacOSSurfaceMVK, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMacOSSurfaceMVK.html 17008 template <typename Dispatch> 17009 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type createMacOSSurfaceMVK(const VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const17010 Instance::createMacOSSurfaceMVK( const VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK & createInfo, 17011 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 17012 Dispatch const & d ) const 17013 { 17014 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17015 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17016 VULKAN_HPP_ASSERT( d.vkCreateMacOSSurfaceMVK && "Function <vkCreateMacOSSurfaceMVK> requires <VK_MVK_macos_surface>" ); 17017 # endif 17018 17019 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 17020 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 17021 d.vkCreateMacOSSurfaceMVK( m_instance, 17022 reinterpret_cast<const VkMacOSSurfaceCreateInfoMVK *>( &createInfo ), 17023 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 17024 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 17025 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createMacOSSurfaceMVK" ); 17026 17027 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surface ) ); 17028 } 17029 17030 # ifndef VULKAN_HPP_NO_SMART_HANDLE 17031 // wrapper function for command vkCreateMacOSSurfaceMVK, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMacOSSurfaceMVK.html 17032 template <typename Dispatch> 17033 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type createMacOSSurfaceMVKUnique(const VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const17034 Instance::createMacOSSurfaceMVKUnique( const VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK & createInfo, 17035 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 17036 Dispatch const & d ) const 17037 { 17038 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17039 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17040 VULKAN_HPP_ASSERT( d.vkCreateMacOSSurfaceMVK && "Function <vkCreateMacOSSurfaceMVK> requires <VK_MVK_macos_surface>" ); 17041 # endif 17042 17043 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 17044 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 17045 d.vkCreateMacOSSurfaceMVK( m_instance, 17046 reinterpret_cast<const VkMacOSSurfaceCreateInfoMVK *>( &createInfo ), 17047 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 17048 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 17049 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createMacOSSurfaceMVKUnique" ); 17050 17051 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 17052 result, UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>( surface, detail::ObjectDestroy<Instance, Dispatch>( *this, allocator, d ) ) ); 17053 } 17054 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 17055 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 17056 #endif /*VK_USE_PLATFORM_MACOS_MVK*/ 17057 17058 //=== VK_EXT_debug_utils === 17059 17060 // wrapper function for command vkSetDebugUtilsObjectNameEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectNameEXT.html 17061 template <typename Dispatch> setDebugUtilsObjectNameEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT * pNameInfo,Dispatch const & d) const17062 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::setDebugUtilsObjectNameEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT * pNameInfo, 17063 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17064 { 17065 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17066 return static_cast<Result>( 17067 d.vkSetDebugUtilsObjectNameEXT( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDebugUtilsObjectNameInfoEXT *>( pNameInfo ) ) ); 17068 } 17069 17070 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 17071 // wrapper function for command vkSetDebugUtilsObjectNameEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectNameEXT.html 17072 template <typename Dispatch> 17073 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type setDebugUtilsObjectNameEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT & nameInfo,Dispatch const & d) const17074 Device::setDebugUtilsObjectNameEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT & nameInfo, Dispatch const & d ) const 17075 { 17076 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17077 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17078 VULKAN_HPP_ASSERT( d.vkSetDebugUtilsObjectNameEXT && "Function <vkSetDebugUtilsObjectNameEXT> requires <VK_EXT_debug_utils>" ); 17079 # endif 17080 17081 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 17082 d.vkSetDebugUtilsObjectNameEXT( m_device, reinterpret_cast<const VkDebugUtilsObjectNameInfoEXT *>( &nameInfo ) ) ); 17083 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setDebugUtilsObjectNameEXT" ); 17084 17085 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 17086 } 17087 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 17088 17089 // wrapper function for command vkSetDebugUtilsObjectTagEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectTagEXT.html 17090 template <typename Dispatch> setDebugUtilsObjectTagEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT * pTagInfo,Dispatch const & d) const17091 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::setDebugUtilsObjectTagEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT * pTagInfo, 17092 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17093 { 17094 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17095 return static_cast<Result>( 17096 d.vkSetDebugUtilsObjectTagEXT( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDebugUtilsObjectTagInfoEXT *>( pTagInfo ) ) ); 17097 } 17098 17099 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 17100 // wrapper function for command vkSetDebugUtilsObjectTagEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectTagEXT.html 17101 template <typename Dispatch> 17102 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type setDebugUtilsObjectTagEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT & tagInfo,Dispatch const & d) const17103 Device::setDebugUtilsObjectTagEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT & tagInfo, Dispatch const & d ) const 17104 { 17105 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17106 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17107 VULKAN_HPP_ASSERT( d.vkSetDebugUtilsObjectTagEXT && "Function <vkSetDebugUtilsObjectTagEXT> requires <VK_EXT_debug_utils>" ); 17108 # endif 17109 17110 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 17111 d.vkSetDebugUtilsObjectTagEXT( m_device, reinterpret_cast<const VkDebugUtilsObjectTagInfoEXT *>( &tagInfo ) ) ); 17112 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setDebugUtilsObjectTagEXT" ); 17113 17114 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 17115 } 17116 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 17117 17118 // wrapper function for command vkQueueBeginDebugUtilsLabelEXT, see 17119 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueBeginDebugUtilsLabelEXT.html 17120 template <typename Dispatch> beginDebugUtilsLabelEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pLabelInfo,Dispatch const & d) const17121 VULKAN_HPP_INLINE void Queue::beginDebugUtilsLabelEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pLabelInfo, 17122 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17123 { 17124 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17125 d.vkQueueBeginDebugUtilsLabelEXT( static_cast<VkQueue>( m_queue ), reinterpret_cast<const VkDebugUtilsLabelEXT *>( pLabelInfo ) ); 17126 } 17127 17128 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 17129 // wrapper function for command vkQueueBeginDebugUtilsLabelEXT, see 17130 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueBeginDebugUtilsLabelEXT.html 17131 template <typename Dispatch> beginDebugUtilsLabelEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT & labelInfo,Dispatch const & d) const17132 VULKAN_HPP_INLINE void Queue::beginDebugUtilsLabelEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT & labelInfo, 17133 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17134 { 17135 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17136 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17137 VULKAN_HPP_ASSERT( d.vkQueueBeginDebugUtilsLabelEXT && "Function <vkQueueBeginDebugUtilsLabelEXT> requires <VK_EXT_debug_utils>" ); 17138 # endif 17139 17140 d.vkQueueBeginDebugUtilsLabelEXT( m_queue, reinterpret_cast<const VkDebugUtilsLabelEXT *>( &labelInfo ) ); 17141 } 17142 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 17143 17144 // wrapper function for command vkQueueEndDebugUtilsLabelEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueEndDebugUtilsLabelEXT.html 17145 template <typename Dispatch> endDebugUtilsLabelEXT(Dispatch const & d) const17146 VULKAN_HPP_INLINE void Queue::endDebugUtilsLabelEXT( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17147 { 17148 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17149 d.vkQueueEndDebugUtilsLabelEXT( static_cast<VkQueue>( m_queue ) ); 17150 } 17151 17152 // wrapper function for command vkQueueInsertDebugUtilsLabelEXT, see 17153 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueInsertDebugUtilsLabelEXT.html 17154 template <typename Dispatch> insertDebugUtilsLabelEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pLabelInfo,Dispatch const & d) const17155 VULKAN_HPP_INLINE void Queue::insertDebugUtilsLabelEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pLabelInfo, 17156 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17157 { 17158 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17159 d.vkQueueInsertDebugUtilsLabelEXT( static_cast<VkQueue>( m_queue ), reinterpret_cast<const VkDebugUtilsLabelEXT *>( pLabelInfo ) ); 17160 } 17161 17162 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 17163 // wrapper function for command vkQueueInsertDebugUtilsLabelEXT, see 17164 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueInsertDebugUtilsLabelEXT.html 17165 template <typename Dispatch> insertDebugUtilsLabelEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT & labelInfo,Dispatch const & d) const17166 VULKAN_HPP_INLINE void Queue::insertDebugUtilsLabelEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT & labelInfo, 17167 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17168 { 17169 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17170 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17171 VULKAN_HPP_ASSERT( d.vkQueueInsertDebugUtilsLabelEXT && "Function <vkQueueInsertDebugUtilsLabelEXT> requires <VK_EXT_debug_utils>" ); 17172 # endif 17173 17174 d.vkQueueInsertDebugUtilsLabelEXT( m_queue, reinterpret_cast<const VkDebugUtilsLabelEXT *>( &labelInfo ) ); 17175 } 17176 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 17177 17178 // wrapper function for command vkCmdBeginDebugUtilsLabelEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginDebugUtilsLabelEXT.html 17179 template <typename Dispatch> beginDebugUtilsLabelEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pLabelInfo,Dispatch const & d) const17180 VULKAN_HPP_INLINE void CommandBuffer::beginDebugUtilsLabelEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pLabelInfo, 17181 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17182 { 17183 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17184 d.vkCmdBeginDebugUtilsLabelEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkDebugUtilsLabelEXT *>( pLabelInfo ) ); 17185 } 17186 17187 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 17188 // wrapper function for command vkCmdBeginDebugUtilsLabelEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginDebugUtilsLabelEXT.html 17189 template <typename Dispatch> beginDebugUtilsLabelEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT & labelInfo,Dispatch const & d) const17190 VULKAN_HPP_INLINE void CommandBuffer::beginDebugUtilsLabelEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT & labelInfo, 17191 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17192 { 17193 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17194 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17195 VULKAN_HPP_ASSERT( d.vkCmdBeginDebugUtilsLabelEXT && "Function <vkCmdBeginDebugUtilsLabelEXT> requires <VK_EXT_debug_utils>" ); 17196 # endif 17197 17198 d.vkCmdBeginDebugUtilsLabelEXT( m_commandBuffer, reinterpret_cast<const VkDebugUtilsLabelEXT *>( &labelInfo ) ); 17199 } 17200 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 17201 17202 // wrapper function for command vkCmdEndDebugUtilsLabelEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndDebugUtilsLabelEXT.html 17203 template <typename Dispatch> endDebugUtilsLabelEXT(Dispatch const & d) const17204 VULKAN_HPP_INLINE void CommandBuffer::endDebugUtilsLabelEXT( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17205 { 17206 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17207 d.vkCmdEndDebugUtilsLabelEXT( static_cast<VkCommandBuffer>( m_commandBuffer ) ); 17208 } 17209 17210 // wrapper function for command vkCmdInsertDebugUtilsLabelEXT, see 17211 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdInsertDebugUtilsLabelEXT.html 17212 template <typename Dispatch> insertDebugUtilsLabelEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pLabelInfo,Dispatch const & d) const17213 VULKAN_HPP_INLINE void CommandBuffer::insertDebugUtilsLabelEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pLabelInfo, 17214 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17215 { 17216 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17217 d.vkCmdInsertDebugUtilsLabelEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkDebugUtilsLabelEXT *>( pLabelInfo ) ); 17218 } 17219 17220 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 17221 // wrapper function for command vkCmdInsertDebugUtilsLabelEXT, see 17222 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdInsertDebugUtilsLabelEXT.html 17223 template <typename Dispatch> insertDebugUtilsLabelEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT & labelInfo,Dispatch const & d) const17224 VULKAN_HPP_INLINE void CommandBuffer::insertDebugUtilsLabelEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT & labelInfo, 17225 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17226 { 17227 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17228 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17229 VULKAN_HPP_ASSERT( d.vkCmdInsertDebugUtilsLabelEXT && "Function <vkCmdInsertDebugUtilsLabelEXT> requires <VK_EXT_debug_utils>" ); 17230 # endif 17231 17232 d.vkCmdInsertDebugUtilsLabelEXT( m_commandBuffer, reinterpret_cast<const VkDebugUtilsLabelEXT *>( &labelInfo ) ); 17233 } 17234 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 17235 17236 // wrapper function for command vkCreateDebugUtilsMessengerEXT, see 17237 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDebugUtilsMessengerEXT.html 17238 template <typename Dispatch> 17239 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result createDebugUtilsMessengerEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT * pMessenger,Dispatch const & d) const17240 Instance::createDebugUtilsMessengerEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT * pCreateInfo, 17241 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 17242 VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT * pMessenger, 17243 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17244 { 17245 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17246 return static_cast<Result>( d.vkCreateDebugUtilsMessengerEXT( static_cast<VkInstance>( m_instance ), 17247 reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT *>( pCreateInfo ), 17248 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 17249 reinterpret_cast<VkDebugUtilsMessengerEXT *>( pMessenger ) ) ); 17250 } 17251 17252 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 17253 // wrapper function for command vkCreateDebugUtilsMessengerEXT, see 17254 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDebugUtilsMessengerEXT.html 17255 template <typename Dispatch> 17256 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT>::type createDebugUtilsMessengerEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const17257 Instance::createDebugUtilsMessengerEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT & createInfo, 17258 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 17259 Dispatch const & d ) const 17260 { 17261 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17262 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17263 VULKAN_HPP_ASSERT( d.vkCreateDebugUtilsMessengerEXT && "Function <vkCreateDebugUtilsMessengerEXT> requires <VK_EXT_debug_utils>" ); 17264 # endif 17265 17266 VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger; 17267 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateDebugUtilsMessengerEXT( 17268 m_instance, 17269 reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT *>( &createInfo ), 17270 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 17271 reinterpret_cast<VkDebugUtilsMessengerEXT *>( &messenger ) ) ); 17272 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDebugUtilsMessengerEXT" ); 17273 17274 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( messenger ) ); 17275 } 17276 17277 # ifndef VULKAN_HPP_NO_SMART_HANDLE 17278 // wrapper function for command vkCreateDebugUtilsMessengerEXT, see 17279 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDebugUtilsMessengerEXT.html 17280 template <typename Dispatch> 17281 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT, Dispatch>>::type createDebugUtilsMessengerEXTUnique(const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const17282 Instance::createDebugUtilsMessengerEXTUnique( const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT & createInfo, 17283 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 17284 Dispatch const & d ) const 17285 { 17286 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17287 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17288 VULKAN_HPP_ASSERT( d.vkCreateDebugUtilsMessengerEXT && "Function <vkCreateDebugUtilsMessengerEXT> requires <VK_EXT_debug_utils>" ); 17289 # endif 17290 17291 VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger; 17292 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateDebugUtilsMessengerEXT( 17293 m_instance, 17294 reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT *>( &createInfo ), 17295 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 17296 reinterpret_cast<VkDebugUtilsMessengerEXT *>( &messenger ) ) ); 17297 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDebugUtilsMessengerEXTUnique" ); 17298 17299 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 17300 result, 17301 UniqueHandle<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT, Dispatch>( messenger, detail::ObjectDestroy<Instance, Dispatch>( *this, allocator, d ) ) ); 17302 } 17303 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 17304 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 17305 17306 // wrapper function for command vkDestroyDebugUtilsMessengerEXT, see 17307 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDebugUtilsMessengerEXT.html 17308 template <typename Dispatch> destroyDebugUtilsMessengerEXT(VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const17309 VULKAN_HPP_INLINE void Instance::destroyDebugUtilsMessengerEXT( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger, 17310 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 17311 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17312 { 17313 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17314 d.vkDestroyDebugUtilsMessengerEXT( static_cast<VkInstance>( m_instance ), 17315 static_cast<VkDebugUtilsMessengerEXT>( messenger ), 17316 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 17317 } 17318 17319 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 17320 // wrapper function for command vkDestroyDebugUtilsMessengerEXT, see 17321 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDebugUtilsMessengerEXT.html 17322 template <typename Dispatch> destroyDebugUtilsMessengerEXT(VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const17323 VULKAN_HPP_INLINE void Instance::destroyDebugUtilsMessengerEXT( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger, 17324 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 17325 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17326 { 17327 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17328 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17329 VULKAN_HPP_ASSERT( d.vkDestroyDebugUtilsMessengerEXT && "Function <vkDestroyDebugUtilsMessengerEXT> requires <VK_EXT_debug_utils>" ); 17330 # endif 17331 17332 d.vkDestroyDebugUtilsMessengerEXT( 17333 m_instance, 17334 static_cast<VkDebugUtilsMessengerEXT>( messenger ), 17335 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 17336 } 17337 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 17338 17339 // wrapper function for command vkDestroyDebugUtilsMessengerEXT, see 17340 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDebugUtilsMessengerEXT.html 17341 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const17342 VULKAN_HPP_INLINE void Instance::destroy( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger, 17343 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 17344 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17345 { 17346 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17347 d.vkDestroyDebugUtilsMessengerEXT( static_cast<VkInstance>( m_instance ), 17348 static_cast<VkDebugUtilsMessengerEXT>( messenger ), 17349 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 17350 } 17351 17352 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 17353 // wrapper function for command vkDestroyDebugUtilsMessengerEXT, see 17354 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDebugUtilsMessengerEXT.html 17355 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const17356 VULKAN_HPP_INLINE void Instance::destroy( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger, 17357 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 17358 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17359 { 17360 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17361 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17362 VULKAN_HPP_ASSERT( d.vkDestroyDebugUtilsMessengerEXT && "Function <vkDestroyDebugUtilsMessengerEXT> requires <VK_EXT_debug_utils>" ); 17363 # endif 17364 17365 d.vkDestroyDebugUtilsMessengerEXT( 17366 m_instance, 17367 static_cast<VkDebugUtilsMessengerEXT>( messenger ), 17368 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 17369 } 17370 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 17371 17372 // wrapper function for command vkSubmitDebugUtilsMessageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSubmitDebugUtilsMessageEXT.html 17373 template <typename Dispatch> submitDebugUtilsMessageEXT(VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagBitsEXT messageSeverity,VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageTypes,const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataEXT * pCallbackData,Dispatch const & d) const17374 VULKAN_HPP_INLINE void Instance::submitDebugUtilsMessageEXT( VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 17375 VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageTypes, 17376 const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataEXT * pCallbackData, 17377 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17378 { 17379 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17380 d.vkSubmitDebugUtilsMessageEXT( static_cast<VkInstance>( m_instance ), 17381 static_cast<VkDebugUtilsMessageSeverityFlagBitsEXT>( messageSeverity ), 17382 static_cast<VkDebugUtilsMessageTypeFlagsEXT>( messageTypes ), 17383 reinterpret_cast<const VkDebugUtilsMessengerCallbackDataEXT *>( pCallbackData ) ); 17384 } 17385 17386 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 17387 // wrapper function for command vkSubmitDebugUtilsMessageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSubmitDebugUtilsMessageEXT.html 17388 template <typename Dispatch> submitDebugUtilsMessageEXT(VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagBitsEXT messageSeverity,VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageTypes,const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataEXT & callbackData,Dispatch const & d) const17389 VULKAN_HPP_INLINE void Instance::submitDebugUtilsMessageEXT( VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 17390 VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageTypes, 17391 const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataEXT & callbackData, 17392 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17393 { 17394 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17395 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17396 VULKAN_HPP_ASSERT( d.vkSubmitDebugUtilsMessageEXT && "Function <vkSubmitDebugUtilsMessageEXT> requires <VK_EXT_debug_utils>" ); 17397 # endif 17398 17399 d.vkSubmitDebugUtilsMessageEXT( m_instance, 17400 static_cast<VkDebugUtilsMessageSeverityFlagBitsEXT>( messageSeverity ), 17401 static_cast<VkDebugUtilsMessageTypeFlagsEXT>( messageTypes ), 17402 reinterpret_cast<const VkDebugUtilsMessengerCallbackDataEXT *>( &callbackData ) ); 17403 } 17404 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 17405 17406 #if defined( VK_USE_PLATFORM_ANDROID_KHR ) 17407 //=== VK_ANDROID_external_memory_android_hardware_buffer === 17408 17409 // wrapper function for command vkGetAndroidHardwareBufferPropertiesANDROID, see 17410 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAndroidHardwareBufferPropertiesANDROID.html 17411 template <typename Dispatch> 17412 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getAndroidHardwareBufferPropertiesANDROID(const struct AHardwareBuffer * buffer,VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID * pProperties,Dispatch const & d) const17413 Device::getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer * buffer, 17414 VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID * pProperties, 17415 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17416 { 17417 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17418 return static_cast<Result>( d.vkGetAndroidHardwareBufferPropertiesANDROID( 17419 static_cast<VkDevice>( m_device ), buffer, reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID *>( pProperties ) ) ); 17420 } 17421 17422 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 17423 // wrapper function for command vkGetAndroidHardwareBufferPropertiesANDROID, see 17424 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAndroidHardwareBufferPropertiesANDROID.html 17425 template <typename Dispatch> 17426 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID>::type getAndroidHardwareBufferPropertiesANDROID(const struct AHardwareBuffer & buffer,Dispatch const & d) const17427 Device::getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer, Dispatch const & d ) const 17428 { 17429 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17430 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17431 VULKAN_HPP_ASSERT( d.vkGetAndroidHardwareBufferPropertiesANDROID && 17432 "Function <vkGetAndroidHardwareBufferPropertiesANDROID> requires <VK_ANDROID_external_memory_android_hardware_buffer>" ); 17433 # endif 17434 17435 VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID properties; 17436 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 17437 d.vkGetAndroidHardwareBufferPropertiesANDROID( m_device, &buffer, reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID *>( &properties ) ) ); 17438 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getAndroidHardwareBufferPropertiesANDROID" ); 17439 17440 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 17441 } 17442 17443 // wrapper function for command vkGetAndroidHardwareBufferPropertiesANDROID, see 17444 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAndroidHardwareBufferPropertiesANDROID.html 17445 template <typename X, typename Y, typename... Z, typename Dispatch> 17446 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>>::type getAndroidHardwareBufferPropertiesANDROID(const struct AHardwareBuffer & buffer,Dispatch const & d) const17447 Device::getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer, Dispatch const & d ) const 17448 { 17449 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17450 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17451 VULKAN_HPP_ASSERT( d.vkGetAndroidHardwareBufferPropertiesANDROID && 17452 "Function <vkGetAndroidHardwareBufferPropertiesANDROID> requires <VK_ANDROID_external_memory_android_hardware_buffer>" ); 17453 # endif 17454 17455 StructureChain<X, Y, Z...> structureChain; 17456 VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID & properties = 17457 structureChain.template get<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID>(); 17458 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 17459 d.vkGetAndroidHardwareBufferPropertiesANDROID( m_device, &buffer, reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID *>( &properties ) ) ); 17460 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getAndroidHardwareBufferPropertiesANDROID" ); 17461 17462 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChain ) ); 17463 } 17464 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 17465 17466 // wrapper function for command vkGetMemoryAndroidHardwareBufferANDROID, see 17467 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryAndroidHardwareBufferANDROID.html 17468 template <typename Dispatch> 17469 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getMemoryAndroidHardwareBufferANDROID(const VULKAN_HPP_NAMESPACE::MemoryGetAndroidHardwareBufferInfoANDROID * pInfo,struct AHardwareBuffer ** pBuffer,Dispatch const & d) const17470 Device::getMemoryAndroidHardwareBufferANDROID( const VULKAN_HPP_NAMESPACE::MemoryGetAndroidHardwareBufferInfoANDROID * pInfo, 17471 struct AHardwareBuffer ** pBuffer, 17472 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17473 { 17474 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17475 return static_cast<Result>( d.vkGetMemoryAndroidHardwareBufferANDROID( 17476 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkMemoryGetAndroidHardwareBufferInfoANDROID *>( pInfo ), pBuffer ) ); 17477 } 17478 17479 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 17480 // wrapper function for command vkGetMemoryAndroidHardwareBufferANDROID, see 17481 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryAndroidHardwareBufferANDROID.html 17482 template <typename Dispatch> 17483 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<struct AHardwareBuffer *>::type getMemoryAndroidHardwareBufferANDROID(const VULKAN_HPP_NAMESPACE::MemoryGetAndroidHardwareBufferInfoANDROID & info,Dispatch const & d) const17484 Device::getMemoryAndroidHardwareBufferANDROID( const VULKAN_HPP_NAMESPACE::MemoryGetAndroidHardwareBufferInfoANDROID & info, Dispatch const & d ) const 17485 { 17486 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17487 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17488 VULKAN_HPP_ASSERT( d.vkGetMemoryAndroidHardwareBufferANDROID && 17489 "Function <vkGetMemoryAndroidHardwareBufferANDROID> requires <VK_ANDROID_external_memory_android_hardware_buffer>" ); 17490 # endif 17491 17492 struct AHardwareBuffer * buffer; 17493 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 17494 d.vkGetMemoryAndroidHardwareBufferANDROID( m_device, reinterpret_cast<const VkMemoryGetAndroidHardwareBufferInfoANDROID *>( &info ), &buffer ) ); 17495 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryAndroidHardwareBufferANDROID" ); 17496 17497 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( buffer ) ); 17498 } 17499 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 17500 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ 17501 17502 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 17503 //=== VK_AMDX_shader_enqueue === 17504 17505 // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see 17506 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html 17507 template <typename Dispatch> 17508 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result createExecutionGraphPipelinesAMDX(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,uint32_t createInfoCount,const VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineCreateInfoAMDX * pCreateInfos,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::Pipeline * pPipelines,Dispatch const & d) const17509 Device::createExecutionGraphPipelinesAMDX( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 17510 uint32_t createInfoCount, 17511 const VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineCreateInfoAMDX * pCreateInfos, 17512 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 17513 VULKAN_HPP_NAMESPACE::Pipeline * pPipelines, 17514 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17515 { 17516 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17517 return static_cast<Result>( d.vkCreateExecutionGraphPipelinesAMDX( static_cast<VkDevice>( m_device ), 17518 static_cast<VkPipelineCache>( pipelineCache ), 17519 createInfoCount, 17520 reinterpret_cast<const VkExecutionGraphPipelineCreateInfoAMDX *>( pCreateInfos ), 17521 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 17522 reinterpret_cast<VkPipeline *>( pPipelines ) ) ); 17523 } 17524 17525 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 17526 // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see 17527 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html 17528 template <typename PipelineAllocator, 17529 typename Dispatch, 17530 typename std::enable_if<std::is_same<typename PipelineAllocator::value_type, VULKAN_HPP_NAMESPACE::Pipeline>::value, int>::type> createExecutionGraphPipelinesAMDX(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineCreateInfoAMDX> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const17531 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>> Device::createExecutionGraphPipelinesAMDX( 17532 VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 17533 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineCreateInfoAMDX> const & createInfos, 17534 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 17535 Dispatch const & d ) const 17536 { 17537 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17538 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17539 VULKAN_HPP_ASSERT( d.vkCreateExecutionGraphPipelinesAMDX && "Function <vkCreateExecutionGraphPipelinesAMDX> requires <VK_AMDX_shader_enqueue>" ); 17540 # endif 17541 17542 std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator> pipelines( createInfos.size() ); 17543 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateExecutionGraphPipelinesAMDX( 17544 m_device, 17545 static_cast<VkPipelineCache>( pipelineCache ), 17546 createInfos.size(), 17547 reinterpret_cast<const VkExecutionGraphPipelineCreateInfoAMDX *>( createInfos.data() ), 17548 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 17549 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); 17550 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 17551 VULKAN_HPP_NAMESPACE_STRING "::Device::createExecutionGraphPipelinesAMDX", 17552 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 17553 17554 return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>( result, std::move( pipelines ) ); 17555 } 17556 17557 // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see 17558 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html 17559 template <typename PipelineAllocator, 17560 typename Dispatch, 17561 typename std::enable_if<std::is_same<typename PipelineAllocator::value_type, VULKAN_HPP_NAMESPACE::Pipeline>::value, int>::type> createExecutionGraphPipelinesAMDX(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineCreateInfoAMDX> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,PipelineAllocator & pipelineAllocator,Dispatch const & d) const17562 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>> Device::createExecutionGraphPipelinesAMDX( 17563 VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 17564 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineCreateInfoAMDX> const & createInfos, 17565 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 17566 PipelineAllocator & pipelineAllocator, 17567 Dispatch const & d ) const 17568 { 17569 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17570 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17571 VULKAN_HPP_ASSERT( d.vkCreateExecutionGraphPipelinesAMDX && "Function <vkCreateExecutionGraphPipelinesAMDX> requires <VK_AMDX_shader_enqueue>" ); 17572 # endif 17573 17574 std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator> pipelines( createInfos.size(), pipelineAllocator ); 17575 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateExecutionGraphPipelinesAMDX( 17576 m_device, 17577 static_cast<VkPipelineCache>( pipelineCache ), 17578 createInfos.size(), 17579 reinterpret_cast<const VkExecutionGraphPipelineCreateInfoAMDX *>( createInfos.data() ), 17580 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 17581 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); 17582 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 17583 VULKAN_HPP_NAMESPACE_STRING "::Device::createExecutionGraphPipelinesAMDX", 17584 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 17585 17586 return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>( result, std::move( pipelines ) ); 17587 } 17588 17589 // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see 17590 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html 17591 template <typename Dispatch> 17592 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<VULKAN_HPP_NAMESPACE::Pipeline> createExecutionGraphPipelineAMDX(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,const VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineCreateInfoAMDX & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const17593 Device::createExecutionGraphPipelineAMDX( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 17594 const VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineCreateInfoAMDX & createInfo, 17595 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 17596 Dispatch const & d ) const 17597 { 17598 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17599 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17600 VULKAN_HPP_ASSERT( d.vkCreateExecutionGraphPipelinesAMDX && "Function <vkCreateExecutionGraphPipelinesAMDX> requires <VK_AMDX_shader_enqueue>" ); 17601 # endif 17602 17603 VULKAN_HPP_NAMESPACE::Pipeline pipeline; 17604 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateExecutionGraphPipelinesAMDX( 17605 m_device, 17606 static_cast<VkPipelineCache>( pipelineCache ), 17607 1, 17608 reinterpret_cast<const VkExecutionGraphPipelineCreateInfoAMDX *>( &createInfo ), 17609 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 17610 reinterpret_cast<VkPipeline *>( &pipeline ) ) ); 17611 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 17612 VULKAN_HPP_NAMESPACE_STRING "::Device::createExecutionGraphPipelineAMDX", 17613 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 17614 17615 return ResultValue<VULKAN_HPP_NAMESPACE::Pipeline>( result, std::move( pipeline ) ); 17616 } 17617 17618 # ifndef VULKAN_HPP_NO_SMART_HANDLE 17619 // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see 17620 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html 17621 template < 17622 typename Dispatch, 17623 typename PipelineAllocator, 17624 typename std::enable_if<std::is_same<typename PipelineAllocator::value_type, UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>::value, int>::type> 17625 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>> createExecutionGraphPipelinesAMDXUnique(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineCreateInfoAMDX> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const17626 Device::createExecutionGraphPipelinesAMDXUnique( 17627 VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 17628 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineCreateInfoAMDX> const & createInfos, 17629 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 17630 Dispatch const & d ) const 17631 { 17632 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17633 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17634 VULKAN_HPP_ASSERT( d.vkCreateExecutionGraphPipelinesAMDX && "Function <vkCreateExecutionGraphPipelinesAMDX> requires <VK_AMDX_shader_enqueue>" ); 17635 # endif 17636 17637 std::vector<VULKAN_HPP_NAMESPACE::Pipeline> pipelines( createInfos.size() ); 17638 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateExecutionGraphPipelinesAMDX( 17639 m_device, 17640 static_cast<VkPipelineCache>( pipelineCache ), 17641 createInfos.size(), 17642 reinterpret_cast<const VkExecutionGraphPipelineCreateInfoAMDX *>( createInfos.data() ), 17643 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 17644 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); 17645 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 17646 VULKAN_HPP_NAMESPACE_STRING "::Device::createExecutionGraphPipelinesAMDXUnique", 17647 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 17648 std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator> uniquePipelines; 17649 uniquePipelines.reserve( createInfos.size() ); 17650 detail::ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d ); 17651 for ( auto const & pipeline : pipelines ) 17652 { 17653 uniquePipelines.push_back( UniqueHandle<Pipeline, Dispatch>( pipeline, deleter ) ); 17654 } 17655 return ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>( result, std::move( uniquePipelines ) ); 17656 } 17657 17658 // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see 17659 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html 17660 template < 17661 typename Dispatch, 17662 typename PipelineAllocator, 17663 typename std::enable_if<std::is_same<typename PipelineAllocator::value_type, UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>::value, int>::type> 17664 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>> createExecutionGraphPipelinesAMDXUnique(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineCreateInfoAMDX> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,PipelineAllocator & pipelineAllocator,Dispatch const & d) const17665 Device::createExecutionGraphPipelinesAMDXUnique( 17666 VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 17667 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineCreateInfoAMDX> const & createInfos, 17668 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 17669 PipelineAllocator & pipelineAllocator, 17670 Dispatch const & d ) const 17671 { 17672 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17673 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17674 VULKAN_HPP_ASSERT( d.vkCreateExecutionGraphPipelinesAMDX && "Function <vkCreateExecutionGraphPipelinesAMDX> requires <VK_AMDX_shader_enqueue>" ); 17675 # endif 17676 17677 std::vector<VULKAN_HPP_NAMESPACE::Pipeline> pipelines( createInfos.size() ); 17678 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateExecutionGraphPipelinesAMDX( 17679 m_device, 17680 static_cast<VkPipelineCache>( pipelineCache ), 17681 createInfos.size(), 17682 reinterpret_cast<const VkExecutionGraphPipelineCreateInfoAMDX *>( createInfos.data() ), 17683 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 17684 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); 17685 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 17686 VULKAN_HPP_NAMESPACE_STRING "::Device::createExecutionGraphPipelinesAMDXUnique", 17687 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 17688 std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator> uniquePipelines( pipelineAllocator ); 17689 uniquePipelines.reserve( createInfos.size() ); 17690 detail::ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d ); 17691 for ( auto const & pipeline : pipelines ) 17692 { 17693 uniquePipelines.push_back( UniqueHandle<Pipeline, Dispatch>( pipeline, deleter ) ); 17694 } 17695 return ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>( result, std::move( uniquePipelines ) ); 17696 } 17697 17698 // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see 17699 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html 17700 template <typename Dispatch> 17701 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>> createExecutionGraphPipelineAMDXUnique(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,const VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineCreateInfoAMDX & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const17702 Device::createExecutionGraphPipelineAMDXUnique( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 17703 const VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineCreateInfoAMDX & createInfo, 17704 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 17705 Dispatch const & d ) const 17706 { 17707 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17708 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17709 VULKAN_HPP_ASSERT( d.vkCreateExecutionGraphPipelinesAMDX && "Function <vkCreateExecutionGraphPipelinesAMDX> requires <VK_AMDX_shader_enqueue>" ); 17710 # endif 17711 17712 VULKAN_HPP_NAMESPACE::Pipeline pipeline; 17713 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateExecutionGraphPipelinesAMDX( 17714 m_device, 17715 static_cast<VkPipelineCache>( pipelineCache ), 17716 1, 17717 reinterpret_cast<const VkExecutionGraphPipelineCreateInfoAMDX *>( &createInfo ), 17718 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 17719 reinterpret_cast<VkPipeline *>( &pipeline ) ) ); 17720 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 17721 VULKAN_HPP_NAMESPACE_STRING "::Device::createExecutionGraphPipelineAMDXUnique", 17722 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 17723 17724 return ResultValue<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>( 17725 result, UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>( pipeline, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 17726 } 17727 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 17728 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 17729 17730 // wrapper function for command vkGetExecutionGraphPipelineScratchSizeAMDX, see 17731 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetExecutionGraphPipelineScratchSizeAMDX.html 17732 template <typename Dispatch> 17733 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getExecutionGraphPipelineScratchSizeAMDX(VULKAN_HPP_NAMESPACE::Pipeline executionGraph,VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineScratchSizeAMDX * pSizeInfo,Dispatch const & d) const17734 Device::getExecutionGraphPipelineScratchSizeAMDX( VULKAN_HPP_NAMESPACE::Pipeline executionGraph, 17735 VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineScratchSizeAMDX * pSizeInfo, 17736 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17737 { 17738 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17739 return static_cast<Result>( d.vkGetExecutionGraphPipelineScratchSizeAMDX( static_cast<VkDevice>( m_device ), 17740 static_cast<VkPipeline>( executionGraph ), 17741 reinterpret_cast<VkExecutionGraphPipelineScratchSizeAMDX *>( pSizeInfo ) ) ); 17742 } 17743 17744 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 17745 // wrapper function for command vkGetExecutionGraphPipelineScratchSizeAMDX, see 17746 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetExecutionGraphPipelineScratchSizeAMDX.html 17747 template <typename Dispatch> 17748 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineScratchSizeAMDX>::type getExecutionGraphPipelineScratchSizeAMDX(VULKAN_HPP_NAMESPACE::Pipeline executionGraph,Dispatch const & d) const17749 Device::getExecutionGraphPipelineScratchSizeAMDX( VULKAN_HPP_NAMESPACE::Pipeline executionGraph, Dispatch const & d ) const 17750 { 17751 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17752 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17753 VULKAN_HPP_ASSERT( d.vkGetExecutionGraphPipelineScratchSizeAMDX && 17754 "Function <vkGetExecutionGraphPipelineScratchSizeAMDX> requires <VK_AMDX_shader_enqueue>" ); 17755 # endif 17756 17757 VULKAN_HPP_NAMESPACE::ExecutionGraphPipelineScratchSizeAMDX sizeInfo; 17758 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetExecutionGraphPipelineScratchSizeAMDX( 17759 m_device, static_cast<VkPipeline>( executionGraph ), reinterpret_cast<VkExecutionGraphPipelineScratchSizeAMDX *>( &sizeInfo ) ) ); 17760 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getExecutionGraphPipelineScratchSizeAMDX" ); 17761 17762 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( sizeInfo ) ); 17763 } 17764 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 17765 17766 // wrapper function for command vkGetExecutionGraphPipelineNodeIndexAMDX, see 17767 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetExecutionGraphPipelineNodeIndexAMDX.html 17768 template <typename Dispatch> 17769 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getExecutionGraphPipelineNodeIndexAMDX(VULKAN_HPP_NAMESPACE::Pipeline executionGraph,const VULKAN_HPP_NAMESPACE::PipelineShaderStageNodeCreateInfoAMDX * pNodeInfo,uint32_t * pNodeIndex,Dispatch const & d) const17770 Device::getExecutionGraphPipelineNodeIndexAMDX( VULKAN_HPP_NAMESPACE::Pipeline executionGraph, 17771 const VULKAN_HPP_NAMESPACE::PipelineShaderStageNodeCreateInfoAMDX * pNodeInfo, 17772 uint32_t * pNodeIndex, 17773 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17774 { 17775 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17776 return static_cast<Result>( d.vkGetExecutionGraphPipelineNodeIndexAMDX( static_cast<VkDevice>( m_device ), 17777 static_cast<VkPipeline>( executionGraph ), 17778 reinterpret_cast<const VkPipelineShaderStageNodeCreateInfoAMDX *>( pNodeInfo ), 17779 pNodeIndex ) ); 17780 } 17781 17782 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 17783 // wrapper function for command vkGetExecutionGraphPipelineNodeIndexAMDX, see 17784 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetExecutionGraphPipelineNodeIndexAMDX.html 17785 template <typename Dispatch> getExecutionGraphPipelineNodeIndexAMDX(VULKAN_HPP_NAMESPACE::Pipeline executionGraph,const VULKAN_HPP_NAMESPACE::PipelineShaderStageNodeCreateInfoAMDX & nodeInfo,Dispatch const & d) const17786 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<uint32_t>::type Device::getExecutionGraphPipelineNodeIndexAMDX( 17787 VULKAN_HPP_NAMESPACE::Pipeline executionGraph, const VULKAN_HPP_NAMESPACE::PipelineShaderStageNodeCreateInfoAMDX & nodeInfo, Dispatch const & d ) const 17788 { 17789 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17790 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17791 VULKAN_HPP_ASSERT( d.vkGetExecutionGraphPipelineNodeIndexAMDX && "Function <vkGetExecutionGraphPipelineNodeIndexAMDX> requires <VK_AMDX_shader_enqueue>" ); 17792 # endif 17793 17794 uint32_t nodeIndex; 17795 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetExecutionGraphPipelineNodeIndexAMDX( 17796 m_device, static_cast<VkPipeline>( executionGraph ), reinterpret_cast<const VkPipelineShaderStageNodeCreateInfoAMDX *>( &nodeInfo ), &nodeIndex ) ); 17797 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getExecutionGraphPipelineNodeIndexAMDX" ); 17798 17799 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( nodeIndex ) ); 17800 } 17801 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 17802 17803 // wrapper function for command vkCmdInitializeGraphScratchMemoryAMDX, see 17804 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdInitializeGraphScratchMemoryAMDX.html 17805 template <typename Dispatch> initializeGraphScratchMemoryAMDX(VULKAN_HPP_NAMESPACE::Pipeline executionGraph,VULKAN_HPP_NAMESPACE::DeviceAddress scratch,VULKAN_HPP_NAMESPACE::DeviceSize scratchSize,Dispatch const & d) const17806 VULKAN_HPP_INLINE void CommandBuffer::initializeGraphScratchMemoryAMDX( VULKAN_HPP_NAMESPACE::Pipeline executionGraph, 17807 VULKAN_HPP_NAMESPACE::DeviceAddress scratch, 17808 VULKAN_HPP_NAMESPACE::DeviceSize scratchSize, 17809 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17810 { 17811 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17812 d.vkCmdInitializeGraphScratchMemoryAMDX( static_cast<VkCommandBuffer>( m_commandBuffer ), 17813 static_cast<VkPipeline>( executionGraph ), 17814 static_cast<VkDeviceAddress>( scratch ), 17815 static_cast<VkDeviceSize>( scratchSize ) ); 17816 } 17817 17818 // wrapper function for command vkCmdDispatchGraphAMDX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchGraphAMDX.html 17819 template <typename Dispatch> dispatchGraphAMDX(VULKAN_HPP_NAMESPACE::DeviceAddress scratch,VULKAN_HPP_NAMESPACE::DeviceSize scratchSize,const VULKAN_HPP_NAMESPACE::DispatchGraphCountInfoAMDX * pCountInfo,Dispatch const & d) const17820 VULKAN_HPP_INLINE void CommandBuffer::dispatchGraphAMDX( VULKAN_HPP_NAMESPACE::DeviceAddress scratch, 17821 VULKAN_HPP_NAMESPACE::DeviceSize scratchSize, 17822 const VULKAN_HPP_NAMESPACE::DispatchGraphCountInfoAMDX * pCountInfo, 17823 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17824 { 17825 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17826 d.vkCmdDispatchGraphAMDX( static_cast<VkCommandBuffer>( m_commandBuffer ), 17827 static_cast<VkDeviceAddress>( scratch ), 17828 static_cast<VkDeviceSize>( scratchSize ), 17829 reinterpret_cast<const VkDispatchGraphCountInfoAMDX *>( pCountInfo ) ); 17830 } 17831 17832 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 17833 // wrapper function for command vkCmdDispatchGraphAMDX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchGraphAMDX.html 17834 template <typename Dispatch> dispatchGraphAMDX(VULKAN_HPP_NAMESPACE::DeviceAddress scratch,VULKAN_HPP_NAMESPACE::DeviceSize scratchSize,const VULKAN_HPP_NAMESPACE::DispatchGraphCountInfoAMDX & countInfo,Dispatch const & d) const17835 VULKAN_HPP_INLINE void CommandBuffer::dispatchGraphAMDX( VULKAN_HPP_NAMESPACE::DeviceAddress scratch, 17836 VULKAN_HPP_NAMESPACE::DeviceSize scratchSize, 17837 const VULKAN_HPP_NAMESPACE::DispatchGraphCountInfoAMDX & countInfo, 17838 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17839 { 17840 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17841 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17842 VULKAN_HPP_ASSERT( d.vkCmdDispatchGraphAMDX && "Function <vkCmdDispatchGraphAMDX> requires <VK_AMDX_shader_enqueue>" ); 17843 # endif 17844 17845 d.vkCmdDispatchGraphAMDX( m_commandBuffer, 17846 static_cast<VkDeviceAddress>( scratch ), 17847 static_cast<VkDeviceSize>( scratchSize ), 17848 reinterpret_cast<const VkDispatchGraphCountInfoAMDX *>( &countInfo ) ); 17849 } 17850 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 17851 17852 // wrapper function for command vkCmdDispatchGraphIndirectAMDX, see 17853 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchGraphIndirectAMDX.html 17854 template <typename Dispatch> dispatchGraphIndirectAMDX(VULKAN_HPP_NAMESPACE::DeviceAddress scratch,VULKAN_HPP_NAMESPACE::DeviceSize scratchSize,const VULKAN_HPP_NAMESPACE::DispatchGraphCountInfoAMDX * pCountInfo,Dispatch const & d) const17855 VULKAN_HPP_INLINE void CommandBuffer::dispatchGraphIndirectAMDX( VULKAN_HPP_NAMESPACE::DeviceAddress scratch, 17856 VULKAN_HPP_NAMESPACE::DeviceSize scratchSize, 17857 const VULKAN_HPP_NAMESPACE::DispatchGraphCountInfoAMDX * pCountInfo, 17858 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17859 { 17860 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17861 d.vkCmdDispatchGraphIndirectAMDX( static_cast<VkCommandBuffer>( m_commandBuffer ), 17862 static_cast<VkDeviceAddress>( scratch ), 17863 static_cast<VkDeviceSize>( scratchSize ), 17864 reinterpret_cast<const VkDispatchGraphCountInfoAMDX *>( pCountInfo ) ); 17865 } 17866 17867 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 17868 // wrapper function for command vkCmdDispatchGraphIndirectAMDX, see 17869 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchGraphIndirectAMDX.html 17870 template <typename Dispatch> dispatchGraphIndirectAMDX(VULKAN_HPP_NAMESPACE::DeviceAddress scratch,VULKAN_HPP_NAMESPACE::DeviceSize scratchSize,const VULKAN_HPP_NAMESPACE::DispatchGraphCountInfoAMDX & countInfo,Dispatch const & d) const17871 VULKAN_HPP_INLINE void CommandBuffer::dispatchGraphIndirectAMDX( VULKAN_HPP_NAMESPACE::DeviceAddress scratch, 17872 VULKAN_HPP_NAMESPACE::DeviceSize scratchSize, 17873 const VULKAN_HPP_NAMESPACE::DispatchGraphCountInfoAMDX & countInfo, 17874 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17875 { 17876 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17877 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17878 VULKAN_HPP_ASSERT( d.vkCmdDispatchGraphIndirectAMDX && "Function <vkCmdDispatchGraphIndirectAMDX> requires <VK_AMDX_shader_enqueue>" ); 17879 # endif 17880 17881 d.vkCmdDispatchGraphIndirectAMDX( m_commandBuffer, 17882 static_cast<VkDeviceAddress>( scratch ), 17883 static_cast<VkDeviceSize>( scratchSize ), 17884 reinterpret_cast<const VkDispatchGraphCountInfoAMDX *>( &countInfo ) ); 17885 } 17886 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 17887 17888 // wrapper function for command vkCmdDispatchGraphIndirectCountAMDX, see 17889 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchGraphIndirectCountAMDX.html 17890 template <typename Dispatch> dispatchGraphIndirectCountAMDX(VULKAN_HPP_NAMESPACE::DeviceAddress scratch,VULKAN_HPP_NAMESPACE::DeviceSize scratchSize,VULKAN_HPP_NAMESPACE::DeviceAddress countInfo,Dispatch const & d) const17891 VULKAN_HPP_INLINE void CommandBuffer::dispatchGraphIndirectCountAMDX( VULKAN_HPP_NAMESPACE::DeviceAddress scratch, 17892 VULKAN_HPP_NAMESPACE::DeviceSize scratchSize, 17893 VULKAN_HPP_NAMESPACE::DeviceAddress countInfo, 17894 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17895 { 17896 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17897 d.vkCmdDispatchGraphIndirectCountAMDX( static_cast<VkCommandBuffer>( m_commandBuffer ), 17898 static_cast<VkDeviceAddress>( scratch ), 17899 static_cast<VkDeviceSize>( scratchSize ), 17900 static_cast<VkDeviceAddress>( countInfo ) ); 17901 } 17902 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 17903 17904 //=== VK_EXT_sample_locations === 17905 17906 // wrapper function for command vkCmdSetSampleLocationsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetSampleLocationsEXT.html 17907 template <typename Dispatch> setSampleLocationsEXT(const VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT * pSampleLocationsInfo,Dispatch const & d) const17908 VULKAN_HPP_INLINE void CommandBuffer::setSampleLocationsEXT( const VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT * pSampleLocationsInfo, 17909 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17910 { 17911 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17912 d.vkCmdSetSampleLocationsEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkSampleLocationsInfoEXT *>( pSampleLocationsInfo ) ); 17913 } 17914 17915 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 17916 // wrapper function for command vkCmdSetSampleLocationsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetSampleLocationsEXT.html 17917 template <typename Dispatch> setSampleLocationsEXT(const VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT & sampleLocationsInfo,Dispatch const & d) const17918 VULKAN_HPP_INLINE void CommandBuffer::setSampleLocationsEXT( const VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT & sampleLocationsInfo, 17919 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17920 { 17921 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17922 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17923 VULKAN_HPP_ASSERT( d.vkCmdSetSampleLocationsEXT && "Function <vkCmdSetSampleLocationsEXT> requires <VK_EXT_sample_locations>" ); 17924 # endif 17925 17926 d.vkCmdSetSampleLocationsEXT( m_commandBuffer, reinterpret_cast<const VkSampleLocationsInfoEXT *>( &sampleLocationsInfo ) ); 17927 } 17928 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 17929 17930 // wrapper function for command vkGetPhysicalDeviceMultisamplePropertiesEXT, see 17931 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMultisamplePropertiesEXT.html 17932 template <typename Dispatch> getMultisamplePropertiesEXT(VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT * pMultisampleProperties,Dispatch const & d) const17933 VULKAN_HPP_INLINE void PhysicalDevice::getMultisamplePropertiesEXT( VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples, 17934 VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT * pMultisampleProperties, 17935 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17936 { 17937 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17938 d.vkGetPhysicalDeviceMultisamplePropertiesEXT( static_cast<VkPhysicalDevice>( m_physicalDevice ), 17939 static_cast<VkSampleCountFlagBits>( samples ), 17940 reinterpret_cast<VkMultisamplePropertiesEXT *>( pMultisampleProperties ) ); 17941 } 17942 17943 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 17944 // wrapper function for command vkGetPhysicalDeviceMultisamplePropertiesEXT, see 17945 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMultisamplePropertiesEXT.html 17946 template <typename Dispatch> 17947 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT getMultisamplePropertiesEXT(VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,Dispatch const & d) const17948 PhysicalDevice::getMultisamplePropertiesEXT( VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17949 { 17950 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17951 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17952 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceMultisamplePropertiesEXT && 17953 "Function <vkGetPhysicalDeviceMultisamplePropertiesEXT> requires <VK_EXT_sample_locations>" ); 17954 # endif 17955 17956 VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT multisampleProperties; 17957 d.vkGetPhysicalDeviceMultisamplePropertiesEXT( 17958 m_physicalDevice, static_cast<VkSampleCountFlagBits>( samples ), reinterpret_cast<VkMultisamplePropertiesEXT *>( &multisampleProperties ) ); 17959 17960 return multisampleProperties; 17961 } 17962 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 17963 17964 //=== VK_KHR_get_memory_requirements2 === 17965 17966 // wrapper function for command vkGetImageMemoryRequirements2KHR, see 17967 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2KHR.html 17968 template <typename Dispatch> getImageMemoryRequirements2KHR(const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 * pInfo,VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements,Dispatch const & d) const17969 VULKAN_HPP_INLINE void Device::getImageMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 * pInfo, 17970 VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements, 17971 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17972 { 17973 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17974 d.vkGetImageMemoryRequirements2KHR( static_cast<VkDevice>( m_device ), 17975 reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>( pInfo ), 17976 reinterpret_cast<VkMemoryRequirements2 *>( pMemoryRequirements ) ); 17977 } 17978 17979 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 17980 // wrapper function for command vkGetImageMemoryRequirements2KHR, see 17981 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2KHR.html 17982 template <typename Dispatch> 17983 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2 getImageMemoryRequirements2KHR(const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 & info,Dispatch const & d) const17984 Device::getImageMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 17985 { 17986 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 17987 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 17988 VULKAN_HPP_ASSERT( d.vkGetImageMemoryRequirements2KHR && 17989 "Function <vkGetImageMemoryRequirements2KHR> requires <VK_KHR_get_memory_requirements2> or <VK_VERSION_1_1>" ); 17990 # endif 17991 17992 VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements; 17993 d.vkGetImageMemoryRequirements2KHR( 17994 m_device, reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>( &info ), reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 17995 17996 return memoryRequirements; 17997 } 17998 17999 // wrapper function for command vkGetImageMemoryRequirements2KHR, see 18000 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2KHR.html 18001 template <typename X, typename Y, typename... Z, typename Dispatch> 18002 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> getImageMemoryRequirements2KHR(const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 & info,Dispatch const & d) const18003 Device::getImageMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18004 { 18005 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18006 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 18007 VULKAN_HPP_ASSERT( d.vkGetImageMemoryRequirements2KHR && 18008 "Function <vkGetImageMemoryRequirements2KHR> requires <VK_KHR_get_memory_requirements2> or <VK_VERSION_1_1>" ); 18009 # endif 18010 18011 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 18012 VULKAN_HPP_NAMESPACE::MemoryRequirements2 & memoryRequirements = structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>(); 18013 d.vkGetImageMemoryRequirements2KHR( 18014 m_device, reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>( &info ), reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 18015 18016 return structureChain; 18017 } 18018 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 18019 18020 // wrapper function for command vkGetBufferMemoryRequirements2KHR, see 18021 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2KHR.html 18022 template <typename Dispatch> getBufferMemoryRequirements2KHR(const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 * pInfo,VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements,Dispatch const & d) const18023 VULKAN_HPP_INLINE void Device::getBufferMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 * pInfo, 18024 VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements, 18025 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18026 { 18027 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18028 d.vkGetBufferMemoryRequirements2KHR( static_cast<VkDevice>( m_device ), 18029 reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>( pInfo ), 18030 reinterpret_cast<VkMemoryRequirements2 *>( pMemoryRequirements ) ); 18031 } 18032 18033 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 18034 // wrapper function for command vkGetBufferMemoryRequirements2KHR, see 18035 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2KHR.html 18036 template <typename Dispatch> 18037 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2 getBufferMemoryRequirements2KHR(const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 & info,Dispatch const & d) const18038 Device::getBufferMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18039 { 18040 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18041 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 18042 VULKAN_HPP_ASSERT( d.vkGetBufferMemoryRequirements2KHR && 18043 "Function <vkGetBufferMemoryRequirements2KHR> requires <VK_KHR_get_memory_requirements2> or <VK_VERSION_1_1>" ); 18044 # endif 18045 18046 VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements; 18047 d.vkGetBufferMemoryRequirements2KHR( 18048 m_device, reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>( &info ), reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 18049 18050 return memoryRequirements; 18051 } 18052 18053 // wrapper function for command vkGetBufferMemoryRequirements2KHR, see 18054 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2KHR.html 18055 template <typename X, typename Y, typename... Z, typename Dispatch> 18056 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> getBufferMemoryRequirements2KHR(const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 & info,Dispatch const & d) const18057 Device::getBufferMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18058 { 18059 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18060 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 18061 VULKAN_HPP_ASSERT( d.vkGetBufferMemoryRequirements2KHR && 18062 "Function <vkGetBufferMemoryRequirements2KHR> requires <VK_KHR_get_memory_requirements2> or <VK_VERSION_1_1>" ); 18063 # endif 18064 18065 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 18066 VULKAN_HPP_NAMESPACE::MemoryRequirements2 & memoryRequirements = structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>(); 18067 d.vkGetBufferMemoryRequirements2KHR( 18068 m_device, reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>( &info ), reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 18069 18070 return structureChain; 18071 } 18072 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 18073 18074 // wrapper function for command vkGetImageSparseMemoryRequirements2KHR, see 18075 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements2KHR.html 18076 template <typename Dispatch> getImageSparseMemoryRequirements2KHR(const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 * pInfo,uint32_t * pSparseMemoryRequirementCount,VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2 * pSparseMemoryRequirements,Dispatch const & d) const18077 VULKAN_HPP_INLINE void Device::getImageSparseMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 * pInfo, 18078 uint32_t * pSparseMemoryRequirementCount, 18079 VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2 * pSparseMemoryRequirements, 18080 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18081 { 18082 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18083 d.vkGetImageSparseMemoryRequirements2KHR( static_cast<VkDevice>( m_device ), 18084 reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( pInfo ), 18085 pSparseMemoryRequirementCount, 18086 reinterpret_cast<VkSparseImageMemoryRequirements2 *>( pSparseMemoryRequirements ) ); 18087 } 18088 18089 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 18090 // wrapper function for command vkGetImageSparseMemoryRequirements2KHR, see 18091 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements2KHR.html 18092 template <typename SparseImageMemoryRequirements2Allocator, 18093 typename Dispatch, 18094 typename std::enable_if< 18095 std::is_same<typename SparseImageMemoryRequirements2Allocator::value_type, VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>::value, 18096 int>::type> 18097 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator> getImageSparseMemoryRequirements2KHR(const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 & info,Dispatch const & d) const18098 Device::getImageSparseMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 & info, Dispatch const & d ) const 18099 { 18100 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18101 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 18102 VULKAN_HPP_ASSERT( d.vkGetImageSparseMemoryRequirements2KHR && 18103 "Function <vkGetImageSparseMemoryRequirements2KHR> requires <VK_KHR_get_memory_requirements2> or <VK_VERSION_1_1>" ); 18104 # endif 18105 18106 std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator> sparseMemoryRequirements; 18107 uint32_t sparseMemoryRequirementCount; 18108 d.vkGetImageSparseMemoryRequirements2KHR( 18109 m_device, reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ), &sparseMemoryRequirementCount, nullptr ); 18110 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); 18111 d.vkGetImageSparseMemoryRequirements2KHR( m_device, 18112 reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ), 18113 &sparseMemoryRequirementCount, 18114 reinterpret_cast<VkSparseImageMemoryRequirements2 *>( sparseMemoryRequirements.data() ) ); 18115 18116 VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); 18117 if ( sparseMemoryRequirementCount < sparseMemoryRequirements.size() ) 18118 { 18119 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); 18120 } 18121 return sparseMemoryRequirements; 18122 } 18123 18124 // wrapper function for command vkGetImageSparseMemoryRequirements2KHR, see 18125 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements2KHR.html 18126 template <typename SparseImageMemoryRequirements2Allocator, 18127 typename Dispatch, 18128 typename std::enable_if< 18129 std::is_same<typename SparseImageMemoryRequirements2Allocator::value_type, VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>::value, 18130 int>::type> 18131 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator> getImageSparseMemoryRequirements2KHR(const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 & info,SparseImageMemoryRequirements2Allocator & sparseImageMemoryRequirements2Allocator,Dispatch const & d) const18132 Device::getImageSparseMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 & info, 18133 SparseImageMemoryRequirements2Allocator & sparseImageMemoryRequirements2Allocator, 18134 Dispatch const & d ) const 18135 { 18136 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18137 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 18138 VULKAN_HPP_ASSERT( d.vkGetImageSparseMemoryRequirements2KHR && 18139 "Function <vkGetImageSparseMemoryRequirements2KHR> requires <VK_KHR_get_memory_requirements2> or <VK_VERSION_1_1>" ); 18140 # endif 18141 18142 std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator> sparseMemoryRequirements( 18143 sparseImageMemoryRequirements2Allocator ); 18144 uint32_t sparseMemoryRequirementCount; 18145 d.vkGetImageSparseMemoryRequirements2KHR( 18146 m_device, reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ), &sparseMemoryRequirementCount, nullptr ); 18147 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); 18148 d.vkGetImageSparseMemoryRequirements2KHR( m_device, 18149 reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ), 18150 &sparseMemoryRequirementCount, 18151 reinterpret_cast<VkSparseImageMemoryRequirements2 *>( sparseMemoryRequirements.data() ) ); 18152 18153 VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); 18154 if ( sparseMemoryRequirementCount < sparseMemoryRequirements.size() ) 18155 { 18156 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); 18157 } 18158 return sparseMemoryRequirements; 18159 } 18160 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 18161 18162 //=== VK_KHR_acceleration_structure === 18163 18164 // wrapper function for command vkCreateAccelerationStructureKHR, see 18165 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructureKHR.html 18166 template <typename Dispatch> 18167 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result createAccelerationStructureKHR(const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::AccelerationStructureKHR * pAccelerationStructure,Dispatch const & d) const18168 Device::createAccelerationStructureKHR( const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR * pCreateInfo, 18169 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 18170 VULKAN_HPP_NAMESPACE::AccelerationStructureKHR * pAccelerationStructure, 18171 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18172 { 18173 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18174 return static_cast<Result>( d.vkCreateAccelerationStructureKHR( static_cast<VkDevice>( m_device ), 18175 reinterpret_cast<const VkAccelerationStructureCreateInfoKHR *>( pCreateInfo ), 18176 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 18177 reinterpret_cast<VkAccelerationStructureKHR *>( pAccelerationStructure ) ) ); 18178 } 18179 18180 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 18181 // wrapper function for command vkCreateAccelerationStructureKHR, see 18182 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructureKHR.html 18183 template <typename Dispatch> 18184 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::AccelerationStructureKHR>::type createAccelerationStructureKHR(const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const18185 Device::createAccelerationStructureKHR( const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR & createInfo, 18186 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 18187 Dispatch const & d ) const 18188 { 18189 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18190 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 18191 VULKAN_HPP_ASSERT( d.vkCreateAccelerationStructureKHR && "Function <vkCreateAccelerationStructureKHR> requires <VK_KHR_acceleration_structure>" ); 18192 # endif 18193 18194 VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure; 18195 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateAccelerationStructureKHR( 18196 m_device, 18197 reinterpret_cast<const VkAccelerationStructureCreateInfoKHR *>( &createInfo ), 18198 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 18199 reinterpret_cast<VkAccelerationStructureKHR *>( &accelerationStructure ) ) ); 18200 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createAccelerationStructureKHR" ); 18201 18202 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( accelerationStructure ) ); 18203 } 18204 18205 # ifndef VULKAN_HPP_NO_SMART_HANDLE 18206 // wrapper function for command vkCreateAccelerationStructureKHR, see 18207 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructureKHR.html 18208 template <typename Dispatch> 18209 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::AccelerationStructureKHR, Dispatch>>::type createAccelerationStructureKHRUnique(const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const18210 Device::createAccelerationStructureKHRUnique( const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR & createInfo, 18211 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 18212 Dispatch const & d ) const 18213 { 18214 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18215 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 18216 VULKAN_HPP_ASSERT( d.vkCreateAccelerationStructureKHR && "Function <vkCreateAccelerationStructureKHR> requires <VK_KHR_acceleration_structure>" ); 18217 # endif 18218 18219 VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure; 18220 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateAccelerationStructureKHR( 18221 m_device, 18222 reinterpret_cast<const VkAccelerationStructureCreateInfoKHR *>( &createInfo ), 18223 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 18224 reinterpret_cast<VkAccelerationStructureKHR *>( &accelerationStructure ) ) ); 18225 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createAccelerationStructureKHRUnique" ); 18226 18227 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, 18228 UniqueHandle<VULKAN_HPP_NAMESPACE::AccelerationStructureKHR, Dispatch>( 18229 accelerationStructure, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 18230 } 18231 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 18232 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 18233 18234 // wrapper function for command vkDestroyAccelerationStructureKHR, see 18235 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyAccelerationStructureKHR.html 18236 template <typename Dispatch> destroyAccelerationStructureKHR(VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const18237 VULKAN_HPP_INLINE void Device::destroyAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure, 18238 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 18239 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18240 { 18241 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18242 d.vkDestroyAccelerationStructureKHR( static_cast<VkDevice>( m_device ), 18243 static_cast<VkAccelerationStructureKHR>( accelerationStructure ), 18244 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 18245 } 18246 18247 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 18248 // wrapper function for command vkDestroyAccelerationStructureKHR, see 18249 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyAccelerationStructureKHR.html 18250 template <typename Dispatch> destroyAccelerationStructureKHR(VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const18251 VULKAN_HPP_INLINE void Device::destroyAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure, 18252 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 18253 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18254 { 18255 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18256 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 18257 VULKAN_HPP_ASSERT( d.vkDestroyAccelerationStructureKHR && "Function <vkDestroyAccelerationStructureKHR> requires <VK_KHR_acceleration_structure>" ); 18258 # endif 18259 18260 d.vkDestroyAccelerationStructureKHR( 18261 m_device, 18262 static_cast<VkAccelerationStructureKHR>( accelerationStructure ), 18263 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 18264 } 18265 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 18266 18267 // wrapper function for command vkDestroyAccelerationStructureKHR, see 18268 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyAccelerationStructureKHR.html 18269 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const18270 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure, 18271 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 18272 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18273 { 18274 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18275 d.vkDestroyAccelerationStructureKHR( static_cast<VkDevice>( m_device ), 18276 static_cast<VkAccelerationStructureKHR>( accelerationStructure ), 18277 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 18278 } 18279 18280 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 18281 // wrapper function for command vkDestroyAccelerationStructureKHR, see 18282 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyAccelerationStructureKHR.html 18283 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const18284 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure, 18285 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 18286 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18287 { 18288 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18289 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 18290 VULKAN_HPP_ASSERT( d.vkDestroyAccelerationStructureKHR && "Function <vkDestroyAccelerationStructureKHR> requires <VK_KHR_acceleration_structure>" ); 18291 # endif 18292 18293 d.vkDestroyAccelerationStructureKHR( 18294 m_device, 18295 static_cast<VkAccelerationStructureKHR>( accelerationStructure ), 18296 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 18297 } 18298 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 18299 18300 // wrapper function for command vkCmdBuildAccelerationStructuresKHR, see 18301 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildAccelerationStructuresKHR.html 18302 template <typename Dispatch> 18303 VULKAN_HPP_INLINE void buildAccelerationStructuresKHR(uint32_t infoCount,const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR * pInfos,const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos,Dispatch const & d) const18304 CommandBuffer::buildAccelerationStructuresKHR( uint32_t infoCount, 18305 const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR * pInfos, 18306 const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos, 18307 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18308 { 18309 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18310 d.vkCmdBuildAccelerationStructuresKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 18311 infoCount, 18312 reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( pInfos ), 18313 reinterpret_cast<const VkAccelerationStructureBuildRangeInfoKHR * const *>( ppBuildRangeInfos ) ); 18314 } 18315 18316 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 18317 // wrapper function for command vkCmdBuildAccelerationStructuresKHR, see 18318 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildAccelerationStructuresKHR.html 18319 template <typename Dispatch> buildAccelerationStructuresKHR(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const & infos,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR * const> const & pBuildRangeInfos,Dispatch const & d) const18320 VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructuresKHR( 18321 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const & infos, 18322 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR * const> const & pBuildRangeInfos, 18323 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS 18324 { 18325 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18326 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 18327 VULKAN_HPP_ASSERT( d.vkCmdBuildAccelerationStructuresKHR && "Function <vkCmdBuildAccelerationStructuresKHR> requires <VK_KHR_acceleration_structure>" ); 18328 # endif 18329 # ifdef VULKAN_HPP_NO_EXCEPTIONS 18330 VULKAN_HPP_ASSERT( infos.size() == pBuildRangeInfos.size() ); 18331 # else 18332 if ( infos.size() != pBuildRangeInfos.size() ) 18333 { 18334 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::buildAccelerationStructuresKHR: infos.size() != pBuildRangeInfos.size()" ); 18335 } 18336 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ 18337 18338 d.vkCmdBuildAccelerationStructuresKHR( m_commandBuffer, 18339 infos.size(), 18340 reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( infos.data() ), 18341 reinterpret_cast<const VkAccelerationStructureBuildRangeInfoKHR * const *>( pBuildRangeInfos.data() ) ); 18342 } 18343 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 18344 18345 // wrapper function for command vkCmdBuildAccelerationStructuresIndirectKHR, see 18346 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildAccelerationStructuresIndirectKHR.html 18347 template <typename Dispatch> buildAccelerationStructuresIndirectKHR(uint32_t infoCount,const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR * pInfos,const VULKAN_HPP_NAMESPACE::DeviceAddress * pIndirectDeviceAddresses,const uint32_t * pIndirectStrides,const uint32_t * const * ppMaxPrimitiveCounts,Dispatch const & d) const18348 VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructuresIndirectKHR( uint32_t infoCount, 18349 const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR * pInfos, 18350 const VULKAN_HPP_NAMESPACE::DeviceAddress * pIndirectDeviceAddresses, 18351 const uint32_t * pIndirectStrides, 18352 const uint32_t * const * ppMaxPrimitiveCounts, 18353 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18354 { 18355 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18356 d.vkCmdBuildAccelerationStructuresIndirectKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 18357 infoCount, 18358 reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( pInfos ), 18359 reinterpret_cast<const VkDeviceAddress *>( pIndirectDeviceAddresses ), 18360 pIndirectStrides, 18361 ppMaxPrimitiveCounts ); 18362 } 18363 18364 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 18365 // wrapper function for command vkCmdBuildAccelerationStructuresIndirectKHR, see 18366 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildAccelerationStructuresIndirectKHR.html 18367 template <typename Dispatch> buildAccelerationStructuresIndirectKHR(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const & infos,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceAddress> const & indirectDeviceAddresses,VULKAN_HPP_NAMESPACE::ArrayProxy<const uint32_t> const & indirectStrides,VULKAN_HPP_NAMESPACE::ArrayProxy<const uint32_t * const> const & pMaxPrimitiveCounts,Dispatch const & d) const18368 VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructuresIndirectKHR( 18369 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const & infos, 18370 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceAddress> const & indirectDeviceAddresses, 18371 VULKAN_HPP_NAMESPACE::ArrayProxy<const uint32_t> const & indirectStrides, 18372 VULKAN_HPP_NAMESPACE::ArrayProxy<const uint32_t * const> const & pMaxPrimitiveCounts, 18373 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS 18374 { 18375 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18376 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 18377 VULKAN_HPP_ASSERT( d.vkCmdBuildAccelerationStructuresIndirectKHR && 18378 "Function <vkCmdBuildAccelerationStructuresIndirectKHR> requires <VK_KHR_acceleration_structure>" ); 18379 # endif 18380 # ifdef VULKAN_HPP_NO_EXCEPTIONS 18381 VULKAN_HPP_ASSERT( infos.size() == indirectDeviceAddresses.size() ); 18382 VULKAN_HPP_ASSERT( infos.size() == indirectStrides.size() ); 18383 VULKAN_HPP_ASSERT( infos.size() == pMaxPrimitiveCounts.size() ); 18384 # else 18385 if ( infos.size() != indirectDeviceAddresses.size() ) 18386 { 18387 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::buildAccelerationStructuresIndirectKHR: infos.size() != indirectDeviceAddresses.size()" ); 18388 } 18389 if ( infos.size() != indirectStrides.size() ) 18390 { 18391 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::buildAccelerationStructuresIndirectKHR: infos.size() != indirectStrides.size()" ); 18392 } 18393 if ( infos.size() != pMaxPrimitiveCounts.size() ) 18394 { 18395 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::buildAccelerationStructuresIndirectKHR: infos.size() != pMaxPrimitiveCounts.size()" ); 18396 } 18397 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ 18398 18399 d.vkCmdBuildAccelerationStructuresIndirectKHR( m_commandBuffer, 18400 infos.size(), 18401 reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( infos.data() ), 18402 reinterpret_cast<const VkDeviceAddress *>( indirectDeviceAddresses.data() ), 18403 indirectStrides.data(), 18404 pMaxPrimitiveCounts.data() ); 18405 } 18406 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 18407 18408 // wrapper function for command vkBuildAccelerationStructuresKHR, see 18409 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBuildAccelerationStructuresKHR.html 18410 template <typename Dispatch> 18411 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result buildAccelerationStructuresKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,uint32_t infoCount,const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR * pInfos,const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos,Dispatch const & d) const18412 Device::buildAccelerationStructuresKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 18413 uint32_t infoCount, 18414 const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR * pInfos, 18415 const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos, 18416 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18417 { 18418 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18419 return static_cast<Result>( 18420 d.vkBuildAccelerationStructuresKHR( static_cast<VkDevice>( m_device ), 18421 static_cast<VkDeferredOperationKHR>( deferredOperation ), 18422 infoCount, 18423 reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( pInfos ), 18424 reinterpret_cast<const VkAccelerationStructureBuildRangeInfoKHR * const *>( ppBuildRangeInfos ) ) ); 18425 } 18426 18427 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 18428 // wrapper function for command vkBuildAccelerationStructuresKHR, see 18429 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBuildAccelerationStructuresKHR.html 18430 template <typename Dispatch> buildAccelerationStructuresKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const & infos,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR * const> const & pBuildRangeInfos,Dispatch const & d) const18431 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Device::buildAccelerationStructuresKHR( 18432 VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 18433 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const & infos, 18434 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR * const> const & pBuildRangeInfos, 18435 Dispatch const & d ) const 18436 { 18437 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18438 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 18439 VULKAN_HPP_ASSERT( d.vkBuildAccelerationStructuresKHR && "Function <vkBuildAccelerationStructuresKHR> requires <VK_KHR_acceleration_structure>" ); 18440 # endif 18441 # ifdef VULKAN_HPP_NO_EXCEPTIONS 18442 VULKAN_HPP_ASSERT( infos.size() == pBuildRangeInfos.size() ); 18443 # else 18444 if ( infos.size() != pBuildRangeInfos.size() ) 18445 { 18446 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::Device::buildAccelerationStructuresKHR: infos.size() != pBuildRangeInfos.size()" ); 18447 } 18448 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ 18449 18450 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 18451 d.vkBuildAccelerationStructuresKHR( m_device, 18452 static_cast<VkDeferredOperationKHR>( deferredOperation ), 18453 infos.size(), 18454 reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( infos.data() ), 18455 reinterpret_cast<const VkAccelerationStructureBuildRangeInfoKHR * const *>( pBuildRangeInfos.data() ) ) ); 18456 VULKAN_HPP_NAMESPACE::detail::resultCheck( 18457 result, 18458 VULKAN_HPP_NAMESPACE_STRING "::Device::buildAccelerationStructuresKHR", 18459 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR, VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR } ); 18460 18461 return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); 18462 } 18463 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 18464 18465 // wrapper function for command vkCopyAccelerationStructureKHR, see 18466 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyAccelerationStructureKHR.html 18467 template <typename Dispatch> copyAccelerationStructureKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR * pInfo,Dispatch const & d) const18468 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 18469 const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR * pInfo, 18470 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18471 { 18472 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18473 return static_cast<Result>( d.vkCopyAccelerationStructureKHR( static_cast<VkDevice>( m_device ), 18474 static_cast<VkDeferredOperationKHR>( deferredOperation ), 18475 reinterpret_cast<const VkCopyAccelerationStructureInfoKHR *>( pInfo ) ) ); 18476 } 18477 18478 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 18479 // wrapper function for command vkCopyAccelerationStructureKHR, see 18480 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyAccelerationStructureKHR.html 18481 template <typename Dispatch> 18482 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result copyAccelerationStructureKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR & info,Dispatch const & d) const18483 Device::copyAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 18484 const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR & info, 18485 Dispatch const & d ) const 18486 { 18487 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18488 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 18489 VULKAN_HPP_ASSERT( d.vkCopyAccelerationStructureKHR && "Function <vkCopyAccelerationStructureKHR> requires <VK_KHR_acceleration_structure>" ); 18490 # endif 18491 18492 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCopyAccelerationStructureKHR( 18493 m_device, static_cast<VkDeferredOperationKHR>( deferredOperation ), reinterpret_cast<const VkCopyAccelerationStructureInfoKHR *>( &info ) ) ); 18494 VULKAN_HPP_NAMESPACE::detail::resultCheck( 18495 result, 18496 VULKAN_HPP_NAMESPACE_STRING "::Device::copyAccelerationStructureKHR", 18497 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR, VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR } ); 18498 18499 return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); 18500 } 18501 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 18502 18503 // wrapper function for command vkCopyAccelerationStructureToMemoryKHR, see 18504 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyAccelerationStructureToMemoryKHR.html 18505 template <typename Dispatch> 18506 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result copyAccelerationStructureToMemoryKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR * pInfo,Dispatch const & d) const18507 Device::copyAccelerationStructureToMemoryKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 18508 const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR * pInfo, 18509 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18510 { 18511 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18512 return static_cast<Result>( d.vkCopyAccelerationStructureToMemoryKHR( static_cast<VkDevice>( m_device ), 18513 static_cast<VkDeferredOperationKHR>( deferredOperation ), 18514 reinterpret_cast<const VkCopyAccelerationStructureToMemoryInfoKHR *>( pInfo ) ) ); 18515 } 18516 18517 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 18518 // wrapper function for command vkCopyAccelerationStructureToMemoryKHR, see 18519 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyAccelerationStructureToMemoryKHR.html 18520 template <typename Dispatch> 18521 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result copyAccelerationStructureToMemoryKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR & info,Dispatch const & d) const18522 Device::copyAccelerationStructureToMemoryKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 18523 const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR & info, 18524 Dispatch const & d ) const 18525 { 18526 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18527 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 18528 VULKAN_HPP_ASSERT( d.vkCopyAccelerationStructureToMemoryKHR && 18529 "Function <vkCopyAccelerationStructureToMemoryKHR> requires <VK_KHR_acceleration_structure>" ); 18530 # endif 18531 18532 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCopyAccelerationStructureToMemoryKHR( 18533 m_device, static_cast<VkDeferredOperationKHR>( deferredOperation ), reinterpret_cast<const VkCopyAccelerationStructureToMemoryInfoKHR *>( &info ) ) ); 18534 VULKAN_HPP_NAMESPACE::detail::resultCheck( 18535 result, 18536 VULKAN_HPP_NAMESPACE_STRING "::Device::copyAccelerationStructureToMemoryKHR", 18537 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR, VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR } ); 18538 18539 return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); 18540 } 18541 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 18542 18543 // wrapper function for command vkCopyMemoryToAccelerationStructureKHR, see 18544 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToAccelerationStructureKHR.html 18545 template <typename Dispatch> 18546 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result copyMemoryToAccelerationStructureKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,const VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR * pInfo,Dispatch const & d) const18547 Device::copyMemoryToAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 18548 const VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR * pInfo, 18549 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18550 { 18551 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18552 return static_cast<Result>( d.vkCopyMemoryToAccelerationStructureKHR( static_cast<VkDevice>( m_device ), 18553 static_cast<VkDeferredOperationKHR>( deferredOperation ), 18554 reinterpret_cast<const VkCopyMemoryToAccelerationStructureInfoKHR *>( pInfo ) ) ); 18555 } 18556 18557 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 18558 // wrapper function for command vkCopyMemoryToAccelerationStructureKHR, see 18559 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToAccelerationStructureKHR.html 18560 template <typename Dispatch> 18561 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result copyMemoryToAccelerationStructureKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,const VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR & info,Dispatch const & d) const18562 Device::copyMemoryToAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 18563 const VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR & info, 18564 Dispatch const & d ) const 18565 { 18566 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18567 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 18568 VULKAN_HPP_ASSERT( d.vkCopyMemoryToAccelerationStructureKHR && 18569 "Function <vkCopyMemoryToAccelerationStructureKHR> requires <VK_KHR_acceleration_structure>" ); 18570 # endif 18571 18572 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCopyMemoryToAccelerationStructureKHR( 18573 m_device, static_cast<VkDeferredOperationKHR>( deferredOperation ), reinterpret_cast<const VkCopyMemoryToAccelerationStructureInfoKHR *>( &info ) ) ); 18574 VULKAN_HPP_NAMESPACE::detail::resultCheck( 18575 result, 18576 VULKAN_HPP_NAMESPACE_STRING "::Device::copyMemoryToAccelerationStructureKHR", 18577 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR, VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR } ); 18578 18579 return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); 18580 } 18581 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 18582 18583 // wrapper function for command vkWriteAccelerationStructuresPropertiesKHR, see 18584 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteAccelerationStructuresPropertiesKHR.html 18585 template <typename Dispatch> 18586 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result writeAccelerationStructuresPropertiesKHR(uint32_t accelerationStructureCount,const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR * pAccelerationStructures,VULKAN_HPP_NAMESPACE::QueryType queryType,size_t dataSize,void * pData,size_t stride,Dispatch const & d) const18587 Device::writeAccelerationStructuresPropertiesKHR( uint32_t accelerationStructureCount, 18588 const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR * pAccelerationStructures, 18589 VULKAN_HPP_NAMESPACE::QueryType queryType, 18590 size_t dataSize, 18591 void * pData, 18592 size_t stride, 18593 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18594 { 18595 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18596 return static_cast<Result>( d.vkWriteAccelerationStructuresPropertiesKHR( static_cast<VkDevice>( m_device ), 18597 accelerationStructureCount, 18598 reinterpret_cast<const VkAccelerationStructureKHR *>( pAccelerationStructures ), 18599 static_cast<VkQueryType>( queryType ), 18600 dataSize, 18601 pData, 18602 stride ) ); 18603 } 18604 18605 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 18606 // wrapper function for command vkWriteAccelerationStructuresPropertiesKHR, see 18607 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteAccelerationStructuresPropertiesKHR.html 18608 template <typename DataType, 18609 typename DataTypeAllocator, 18610 typename Dispatch, 18611 typename std::enable_if<std::is_same<typename DataTypeAllocator::value_type, DataType>::value, int>::type> 18612 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type writeAccelerationStructuresPropertiesKHR(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures,VULKAN_HPP_NAMESPACE::QueryType queryType,size_t dataSize,size_t stride,Dispatch const & d) const18613 Device::writeAccelerationStructuresPropertiesKHR( 18614 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures, 18615 VULKAN_HPP_NAMESPACE::QueryType queryType, 18616 size_t dataSize, 18617 size_t stride, 18618 Dispatch const & d ) const 18619 { 18620 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18621 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 18622 VULKAN_HPP_ASSERT( d.vkWriteAccelerationStructuresPropertiesKHR && 18623 "Function <vkWriteAccelerationStructuresPropertiesKHR> requires <VK_KHR_acceleration_structure>" ); 18624 # endif 18625 18626 VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); 18627 std::vector<DataType, DataTypeAllocator> data( dataSize / sizeof( DataType ) ); 18628 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 18629 d.vkWriteAccelerationStructuresPropertiesKHR( m_device, 18630 accelerationStructures.size(), 18631 reinterpret_cast<const VkAccelerationStructureKHR *>( accelerationStructures.data() ), 18632 static_cast<VkQueryType>( queryType ), 18633 data.size() * sizeof( DataType ), 18634 reinterpret_cast<void *>( data.data() ), 18635 stride ) ); 18636 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::writeAccelerationStructuresPropertiesKHR" ); 18637 18638 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); 18639 } 18640 18641 // wrapper function for command vkWriteAccelerationStructuresPropertiesKHR, see 18642 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteAccelerationStructuresPropertiesKHR.html 18643 template <typename DataType, typename Dispatch> writeAccelerationStructuresPropertyKHR(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures,VULKAN_HPP_NAMESPACE::QueryType queryType,size_t stride,Dispatch const & d) const18644 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type Device::writeAccelerationStructuresPropertyKHR( 18645 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures, 18646 VULKAN_HPP_NAMESPACE::QueryType queryType, 18647 size_t stride, 18648 Dispatch const & d ) const 18649 { 18650 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18651 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 18652 VULKAN_HPP_ASSERT( d.vkWriteAccelerationStructuresPropertiesKHR && 18653 "Function <vkWriteAccelerationStructuresPropertiesKHR> requires <VK_KHR_acceleration_structure>" ); 18654 # endif 18655 18656 DataType data; 18657 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 18658 d.vkWriteAccelerationStructuresPropertiesKHR( m_device, 18659 accelerationStructures.size(), 18660 reinterpret_cast<const VkAccelerationStructureKHR *>( accelerationStructures.data() ), 18661 static_cast<VkQueryType>( queryType ), 18662 sizeof( DataType ), 18663 reinterpret_cast<void *>( &data ), 18664 stride ) ); 18665 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::writeAccelerationStructuresPropertyKHR" ); 18666 18667 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); 18668 } 18669 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 18670 18671 // wrapper function for command vkCmdCopyAccelerationStructureKHR, see 18672 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyAccelerationStructureKHR.html 18673 template <typename Dispatch> copyAccelerationStructureKHR(const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR * pInfo,Dispatch const & d) const18674 VULKAN_HPP_INLINE void CommandBuffer::copyAccelerationStructureKHR( const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR * pInfo, 18675 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18676 { 18677 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18678 d.vkCmdCopyAccelerationStructureKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 18679 reinterpret_cast<const VkCopyAccelerationStructureInfoKHR *>( pInfo ) ); 18680 } 18681 18682 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 18683 // wrapper function for command vkCmdCopyAccelerationStructureKHR, see 18684 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyAccelerationStructureKHR.html 18685 template <typename Dispatch> copyAccelerationStructureKHR(const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR & info,Dispatch const & d) const18686 VULKAN_HPP_INLINE void CommandBuffer::copyAccelerationStructureKHR( const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR & info, 18687 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18688 { 18689 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18690 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 18691 VULKAN_HPP_ASSERT( d.vkCmdCopyAccelerationStructureKHR && "Function <vkCmdCopyAccelerationStructureKHR> requires <VK_KHR_acceleration_structure>" ); 18692 # endif 18693 18694 d.vkCmdCopyAccelerationStructureKHR( m_commandBuffer, reinterpret_cast<const VkCopyAccelerationStructureInfoKHR *>( &info ) ); 18695 } 18696 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 18697 18698 // wrapper function for command vkCmdCopyAccelerationStructureToMemoryKHR, see 18699 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyAccelerationStructureToMemoryKHR.html 18700 template <typename Dispatch> copyAccelerationStructureToMemoryKHR(const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR * pInfo,Dispatch const & d) const18701 VULKAN_HPP_INLINE void CommandBuffer::copyAccelerationStructureToMemoryKHR( const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR * pInfo, 18702 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18703 { 18704 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18705 d.vkCmdCopyAccelerationStructureToMemoryKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 18706 reinterpret_cast<const VkCopyAccelerationStructureToMemoryInfoKHR *>( pInfo ) ); 18707 } 18708 18709 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 18710 // wrapper function for command vkCmdCopyAccelerationStructureToMemoryKHR, see 18711 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyAccelerationStructureToMemoryKHR.html 18712 template <typename Dispatch> copyAccelerationStructureToMemoryKHR(const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR & info,Dispatch const & d) const18713 VULKAN_HPP_INLINE void CommandBuffer::copyAccelerationStructureToMemoryKHR( const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR & info, 18714 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18715 { 18716 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18717 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 18718 VULKAN_HPP_ASSERT( d.vkCmdCopyAccelerationStructureToMemoryKHR && 18719 "Function <vkCmdCopyAccelerationStructureToMemoryKHR> requires <VK_KHR_acceleration_structure>" ); 18720 # endif 18721 18722 d.vkCmdCopyAccelerationStructureToMemoryKHR( m_commandBuffer, reinterpret_cast<const VkCopyAccelerationStructureToMemoryInfoKHR *>( &info ) ); 18723 } 18724 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 18725 18726 // wrapper function for command vkCmdCopyMemoryToAccelerationStructureKHR, see 18727 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToAccelerationStructureKHR.html 18728 template <typename Dispatch> copyMemoryToAccelerationStructureKHR(const VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR * pInfo,Dispatch const & d) const18729 VULKAN_HPP_INLINE void CommandBuffer::copyMemoryToAccelerationStructureKHR( const VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR * pInfo, 18730 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18731 { 18732 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18733 d.vkCmdCopyMemoryToAccelerationStructureKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 18734 reinterpret_cast<const VkCopyMemoryToAccelerationStructureInfoKHR *>( pInfo ) ); 18735 } 18736 18737 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 18738 // wrapper function for command vkCmdCopyMemoryToAccelerationStructureKHR, see 18739 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToAccelerationStructureKHR.html 18740 template <typename Dispatch> copyMemoryToAccelerationStructureKHR(const VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR & info,Dispatch const & d) const18741 VULKAN_HPP_INLINE void CommandBuffer::copyMemoryToAccelerationStructureKHR( const VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR & info, 18742 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18743 { 18744 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18745 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 18746 VULKAN_HPP_ASSERT( d.vkCmdCopyMemoryToAccelerationStructureKHR && 18747 "Function <vkCmdCopyMemoryToAccelerationStructureKHR> requires <VK_KHR_acceleration_structure>" ); 18748 # endif 18749 18750 d.vkCmdCopyMemoryToAccelerationStructureKHR( m_commandBuffer, reinterpret_cast<const VkCopyMemoryToAccelerationStructureInfoKHR *>( &info ) ); 18751 } 18752 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 18753 18754 // wrapper function for command vkGetAccelerationStructureDeviceAddressKHR, see 18755 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureDeviceAddressKHR.html 18756 template <typename Dispatch> getAccelerationStructureAddressKHR(const VULKAN_HPP_NAMESPACE::AccelerationStructureDeviceAddressInfoKHR * pInfo,Dispatch const & d) const18757 VULKAN_HPP_INLINE DeviceAddress Device::getAccelerationStructureAddressKHR( const VULKAN_HPP_NAMESPACE::AccelerationStructureDeviceAddressInfoKHR * pInfo, 18758 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18759 { 18760 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18761 return static_cast<DeviceAddress>( d.vkGetAccelerationStructureDeviceAddressKHR( 18762 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkAccelerationStructureDeviceAddressInfoKHR *>( pInfo ) ) ); 18763 } 18764 18765 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 18766 // wrapper function for command vkGetAccelerationStructureDeviceAddressKHR, see 18767 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureDeviceAddressKHR.html 18768 template <typename Dispatch> 18769 VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceAddress getAccelerationStructureAddressKHR(const VULKAN_HPP_NAMESPACE::AccelerationStructureDeviceAddressInfoKHR & info,Dispatch const & d) const18770 Device::getAccelerationStructureAddressKHR( const VULKAN_HPP_NAMESPACE::AccelerationStructureDeviceAddressInfoKHR & info, 18771 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18772 { 18773 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18774 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 18775 VULKAN_HPP_ASSERT( d.vkGetAccelerationStructureDeviceAddressKHR && 18776 "Function <vkGetAccelerationStructureDeviceAddressKHR> requires <VK_KHR_acceleration_structure>" ); 18777 # endif 18778 18779 VkDeviceAddress result = 18780 d.vkGetAccelerationStructureDeviceAddressKHR( m_device, reinterpret_cast<const VkAccelerationStructureDeviceAddressInfoKHR *>( &info ) ); 18781 18782 return static_cast<VULKAN_HPP_NAMESPACE::DeviceAddress>( result ); 18783 } 18784 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 18785 18786 // wrapper function for command vkCmdWriteAccelerationStructuresPropertiesKHR, see 18787 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteAccelerationStructuresPropertiesKHR.html 18788 template <typename Dispatch> 18789 VULKAN_HPP_INLINE void writeAccelerationStructuresPropertiesKHR(uint32_t accelerationStructureCount,const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR * pAccelerationStructures,VULKAN_HPP_NAMESPACE::QueryType queryType,VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t firstQuery,Dispatch const & d) const18790 CommandBuffer::writeAccelerationStructuresPropertiesKHR( uint32_t accelerationStructureCount, 18791 const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR * pAccelerationStructures, 18792 VULKAN_HPP_NAMESPACE::QueryType queryType, 18793 VULKAN_HPP_NAMESPACE::QueryPool queryPool, 18794 uint32_t firstQuery, 18795 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18796 { 18797 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18798 d.vkCmdWriteAccelerationStructuresPropertiesKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 18799 accelerationStructureCount, 18800 reinterpret_cast<const VkAccelerationStructureKHR *>( pAccelerationStructures ), 18801 static_cast<VkQueryType>( queryType ), 18802 static_cast<VkQueryPool>( queryPool ), 18803 firstQuery ); 18804 } 18805 18806 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 18807 // wrapper function for command vkCmdWriteAccelerationStructuresPropertiesKHR, see 18808 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteAccelerationStructuresPropertiesKHR.html 18809 template <typename Dispatch> writeAccelerationStructuresPropertiesKHR(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures,VULKAN_HPP_NAMESPACE::QueryType queryType,VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t firstQuery,Dispatch const & d) const18810 VULKAN_HPP_INLINE void CommandBuffer::writeAccelerationStructuresPropertiesKHR( 18811 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures, 18812 VULKAN_HPP_NAMESPACE::QueryType queryType, 18813 VULKAN_HPP_NAMESPACE::QueryPool queryPool, 18814 uint32_t firstQuery, 18815 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18816 { 18817 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18818 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 18819 VULKAN_HPP_ASSERT( d.vkCmdWriteAccelerationStructuresPropertiesKHR && 18820 "Function <vkCmdWriteAccelerationStructuresPropertiesKHR> requires <VK_KHR_acceleration_structure>" ); 18821 # endif 18822 18823 d.vkCmdWriteAccelerationStructuresPropertiesKHR( m_commandBuffer, 18824 accelerationStructures.size(), 18825 reinterpret_cast<const VkAccelerationStructureKHR *>( accelerationStructures.data() ), 18826 static_cast<VkQueryType>( queryType ), 18827 static_cast<VkQueryPool>( queryPool ), 18828 firstQuery ); 18829 } 18830 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 18831 18832 // wrapper function for command vkGetDeviceAccelerationStructureCompatibilityKHR, see 18833 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceAccelerationStructureCompatibilityKHR.html 18834 template <typename Dispatch> getAccelerationStructureCompatibilityKHR(const VULKAN_HPP_NAMESPACE::AccelerationStructureVersionInfoKHR * pVersionInfo,VULKAN_HPP_NAMESPACE::AccelerationStructureCompatibilityKHR * pCompatibility,Dispatch const & d) const18835 VULKAN_HPP_INLINE void Device::getAccelerationStructureCompatibilityKHR( const VULKAN_HPP_NAMESPACE::AccelerationStructureVersionInfoKHR * pVersionInfo, 18836 VULKAN_HPP_NAMESPACE::AccelerationStructureCompatibilityKHR * pCompatibility, 18837 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18838 { 18839 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18840 d.vkGetDeviceAccelerationStructureCompatibilityKHR( static_cast<VkDevice>( m_device ), 18841 reinterpret_cast<const VkAccelerationStructureVersionInfoKHR *>( pVersionInfo ), 18842 reinterpret_cast<VkAccelerationStructureCompatibilityKHR *>( pCompatibility ) ); 18843 } 18844 18845 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 18846 // wrapper function for command vkGetDeviceAccelerationStructureCompatibilityKHR, see 18847 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceAccelerationStructureCompatibilityKHR.html 18848 template <typename Dispatch> 18849 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::AccelerationStructureCompatibilityKHR getAccelerationStructureCompatibilityKHR(const VULKAN_HPP_NAMESPACE::AccelerationStructureVersionInfoKHR & versionInfo,Dispatch const & d) const18850 Device::getAccelerationStructureCompatibilityKHR( const VULKAN_HPP_NAMESPACE::AccelerationStructureVersionInfoKHR & versionInfo, 18851 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18852 { 18853 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18854 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 18855 VULKAN_HPP_ASSERT( d.vkGetDeviceAccelerationStructureCompatibilityKHR && 18856 "Function <vkGetDeviceAccelerationStructureCompatibilityKHR> requires <VK_KHR_acceleration_structure>" ); 18857 # endif 18858 18859 VULKAN_HPP_NAMESPACE::AccelerationStructureCompatibilityKHR compatibility; 18860 d.vkGetDeviceAccelerationStructureCompatibilityKHR( m_device, 18861 reinterpret_cast<const VkAccelerationStructureVersionInfoKHR *>( &versionInfo ), 18862 reinterpret_cast<VkAccelerationStructureCompatibilityKHR *>( &compatibility ) ); 18863 18864 return compatibility; 18865 } 18866 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 18867 18868 // wrapper function for command vkGetAccelerationStructureBuildSizesKHR, see 18869 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureBuildSizesKHR.html 18870 template <typename Dispatch> getAccelerationStructureBuildSizesKHR(VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR buildType,const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR * pBuildInfo,const uint32_t * pMaxPrimitiveCounts,VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR * pSizeInfo,Dispatch const & d) const18871 VULKAN_HPP_INLINE void Device::getAccelerationStructureBuildSizesKHR( VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR buildType, 18872 const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR * pBuildInfo, 18873 const uint32_t * pMaxPrimitiveCounts, 18874 VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR * pSizeInfo, 18875 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18876 { 18877 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18878 d.vkGetAccelerationStructureBuildSizesKHR( static_cast<VkDevice>( m_device ), 18879 static_cast<VkAccelerationStructureBuildTypeKHR>( buildType ), 18880 reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( pBuildInfo ), 18881 pMaxPrimitiveCounts, 18882 reinterpret_cast<VkAccelerationStructureBuildSizesInfoKHR *>( pSizeInfo ) ); 18883 } 18884 18885 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 18886 // wrapper function for command vkGetAccelerationStructureBuildSizesKHR, see 18887 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureBuildSizesKHR.html 18888 template <typename Dispatch> 18889 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR getAccelerationStructureBuildSizesKHR(VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR buildType,const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR & buildInfo,VULKAN_HPP_NAMESPACE::ArrayProxy<const uint32_t> const & maxPrimitiveCounts,Dispatch const & d) const18890 Device::getAccelerationStructureBuildSizesKHR( VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR buildType, 18891 const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR & buildInfo, 18892 VULKAN_HPP_NAMESPACE::ArrayProxy<const uint32_t> const & maxPrimitiveCounts, 18893 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS 18894 { 18895 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18896 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 18897 VULKAN_HPP_ASSERT( d.vkGetAccelerationStructureBuildSizesKHR && 18898 "Function <vkGetAccelerationStructureBuildSizesKHR> requires <VK_KHR_acceleration_structure>" ); 18899 # endif 18900 # ifdef VULKAN_HPP_NO_EXCEPTIONS 18901 VULKAN_HPP_ASSERT( maxPrimitiveCounts.size() == buildInfo.geometryCount ); 18902 # else 18903 if ( maxPrimitiveCounts.size() != buildInfo.geometryCount ) 18904 { 18905 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::Device::getAccelerationStructureBuildSizesKHR: maxPrimitiveCounts.size() != buildInfo.geometryCount" ); 18906 } 18907 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ 18908 18909 VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR sizeInfo; 18910 d.vkGetAccelerationStructureBuildSizesKHR( m_device, 18911 static_cast<VkAccelerationStructureBuildTypeKHR>( buildType ), 18912 reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( &buildInfo ), 18913 maxPrimitiveCounts.data(), 18914 reinterpret_cast<VkAccelerationStructureBuildSizesInfoKHR *>( &sizeInfo ) ); 18915 18916 return sizeInfo; 18917 } 18918 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 18919 18920 //=== VK_KHR_ray_tracing_pipeline === 18921 18922 // wrapper function for command vkCmdTraceRaysKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysKHR.html 18923 template <typename Dispatch> traceRaysKHR(const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pMissShaderBindingTable,const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pHitShaderBindingTable,const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pCallableShaderBindingTable,uint32_t width,uint32_t height,uint32_t depth,Dispatch const & d) const18924 VULKAN_HPP_INLINE void CommandBuffer::traceRaysKHR( const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pRaygenShaderBindingTable, 18925 const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pMissShaderBindingTable, 18926 const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pHitShaderBindingTable, 18927 const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pCallableShaderBindingTable, 18928 uint32_t width, 18929 uint32_t height, 18930 uint32_t depth, 18931 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18932 { 18933 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18934 d.vkCmdTraceRaysKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 18935 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( pRaygenShaderBindingTable ), 18936 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( pMissShaderBindingTable ), 18937 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( pHitShaderBindingTable ), 18938 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( pCallableShaderBindingTable ), 18939 width, 18940 height, 18941 depth ); 18942 } 18943 18944 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 18945 // wrapper function for command vkCmdTraceRaysKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysKHR.html 18946 template <typename Dispatch> traceRaysKHR(const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & raygenShaderBindingTable,const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & missShaderBindingTable,const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & hitShaderBindingTable,const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & callableShaderBindingTable,uint32_t width,uint32_t height,uint32_t depth,Dispatch const & d) const18947 VULKAN_HPP_INLINE void CommandBuffer::traceRaysKHR( const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & raygenShaderBindingTable, 18948 const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & missShaderBindingTable, 18949 const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & hitShaderBindingTable, 18950 const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & callableShaderBindingTable, 18951 uint32_t width, 18952 uint32_t height, 18953 uint32_t depth, 18954 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18955 { 18956 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18957 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 18958 VULKAN_HPP_ASSERT( d.vkCmdTraceRaysKHR && "Function <vkCmdTraceRaysKHR> requires <VK_KHR_ray_tracing_pipeline>" ); 18959 # endif 18960 18961 d.vkCmdTraceRaysKHR( m_commandBuffer, 18962 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &raygenShaderBindingTable ), 18963 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &missShaderBindingTable ), 18964 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &hitShaderBindingTable ), 18965 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &callableShaderBindingTable ), 18966 width, 18967 height, 18968 depth ); 18969 } 18970 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 18971 18972 // wrapper function for command vkCreateRayTracingPipelinesKHR, see 18973 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesKHR.html 18974 template <typename Dispatch> 18975 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result createRayTracingPipelinesKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,uint32_t createInfoCount,const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR * pCreateInfos,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::Pipeline * pPipelines,Dispatch const & d) const18976 Device::createRayTracingPipelinesKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 18977 VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 18978 uint32_t createInfoCount, 18979 const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR * pCreateInfos, 18980 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 18981 VULKAN_HPP_NAMESPACE::Pipeline * pPipelines, 18982 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 18983 { 18984 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 18985 return static_cast<Result>( d.vkCreateRayTracingPipelinesKHR( static_cast<VkDevice>( m_device ), 18986 static_cast<VkDeferredOperationKHR>( deferredOperation ), 18987 static_cast<VkPipelineCache>( pipelineCache ), 18988 createInfoCount, 18989 reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( pCreateInfos ), 18990 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 18991 reinterpret_cast<VkPipeline *>( pPipelines ) ) ); 18992 } 18993 18994 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 18995 // wrapper function for command vkCreateRayTracingPipelinesKHR, see 18996 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesKHR.html 18997 template <typename PipelineAllocator, 18998 typename Dispatch, 18999 typename std::enable_if<std::is_same<typename PipelineAllocator::value_type, VULKAN_HPP_NAMESPACE::Pipeline>::value, int>::type> 19000 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>> createRayTracingPipelinesKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const19001 Device::createRayTracingPipelinesKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 19002 VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 19003 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos, 19004 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 19005 Dispatch const & d ) const 19006 { 19007 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19008 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19009 VULKAN_HPP_ASSERT( d.vkCreateRayTracingPipelinesKHR && "Function <vkCreateRayTracingPipelinesKHR> requires <VK_KHR_ray_tracing_pipeline>" ); 19010 # endif 19011 19012 std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator> pipelines( createInfos.size() ); 19013 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateRayTracingPipelinesKHR( 19014 m_device, 19015 static_cast<VkDeferredOperationKHR>( deferredOperation ), 19016 static_cast<VkPipelineCache>( pipelineCache ), 19017 createInfos.size(), 19018 reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( createInfos.data() ), 19019 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 19020 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); 19021 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 19022 VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHR", 19023 { VULKAN_HPP_NAMESPACE::Result::eSuccess, 19024 VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR, 19025 VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR, 19026 VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 19027 19028 return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>( result, std::move( pipelines ) ); 19029 } 19030 19031 // wrapper function for command vkCreateRayTracingPipelinesKHR, see 19032 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesKHR.html 19033 template <typename PipelineAllocator, 19034 typename Dispatch, 19035 typename std::enable_if<std::is_same<typename PipelineAllocator::value_type, VULKAN_HPP_NAMESPACE::Pipeline>::value, int>::type> 19036 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>> createRayTracingPipelinesKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,PipelineAllocator & pipelineAllocator,Dispatch const & d) const19037 Device::createRayTracingPipelinesKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 19038 VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 19039 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos, 19040 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 19041 PipelineAllocator & pipelineAllocator, 19042 Dispatch const & d ) const 19043 { 19044 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19045 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19046 VULKAN_HPP_ASSERT( d.vkCreateRayTracingPipelinesKHR && "Function <vkCreateRayTracingPipelinesKHR> requires <VK_KHR_ray_tracing_pipeline>" ); 19047 # endif 19048 19049 std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator> pipelines( createInfos.size(), pipelineAllocator ); 19050 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateRayTracingPipelinesKHR( 19051 m_device, 19052 static_cast<VkDeferredOperationKHR>( deferredOperation ), 19053 static_cast<VkPipelineCache>( pipelineCache ), 19054 createInfos.size(), 19055 reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( createInfos.data() ), 19056 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 19057 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); 19058 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 19059 VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHR", 19060 { VULKAN_HPP_NAMESPACE::Result::eSuccess, 19061 VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR, 19062 VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR, 19063 VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 19064 19065 return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>( result, std::move( pipelines ) ); 19066 } 19067 19068 // wrapper function for command vkCreateRayTracingPipelinesKHR, see 19069 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesKHR.html 19070 template <typename Dispatch> 19071 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<VULKAN_HPP_NAMESPACE::Pipeline> createRayTracingPipelineKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const19072 Device::createRayTracingPipelineKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 19073 VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 19074 const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR & createInfo, 19075 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 19076 Dispatch const & d ) const 19077 { 19078 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19079 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19080 VULKAN_HPP_ASSERT( d.vkCreateRayTracingPipelinesKHR && "Function <vkCreateRayTracingPipelinesKHR> requires <VK_KHR_ray_tracing_pipeline>" ); 19081 # endif 19082 19083 VULKAN_HPP_NAMESPACE::Pipeline pipeline; 19084 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateRayTracingPipelinesKHR( 19085 m_device, 19086 static_cast<VkDeferredOperationKHR>( deferredOperation ), 19087 static_cast<VkPipelineCache>( pipelineCache ), 19088 1, 19089 reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( &createInfo ), 19090 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 19091 reinterpret_cast<VkPipeline *>( &pipeline ) ) ); 19092 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 19093 VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelineKHR", 19094 { VULKAN_HPP_NAMESPACE::Result::eSuccess, 19095 VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR, 19096 VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR, 19097 VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 19098 19099 return ResultValue<VULKAN_HPP_NAMESPACE::Pipeline>( result, std::move( pipeline ) ); 19100 } 19101 19102 # ifndef VULKAN_HPP_NO_SMART_HANDLE 19103 // wrapper function for command vkCreateRayTracingPipelinesKHR, see 19104 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesKHR.html 19105 template < 19106 typename Dispatch, 19107 typename PipelineAllocator, 19108 typename std::enable_if<std::is_same<typename PipelineAllocator::value_type, UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>::value, int>::type> 19109 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>> createRayTracingPipelinesKHRUnique(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const19110 Device::createRayTracingPipelinesKHRUnique( 19111 VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 19112 VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 19113 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos, 19114 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 19115 Dispatch const & d ) const 19116 { 19117 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19118 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19119 VULKAN_HPP_ASSERT( d.vkCreateRayTracingPipelinesKHR && "Function <vkCreateRayTracingPipelinesKHR> requires <VK_KHR_ray_tracing_pipeline>" ); 19120 # endif 19121 19122 std::vector<VULKAN_HPP_NAMESPACE::Pipeline> pipelines( createInfos.size() ); 19123 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateRayTracingPipelinesKHR( 19124 m_device, 19125 static_cast<VkDeferredOperationKHR>( deferredOperation ), 19126 static_cast<VkPipelineCache>( pipelineCache ), 19127 createInfos.size(), 19128 reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( createInfos.data() ), 19129 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 19130 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); 19131 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 19132 VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHRUnique", 19133 { VULKAN_HPP_NAMESPACE::Result::eSuccess, 19134 VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR, 19135 VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR, 19136 VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 19137 std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator> uniquePipelines; 19138 uniquePipelines.reserve( createInfos.size() ); 19139 detail::ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d ); 19140 for ( auto const & pipeline : pipelines ) 19141 { 19142 uniquePipelines.push_back( UniqueHandle<Pipeline, Dispatch>( pipeline, deleter ) ); 19143 } 19144 return ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>( result, std::move( uniquePipelines ) ); 19145 } 19146 19147 // wrapper function for command vkCreateRayTracingPipelinesKHR, see 19148 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesKHR.html 19149 template < 19150 typename Dispatch, 19151 typename PipelineAllocator, 19152 typename std::enable_if<std::is_same<typename PipelineAllocator::value_type, UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>::value, int>::type> 19153 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>> createRayTracingPipelinesKHRUnique(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,PipelineAllocator & pipelineAllocator,Dispatch const & d) const19154 Device::createRayTracingPipelinesKHRUnique( 19155 VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 19156 VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 19157 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos, 19158 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 19159 PipelineAllocator & pipelineAllocator, 19160 Dispatch const & d ) const 19161 { 19162 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19163 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19164 VULKAN_HPP_ASSERT( d.vkCreateRayTracingPipelinesKHR && "Function <vkCreateRayTracingPipelinesKHR> requires <VK_KHR_ray_tracing_pipeline>" ); 19165 # endif 19166 19167 std::vector<VULKAN_HPP_NAMESPACE::Pipeline> pipelines( createInfos.size() ); 19168 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateRayTracingPipelinesKHR( 19169 m_device, 19170 static_cast<VkDeferredOperationKHR>( deferredOperation ), 19171 static_cast<VkPipelineCache>( pipelineCache ), 19172 createInfos.size(), 19173 reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( createInfos.data() ), 19174 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 19175 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); 19176 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 19177 VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHRUnique", 19178 { VULKAN_HPP_NAMESPACE::Result::eSuccess, 19179 VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR, 19180 VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR, 19181 VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 19182 std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator> uniquePipelines( pipelineAllocator ); 19183 uniquePipelines.reserve( createInfos.size() ); 19184 detail::ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d ); 19185 for ( auto const & pipeline : pipelines ) 19186 { 19187 uniquePipelines.push_back( UniqueHandle<Pipeline, Dispatch>( pipeline, deleter ) ); 19188 } 19189 return ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>( result, std::move( uniquePipelines ) ); 19190 } 19191 19192 // wrapper function for command vkCreateRayTracingPipelinesKHR, see 19193 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesKHR.html 19194 template <typename Dispatch> 19195 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>> createRayTracingPipelineKHRUnique(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const19196 Device::createRayTracingPipelineKHRUnique( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 19197 VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 19198 const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR & createInfo, 19199 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 19200 Dispatch const & d ) const 19201 { 19202 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19203 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19204 VULKAN_HPP_ASSERT( d.vkCreateRayTracingPipelinesKHR && "Function <vkCreateRayTracingPipelinesKHR> requires <VK_KHR_ray_tracing_pipeline>" ); 19205 # endif 19206 19207 VULKAN_HPP_NAMESPACE::Pipeline pipeline; 19208 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateRayTracingPipelinesKHR( 19209 m_device, 19210 static_cast<VkDeferredOperationKHR>( deferredOperation ), 19211 static_cast<VkPipelineCache>( pipelineCache ), 19212 1, 19213 reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( &createInfo ), 19214 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 19215 reinterpret_cast<VkPipeline *>( &pipeline ) ) ); 19216 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 19217 VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelineKHRUnique", 19218 { VULKAN_HPP_NAMESPACE::Result::eSuccess, 19219 VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR, 19220 VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR, 19221 VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 19222 19223 return ResultValue<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>( 19224 result, UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>( pipeline, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 19225 } 19226 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 19227 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 19228 19229 // wrapper function for command vkGetRayTracingShaderGroupHandlesKHR, see 19230 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesKHR.html 19231 template <typename Dispatch> getRayTracingShaderGroupHandlesKHR(VULKAN_HPP_NAMESPACE::Pipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,void * pData,Dispatch const & d) const19232 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getRayTracingShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline, 19233 uint32_t firstGroup, 19234 uint32_t groupCount, 19235 size_t dataSize, 19236 void * pData, 19237 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 19238 { 19239 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19240 return static_cast<Result>( d.vkGetRayTracingShaderGroupHandlesKHR( 19241 static_cast<VkDevice>( m_device ), static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, dataSize, pData ) ); 19242 } 19243 19244 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 19245 // wrapper function for command vkGetRayTracingShaderGroupHandlesKHR, see 19246 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesKHR.html 19247 template <typename DataType, 19248 typename DataTypeAllocator, 19249 typename Dispatch, 19250 typename std::enable_if<std::is_same<typename DataTypeAllocator::value_type, DataType>::value, int>::type> getRayTracingShaderGroupHandlesKHR(VULKAN_HPP_NAMESPACE::Pipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,Dispatch const & d) const19251 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type Device::getRayTracingShaderGroupHandlesKHR( 19252 VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, Dispatch const & d ) const 19253 { 19254 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19255 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19256 VULKAN_HPP_ASSERT( d.vkGetRayTracingShaderGroupHandlesKHR && 19257 "Function <vkGetRayTracingShaderGroupHandlesKHR> requires <VK_KHR_ray_tracing_pipeline> or <VK_NV_ray_tracing>" ); 19258 # endif 19259 19260 VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); 19261 std::vector<DataType, DataTypeAllocator> data( dataSize / sizeof( DataType ) ); 19262 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetRayTracingShaderGroupHandlesKHR( 19263 m_device, static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, data.size() * sizeof( DataType ), reinterpret_cast<void *>( data.data() ) ) ); 19264 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingShaderGroupHandlesKHR" ); 19265 19266 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); 19267 } 19268 19269 // wrapper function for command vkGetRayTracingShaderGroupHandlesKHR, see 19270 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesKHR.html 19271 template <typename DataType, typename Dispatch> 19272 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type getRayTracingShaderGroupHandleKHR(VULKAN_HPP_NAMESPACE::Pipeline pipeline,uint32_t firstGroup,uint32_t groupCount,Dispatch const & d) const19273 Device::getRayTracingShaderGroupHandleKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, Dispatch const & d ) const 19274 { 19275 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19276 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19277 VULKAN_HPP_ASSERT( d.vkGetRayTracingShaderGroupHandlesKHR && 19278 "Function <vkGetRayTracingShaderGroupHandlesKHR> requires <VK_KHR_ray_tracing_pipeline> or <VK_NV_ray_tracing>" ); 19279 # endif 19280 19281 DataType data; 19282 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetRayTracingShaderGroupHandlesKHR( 19283 m_device, static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, sizeof( DataType ), reinterpret_cast<void *>( &data ) ) ); 19284 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingShaderGroupHandleKHR" ); 19285 19286 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); 19287 } 19288 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 19289 19290 // wrapper function for command vkGetRayTracingCaptureReplayShaderGroupHandlesKHR, see 19291 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingCaptureReplayShaderGroupHandlesKHR.html 19292 template <typename Dispatch> getRayTracingCaptureReplayShaderGroupHandlesKHR(VULKAN_HPP_NAMESPACE::Pipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,void * pData,Dispatch const & d) const19293 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getRayTracingCaptureReplayShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline, 19294 uint32_t firstGroup, 19295 uint32_t groupCount, 19296 size_t dataSize, 19297 void * pData, 19298 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 19299 { 19300 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19301 return static_cast<Result>( d.vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( 19302 static_cast<VkDevice>( m_device ), static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, dataSize, pData ) ); 19303 } 19304 19305 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 19306 // wrapper function for command vkGetRayTracingCaptureReplayShaderGroupHandlesKHR, see 19307 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingCaptureReplayShaderGroupHandlesKHR.html 19308 template <typename DataType, 19309 typename DataTypeAllocator, 19310 typename Dispatch, 19311 typename std::enable_if<std::is_same<typename DataTypeAllocator::value_type, DataType>::value, int>::type> 19312 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type getRayTracingCaptureReplayShaderGroupHandlesKHR(VULKAN_HPP_NAMESPACE::Pipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,Dispatch const & d) const19313 Device::getRayTracingCaptureReplayShaderGroupHandlesKHR( 19314 VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, Dispatch const & d ) const 19315 { 19316 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19317 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19318 VULKAN_HPP_ASSERT( d.vkGetRayTracingCaptureReplayShaderGroupHandlesKHR && 19319 "Function <vkGetRayTracingCaptureReplayShaderGroupHandlesKHR> requires <VK_KHR_ray_tracing_pipeline>" ); 19320 # endif 19321 19322 VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); 19323 std::vector<DataType, DataTypeAllocator> data( dataSize / sizeof( DataType ) ); 19324 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( 19325 m_device, static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, data.size() * sizeof( DataType ), reinterpret_cast<void *>( data.data() ) ) ); 19326 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingCaptureReplayShaderGroupHandlesKHR" ); 19327 19328 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); 19329 } 19330 19331 // wrapper function for command vkGetRayTracingCaptureReplayShaderGroupHandlesKHR, see 19332 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingCaptureReplayShaderGroupHandlesKHR.html 19333 template <typename DataType, typename Dispatch> getRayTracingCaptureReplayShaderGroupHandleKHR(VULKAN_HPP_NAMESPACE::Pipeline pipeline,uint32_t firstGroup,uint32_t groupCount,Dispatch const & d) const19334 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type Device::getRayTracingCaptureReplayShaderGroupHandleKHR( 19335 VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, Dispatch const & d ) const 19336 { 19337 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19338 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19339 VULKAN_HPP_ASSERT( d.vkGetRayTracingCaptureReplayShaderGroupHandlesKHR && 19340 "Function <vkGetRayTracingCaptureReplayShaderGroupHandlesKHR> requires <VK_KHR_ray_tracing_pipeline>" ); 19341 # endif 19342 19343 DataType data; 19344 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( 19345 m_device, static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, sizeof( DataType ), reinterpret_cast<void *>( &data ) ) ); 19346 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingCaptureReplayShaderGroupHandleKHR" ); 19347 19348 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); 19349 } 19350 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 19351 19352 // wrapper function for command vkCmdTraceRaysIndirectKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysIndirectKHR.html 19353 template <typename Dispatch> traceRaysIndirectKHR(const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pMissShaderBindingTable,const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pHitShaderBindingTable,const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pCallableShaderBindingTable,VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress,Dispatch const & d) const19354 VULKAN_HPP_INLINE void CommandBuffer::traceRaysIndirectKHR( const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pRaygenShaderBindingTable, 19355 const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pMissShaderBindingTable, 19356 const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pHitShaderBindingTable, 19357 const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pCallableShaderBindingTable, 19358 VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress, 19359 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 19360 { 19361 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19362 d.vkCmdTraceRaysIndirectKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 19363 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( pRaygenShaderBindingTable ), 19364 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( pMissShaderBindingTable ), 19365 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( pHitShaderBindingTable ), 19366 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( pCallableShaderBindingTable ), 19367 static_cast<VkDeviceAddress>( indirectDeviceAddress ) ); 19368 } 19369 19370 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 19371 // wrapper function for command vkCmdTraceRaysIndirectKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysIndirectKHR.html 19372 template <typename Dispatch> traceRaysIndirectKHR(const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & raygenShaderBindingTable,const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & missShaderBindingTable,const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & hitShaderBindingTable,const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & callableShaderBindingTable,VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress,Dispatch const & d) const19373 VULKAN_HPP_INLINE void CommandBuffer::traceRaysIndirectKHR( const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & raygenShaderBindingTable, 19374 const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & missShaderBindingTable, 19375 const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & hitShaderBindingTable, 19376 const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & callableShaderBindingTable, 19377 VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress, 19378 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 19379 { 19380 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19381 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19382 VULKAN_HPP_ASSERT( d.vkCmdTraceRaysIndirectKHR && "Function <vkCmdTraceRaysIndirectKHR> requires <VK_KHR_ray_tracing_pipeline>" ); 19383 # endif 19384 19385 d.vkCmdTraceRaysIndirectKHR( m_commandBuffer, 19386 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &raygenShaderBindingTable ), 19387 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &missShaderBindingTable ), 19388 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &hitShaderBindingTable ), 19389 reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &callableShaderBindingTable ), 19390 static_cast<VkDeviceAddress>( indirectDeviceAddress ) ); 19391 } 19392 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 19393 19394 // wrapper function for command vkGetRayTracingShaderGroupStackSizeKHR, see 19395 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupStackSizeKHR.html 19396 template <typename Dispatch> getRayTracingShaderGroupStackSizeKHR(VULKAN_HPP_NAMESPACE::Pipeline pipeline,uint32_t group,VULKAN_HPP_NAMESPACE::ShaderGroupShaderKHR groupShader,Dispatch const & d) const19397 VULKAN_HPP_INLINE DeviceSize Device::getRayTracingShaderGroupStackSizeKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline, 19398 uint32_t group, 19399 VULKAN_HPP_NAMESPACE::ShaderGroupShaderKHR groupShader, 19400 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 19401 { 19402 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19403 return static_cast<DeviceSize>( d.vkGetRayTracingShaderGroupStackSizeKHR( 19404 static_cast<VkDevice>( m_device ), static_cast<VkPipeline>( pipeline ), group, static_cast<VkShaderGroupShaderKHR>( groupShader ) ) ); 19405 } 19406 19407 // wrapper function for command vkCmdSetRayTracingPipelineStackSizeKHR, see 19408 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRayTracingPipelineStackSizeKHR.html 19409 template <typename Dispatch> setRayTracingPipelineStackSizeKHR(uint32_t pipelineStackSize,Dispatch const & d) const19410 VULKAN_HPP_INLINE void CommandBuffer::setRayTracingPipelineStackSizeKHR( uint32_t pipelineStackSize, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 19411 { 19412 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19413 d.vkCmdSetRayTracingPipelineStackSizeKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), pipelineStackSize ); 19414 } 19415 19416 //=== VK_KHR_sampler_ycbcr_conversion === 19417 19418 // wrapper function for command vkCreateSamplerYcbcrConversionKHR, see 19419 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSamplerYcbcrConversionKHR.html 19420 template <typename Dispatch> 19421 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result createSamplerYcbcrConversionKHR(const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion * pYcbcrConversion,Dispatch const & d) const19422 Device::createSamplerYcbcrConversionKHR( const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo * pCreateInfo, 19423 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 19424 VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion * pYcbcrConversion, 19425 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 19426 { 19427 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19428 return static_cast<Result>( d.vkCreateSamplerYcbcrConversionKHR( static_cast<VkDevice>( m_device ), 19429 reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>( pCreateInfo ), 19430 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 19431 reinterpret_cast<VkSamplerYcbcrConversion *>( pYcbcrConversion ) ) ); 19432 } 19433 19434 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 19435 // wrapper function for command vkCreateSamplerYcbcrConversionKHR, see 19436 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSamplerYcbcrConversionKHR.html 19437 template <typename Dispatch> 19438 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion>::type createSamplerYcbcrConversionKHR(const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const19439 Device::createSamplerYcbcrConversionKHR( const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo & createInfo, 19440 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 19441 Dispatch const & d ) const 19442 { 19443 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19444 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19445 VULKAN_HPP_ASSERT( d.vkCreateSamplerYcbcrConversionKHR && 19446 "Function <vkCreateSamplerYcbcrConversionKHR> requires <VK_KHR_sampler_ycbcr_conversion> or <VK_VERSION_1_1>" ); 19447 # endif 19448 19449 VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion; 19450 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateSamplerYcbcrConversionKHR( 19451 m_device, 19452 reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>( &createInfo ), 19453 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 19454 reinterpret_cast<VkSamplerYcbcrConversion *>( &ycbcrConversion ) ) ); 19455 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSamplerYcbcrConversionKHR" ); 19456 19457 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( ycbcrConversion ) ); 19458 } 19459 19460 # ifndef VULKAN_HPP_NO_SMART_HANDLE 19461 // wrapper function for command vkCreateSamplerYcbcrConversionKHR, see 19462 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSamplerYcbcrConversionKHR.html 19463 template <typename Dispatch> 19464 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion, Dispatch>>::type createSamplerYcbcrConversionKHRUnique(const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const19465 Device::createSamplerYcbcrConversionKHRUnique( const VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo & createInfo, 19466 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 19467 Dispatch const & d ) const 19468 { 19469 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19470 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19471 VULKAN_HPP_ASSERT( d.vkCreateSamplerYcbcrConversionKHR && 19472 "Function <vkCreateSamplerYcbcrConversionKHR> requires <VK_KHR_sampler_ycbcr_conversion> or <VK_VERSION_1_1>" ); 19473 # endif 19474 19475 VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion; 19476 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateSamplerYcbcrConversionKHR( 19477 m_device, 19478 reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>( &createInfo ), 19479 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 19480 reinterpret_cast<VkSamplerYcbcrConversion *>( &ycbcrConversion ) ) ); 19481 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSamplerYcbcrConversionKHRUnique" ); 19482 19483 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 19484 result, 19485 UniqueHandle<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion, Dispatch>( ycbcrConversion, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 19486 } 19487 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 19488 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 19489 19490 // wrapper function for command vkDestroySamplerYcbcrConversionKHR, see 19491 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySamplerYcbcrConversionKHR.html 19492 template <typename Dispatch> destroySamplerYcbcrConversionKHR(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const19493 VULKAN_HPP_INLINE void Device::destroySamplerYcbcrConversionKHR( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion, 19494 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 19495 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 19496 { 19497 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19498 d.vkDestroySamplerYcbcrConversionKHR( static_cast<VkDevice>( m_device ), 19499 static_cast<VkSamplerYcbcrConversion>( ycbcrConversion ), 19500 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 19501 } 19502 19503 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 19504 // wrapper function for command vkDestroySamplerYcbcrConversionKHR, see 19505 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySamplerYcbcrConversionKHR.html 19506 template <typename Dispatch> destroySamplerYcbcrConversionKHR(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const19507 VULKAN_HPP_INLINE void Device::destroySamplerYcbcrConversionKHR( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion, 19508 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 19509 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 19510 { 19511 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19512 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19513 VULKAN_HPP_ASSERT( d.vkDestroySamplerYcbcrConversionKHR && 19514 "Function <vkDestroySamplerYcbcrConversionKHR> requires <VK_KHR_sampler_ycbcr_conversion> or <VK_VERSION_1_1>" ); 19515 # endif 19516 19517 d.vkDestroySamplerYcbcrConversionKHR( 19518 m_device, 19519 static_cast<VkSamplerYcbcrConversion>( ycbcrConversion ), 19520 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 19521 } 19522 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 19523 19524 //=== VK_KHR_bind_memory2 === 19525 19526 // wrapper function for command vkBindBufferMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindBufferMemory2KHR.html 19527 template <typename Dispatch> bindBufferMemory2KHR(uint32_t bindInfoCount,const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo * pBindInfos,Dispatch const & d) const19528 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::bindBufferMemory2KHR( uint32_t bindInfoCount, 19529 const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo * pBindInfos, 19530 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 19531 { 19532 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19533 return static_cast<Result>( 19534 d.vkBindBufferMemory2KHR( static_cast<VkDevice>( m_device ), bindInfoCount, reinterpret_cast<const VkBindBufferMemoryInfo *>( pBindInfos ) ) ); 19535 } 19536 19537 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 19538 // wrapper function for command vkBindBufferMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindBufferMemory2KHR.html 19539 template <typename Dispatch> 19540 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type bindBufferMemory2KHR(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const & bindInfos,Dispatch const & d) const19541 Device::bindBufferMemory2KHR( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const & bindInfos, 19542 Dispatch const & d ) const 19543 { 19544 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19545 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19546 VULKAN_HPP_ASSERT( d.vkBindBufferMemory2KHR && "Function <vkBindBufferMemory2KHR> requires <VK_KHR_bind_memory2> or <VK_VERSION_1_1>" ); 19547 # endif 19548 19549 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 19550 d.vkBindBufferMemory2KHR( m_device, bindInfos.size(), reinterpret_cast<const VkBindBufferMemoryInfo *>( bindInfos.data() ) ) ); 19551 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindBufferMemory2KHR" ); 19552 19553 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 19554 } 19555 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 19556 19557 // wrapper function for command vkBindImageMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory2KHR.html 19558 template <typename Dispatch> bindImageMemory2KHR(uint32_t bindInfoCount,const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo * pBindInfos,Dispatch const & d) const19559 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::bindImageMemory2KHR( uint32_t bindInfoCount, 19560 const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo * pBindInfos, 19561 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 19562 { 19563 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19564 return static_cast<Result>( 19565 d.vkBindImageMemory2KHR( static_cast<VkDevice>( m_device ), bindInfoCount, reinterpret_cast<const VkBindImageMemoryInfo *>( pBindInfos ) ) ); 19566 } 19567 19568 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 19569 // wrapper function for command vkBindImageMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory2KHR.html 19570 template <typename Dispatch> 19571 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type bindImageMemory2KHR(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const & bindInfos,Dispatch const & d) const19572 Device::bindImageMemory2KHR( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const & bindInfos, Dispatch const & d ) const 19573 { 19574 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19575 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19576 VULKAN_HPP_ASSERT( d.vkBindImageMemory2KHR && "Function <vkBindImageMemory2KHR> requires <VK_KHR_bind_memory2> or <VK_VERSION_1_1>" ); 19577 # endif 19578 19579 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 19580 d.vkBindImageMemory2KHR( m_device, bindInfos.size(), reinterpret_cast<const VkBindImageMemoryInfo *>( bindInfos.data() ) ) ); 19581 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindImageMemory2KHR" ); 19582 19583 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 19584 } 19585 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 19586 19587 //=== VK_EXT_image_drm_format_modifier === 19588 19589 // wrapper function for command vkGetImageDrmFormatModifierPropertiesEXT, see 19590 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageDrmFormatModifierPropertiesEXT.html 19591 template <typename Dispatch> getImageDrmFormatModifierPropertiesEXT(VULKAN_HPP_NAMESPACE::Image image,VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT * pProperties,Dispatch const & d) const19592 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getImageDrmFormatModifierPropertiesEXT( 19593 VULKAN_HPP_NAMESPACE::Image image, VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 19594 { 19595 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19596 return static_cast<Result>( d.vkGetImageDrmFormatModifierPropertiesEXT( 19597 static_cast<VkDevice>( m_device ), static_cast<VkImage>( image ), reinterpret_cast<VkImageDrmFormatModifierPropertiesEXT *>( pProperties ) ) ); 19598 } 19599 19600 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 19601 // wrapper function for command vkGetImageDrmFormatModifierPropertiesEXT, see 19602 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageDrmFormatModifierPropertiesEXT.html 19603 template <typename Dispatch> 19604 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT>::type getImageDrmFormatModifierPropertiesEXT(VULKAN_HPP_NAMESPACE::Image image,Dispatch const & d) const19605 Device::getImageDrmFormatModifierPropertiesEXT( VULKAN_HPP_NAMESPACE::Image image, Dispatch const & d ) const 19606 { 19607 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19608 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19609 VULKAN_HPP_ASSERT( d.vkGetImageDrmFormatModifierPropertiesEXT && 19610 "Function <vkGetImageDrmFormatModifierPropertiesEXT> requires <VK_EXT_image_drm_format_modifier>" ); 19611 # endif 19612 19613 VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT properties; 19614 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetImageDrmFormatModifierPropertiesEXT( 19615 m_device, static_cast<VkImage>( image ), reinterpret_cast<VkImageDrmFormatModifierPropertiesEXT *>( &properties ) ) ); 19616 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getImageDrmFormatModifierPropertiesEXT" ); 19617 19618 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 19619 } 19620 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 19621 19622 //=== VK_EXT_validation_cache === 19623 19624 // wrapper function for command vkCreateValidationCacheEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateValidationCacheEXT.html 19625 template <typename Dispatch> createValidationCacheEXT(const VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::ValidationCacheEXT * pValidationCache,Dispatch const & d) const19626 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createValidationCacheEXT( const VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT * pCreateInfo, 19627 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 19628 VULKAN_HPP_NAMESPACE::ValidationCacheEXT * pValidationCache, 19629 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 19630 { 19631 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19632 return static_cast<Result>( d.vkCreateValidationCacheEXT( static_cast<VkDevice>( m_device ), 19633 reinterpret_cast<const VkValidationCacheCreateInfoEXT *>( pCreateInfo ), 19634 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 19635 reinterpret_cast<VkValidationCacheEXT *>( pValidationCache ) ) ); 19636 } 19637 19638 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 19639 // wrapper function for command vkCreateValidationCacheEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateValidationCacheEXT.html 19640 template <typename Dispatch> 19641 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::ValidationCacheEXT>::type createValidationCacheEXT(const VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const19642 Device::createValidationCacheEXT( const VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT & createInfo, 19643 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 19644 Dispatch const & d ) const 19645 { 19646 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19647 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19648 VULKAN_HPP_ASSERT( d.vkCreateValidationCacheEXT && "Function <vkCreateValidationCacheEXT> requires <VK_EXT_validation_cache>" ); 19649 # endif 19650 19651 VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache; 19652 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateValidationCacheEXT( 19653 m_device, 19654 reinterpret_cast<const VkValidationCacheCreateInfoEXT *>( &createInfo ), 19655 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 19656 reinterpret_cast<VkValidationCacheEXT *>( &validationCache ) ) ); 19657 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createValidationCacheEXT" ); 19658 19659 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( validationCache ) ); 19660 } 19661 19662 # ifndef VULKAN_HPP_NO_SMART_HANDLE 19663 // wrapper function for command vkCreateValidationCacheEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateValidationCacheEXT.html 19664 template <typename Dispatch> 19665 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::ValidationCacheEXT, Dispatch>>::type createValidationCacheEXTUnique(const VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const19666 Device::createValidationCacheEXTUnique( const VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT & createInfo, 19667 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 19668 Dispatch const & d ) const 19669 { 19670 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19671 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19672 VULKAN_HPP_ASSERT( d.vkCreateValidationCacheEXT && "Function <vkCreateValidationCacheEXT> requires <VK_EXT_validation_cache>" ); 19673 # endif 19674 19675 VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache; 19676 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateValidationCacheEXT( 19677 m_device, 19678 reinterpret_cast<const VkValidationCacheCreateInfoEXT *>( &createInfo ), 19679 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 19680 reinterpret_cast<VkValidationCacheEXT *>( &validationCache ) ) ); 19681 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createValidationCacheEXTUnique" ); 19682 19683 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 19684 result, 19685 UniqueHandle<VULKAN_HPP_NAMESPACE::ValidationCacheEXT, Dispatch>( validationCache, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 19686 } 19687 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 19688 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 19689 19690 // wrapper function for command vkDestroyValidationCacheEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyValidationCacheEXT.html 19691 template <typename Dispatch> destroyValidationCacheEXT(VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const19692 VULKAN_HPP_INLINE void Device::destroyValidationCacheEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache, 19693 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 19694 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 19695 { 19696 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19697 d.vkDestroyValidationCacheEXT( 19698 static_cast<VkDevice>( m_device ), static_cast<VkValidationCacheEXT>( validationCache ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 19699 } 19700 19701 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 19702 // wrapper function for command vkDestroyValidationCacheEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyValidationCacheEXT.html 19703 template <typename Dispatch> destroyValidationCacheEXT(VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const19704 VULKAN_HPP_INLINE void Device::destroyValidationCacheEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache, 19705 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 19706 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 19707 { 19708 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19709 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19710 VULKAN_HPP_ASSERT( d.vkDestroyValidationCacheEXT && "Function <vkDestroyValidationCacheEXT> requires <VK_EXT_validation_cache>" ); 19711 # endif 19712 19713 d.vkDestroyValidationCacheEXT( 19714 m_device, 19715 static_cast<VkValidationCacheEXT>( validationCache ), 19716 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 19717 } 19718 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 19719 19720 // wrapper function for command vkDestroyValidationCacheEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyValidationCacheEXT.html 19721 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const19722 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache, 19723 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 19724 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 19725 { 19726 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19727 d.vkDestroyValidationCacheEXT( 19728 static_cast<VkDevice>( m_device ), static_cast<VkValidationCacheEXT>( validationCache ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 19729 } 19730 19731 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 19732 // wrapper function for command vkDestroyValidationCacheEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyValidationCacheEXT.html 19733 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const19734 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache, 19735 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 19736 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 19737 { 19738 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19739 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19740 VULKAN_HPP_ASSERT( d.vkDestroyValidationCacheEXT && "Function <vkDestroyValidationCacheEXT> requires <VK_EXT_validation_cache>" ); 19741 # endif 19742 19743 d.vkDestroyValidationCacheEXT( 19744 m_device, 19745 static_cast<VkValidationCacheEXT>( validationCache ), 19746 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 19747 } 19748 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 19749 19750 // wrapper function for command vkMergeValidationCachesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMergeValidationCachesEXT.html 19751 template <typename Dispatch> mergeValidationCachesEXT(VULKAN_HPP_NAMESPACE::ValidationCacheEXT dstCache,uint32_t srcCacheCount,const VULKAN_HPP_NAMESPACE::ValidationCacheEXT * pSrcCaches,Dispatch const & d) const19752 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::mergeValidationCachesEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT dstCache, 19753 uint32_t srcCacheCount, 19754 const VULKAN_HPP_NAMESPACE::ValidationCacheEXT * pSrcCaches, 19755 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 19756 { 19757 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19758 return static_cast<Result>( d.vkMergeValidationCachesEXT( static_cast<VkDevice>( m_device ), 19759 static_cast<VkValidationCacheEXT>( dstCache ), 19760 srcCacheCount, 19761 reinterpret_cast<const VkValidationCacheEXT *>( pSrcCaches ) ) ); 19762 } 19763 19764 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 19765 // wrapper function for command vkMergeValidationCachesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMergeValidationCachesEXT.html 19766 template <typename Dispatch> 19767 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type mergeValidationCachesEXT(VULKAN_HPP_NAMESPACE::ValidationCacheEXT dstCache,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ValidationCacheEXT> const & srcCaches,Dispatch const & d) const19768 Device::mergeValidationCachesEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT dstCache, 19769 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ValidationCacheEXT> const & srcCaches, 19770 Dispatch const & d ) const 19771 { 19772 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19773 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19774 VULKAN_HPP_ASSERT( d.vkMergeValidationCachesEXT && "Function <vkMergeValidationCachesEXT> requires <VK_EXT_validation_cache>" ); 19775 # endif 19776 19777 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkMergeValidationCachesEXT( 19778 m_device, static_cast<VkValidationCacheEXT>( dstCache ), srcCaches.size(), reinterpret_cast<const VkValidationCacheEXT *>( srcCaches.data() ) ) ); 19779 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::mergeValidationCachesEXT" ); 19780 19781 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 19782 } 19783 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 19784 19785 // wrapper function for command vkGetValidationCacheDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetValidationCacheDataEXT.html 19786 template <typename Dispatch> getValidationCacheDataEXT(VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,size_t * pDataSize,void * pData,Dispatch const & d) const19787 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getValidationCacheDataEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache, 19788 size_t * pDataSize, 19789 void * pData, 19790 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 19791 { 19792 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19793 return static_cast<Result>( 19794 d.vkGetValidationCacheDataEXT( static_cast<VkDevice>( m_device ), static_cast<VkValidationCacheEXT>( validationCache ), pDataSize, pData ) ); 19795 } 19796 19797 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 19798 // wrapper function for command vkGetValidationCacheDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetValidationCacheDataEXT.html 19799 template <typename Uint8_tAllocator, 19800 typename Dispatch, 19801 typename std::enable_if<std::is_same<typename Uint8_tAllocator::value_type, uint8_t>::value, int>::type> 19802 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type getValidationCacheDataEXT(VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,Dispatch const & d) const19803 Device::getValidationCacheDataEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache, Dispatch const & d ) const 19804 { 19805 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19806 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19807 VULKAN_HPP_ASSERT( d.vkGetValidationCacheDataEXT && "Function <vkGetValidationCacheDataEXT> requires <VK_EXT_validation_cache>" ); 19808 # endif 19809 19810 std::vector<uint8_t, Uint8_tAllocator> data; 19811 size_t dataSize; 19812 VULKAN_HPP_NAMESPACE::Result result; 19813 do 19814 { 19815 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 19816 d.vkGetValidationCacheDataEXT( m_device, static_cast<VkValidationCacheEXT>( validationCache ), &dataSize, nullptr ) ); 19817 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && dataSize ) 19818 { 19819 data.resize( dataSize ); 19820 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 19821 d.vkGetValidationCacheDataEXT( m_device, static_cast<VkValidationCacheEXT>( validationCache ), &dataSize, reinterpret_cast<void *>( data.data() ) ) ); 19822 } 19823 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 19824 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getValidationCacheDataEXT" ); 19825 VULKAN_HPP_ASSERT( dataSize <= data.size() ); 19826 if ( dataSize < data.size() ) 19827 { 19828 data.resize( dataSize ); 19829 } 19830 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); 19831 } 19832 19833 // wrapper function for command vkGetValidationCacheDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetValidationCacheDataEXT.html 19834 template <typename Uint8_tAllocator, 19835 typename Dispatch, 19836 typename std::enable_if<std::is_same<typename Uint8_tAllocator::value_type, uint8_t>::value, int>::type> 19837 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type getValidationCacheDataEXT(VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache,Uint8_tAllocator & uint8_tAllocator,Dispatch const & d) const19838 Device::getValidationCacheDataEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache, Uint8_tAllocator & uint8_tAllocator, Dispatch const & d ) const 19839 { 19840 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19841 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19842 VULKAN_HPP_ASSERT( d.vkGetValidationCacheDataEXT && "Function <vkGetValidationCacheDataEXT> requires <VK_EXT_validation_cache>" ); 19843 # endif 19844 19845 std::vector<uint8_t, Uint8_tAllocator> data( uint8_tAllocator ); 19846 size_t dataSize; 19847 VULKAN_HPP_NAMESPACE::Result result; 19848 do 19849 { 19850 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 19851 d.vkGetValidationCacheDataEXT( m_device, static_cast<VkValidationCacheEXT>( validationCache ), &dataSize, nullptr ) ); 19852 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && dataSize ) 19853 { 19854 data.resize( dataSize ); 19855 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 19856 d.vkGetValidationCacheDataEXT( m_device, static_cast<VkValidationCacheEXT>( validationCache ), &dataSize, reinterpret_cast<void *>( data.data() ) ) ); 19857 } 19858 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 19859 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getValidationCacheDataEXT" ); 19860 VULKAN_HPP_ASSERT( dataSize <= data.size() ); 19861 if ( dataSize < data.size() ) 19862 { 19863 data.resize( dataSize ); 19864 } 19865 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); 19866 } 19867 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 19868 19869 //=== VK_NV_shading_rate_image === 19870 19871 // wrapper function for command vkCmdBindShadingRateImageNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindShadingRateImageNV.html 19872 template <typename Dispatch> bindShadingRateImageNV(VULKAN_HPP_NAMESPACE::ImageView imageView,VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,Dispatch const & d) const19873 VULKAN_HPP_INLINE void CommandBuffer::bindShadingRateImageNV( VULKAN_HPP_NAMESPACE::ImageView imageView, 19874 VULKAN_HPP_NAMESPACE::ImageLayout imageLayout, 19875 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 19876 { 19877 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19878 d.vkCmdBindShadingRateImageNV( 19879 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkImageView>( imageView ), static_cast<VkImageLayout>( imageLayout ) ); 19880 } 19881 19882 // wrapper function for command vkCmdSetViewportShadingRatePaletteNV, see 19883 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportShadingRatePaletteNV.html 19884 template <typename Dispatch> setViewportShadingRatePaletteNV(uint32_t firstViewport,uint32_t viewportCount,const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV * pShadingRatePalettes,Dispatch const & d) const19885 VULKAN_HPP_INLINE void CommandBuffer::setViewportShadingRatePaletteNV( uint32_t firstViewport, 19886 uint32_t viewportCount, 19887 const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV * pShadingRatePalettes, 19888 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 19889 { 19890 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19891 d.vkCmdSetViewportShadingRatePaletteNV( 19892 static_cast<VkCommandBuffer>( m_commandBuffer ), firstViewport, viewportCount, reinterpret_cast<const VkShadingRatePaletteNV *>( pShadingRatePalettes ) ); 19893 } 19894 19895 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 19896 // wrapper function for command vkCmdSetViewportShadingRatePaletteNV, see 19897 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportShadingRatePaletteNV.html 19898 template <typename Dispatch> setViewportShadingRatePaletteNV(uint32_t firstViewport,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV> const & shadingRatePalettes,Dispatch const & d) const19899 VULKAN_HPP_INLINE void CommandBuffer::setViewportShadingRatePaletteNV( 19900 uint32_t firstViewport, 19901 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV> const & shadingRatePalettes, 19902 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 19903 { 19904 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19905 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19906 VULKAN_HPP_ASSERT( d.vkCmdSetViewportShadingRatePaletteNV && "Function <vkCmdSetViewportShadingRatePaletteNV> requires <VK_NV_shading_rate_image>" ); 19907 # endif 19908 19909 d.vkCmdSetViewportShadingRatePaletteNV( 19910 m_commandBuffer, firstViewport, shadingRatePalettes.size(), reinterpret_cast<const VkShadingRatePaletteNV *>( shadingRatePalettes.data() ) ); 19911 } 19912 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 19913 19914 // wrapper function for command vkCmdSetCoarseSampleOrderNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoarseSampleOrderNV.html 19915 template <typename Dispatch> setCoarseSampleOrderNV(VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV sampleOrderType,uint32_t customSampleOrderCount,const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV * pCustomSampleOrders,Dispatch const & d) const19916 VULKAN_HPP_INLINE void CommandBuffer::setCoarseSampleOrderNV( VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV sampleOrderType, 19917 uint32_t customSampleOrderCount, 19918 const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV * pCustomSampleOrders, 19919 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 19920 { 19921 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19922 d.vkCmdSetCoarseSampleOrderNV( static_cast<VkCommandBuffer>( m_commandBuffer ), 19923 static_cast<VkCoarseSampleOrderTypeNV>( sampleOrderType ), 19924 customSampleOrderCount, 19925 reinterpret_cast<const VkCoarseSampleOrderCustomNV *>( pCustomSampleOrders ) ); 19926 } 19927 19928 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 19929 // wrapper function for command vkCmdSetCoarseSampleOrderNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoarseSampleOrderNV.html 19930 template <typename Dispatch> 19931 VULKAN_HPP_INLINE void setCoarseSampleOrderNV(VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV sampleOrderType,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV> const & customSampleOrders,Dispatch const & d) const19932 CommandBuffer::setCoarseSampleOrderNV( VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV sampleOrderType, 19933 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV> const & customSampleOrders, 19934 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 19935 { 19936 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19937 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19938 VULKAN_HPP_ASSERT( d.vkCmdSetCoarseSampleOrderNV && "Function <vkCmdSetCoarseSampleOrderNV> requires <VK_NV_shading_rate_image>" ); 19939 # endif 19940 19941 d.vkCmdSetCoarseSampleOrderNV( m_commandBuffer, 19942 static_cast<VkCoarseSampleOrderTypeNV>( sampleOrderType ), 19943 customSampleOrders.size(), 19944 reinterpret_cast<const VkCoarseSampleOrderCustomNV *>( customSampleOrders.data() ) ); 19945 } 19946 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 19947 19948 //=== VK_NV_ray_tracing === 19949 19950 // wrapper function for command vkCreateAccelerationStructureNV, see 19951 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructureNV.html 19952 template <typename Dispatch> 19953 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result createAccelerationStructureNV(const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::AccelerationStructureNV * pAccelerationStructure,Dispatch const & d) const19954 Device::createAccelerationStructureNV( const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV * pCreateInfo, 19955 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 19956 VULKAN_HPP_NAMESPACE::AccelerationStructureNV * pAccelerationStructure, 19957 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 19958 { 19959 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19960 return static_cast<Result>( d.vkCreateAccelerationStructureNV( static_cast<VkDevice>( m_device ), 19961 reinterpret_cast<const VkAccelerationStructureCreateInfoNV *>( pCreateInfo ), 19962 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 19963 reinterpret_cast<VkAccelerationStructureNV *>( pAccelerationStructure ) ) ); 19964 } 19965 19966 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 19967 // wrapper function for command vkCreateAccelerationStructureNV, see 19968 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructureNV.html 19969 template <typename Dispatch> 19970 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::AccelerationStructureNV>::type createAccelerationStructureNV(const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const19971 Device::createAccelerationStructureNV( const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV & createInfo, 19972 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 19973 Dispatch const & d ) const 19974 { 19975 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 19976 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 19977 VULKAN_HPP_ASSERT( d.vkCreateAccelerationStructureNV && "Function <vkCreateAccelerationStructureNV> requires <VK_NV_ray_tracing>" ); 19978 # endif 19979 19980 VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure; 19981 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateAccelerationStructureNV( 19982 m_device, 19983 reinterpret_cast<const VkAccelerationStructureCreateInfoNV *>( &createInfo ), 19984 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 19985 reinterpret_cast<VkAccelerationStructureNV *>( &accelerationStructure ) ) ); 19986 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createAccelerationStructureNV" ); 19987 19988 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( accelerationStructure ) ); 19989 } 19990 19991 # ifndef VULKAN_HPP_NO_SMART_HANDLE 19992 // wrapper function for command vkCreateAccelerationStructureNV, see 19993 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructureNV.html 19994 template <typename Dispatch> 19995 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::AccelerationStructureNV, Dispatch>>::type createAccelerationStructureNVUnique(const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const19996 Device::createAccelerationStructureNVUnique( const VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV & createInfo, 19997 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 19998 Dispatch const & d ) const 19999 { 20000 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20001 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 20002 VULKAN_HPP_ASSERT( d.vkCreateAccelerationStructureNV && "Function <vkCreateAccelerationStructureNV> requires <VK_NV_ray_tracing>" ); 20003 # endif 20004 20005 VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure; 20006 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateAccelerationStructureNV( 20007 m_device, 20008 reinterpret_cast<const VkAccelerationStructureCreateInfoNV *>( &createInfo ), 20009 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 20010 reinterpret_cast<VkAccelerationStructureNV *>( &accelerationStructure ) ) ); 20011 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createAccelerationStructureNVUnique" ); 20012 20013 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, 20014 UniqueHandle<VULKAN_HPP_NAMESPACE::AccelerationStructureNV, Dispatch>( 20015 accelerationStructure, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 20016 } 20017 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 20018 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 20019 20020 // wrapper function for command vkDestroyAccelerationStructureNV, see 20021 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyAccelerationStructureNV.html 20022 template <typename Dispatch> destroyAccelerationStructureNV(VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const20023 VULKAN_HPP_INLINE void Device::destroyAccelerationStructureNV( VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure, 20024 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 20025 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20026 { 20027 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20028 d.vkDestroyAccelerationStructureNV( static_cast<VkDevice>( m_device ), 20029 static_cast<VkAccelerationStructureNV>( accelerationStructure ), 20030 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 20031 } 20032 20033 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 20034 // wrapper function for command vkDestroyAccelerationStructureNV, see 20035 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyAccelerationStructureNV.html 20036 template <typename Dispatch> destroyAccelerationStructureNV(VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const20037 VULKAN_HPP_INLINE void Device::destroyAccelerationStructureNV( VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure, 20038 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 20039 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20040 { 20041 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20042 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 20043 VULKAN_HPP_ASSERT( d.vkDestroyAccelerationStructureNV && "Function <vkDestroyAccelerationStructureNV> requires <VK_NV_ray_tracing>" ); 20044 # endif 20045 20046 d.vkDestroyAccelerationStructureNV( 20047 m_device, 20048 static_cast<VkAccelerationStructureNV>( accelerationStructure ), 20049 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 20050 } 20051 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 20052 20053 // wrapper function for command vkDestroyAccelerationStructureNV, see 20054 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyAccelerationStructureNV.html 20055 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const20056 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure, 20057 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 20058 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20059 { 20060 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20061 d.vkDestroyAccelerationStructureNV( static_cast<VkDevice>( m_device ), 20062 static_cast<VkAccelerationStructureNV>( accelerationStructure ), 20063 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 20064 } 20065 20066 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 20067 // wrapper function for command vkDestroyAccelerationStructureNV, see 20068 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyAccelerationStructureNV.html 20069 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const20070 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure, 20071 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 20072 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20073 { 20074 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20075 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 20076 VULKAN_HPP_ASSERT( d.vkDestroyAccelerationStructureNV && "Function <vkDestroyAccelerationStructureNV> requires <VK_NV_ray_tracing>" ); 20077 # endif 20078 20079 d.vkDestroyAccelerationStructureNV( 20080 m_device, 20081 static_cast<VkAccelerationStructureNV>( accelerationStructure ), 20082 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 20083 } 20084 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 20085 20086 // wrapper function for command vkGetAccelerationStructureMemoryRequirementsNV, see 20087 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureMemoryRequirementsNV.html 20088 template <typename Dispatch> 20089 VULKAN_HPP_INLINE void getAccelerationStructureMemoryRequirementsNV(const VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV * pInfo,VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR * pMemoryRequirements,Dispatch const & d) const20090 Device::getAccelerationStructureMemoryRequirementsNV( const VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV * pInfo, 20091 VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR * pMemoryRequirements, 20092 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20093 { 20094 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20095 d.vkGetAccelerationStructureMemoryRequirementsNV( static_cast<VkDevice>( m_device ), 20096 reinterpret_cast<const VkAccelerationStructureMemoryRequirementsInfoNV *>( pInfo ), 20097 reinterpret_cast<VkMemoryRequirements2KHR *>( pMemoryRequirements ) ); 20098 } 20099 20100 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 20101 // wrapper function for command vkGetAccelerationStructureMemoryRequirementsNV, see 20102 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureMemoryRequirementsNV.html 20103 template <typename Dispatch> 20104 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR getAccelerationStructureMemoryRequirementsNV(const VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV & info,Dispatch const & d) const20105 Device::getAccelerationStructureMemoryRequirementsNV( const VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV & info, 20106 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20107 { 20108 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20109 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 20110 VULKAN_HPP_ASSERT( d.vkGetAccelerationStructureMemoryRequirementsNV && 20111 "Function <vkGetAccelerationStructureMemoryRequirementsNV> requires <VK_NV_ray_tracing>" ); 20112 # endif 20113 20114 VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR memoryRequirements; 20115 d.vkGetAccelerationStructureMemoryRequirementsNV( m_device, 20116 reinterpret_cast<const VkAccelerationStructureMemoryRequirementsInfoNV *>( &info ), 20117 reinterpret_cast<VkMemoryRequirements2KHR *>( &memoryRequirements ) ); 20118 20119 return memoryRequirements; 20120 } 20121 20122 // wrapper function for command vkGetAccelerationStructureMemoryRequirementsNV, see 20123 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureMemoryRequirementsNV.html 20124 template <typename X, typename Y, typename... Z, typename Dispatch> 20125 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> getAccelerationStructureMemoryRequirementsNV(const VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV & info,Dispatch const & d) const20126 Device::getAccelerationStructureMemoryRequirementsNV( const VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV & info, 20127 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20128 { 20129 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20130 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 20131 VULKAN_HPP_ASSERT( d.vkGetAccelerationStructureMemoryRequirementsNV && 20132 "Function <vkGetAccelerationStructureMemoryRequirementsNV> requires <VK_NV_ray_tracing>" ); 20133 # endif 20134 20135 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 20136 VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR & memoryRequirements = structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR>(); 20137 d.vkGetAccelerationStructureMemoryRequirementsNV( m_device, 20138 reinterpret_cast<const VkAccelerationStructureMemoryRequirementsInfoNV *>( &info ), 20139 reinterpret_cast<VkMemoryRequirements2KHR *>( &memoryRequirements ) ); 20140 20141 return structureChain; 20142 } 20143 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 20144 20145 // wrapper function for command vkBindAccelerationStructureMemoryNV, see 20146 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindAccelerationStructureMemoryNV.html 20147 template <typename Dispatch> bindAccelerationStructureMemoryNV(uint32_t bindInfoCount,const VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV * pBindInfos,Dispatch const & d) const20148 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::bindAccelerationStructureMemoryNV( 20149 uint32_t bindInfoCount, const VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV * pBindInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20150 { 20151 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20152 return static_cast<Result>( d.vkBindAccelerationStructureMemoryNV( 20153 static_cast<VkDevice>( m_device ), bindInfoCount, reinterpret_cast<const VkBindAccelerationStructureMemoryInfoNV *>( pBindInfos ) ) ); 20154 } 20155 20156 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 20157 // wrapper function for command vkBindAccelerationStructureMemoryNV, see 20158 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindAccelerationStructureMemoryNV.html 20159 template <typename Dispatch> bindAccelerationStructureMemoryNV(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV> const & bindInfos,Dispatch const & d) const20160 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::bindAccelerationStructureMemoryNV( 20161 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV> const & bindInfos, Dispatch const & d ) const 20162 { 20163 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20164 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 20165 VULKAN_HPP_ASSERT( d.vkBindAccelerationStructureMemoryNV && "Function <vkBindAccelerationStructureMemoryNV> requires <VK_NV_ray_tracing>" ); 20166 # endif 20167 20168 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkBindAccelerationStructureMemoryNV( 20169 m_device, bindInfos.size(), reinterpret_cast<const VkBindAccelerationStructureMemoryInfoNV *>( bindInfos.data() ) ) ); 20170 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindAccelerationStructureMemoryNV" ); 20171 20172 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 20173 } 20174 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 20175 20176 // wrapper function for command vkCmdBuildAccelerationStructureNV, see 20177 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildAccelerationStructureNV.html 20178 template <typename Dispatch> buildAccelerationStructureNV(const VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV * pInfo,VULKAN_HPP_NAMESPACE::Buffer instanceData,VULKAN_HPP_NAMESPACE::DeviceSize instanceOffset,VULKAN_HPP_NAMESPACE::Bool32 update,VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst,VULKAN_HPP_NAMESPACE::AccelerationStructureNV src,VULKAN_HPP_NAMESPACE::Buffer scratch,VULKAN_HPP_NAMESPACE::DeviceSize scratchOffset,Dispatch const & d) const20179 VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructureNV( const VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV * pInfo, 20180 VULKAN_HPP_NAMESPACE::Buffer instanceData, 20181 VULKAN_HPP_NAMESPACE::DeviceSize instanceOffset, 20182 VULKAN_HPP_NAMESPACE::Bool32 update, 20183 VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst, 20184 VULKAN_HPP_NAMESPACE::AccelerationStructureNV src, 20185 VULKAN_HPP_NAMESPACE::Buffer scratch, 20186 VULKAN_HPP_NAMESPACE::DeviceSize scratchOffset, 20187 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20188 { 20189 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20190 d.vkCmdBuildAccelerationStructureNV( static_cast<VkCommandBuffer>( m_commandBuffer ), 20191 reinterpret_cast<const VkAccelerationStructureInfoNV *>( pInfo ), 20192 static_cast<VkBuffer>( instanceData ), 20193 static_cast<VkDeviceSize>( instanceOffset ), 20194 static_cast<VkBool32>( update ), 20195 static_cast<VkAccelerationStructureNV>( dst ), 20196 static_cast<VkAccelerationStructureNV>( src ), 20197 static_cast<VkBuffer>( scratch ), 20198 static_cast<VkDeviceSize>( scratchOffset ) ); 20199 } 20200 20201 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 20202 // wrapper function for command vkCmdBuildAccelerationStructureNV, see 20203 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildAccelerationStructureNV.html 20204 template <typename Dispatch> buildAccelerationStructureNV(const VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV & info,VULKAN_HPP_NAMESPACE::Buffer instanceData,VULKAN_HPP_NAMESPACE::DeviceSize instanceOffset,VULKAN_HPP_NAMESPACE::Bool32 update,VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst,VULKAN_HPP_NAMESPACE::AccelerationStructureNV src,VULKAN_HPP_NAMESPACE::Buffer scratch,VULKAN_HPP_NAMESPACE::DeviceSize scratchOffset,Dispatch const & d) const20205 VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructureNV( const VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV & info, 20206 VULKAN_HPP_NAMESPACE::Buffer instanceData, 20207 VULKAN_HPP_NAMESPACE::DeviceSize instanceOffset, 20208 VULKAN_HPP_NAMESPACE::Bool32 update, 20209 VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst, 20210 VULKAN_HPP_NAMESPACE::AccelerationStructureNV src, 20211 VULKAN_HPP_NAMESPACE::Buffer scratch, 20212 VULKAN_HPP_NAMESPACE::DeviceSize scratchOffset, 20213 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20214 { 20215 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20216 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 20217 VULKAN_HPP_ASSERT( d.vkCmdBuildAccelerationStructureNV && "Function <vkCmdBuildAccelerationStructureNV> requires <VK_NV_ray_tracing>" ); 20218 # endif 20219 20220 d.vkCmdBuildAccelerationStructureNV( m_commandBuffer, 20221 reinterpret_cast<const VkAccelerationStructureInfoNV *>( &info ), 20222 static_cast<VkBuffer>( instanceData ), 20223 static_cast<VkDeviceSize>( instanceOffset ), 20224 static_cast<VkBool32>( update ), 20225 static_cast<VkAccelerationStructureNV>( dst ), 20226 static_cast<VkAccelerationStructureNV>( src ), 20227 static_cast<VkBuffer>( scratch ), 20228 static_cast<VkDeviceSize>( scratchOffset ) ); 20229 } 20230 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 20231 20232 // wrapper function for command vkCmdCopyAccelerationStructureNV, see 20233 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyAccelerationStructureNV.html 20234 template <typename Dispatch> copyAccelerationStructureNV(VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst,VULKAN_HPP_NAMESPACE::AccelerationStructureNV src,VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode,Dispatch const & d) const20235 VULKAN_HPP_INLINE void CommandBuffer::copyAccelerationStructureNV( VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst, 20236 VULKAN_HPP_NAMESPACE::AccelerationStructureNV src, 20237 VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode, 20238 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20239 { 20240 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20241 d.vkCmdCopyAccelerationStructureNV( static_cast<VkCommandBuffer>( m_commandBuffer ), 20242 static_cast<VkAccelerationStructureNV>( dst ), 20243 static_cast<VkAccelerationStructureNV>( src ), 20244 static_cast<VkCopyAccelerationStructureModeKHR>( mode ) ); 20245 } 20246 20247 // wrapper function for command vkCmdTraceRaysNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysNV.html 20248 template <typename Dispatch> traceRaysNV(VULKAN_HPP_NAMESPACE::Buffer raygenShaderBindingTableBuffer,VULKAN_HPP_NAMESPACE::DeviceSize raygenShaderBindingOffset,VULKAN_HPP_NAMESPACE::Buffer missShaderBindingTableBuffer,VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingOffset,VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingStride,VULKAN_HPP_NAMESPACE::Buffer hitShaderBindingTableBuffer,VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingOffset,VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingStride,VULKAN_HPP_NAMESPACE::Buffer callableShaderBindingTableBuffer,VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingOffset,VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingStride,uint32_t width,uint32_t height,uint32_t depth,Dispatch const & d) const20249 VULKAN_HPP_INLINE void CommandBuffer::traceRaysNV( VULKAN_HPP_NAMESPACE::Buffer raygenShaderBindingTableBuffer, 20250 VULKAN_HPP_NAMESPACE::DeviceSize raygenShaderBindingOffset, 20251 VULKAN_HPP_NAMESPACE::Buffer missShaderBindingTableBuffer, 20252 VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingOffset, 20253 VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingStride, 20254 VULKAN_HPP_NAMESPACE::Buffer hitShaderBindingTableBuffer, 20255 VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingOffset, 20256 VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingStride, 20257 VULKAN_HPP_NAMESPACE::Buffer callableShaderBindingTableBuffer, 20258 VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingOffset, 20259 VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingStride, 20260 uint32_t width, 20261 uint32_t height, 20262 uint32_t depth, 20263 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20264 { 20265 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20266 d.vkCmdTraceRaysNV( static_cast<VkCommandBuffer>( m_commandBuffer ), 20267 static_cast<VkBuffer>( raygenShaderBindingTableBuffer ), 20268 static_cast<VkDeviceSize>( raygenShaderBindingOffset ), 20269 static_cast<VkBuffer>( missShaderBindingTableBuffer ), 20270 static_cast<VkDeviceSize>( missShaderBindingOffset ), 20271 static_cast<VkDeviceSize>( missShaderBindingStride ), 20272 static_cast<VkBuffer>( hitShaderBindingTableBuffer ), 20273 static_cast<VkDeviceSize>( hitShaderBindingOffset ), 20274 static_cast<VkDeviceSize>( hitShaderBindingStride ), 20275 static_cast<VkBuffer>( callableShaderBindingTableBuffer ), 20276 static_cast<VkDeviceSize>( callableShaderBindingOffset ), 20277 static_cast<VkDeviceSize>( callableShaderBindingStride ), 20278 width, 20279 height, 20280 depth ); 20281 } 20282 20283 // wrapper function for command vkCreateRayTracingPipelinesNV, see 20284 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesNV.html 20285 template <typename Dispatch> createRayTracingPipelinesNV(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,uint32_t createInfoCount,const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV * pCreateInfos,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::Pipeline * pPipelines,Dispatch const & d) const20286 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createRayTracingPipelinesNV( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 20287 uint32_t createInfoCount, 20288 const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV * pCreateInfos, 20289 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 20290 VULKAN_HPP_NAMESPACE::Pipeline * pPipelines, 20291 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20292 { 20293 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20294 return static_cast<Result>( d.vkCreateRayTracingPipelinesNV( static_cast<VkDevice>( m_device ), 20295 static_cast<VkPipelineCache>( pipelineCache ), 20296 createInfoCount, 20297 reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>( pCreateInfos ), 20298 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 20299 reinterpret_cast<VkPipeline *>( pPipelines ) ) ); 20300 } 20301 20302 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 20303 // wrapper function for command vkCreateRayTracingPipelinesNV, see 20304 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesNV.html 20305 template <typename PipelineAllocator, 20306 typename Dispatch, 20307 typename std::enable_if<std::is_same<typename PipelineAllocator::value_type, VULKAN_HPP_NAMESPACE::Pipeline>::value, int>::type> 20308 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>> createRayTracingPipelinesNV(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const20309 Device::createRayTracingPipelinesNV( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 20310 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const & createInfos, 20311 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 20312 Dispatch const & d ) const 20313 { 20314 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20315 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 20316 VULKAN_HPP_ASSERT( d.vkCreateRayTracingPipelinesNV && "Function <vkCreateRayTracingPipelinesNV> requires <VK_NV_ray_tracing>" ); 20317 # endif 20318 20319 std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator> pipelines( createInfos.size() ); 20320 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateRayTracingPipelinesNV( 20321 m_device, 20322 static_cast<VkPipelineCache>( pipelineCache ), 20323 createInfos.size(), 20324 reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>( createInfos.data() ), 20325 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 20326 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); 20327 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 20328 VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesNV", 20329 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 20330 20331 return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>( result, std::move( pipelines ) ); 20332 } 20333 20334 // wrapper function for command vkCreateRayTracingPipelinesNV, see 20335 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesNV.html 20336 template <typename PipelineAllocator, 20337 typename Dispatch, 20338 typename std::enable_if<std::is_same<typename PipelineAllocator::value_type, VULKAN_HPP_NAMESPACE::Pipeline>::value, int>::type> 20339 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>> createRayTracingPipelinesNV(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,PipelineAllocator & pipelineAllocator,Dispatch const & d) const20340 Device::createRayTracingPipelinesNV( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 20341 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const & createInfos, 20342 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 20343 PipelineAllocator & pipelineAllocator, 20344 Dispatch const & d ) const 20345 { 20346 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20347 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 20348 VULKAN_HPP_ASSERT( d.vkCreateRayTracingPipelinesNV && "Function <vkCreateRayTracingPipelinesNV> requires <VK_NV_ray_tracing>" ); 20349 # endif 20350 20351 std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator> pipelines( createInfos.size(), pipelineAllocator ); 20352 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateRayTracingPipelinesNV( 20353 m_device, 20354 static_cast<VkPipelineCache>( pipelineCache ), 20355 createInfos.size(), 20356 reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>( createInfos.data() ), 20357 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 20358 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); 20359 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 20360 VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesNV", 20361 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 20362 20363 return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>( result, std::move( pipelines ) ); 20364 } 20365 20366 // wrapper function for command vkCreateRayTracingPipelinesNV, see 20367 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesNV.html 20368 template <typename Dispatch> 20369 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<VULKAN_HPP_NAMESPACE::Pipeline> createRayTracingPipelineNV(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const20370 Device::createRayTracingPipelineNV( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 20371 const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV & createInfo, 20372 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 20373 Dispatch const & d ) const 20374 { 20375 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20376 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 20377 VULKAN_HPP_ASSERT( d.vkCreateRayTracingPipelinesNV && "Function <vkCreateRayTracingPipelinesNV> requires <VK_NV_ray_tracing>" ); 20378 # endif 20379 20380 VULKAN_HPP_NAMESPACE::Pipeline pipeline; 20381 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateRayTracingPipelinesNV( 20382 m_device, 20383 static_cast<VkPipelineCache>( pipelineCache ), 20384 1, 20385 reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>( &createInfo ), 20386 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 20387 reinterpret_cast<VkPipeline *>( &pipeline ) ) ); 20388 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 20389 VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelineNV", 20390 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 20391 20392 return ResultValue<VULKAN_HPP_NAMESPACE::Pipeline>( result, std::move( pipeline ) ); 20393 } 20394 20395 # ifndef VULKAN_HPP_NO_SMART_HANDLE 20396 // wrapper function for command vkCreateRayTracingPipelinesNV, see 20397 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesNV.html 20398 template < 20399 typename Dispatch, 20400 typename PipelineAllocator, 20401 typename std::enable_if<std::is_same<typename PipelineAllocator::value_type, UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>::value, int>::type> 20402 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>> createRayTracingPipelinesNVUnique(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const20403 Device::createRayTracingPipelinesNVUnique( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 20404 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const & createInfos, 20405 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 20406 Dispatch const & d ) const 20407 { 20408 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20409 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 20410 VULKAN_HPP_ASSERT( d.vkCreateRayTracingPipelinesNV && "Function <vkCreateRayTracingPipelinesNV> requires <VK_NV_ray_tracing>" ); 20411 # endif 20412 20413 std::vector<VULKAN_HPP_NAMESPACE::Pipeline> pipelines( createInfos.size() ); 20414 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateRayTracingPipelinesNV( 20415 m_device, 20416 static_cast<VkPipelineCache>( pipelineCache ), 20417 createInfos.size(), 20418 reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>( createInfos.data() ), 20419 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 20420 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); 20421 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 20422 VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesNVUnique", 20423 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 20424 std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator> uniquePipelines; 20425 uniquePipelines.reserve( createInfos.size() ); 20426 detail::ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d ); 20427 for ( auto const & pipeline : pipelines ) 20428 { 20429 uniquePipelines.push_back( UniqueHandle<Pipeline, Dispatch>( pipeline, deleter ) ); 20430 } 20431 return ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>( result, std::move( uniquePipelines ) ); 20432 } 20433 20434 // wrapper function for command vkCreateRayTracingPipelinesNV, see 20435 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesNV.html 20436 template < 20437 typename Dispatch, 20438 typename PipelineAllocator, 20439 typename std::enable_if<std::is_same<typename PipelineAllocator::value_type, UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>::value, int>::type> 20440 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>> createRayTracingPipelinesNVUnique(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,PipelineAllocator & pipelineAllocator,Dispatch const & d) const20441 Device::createRayTracingPipelinesNVUnique( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 20442 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const & createInfos, 20443 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 20444 PipelineAllocator & pipelineAllocator, 20445 Dispatch const & d ) const 20446 { 20447 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20448 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 20449 VULKAN_HPP_ASSERT( d.vkCreateRayTracingPipelinesNV && "Function <vkCreateRayTracingPipelinesNV> requires <VK_NV_ray_tracing>" ); 20450 # endif 20451 20452 std::vector<VULKAN_HPP_NAMESPACE::Pipeline> pipelines( createInfos.size() ); 20453 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateRayTracingPipelinesNV( 20454 m_device, 20455 static_cast<VkPipelineCache>( pipelineCache ), 20456 createInfos.size(), 20457 reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>( createInfos.data() ), 20458 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 20459 reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); 20460 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 20461 VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesNVUnique", 20462 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 20463 std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator> uniquePipelines( pipelineAllocator ); 20464 uniquePipelines.reserve( createInfos.size() ); 20465 detail::ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d ); 20466 for ( auto const & pipeline : pipelines ) 20467 { 20468 uniquePipelines.push_back( UniqueHandle<Pipeline, Dispatch>( pipeline, deleter ) ); 20469 } 20470 return ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>( result, std::move( uniquePipelines ) ); 20471 } 20472 20473 // wrapper function for command vkCreateRayTracingPipelinesNV, see 20474 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesNV.html 20475 template <typename Dispatch> 20476 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>> createRayTracingPipelineNVUnique(VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const20477 Device::createRayTracingPipelineNVUnique( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, 20478 const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV & createInfo, 20479 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 20480 Dispatch const & d ) const 20481 { 20482 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20483 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 20484 VULKAN_HPP_ASSERT( d.vkCreateRayTracingPipelinesNV && "Function <vkCreateRayTracingPipelinesNV> requires <VK_NV_ray_tracing>" ); 20485 # endif 20486 20487 VULKAN_HPP_NAMESPACE::Pipeline pipeline; 20488 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateRayTracingPipelinesNV( 20489 m_device, 20490 static_cast<VkPipelineCache>( pipelineCache ), 20491 1, 20492 reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>( &createInfo ), 20493 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 20494 reinterpret_cast<VkPipeline *>( &pipeline ) ) ); 20495 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 20496 VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelineNVUnique", 20497 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); 20498 20499 return ResultValue<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>( 20500 result, UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>( pipeline, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 20501 } 20502 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 20503 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 20504 20505 // wrapper function for command vkGetRayTracingShaderGroupHandlesNV, see 20506 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesNV.html 20507 template <typename Dispatch> getRayTracingShaderGroupHandlesNV(VULKAN_HPP_NAMESPACE::Pipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,void * pData,Dispatch const & d) const20508 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getRayTracingShaderGroupHandlesNV( VULKAN_HPP_NAMESPACE::Pipeline pipeline, 20509 uint32_t firstGroup, 20510 uint32_t groupCount, 20511 size_t dataSize, 20512 void * pData, 20513 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20514 { 20515 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20516 return static_cast<Result>( d.vkGetRayTracingShaderGroupHandlesNV( 20517 static_cast<VkDevice>( m_device ), static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, dataSize, pData ) ); 20518 } 20519 20520 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 20521 // wrapper function for command vkGetRayTracingShaderGroupHandlesNV, see 20522 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesNV.html 20523 template <typename DataType, 20524 typename DataTypeAllocator, 20525 typename Dispatch, 20526 typename std::enable_if<std::is_same<typename DataTypeAllocator::value_type, DataType>::value, int>::type> getRayTracingShaderGroupHandlesNV(VULKAN_HPP_NAMESPACE::Pipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,Dispatch const & d) const20527 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type Device::getRayTracingShaderGroupHandlesNV( 20528 VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, Dispatch const & d ) const 20529 { 20530 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20531 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 20532 VULKAN_HPP_ASSERT( d.vkGetRayTracingShaderGroupHandlesNV && 20533 "Function <vkGetRayTracingShaderGroupHandlesNV> requires <VK_KHR_ray_tracing_pipeline> or <VK_NV_ray_tracing>" ); 20534 # endif 20535 20536 VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); 20537 std::vector<DataType, DataTypeAllocator> data( dataSize / sizeof( DataType ) ); 20538 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetRayTracingShaderGroupHandlesNV( 20539 m_device, static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, data.size() * sizeof( DataType ), reinterpret_cast<void *>( data.data() ) ) ); 20540 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingShaderGroupHandlesNV" ); 20541 20542 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); 20543 } 20544 20545 // wrapper function for command vkGetRayTracingShaderGroupHandlesNV, see 20546 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesNV.html 20547 template <typename DataType, typename Dispatch> 20548 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type getRayTracingShaderGroupHandleNV(VULKAN_HPP_NAMESPACE::Pipeline pipeline,uint32_t firstGroup,uint32_t groupCount,Dispatch const & d) const20549 Device::getRayTracingShaderGroupHandleNV( VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, Dispatch const & d ) const 20550 { 20551 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20552 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 20553 VULKAN_HPP_ASSERT( d.vkGetRayTracingShaderGroupHandlesNV && 20554 "Function <vkGetRayTracingShaderGroupHandlesNV> requires <VK_KHR_ray_tracing_pipeline> or <VK_NV_ray_tracing>" ); 20555 # endif 20556 20557 DataType data; 20558 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetRayTracingShaderGroupHandlesNV( 20559 m_device, static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, sizeof( DataType ), reinterpret_cast<void *>( &data ) ) ); 20560 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingShaderGroupHandleNV" ); 20561 20562 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); 20563 } 20564 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 20565 20566 // wrapper function for command vkGetAccelerationStructureHandleNV, see 20567 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureHandleNV.html 20568 template <typename Dispatch> getAccelerationStructureHandleNV(VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,size_t dataSize,void * pData,Dispatch const & d) const20569 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getAccelerationStructureHandleNV( VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure, 20570 size_t dataSize, 20571 void * pData, 20572 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20573 { 20574 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20575 return static_cast<Result>( d.vkGetAccelerationStructureHandleNV( 20576 static_cast<VkDevice>( m_device ), static_cast<VkAccelerationStructureNV>( accelerationStructure ), dataSize, pData ) ); 20577 } 20578 20579 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 20580 // wrapper function for command vkGetAccelerationStructureHandleNV, see 20581 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureHandleNV.html 20582 template <typename DataType, 20583 typename DataTypeAllocator, 20584 typename Dispatch, 20585 typename std::enable_if<std::is_same<typename DataTypeAllocator::value_type, DataType>::value, int>::type> 20586 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type getAccelerationStructureHandleNV(VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,size_t dataSize,Dispatch const & d) const20587 Device::getAccelerationStructureHandleNV( VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure, size_t dataSize, Dispatch const & d ) const 20588 { 20589 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20590 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 20591 VULKAN_HPP_ASSERT( d.vkGetAccelerationStructureHandleNV && "Function <vkGetAccelerationStructureHandleNV> requires <VK_NV_ray_tracing>" ); 20592 # endif 20593 20594 VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); 20595 std::vector<DataType, DataTypeAllocator> data( dataSize / sizeof( DataType ) ); 20596 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetAccelerationStructureHandleNV( 20597 m_device, static_cast<VkAccelerationStructureNV>( accelerationStructure ), data.size() * sizeof( DataType ), reinterpret_cast<void *>( data.data() ) ) ); 20598 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getAccelerationStructureHandleNV" ); 20599 20600 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); 20601 } 20602 20603 // wrapper function for command vkGetAccelerationStructureHandleNV, see 20604 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureHandleNV.html 20605 template <typename DataType, typename Dispatch> 20606 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type getAccelerationStructureHandleNV(VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,Dispatch const & d) const20607 Device::getAccelerationStructureHandleNV( VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure, Dispatch const & d ) const 20608 { 20609 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20610 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 20611 VULKAN_HPP_ASSERT( d.vkGetAccelerationStructureHandleNV && "Function <vkGetAccelerationStructureHandleNV> requires <VK_NV_ray_tracing>" ); 20612 # endif 20613 20614 DataType data; 20615 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetAccelerationStructureHandleNV( 20616 m_device, static_cast<VkAccelerationStructureNV>( accelerationStructure ), sizeof( DataType ), reinterpret_cast<void *>( &data ) ) ); 20617 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getAccelerationStructureHandleNV" ); 20618 20619 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); 20620 } 20621 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 20622 20623 // wrapper function for command vkCmdWriteAccelerationStructuresPropertiesNV, see 20624 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteAccelerationStructuresPropertiesNV.html 20625 template <typename Dispatch> writeAccelerationStructuresPropertiesNV(uint32_t accelerationStructureCount,const VULKAN_HPP_NAMESPACE::AccelerationStructureNV * pAccelerationStructures,VULKAN_HPP_NAMESPACE::QueryType queryType,VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t firstQuery,Dispatch const & d) const20626 VULKAN_HPP_INLINE void CommandBuffer::writeAccelerationStructuresPropertiesNV( uint32_t accelerationStructureCount, 20627 const VULKAN_HPP_NAMESPACE::AccelerationStructureNV * pAccelerationStructures, 20628 VULKAN_HPP_NAMESPACE::QueryType queryType, 20629 VULKAN_HPP_NAMESPACE::QueryPool queryPool, 20630 uint32_t firstQuery, 20631 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20632 { 20633 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20634 d.vkCmdWriteAccelerationStructuresPropertiesNV( static_cast<VkCommandBuffer>( m_commandBuffer ), 20635 accelerationStructureCount, 20636 reinterpret_cast<const VkAccelerationStructureNV *>( pAccelerationStructures ), 20637 static_cast<VkQueryType>( queryType ), 20638 static_cast<VkQueryPool>( queryPool ), 20639 firstQuery ); 20640 } 20641 20642 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 20643 // wrapper function for command vkCmdWriteAccelerationStructuresPropertiesNV, see 20644 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteAccelerationStructuresPropertiesNV.html 20645 template <typename Dispatch> writeAccelerationStructuresPropertiesNV(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureNV> const & accelerationStructures,VULKAN_HPP_NAMESPACE::QueryType queryType,VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t firstQuery,Dispatch const & d) const20646 VULKAN_HPP_INLINE void CommandBuffer::writeAccelerationStructuresPropertiesNV( 20647 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureNV> const & accelerationStructures, 20648 VULKAN_HPP_NAMESPACE::QueryType queryType, 20649 VULKAN_HPP_NAMESPACE::QueryPool queryPool, 20650 uint32_t firstQuery, 20651 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20652 { 20653 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20654 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 20655 VULKAN_HPP_ASSERT( d.vkCmdWriteAccelerationStructuresPropertiesNV && 20656 "Function <vkCmdWriteAccelerationStructuresPropertiesNV> requires <VK_NV_ray_tracing>" ); 20657 # endif 20658 20659 d.vkCmdWriteAccelerationStructuresPropertiesNV( m_commandBuffer, 20660 accelerationStructures.size(), 20661 reinterpret_cast<const VkAccelerationStructureNV *>( accelerationStructures.data() ), 20662 static_cast<VkQueryType>( queryType ), 20663 static_cast<VkQueryPool>( queryPool ), 20664 firstQuery ); 20665 } 20666 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 20667 20668 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 20669 // wrapper function for command vkCompileDeferredNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCompileDeferredNV.html 20670 template <typename Dispatch> compileDeferredNV(VULKAN_HPP_NAMESPACE::Pipeline pipeline,uint32_t shader,Dispatch const & d) const20671 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::compileDeferredNV( VULKAN_HPP_NAMESPACE::Pipeline pipeline, 20672 uint32_t shader, 20673 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20674 { 20675 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20676 return static_cast<Result>( d.vkCompileDeferredNV( static_cast<VkDevice>( m_device ), static_cast<VkPipeline>( pipeline ), shader ) ); 20677 } 20678 #else 20679 // wrapper function for command vkCompileDeferredNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCompileDeferredNV.html 20680 template <typename Dispatch> 20681 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type compileDeferredNV(VULKAN_HPP_NAMESPACE::Pipeline pipeline,uint32_t shader,Dispatch const & d) const20682 Device::compileDeferredNV( VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t shader, Dispatch const & d ) const 20683 { 20684 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20685 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 20686 VULKAN_HPP_ASSERT( d.vkCompileDeferredNV && "Function <vkCompileDeferredNV> requires <VK_NV_ray_tracing>" ); 20687 # endif 20688 20689 VULKAN_HPP_NAMESPACE::Result result = 20690 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCompileDeferredNV( m_device, static_cast<VkPipeline>( pipeline ), shader ) ); 20691 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::compileDeferredNV" ); 20692 20693 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 20694 } 20695 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 20696 20697 //=== VK_KHR_maintenance3 === 20698 20699 // wrapper function for command vkGetDescriptorSetLayoutSupportKHR, see 20700 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupportKHR.html 20701 template <typename Dispatch> getDescriptorSetLayoutSupportKHR(const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo * pCreateInfo,VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport * pSupport,Dispatch const & d) const20702 VULKAN_HPP_INLINE void Device::getDescriptorSetLayoutSupportKHR( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo * pCreateInfo, 20703 VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport * pSupport, 20704 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20705 { 20706 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20707 d.vkGetDescriptorSetLayoutSupportKHR( static_cast<VkDevice>( m_device ), 20708 reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( pCreateInfo ), 20709 reinterpret_cast<VkDescriptorSetLayoutSupport *>( pSupport ) ); 20710 } 20711 20712 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 20713 // wrapper function for command vkGetDescriptorSetLayoutSupportKHR, see 20714 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupportKHR.html 20715 template <typename Dispatch> 20716 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport getDescriptorSetLayoutSupportKHR(const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo,Dispatch const & d) const20717 Device::getDescriptorSetLayoutSupportKHR( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo, 20718 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20719 { 20720 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20721 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 20722 VULKAN_HPP_ASSERT( d.vkGetDescriptorSetLayoutSupportKHR && 20723 "Function <vkGetDescriptorSetLayoutSupportKHR> requires <VK_KHR_maintenance3> or <VK_VERSION_1_1>" ); 20724 # endif 20725 20726 VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport support; 20727 d.vkGetDescriptorSetLayoutSupportKHR( 20728 m_device, reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( &createInfo ), reinterpret_cast<VkDescriptorSetLayoutSupport *>( &support ) ); 20729 20730 return support; 20731 } 20732 20733 // wrapper function for command vkGetDescriptorSetLayoutSupportKHR, see 20734 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupportKHR.html 20735 template <typename X, typename Y, typename... Z, typename Dispatch> 20736 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> getDescriptorSetLayoutSupportKHR(const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo,Dispatch const & d) const20737 Device::getDescriptorSetLayoutSupportKHR( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo, 20738 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20739 { 20740 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20741 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 20742 VULKAN_HPP_ASSERT( d.vkGetDescriptorSetLayoutSupportKHR && 20743 "Function <vkGetDescriptorSetLayoutSupportKHR> requires <VK_KHR_maintenance3> or <VK_VERSION_1_1>" ); 20744 # endif 20745 20746 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 20747 VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport & support = structureChain.template get<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport>(); 20748 d.vkGetDescriptorSetLayoutSupportKHR( 20749 m_device, reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( &createInfo ), reinterpret_cast<VkDescriptorSetLayoutSupport *>( &support ) ); 20750 20751 return structureChain; 20752 } 20753 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 20754 20755 //=== VK_KHR_draw_indirect_count === 20756 20757 // wrapper function for command vkCmdDrawIndirectCountKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectCountKHR.html 20758 template <typename Dispatch> drawIndirectCountKHR(VULKAN_HPP_NAMESPACE::Buffer buffer,VULKAN_HPP_NAMESPACE::DeviceSize offset,VULKAN_HPP_NAMESPACE::Buffer countBuffer,VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride,Dispatch const & d) const20759 VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCountKHR( VULKAN_HPP_NAMESPACE::Buffer buffer, 20760 VULKAN_HPP_NAMESPACE::DeviceSize offset, 20761 VULKAN_HPP_NAMESPACE::Buffer countBuffer, 20762 VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, 20763 uint32_t maxDrawCount, 20764 uint32_t stride, 20765 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20766 { 20767 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20768 d.vkCmdDrawIndirectCountKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 20769 static_cast<VkBuffer>( buffer ), 20770 static_cast<VkDeviceSize>( offset ), 20771 static_cast<VkBuffer>( countBuffer ), 20772 static_cast<VkDeviceSize>( countBufferOffset ), 20773 maxDrawCount, 20774 stride ); 20775 } 20776 20777 // wrapper function for command vkCmdDrawIndexedIndirectCountKHR, see 20778 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirectCountKHR.html 20779 template <typename Dispatch> drawIndexedIndirectCountKHR(VULKAN_HPP_NAMESPACE::Buffer buffer,VULKAN_HPP_NAMESPACE::DeviceSize offset,VULKAN_HPP_NAMESPACE::Buffer countBuffer,VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride,Dispatch const & d) const20780 VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCountKHR( VULKAN_HPP_NAMESPACE::Buffer buffer, 20781 VULKAN_HPP_NAMESPACE::DeviceSize offset, 20782 VULKAN_HPP_NAMESPACE::Buffer countBuffer, 20783 VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, 20784 uint32_t maxDrawCount, 20785 uint32_t stride, 20786 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20787 { 20788 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20789 d.vkCmdDrawIndexedIndirectCountKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 20790 static_cast<VkBuffer>( buffer ), 20791 static_cast<VkDeviceSize>( offset ), 20792 static_cast<VkBuffer>( countBuffer ), 20793 static_cast<VkDeviceSize>( countBufferOffset ), 20794 maxDrawCount, 20795 stride ); 20796 } 20797 20798 //=== VK_EXT_external_memory_host === 20799 20800 // wrapper function for command vkGetMemoryHostPointerPropertiesEXT, see 20801 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryHostPointerPropertiesEXT.html 20802 template <typename Dispatch> 20803 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getMemoryHostPointerPropertiesEXT(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,const void * pHostPointer,VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT * pMemoryHostPointerProperties,Dispatch const & d) const20804 Device::getMemoryHostPointerPropertiesEXT( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, 20805 const void * pHostPointer, 20806 VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT * pMemoryHostPointerProperties, 20807 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20808 { 20809 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20810 return static_cast<Result>( d.vkGetMemoryHostPointerPropertiesEXT( static_cast<VkDevice>( m_device ), 20811 static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ), 20812 pHostPointer, 20813 reinterpret_cast<VkMemoryHostPointerPropertiesEXT *>( pMemoryHostPointerProperties ) ) ); 20814 } 20815 20816 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 20817 // wrapper function for command vkGetMemoryHostPointerPropertiesEXT, see 20818 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryHostPointerPropertiesEXT.html 20819 template <typename Dispatch> 20820 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT>::type getMemoryHostPointerPropertiesEXT(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,const void * pHostPointer,Dispatch const & d) const20821 Device::getMemoryHostPointerPropertiesEXT( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, 20822 const void * pHostPointer, 20823 Dispatch const & d ) const 20824 { 20825 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20826 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 20827 VULKAN_HPP_ASSERT( d.vkGetMemoryHostPointerPropertiesEXT && "Function <vkGetMemoryHostPointerPropertiesEXT> requires <VK_EXT_external_memory_host>" ); 20828 # endif 20829 20830 VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT memoryHostPointerProperties; 20831 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 20832 d.vkGetMemoryHostPointerPropertiesEXT( m_device, 20833 static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ), 20834 pHostPointer, 20835 reinterpret_cast<VkMemoryHostPointerPropertiesEXT *>( &memoryHostPointerProperties ) ) ); 20836 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryHostPointerPropertiesEXT" ); 20837 20838 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( memoryHostPointerProperties ) ); 20839 } 20840 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 20841 20842 //=== VK_AMD_buffer_marker === 20843 20844 // wrapper function for command vkCmdWriteBufferMarkerAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteBufferMarkerAMD.html 20845 template <typename Dispatch> writeBufferMarkerAMD(VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage,VULKAN_HPP_NAMESPACE::Buffer dstBuffer,VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,uint32_t marker,Dispatch const & d) const20846 VULKAN_HPP_INLINE void CommandBuffer::writeBufferMarkerAMD( VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage, 20847 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, 20848 VULKAN_HPP_NAMESPACE::DeviceSize dstOffset, 20849 uint32_t marker, 20850 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20851 { 20852 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20853 d.vkCmdWriteBufferMarkerAMD( static_cast<VkCommandBuffer>( m_commandBuffer ), 20854 static_cast<VkPipelineStageFlagBits>( pipelineStage ), 20855 static_cast<VkBuffer>( dstBuffer ), 20856 static_cast<VkDeviceSize>( dstOffset ), 20857 marker ); 20858 } 20859 20860 // wrapper function for command vkCmdWriteBufferMarker2AMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteBufferMarker2AMD.html 20861 template <typename Dispatch> writeBufferMarker2AMD(VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stage,VULKAN_HPP_NAMESPACE::Buffer dstBuffer,VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,uint32_t marker,Dispatch const & d) const20862 VULKAN_HPP_INLINE void CommandBuffer::writeBufferMarker2AMD( VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stage, 20863 VULKAN_HPP_NAMESPACE::Buffer dstBuffer, 20864 VULKAN_HPP_NAMESPACE::DeviceSize dstOffset, 20865 uint32_t marker, 20866 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20867 { 20868 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20869 d.vkCmdWriteBufferMarker2AMD( static_cast<VkCommandBuffer>( m_commandBuffer ), 20870 static_cast<VkPipelineStageFlags2>( stage ), 20871 static_cast<VkBuffer>( dstBuffer ), 20872 static_cast<VkDeviceSize>( dstOffset ), 20873 marker ); 20874 } 20875 20876 //=== VK_EXT_calibrated_timestamps === 20877 20878 // wrapper function for command vkGetPhysicalDeviceCalibrateableTimeDomainsEXT, see 20879 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCalibrateableTimeDomainsEXT.html 20880 template <typename Dispatch> getCalibrateableTimeDomainsEXT(uint32_t * pTimeDomainCount,VULKAN_HPP_NAMESPACE::TimeDomainKHR * pTimeDomains,Dispatch const & d) const20881 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getCalibrateableTimeDomainsEXT( uint32_t * pTimeDomainCount, 20882 VULKAN_HPP_NAMESPACE::TimeDomainKHR * pTimeDomains, 20883 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20884 { 20885 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20886 return static_cast<Result>( d.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( 20887 static_cast<VkPhysicalDevice>( m_physicalDevice ), pTimeDomainCount, reinterpret_cast<VkTimeDomainKHR *>( pTimeDomains ) ) ); 20888 } 20889 20890 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 20891 // wrapper function for command vkGetPhysicalDeviceCalibrateableTimeDomainsEXT, see 20892 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCalibrateableTimeDomainsEXT.html 20893 template <typename TimeDomainKHRAllocator, 20894 typename Dispatch, 20895 typename std::enable_if<std::is_same<typename TimeDomainKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::TimeDomainKHR>::value, int>::type> 20896 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::TimeDomainKHR, TimeDomainKHRAllocator>>::type getCalibrateableTimeDomainsEXT(Dispatch const & d) const20897 PhysicalDevice::getCalibrateableTimeDomainsEXT( Dispatch const & d ) const 20898 { 20899 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20900 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 20901 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT && 20902 "Function <vkGetPhysicalDeviceCalibrateableTimeDomainsEXT> requires <VK_EXT_calibrated_timestamps> or <VK_KHR_calibrated_timestamps>" ); 20903 # endif 20904 20905 std::vector<VULKAN_HPP_NAMESPACE::TimeDomainKHR, TimeDomainKHRAllocator> timeDomains; 20906 uint32_t timeDomainCount; 20907 VULKAN_HPP_NAMESPACE::Result result; 20908 do 20909 { 20910 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( m_physicalDevice, &timeDomainCount, nullptr ) ); 20911 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && timeDomainCount ) 20912 { 20913 timeDomains.resize( timeDomainCount ); 20914 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 20915 d.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( m_physicalDevice, &timeDomainCount, reinterpret_cast<VkTimeDomainKHR *>( timeDomains.data() ) ) ); 20916 } 20917 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 20918 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCalibrateableTimeDomainsEXT" ); 20919 VULKAN_HPP_ASSERT( timeDomainCount <= timeDomains.size() ); 20920 if ( timeDomainCount < timeDomains.size() ) 20921 { 20922 timeDomains.resize( timeDomainCount ); 20923 } 20924 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( timeDomains ) ); 20925 } 20926 20927 // wrapper function for command vkGetPhysicalDeviceCalibrateableTimeDomainsEXT, see 20928 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCalibrateableTimeDomainsEXT.html 20929 template <typename TimeDomainKHRAllocator, 20930 typename Dispatch, 20931 typename std::enable_if<std::is_same<typename TimeDomainKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::TimeDomainKHR>::value, int>::type> 20932 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::TimeDomainKHR, TimeDomainKHRAllocator>>::type getCalibrateableTimeDomainsEXT(TimeDomainKHRAllocator & timeDomainKHRAllocator,Dispatch const & d) const20933 PhysicalDevice::getCalibrateableTimeDomainsEXT( TimeDomainKHRAllocator & timeDomainKHRAllocator, Dispatch const & d ) const 20934 { 20935 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20936 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 20937 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT && 20938 "Function <vkGetPhysicalDeviceCalibrateableTimeDomainsEXT> requires <VK_EXT_calibrated_timestamps> or <VK_KHR_calibrated_timestamps>" ); 20939 # endif 20940 20941 std::vector<VULKAN_HPP_NAMESPACE::TimeDomainKHR, TimeDomainKHRAllocator> timeDomains( timeDomainKHRAllocator ); 20942 uint32_t timeDomainCount; 20943 VULKAN_HPP_NAMESPACE::Result result; 20944 do 20945 { 20946 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( m_physicalDevice, &timeDomainCount, nullptr ) ); 20947 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && timeDomainCount ) 20948 { 20949 timeDomains.resize( timeDomainCount ); 20950 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 20951 d.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( m_physicalDevice, &timeDomainCount, reinterpret_cast<VkTimeDomainKHR *>( timeDomains.data() ) ) ); 20952 } 20953 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 20954 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCalibrateableTimeDomainsEXT" ); 20955 VULKAN_HPP_ASSERT( timeDomainCount <= timeDomains.size() ); 20956 if ( timeDomainCount < timeDomains.size() ) 20957 { 20958 timeDomains.resize( timeDomainCount ); 20959 } 20960 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( timeDomains ) ); 20961 } 20962 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 20963 20964 // wrapper function for command vkGetCalibratedTimestampsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsEXT.html 20965 template <typename Dispatch> getCalibratedTimestampsEXT(uint32_t timestampCount,const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoKHR * pTimestampInfos,uint64_t * pTimestamps,uint64_t * pMaxDeviation,Dispatch const & d) const20966 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getCalibratedTimestampsEXT( uint32_t timestampCount, 20967 const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoKHR * pTimestampInfos, 20968 uint64_t * pTimestamps, 20969 uint64_t * pMaxDeviation, 20970 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 20971 { 20972 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20973 return static_cast<Result>( d.vkGetCalibratedTimestampsEXT( static_cast<VkDevice>( m_device ), 20974 timestampCount, 20975 reinterpret_cast<const VkCalibratedTimestampInfoKHR *>( pTimestampInfos ), 20976 pTimestamps, 20977 pMaxDeviation ) ); 20978 } 20979 20980 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 20981 // wrapper function for command vkGetCalibratedTimestampsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsEXT.html 20982 template <typename Uint64_tAllocator, 20983 typename Dispatch, 20984 typename std::enable_if<std::is_same<typename Uint64_tAllocator::value_type, uint64_t>::value, int>::type> 20985 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::pair<std::vector<uint64_t, Uint64_tAllocator>, uint64_t>>::type getCalibratedTimestampsEXT(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoKHR> const & timestampInfos,Dispatch const & d) const20986 Device::getCalibratedTimestampsEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoKHR> const & timestampInfos, 20987 Dispatch const & d ) const 20988 { 20989 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 20990 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 20991 VULKAN_HPP_ASSERT( d.vkGetCalibratedTimestampsEXT && 20992 "Function <vkGetCalibratedTimestampsEXT> requires <VK_EXT_calibrated_timestamps> or <VK_KHR_calibrated_timestamps>" ); 20993 # endif 20994 20995 std::pair<std::vector<uint64_t, Uint64_tAllocator>, uint64_t> data_( 20996 std::piecewise_construct, std::forward_as_tuple( timestampInfos.size() ), std::forward_as_tuple( 0 ) ); 20997 std::vector<uint64_t, Uint64_tAllocator> & timestamps = data_.first; 20998 uint64_t & maxDeviation = data_.second; 20999 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetCalibratedTimestampsEXT( 21000 m_device, timestampInfos.size(), reinterpret_cast<const VkCalibratedTimestampInfoKHR *>( timestampInfos.data() ), timestamps.data(), &maxDeviation ) ); 21001 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getCalibratedTimestampsEXT" ); 21002 21003 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); 21004 } 21005 21006 // wrapper function for command vkGetCalibratedTimestampsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsEXT.html 21007 template <typename Uint64_tAllocator, 21008 typename Dispatch, 21009 typename std::enable_if<std::is_same<typename Uint64_tAllocator::value_type, uint64_t>::value, int>::type> 21010 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::pair<std::vector<uint64_t, Uint64_tAllocator>, uint64_t>>::type getCalibratedTimestampsEXT(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoKHR> const & timestampInfos,Uint64_tAllocator & uint64_tAllocator,Dispatch const & d) const21011 Device::getCalibratedTimestampsEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoKHR> const & timestampInfos, 21012 Uint64_tAllocator & uint64_tAllocator, 21013 Dispatch const & d ) const 21014 { 21015 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21016 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21017 VULKAN_HPP_ASSERT( d.vkGetCalibratedTimestampsEXT && 21018 "Function <vkGetCalibratedTimestampsEXT> requires <VK_EXT_calibrated_timestamps> or <VK_KHR_calibrated_timestamps>" ); 21019 # endif 21020 21021 std::pair<std::vector<uint64_t, Uint64_tAllocator>, uint64_t> data_( 21022 std::piecewise_construct, std::forward_as_tuple( timestampInfos.size(), uint64_tAllocator ), std::forward_as_tuple( 0 ) ); 21023 std::vector<uint64_t, Uint64_tAllocator> & timestamps = data_.first; 21024 uint64_t & maxDeviation = data_.second; 21025 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetCalibratedTimestampsEXT( 21026 m_device, timestampInfos.size(), reinterpret_cast<const VkCalibratedTimestampInfoKHR *>( timestampInfos.data() ), timestamps.data(), &maxDeviation ) ); 21027 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getCalibratedTimestampsEXT" ); 21028 21029 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); 21030 } 21031 21032 // wrapper function for command vkGetCalibratedTimestampsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsEXT.html 21033 template <typename Dispatch> 21034 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::pair<uint64_t, uint64_t>>::type getCalibratedTimestampEXT(const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoKHR & timestampInfo,Dispatch const & d) const21035 Device::getCalibratedTimestampEXT( const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoKHR & timestampInfo, Dispatch const & d ) const 21036 { 21037 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21038 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21039 VULKAN_HPP_ASSERT( d.vkGetCalibratedTimestampsEXT && 21040 "Function <vkGetCalibratedTimestampsEXT> requires <VK_EXT_calibrated_timestamps> or <VK_KHR_calibrated_timestamps>" ); 21041 # endif 21042 21043 std::pair<uint64_t, uint64_t> data_; 21044 uint64_t & timestamp = data_.first; 21045 uint64_t & maxDeviation = data_.second; 21046 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 21047 d.vkGetCalibratedTimestampsEXT( m_device, 1, reinterpret_cast<const VkCalibratedTimestampInfoKHR *>( ×tampInfo ), ×tamp, &maxDeviation ) ); 21048 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getCalibratedTimestampEXT" ); 21049 21050 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); 21051 } 21052 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 21053 21054 //=== VK_NV_mesh_shader === 21055 21056 // wrapper function for command vkCmdDrawMeshTasksNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksNV.html 21057 template <typename Dispatch> drawMeshTasksNV(uint32_t taskCount,uint32_t firstTask,Dispatch const & d) const21058 VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksNV( uint32_t taskCount, uint32_t firstTask, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21059 { 21060 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21061 d.vkCmdDrawMeshTasksNV( static_cast<VkCommandBuffer>( m_commandBuffer ), taskCount, firstTask ); 21062 } 21063 21064 // wrapper function for command vkCmdDrawMeshTasksIndirectNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirectNV.html 21065 template <typename Dispatch> drawMeshTasksIndirectNV(VULKAN_HPP_NAMESPACE::Buffer buffer,VULKAN_HPP_NAMESPACE::DeviceSize offset,uint32_t drawCount,uint32_t stride,Dispatch const & d) const21066 VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksIndirectNV( VULKAN_HPP_NAMESPACE::Buffer buffer, 21067 VULKAN_HPP_NAMESPACE::DeviceSize offset, 21068 uint32_t drawCount, 21069 uint32_t stride, 21070 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21071 { 21072 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21073 d.vkCmdDrawMeshTasksIndirectNV( 21074 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBuffer>( buffer ), static_cast<VkDeviceSize>( offset ), drawCount, stride ); 21075 } 21076 21077 // wrapper function for command vkCmdDrawMeshTasksIndirectCountNV, see 21078 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirectCountNV.html 21079 template <typename Dispatch> drawMeshTasksIndirectCountNV(VULKAN_HPP_NAMESPACE::Buffer buffer,VULKAN_HPP_NAMESPACE::DeviceSize offset,VULKAN_HPP_NAMESPACE::Buffer countBuffer,VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride,Dispatch const & d) const21080 VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksIndirectCountNV( VULKAN_HPP_NAMESPACE::Buffer buffer, 21081 VULKAN_HPP_NAMESPACE::DeviceSize offset, 21082 VULKAN_HPP_NAMESPACE::Buffer countBuffer, 21083 VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, 21084 uint32_t maxDrawCount, 21085 uint32_t stride, 21086 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21087 { 21088 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21089 d.vkCmdDrawMeshTasksIndirectCountNV( static_cast<VkCommandBuffer>( m_commandBuffer ), 21090 static_cast<VkBuffer>( buffer ), 21091 static_cast<VkDeviceSize>( offset ), 21092 static_cast<VkBuffer>( countBuffer ), 21093 static_cast<VkDeviceSize>( countBufferOffset ), 21094 maxDrawCount, 21095 stride ); 21096 } 21097 21098 //=== VK_NV_scissor_exclusive === 21099 21100 // wrapper function for command vkCmdSetExclusiveScissorEnableNV, see 21101 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetExclusiveScissorEnableNV.html 21102 template <typename Dispatch> setExclusiveScissorEnableNV(uint32_t firstExclusiveScissor,uint32_t exclusiveScissorCount,const VULKAN_HPP_NAMESPACE::Bool32 * pExclusiveScissorEnables,Dispatch const & d) const21103 VULKAN_HPP_INLINE void CommandBuffer::setExclusiveScissorEnableNV( uint32_t firstExclusiveScissor, 21104 uint32_t exclusiveScissorCount, 21105 const VULKAN_HPP_NAMESPACE::Bool32 * pExclusiveScissorEnables, 21106 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21107 { 21108 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21109 d.vkCmdSetExclusiveScissorEnableNV( static_cast<VkCommandBuffer>( m_commandBuffer ), 21110 firstExclusiveScissor, 21111 exclusiveScissorCount, 21112 reinterpret_cast<const VkBool32 *>( pExclusiveScissorEnables ) ); 21113 } 21114 21115 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 21116 // wrapper function for command vkCmdSetExclusiveScissorEnableNV, see 21117 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetExclusiveScissorEnableNV.html 21118 template <typename Dispatch> 21119 VULKAN_HPP_INLINE void setExclusiveScissorEnableNV(uint32_t firstExclusiveScissor,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Bool32> const & exclusiveScissorEnables,Dispatch const & d) const21120 CommandBuffer::setExclusiveScissorEnableNV( uint32_t firstExclusiveScissor, 21121 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Bool32> const & exclusiveScissorEnables, 21122 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21123 { 21124 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21125 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21126 VULKAN_HPP_ASSERT( d.vkCmdSetExclusiveScissorEnableNV && "Function <vkCmdSetExclusiveScissorEnableNV> requires <VK_NV_scissor_exclusive>" ); 21127 # endif 21128 21129 d.vkCmdSetExclusiveScissorEnableNV( 21130 m_commandBuffer, firstExclusiveScissor, exclusiveScissorEnables.size(), reinterpret_cast<const VkBool32 *>( exclusiveScissorEnables.data() ) ); 21131 } 21132 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 21133 21134 // wrapper function for command vkCmdSetExclusiveScissorNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetExclusiveScissorNV.html 21135 template <typename Dispatch> setExclusiveScissorNV(uint32_t firstExclusiveScissor,uint32_t exclusiveScissorCount,const VULKAN_HPP_NAMESPACE::Rect2D * pExclusiveScissors,Dispatch const & d) const21136 VULKAN_HPP_INLINE void CommandBuffer::setExclusiveScissorNV( uint32_t firstExclusiveScissor, 21137 uint32_t exclusiveScissorCount, 21138 const VULKAN_HPP_NAMESPACE::Rect2D * pExclusiveScissors, 21139 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21140 { 21141 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21142 d.vkCmdSetExclusiveScissorNV( 21143 static_cast<VkCommandBuffer>( m_commandBuffer ), firstExclusiveScissor, exclusiveScissorCount, reinterpret_cast<const VkRect2D *>( pExclusiveScissors ) ); 21144 } 21145 21146 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 21147 // wrapper function for command vkCmdSetExclusiveScissorNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetExclusiveScissorNV.html 21148 template <typename Dispatch> setExclusiveScissorNV(uint32_t firstExclusiveScissor,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & exclusiveScissors,Dispatch const & d) const21149 VULKAN_HPP_INLINE void CommandBuffer::setExclusiveScissorNV( uint32_t firstExclusiveScissor, 21150 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & exclusiveScissors, 21151 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21152 { 21153 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21154 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21155 VULKAN_HPP_ASSERT( d.vkCmdSetExclusiveScissorNV && "Function <vkCmdSetExclusiveScissorNV> requires <VK_NV_scissor_exclusive>" ); 21156 # endif 21157 21158 d.vkCmdSetExclusiveScissorNV( 21159 m_commandBuffer, firstExclusiveScissor, exclusiveScissors.size(), reinterpret_cast<const VkRect2D *>( exclusiveScissors.data() ) ); 21160 } 21161 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 21162 21163 //=== VK_NV_device_diagnostic_checkpoints === 21164 21165 // wrapper function for command vkCmdSetCheckpointNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCheckpointNV.html 21166 template <typename Dispatch> setCheckpointNV(const void * pCheckpointMarker,Dispatch const & d) const21167 VULKAN_HPP_INLINE void CommandBuffer::setCheckpointNV( const void * pCheckpointMarker, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21168 { 21169 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21170 d.vkCmdSetCheckpointNV( static_cast<VkCommandBuffer>( m_commandBuffer ), pCheckpointMarker ); 21171 } 21172 21173 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 21174 // wrapper function for command vkCmdSetCheckpointNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCheckpointNV.html 21175 template <typename CheckpointMarkerType, typename Dispatch> setCheckpointNV(CheckpointMarkerType const & checkpointMarker,Dispatch const & d) const21176 VULKAN_HPP_INLINE void CommandBuffer::setCheckpointNV( CheckpointMarkerType const & checkpointMarker, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21177 { 21178 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21179 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21180 VULKAN_HPP_ASSERT( d.vkCmdSetCheckpointNV && "Function <vkCmdSetCheckpointNV> requires <VK_NV_device_diagnostic_checkpoints>" ); 21181 # endif 21182 21183 d.vkCmdSetCheckpointNV( m_commandBuffer, reinterpret_cast<const void *>( &checkpointMarker ) ); 21184 } 21185 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 21186 21187 // wrapper function for command vkGetQueueCheckpointDataNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueueCheckpointDataNV.html 21188 template <typename Dispatch> getCheckpointDataNV(uint32_t * pCheckpointDataCount,VULKAN_HPP_NAMESPACE::CheckpointDataNV * pCheckpointData,Dispatch const & d) const21189 VULKAN_HPP_INLINE void Queue::getCheckpointDataNV( uint32_t * pCheckpointDataCount, 21190 VULKAN_HPP_NAMESPACE::CheckpointDataNV * pCheckpointData, 21191 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21192 { 21193 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21194 d.vkGetQueueCheckpointDataNV( static_cast<VkQueue>( m_queue ), pCheckpointDataCount, reinterpret_cast<VkCheckpointDataNV *>( pCheckpointData ) ); 21195 } 21196 21197 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 21198 // wrapper function for command vkGetQueueCheckpointDataNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueueCheckpointDataNV.html 21199 template <typename CheckpointDataNVAllocator, 21200 typename Dispatch, 21201 typename std::enable_if<std::is_same<typename CheckpointDataNVAllocator::value_type, VULKAN_HPP_NAMESPACE::CheckpointDataNV>::value, int>::type> 21202 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::CheckpointDataNV, CheckpointDataNVAllocator> getCheckpointDataNV(Dispatch const & d) const21203 Queue::getCheckpointDataNV( Dispatch const & d ) const 21204 { 21205 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21206 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21207 VULKAN_HPP_ASSERT( d.vkGetQueueCheckpointDataNV && "Function <vkGetQueueCheckpointDataNV> requires <VK_NV_device_diagnostic_checkpoints>" ); 21208 # endif 21209 21210 std::vector<VULKAN_HPP_NAMESPACE::CheckpointDataNV, CheckpointDataNVAllocator> checkpointData; 21211 uint32_t checkpointDataCount; 21212 d.vkGetQueueCheckpointDataNV( m_queue, &checkpointDataCount, nullptr ); 21213 checkpointData.resize( checkpointDataCount ); 21214 d.vkGetQueueCheckpointDataNV( m_queue, &checkpointDataCount, reinterpret_cast<VkCheckpointDataNV *>( checkpointData.data() ) ); 21215 21216 VULKAN_HPP_ASSERT( checkpointDataCount <= checkpointData.size() ); 21217 if ( checkpointDataCount < checkpointData.size() ) 21218 { 21219 checkpointData.resize( checkpointDataCount ); 21220 } 21221 return checkpointData; 21222 } 21223 21224 // wrapper function for command vkGetQueueCheckpointDataNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueueCheckpointDataNV.html 21225 template <typename CheckpointDataNVAllocator, 21226 typename Dispatch, 21227 typename std::enable_if<std::is_same<typename CheckpointDataNVAllocator::value_type, VULKAN_HPP_NAMESPACE::CheckpointDataNV>::value, int>::type> 21228 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::CheckpointDataNV, CheckpointDataNVAllocator> getCheckpointDataNV(CheckpointDataNVAllocator & checkpointDataNVAllocator,Dispatch const & d) const21229 Queue::getCheckpointDataNV( CheckpointDataNVAllocator & checkpointDataNVAllocator, Dispatch const & d ) const 21230 { 21231 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21232 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21233 VULKAN_HPP_ASSERT( d.vkGetQueueCheckpointDataNV && "Function <vkGetQueueCheckpointDataNV> requires <VK_NV_device_diagnostic_checkpoints>" ); 21234 # endif 21235 21236 std::vector<VULKAN_HPP_NAMESPACE::CheckpointDataNV, CheckpointDataNVAllocator> checkpointData( checkpointDataNVAllocator ); 21237 uint32_t checkpointDataCount; 21238 d.vkGetQueueCheckpointDataNV( m_queue, &checkpointDataCount, nullptr ); 21239 checkpointData.resize( checkpointDataCount ); 21240 d.vkGetQueueCheckpointDataNV( m_queue, &checkpointDataCount, reinterpret_cast<VkCheckpointDataNV *>( checkpointData.data() ) ); 21241 21242 VULKAN_HPP_ASSERT( checkpointDataCount <= checkpointData.size() ); 21243 if ( checkpointDataCount < checkpointData.size() ) 21244 { 21245 checkpointData.resize( checkpointDataCount ); 21246 } 21247 return checkpointData; 21248 } 21249 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 21250 21251 // wrapper function for command vkGetQueueCheckpointData2NV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueueCheckpointData2NV.html 21252 template <typename Dispatch> getCheckpointData2NV(uint32_t * pCheckpointDataCount,VULKAN_HPP_NAMESPACE::CheckpointData2NV * pCheckpointData,Dispatch const & d) const21253 VULKAN_HPP_INLINE void Queue::getCheckpointData2NV( uint32_t * pCheckpointDataCount, 21254 VULKAN_HPP_NAMESPACE::CheckpointData2NV * pCheckpointData, 21255 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21256 { 21257 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21258 d.vkGetQueueCheckpointData2NV( static_cast<VkQueue>( m_queue ), pCheckpointDataCount, reinterpret_cast<VkCheckpointData2NV *>( pCheckpointData ) ); 21259 } 21260 21261 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 21262 // wrapper function for command vkGetQueueCheckpointData2NV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueueCheckpointData2NV.html 21263 template <typename CheckpointData2NVAllocator, 21264 typename Dispatch, 21265 typename std::enable_if<std::is_same<typename CheckpointData2NVAllocator::value_type, VULKAN_HPP_NAMESPACE::CheckpointData2NV>::value, int>::type> 21266 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::CheckpointData2NV, CheckpointData2NVAllocator> getCheckpointData2NV(Dispatch const & d) const21267 Queue::getCheckpointData2NV( Dispatch const & d ) const 21268 { 21269 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21270 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21271 VULKAN_HPP_ASSERT( d.vkGetQueueCheckpointData2NV && "Function <vkGetQueueCheckpointData2NV> requires <VK_NV_device_diagnostic_checkpoints>" ); 21272 # endif 21273 21274 std::vector<VULKAN_HPP_NAMESPACE::CheckpointData2NV, CheckpointData2NVAllocator> checkpointData; 21275 uint32_t checkpointDataCount; 21276 d.vkGetQueueCheckpointData2NV( m_queue, &checkpointDataCount, nullptr ); 21277 checkpointData.resize( checkpointDataCount ); 21278 d.vkGetQueueCheckpointData2NV( m_queue, &checkpointDataCount, reinterpret_cast<VkCheckpointData2NV *>( checkpointData.data() ) ); 21279 21280 VULKAN_HPP_ASSERT( checkpointDataCount <= checkpointData.size() ); 21281 if ( checkpointDataCount < checkpointData.size() ) 21282 { 21283 checkpointData.resize( checkpointDataCount ); 21284 } 21285 return checkpointData; 21286 } 21287 21288 // wrapper function for command vkGetQueueCheckpointData2NV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueueCheckpointData2NV.html 21289 template <typename CheckpointData2NVAllocator, 21290 typename Dispatch, 21291 typename std::enable_if<std::is_same<typename CheckpointData2NVAllocator::value_type, VULKAN_HPP_NAMESPACE::CheckpointData2NV>::value, int>::type> 21292 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::CheckpointData2NV, CheckpointData2NVAllocator> getCheckpointData2NV(CheckpointData2NVAllocator & checkpointData2NVAllocator,Dispatch const & d) const21293 Queue::getCheckpointData2NV( CheckpointData2NVAllocator & checkpointData2NVAllocator, Dispatch const & d ) const 21294 { 21295 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21296 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21297 VULKAN_HPP_ASSERT( d.vkGetQueueCheckpointData2NV && "Function <vkGetQueueCheckpointData2NV> requires <VK_NV_device_diagnostic_checkpoints>" ); 21298 # endif 21299 21300 std::vector<VULKAN_HPP_NAMESPACE::CheckpointData2NV, CheckpointData2NVAllocator> checkpointData( checkpointData2NVAllocator ); 21301 uint32_t checkpointDataCount; 21302 d.vkGetQueueCheckpointData2NV( m_queue, &checkpointDataCount, nullptr ); 21303 checkpointData.resize( checkpointDataCount ); 21304 d.vkGetQueueCheckpointData2NV( m_queue, &checkpointDataCount, reinterpret_cast<VkCheckpointData2NV *>( checkpointData.data() ) ); 21305 21306 VULKAN_HPP_ASSERT( checkpointDataCount <= checkpointData.size() ); 21307 if ( checkpointDataCount < checkpointData.size() ) 21308 { 21309 checkpointData.resize( checkpointDataCount ); 21310 } 21311 return checkpointData; 21312 } 21313 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 21314 21315 //=== VK_KHR_timeline_semaphore === 21316 21317 // wrapper function for command vkGetSemaphoreCounterValueKHR, see 21318 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreCounterValueKHR.html 21319 template <typename Dispatch> getSemaphoreCounterValueKHR(VULKAN_HPP_NAMESPACE::Semaphore semaphore,uint64_t * pValue,Dispatch const & d) const21320 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSemaphoreCounterValueKHR( VULKAN_HPP_NAMESPACE::Semaphore semaphore, 21321 uint64_t * pValue, 21322 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21323 { 21324 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21325 return static_cast<Result>( d.vkGetSemaphoreCounterValueKHR( static_cast<VkDevice>( m_device ), static_cast<VkSemaphore>( semaphore ), pValue ) ); 21326 } 21327 21328 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 21329 // wrapper function for command vkGetSemaphoreCounterValueKHR, see 21330 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreCounterValueKHR.html 21331 template <typename Dispatch> 21332 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<uint64_t>::type getSemaphoreCounterValueKHR(VULKAN_HPP_NAMESPACE::Semaphore semaphore,Dispatch const & d) const21333 Device::getSemaphoreCounterValueKHR( VULKAN_HPP_NAMESPACE::Semaphore semaphore, Dispatch const & d ) const 21334 { 21335 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21336 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21337 VULKAN_HPP_ASSERT( d.vkGetSemaphoreCounterValueKHR && "Function <vkGetSemaphoreCounterValueKHR> requires <VK_KHR_timeline_semaphore> or <VK_VERSION_1_2>" ); 21338 # endif 21339 21340 uint64_t value; 21341 VULKAN_HPP_NAMESPACE::Result result = 21342 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetSemaphoreCounterValueKHR( m_device, static_cast<VkSemaphore>( semaphore ), &value ) ); 21343 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreCounterValueKHR" ); 21344 21345 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( value ) ); 21346 } 21347 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 21348 21349 // wrapper function for command vkWaitSemaphoresKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitSemaphoresKHR.html 21350 template <typename Dispatch> waitSemaphoresKHR(const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo * pWaitInfo,uint64_t timeout,Dispatch const & d) const21351 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::waitSemaphoresKHR( const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo * pWaitInfo, 21352 uint64_t timeout, 21353 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21354 { 21355 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21356 return static_cast<Result>( 21357 d.vkWaitSemaphoresKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreWaitInfo *>( pWaitInfo ), timeout ) ); 21358 } 21359 21360 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 21361 // wrapper function for command vkWaitSemaphoresKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitSemaphoresKHR.html 21362 template <typename Dispatch> 21363 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result waitSemaphoresKHR(const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo & waitInfo,uint64_t timeout,Dispatch const & d) const21364 Device::waitSemaphoresKHR( const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo & waitInfo, uint64_t timeout, Dispatch const & d ) const 21365 { 21366 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21367 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21368 VULKAN_HPP_ASSERT( d.vkWaitSemaphoresKHR && "Function <vkWaitSemaphoresKHR> requires <VK_KHR_timeline_semaphore> or <VK_VERSION_1_2>" ); 21369 # endif 21370 21371 VULKAN_HPP_NAMESPACE::Result result = 21372 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkWaitSemaphoresKHR( m_device, reinterpret_cast<const VkSemaphoreWaitInfo *>( &waitInfo ), timeout ) ); 21373 VULKAN_HPP_NAMESPACE::detail::resultCheck( 21374 result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitSemaphoresKHR", { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eTimeout } ); 21375 21376 return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); 21377 } 21378 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 21379 21380 // wrapper function for command vkSignalSemaphoreKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSignalSemaphoreKHR.html 21381 template <typename Dispatch> signalSemaphoreKHR(const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo * pSignalInfo,Dispatch const & d) const21382 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::signalSemaphoreKHR( const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo * pSignalInfo, 21383 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21384 { 21385 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21386 return static_cast<Result>( d.vkSignalSemaphoreKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreSignalInfo *>( pSignalInfo ) ) ); 21387 } 21388 21389 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 21390 // wrapper function for command vkSignalSemaphoreKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSignalSemaphoreKHR.html 21391 template <typename Dispatch> 21392 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type signalSemaphoreKHR(const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo & signalInfo,Dispatch const & d) const21393 Device::signalSemaphoreKHR( const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo & signalInfo, Dispatch const & d ) const 21394 { 21395 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21396 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21397 VULKAN_HPP_ASSERT( d.vkSignalSemaphoreKHR && "Function <vkSignalSemaphoreKHR> requires <VK_KHR_timeline_semaphore> or <VK_VERSION_1_2>" ); 21398 # endif 21399 21400 VULKAN_HPP_NAMESPACE::Result result = 21401 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkSignalSemaphoreKHR( m_device, reinterpret_cast<const VkSemaphoreSignalInfo *>( &signalInfo ) ) ); 21402 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::signalSemaphoreKHR" ); 21403 21404 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 21405 } 21406 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 21407 21408 //=== VK_INTEL_performance_query === 21409 21410 // wrapper function for command vkInitializePerformanceApiINTEL, see 21411 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkInitializePerformanceApiINTEL.html 21412 template <typename Dispatch> initializePerformanceApiINTEL(const VULKAN_HPP_NAMESPACE::InitializePerformanceApiInfoINTEL * pInitializeInfo,Dispatch const & d) const21413 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::initializePerformanceApiINTEL( 21414 const VULKAN_HPP_NAMESPACE::InitializePerformanceApiInfoINTEL * pInitializeInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21415 { 21416 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21417 return static_cast<Result>( d.vkInitializePerformanceApiINTEL( static_cast<VkDevice>( m_device ), 21418 reinterpret_cast<const VkInitializePerformanceApiInfoINTEL *>( pInitializeInfo ) ) ); 21419 } 21420 21421 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 21422 // wrapper function for command vkInitializePerformanceApiINTEL, see 21423 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkInitializePerformanceApiINTEL.html 21424 template <typename Dispatch> 21425 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type initializePerformanceApiINTEL(const VULKAN_HPP_NAMESPACE::InitializePerformanceApiInfoINTEL & initializeInfo,Dispatch const & d) const21426 Device::initializePerformanceApiINTEL( const VULKAN_HPP_NAMESPACE::InitializePerformanceApiInfoINTEL & initializeInfo, Dispatch const & d ) const 21427 { 21428 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21429 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21430 VULKAN_HPP_ASSERT( d.vkInitializePerformanceApiINTEL && "Function <vkInitializePerformanceApiINTEL> requires <VK_INTEL_performance_query>" ); 21431 # endif 21432 21433 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 21434 d.vkInitializePerformanceApiINTEL( m_device, reinterpret_cast<const VkInitializePerformanceApiInfoINTEL *>( &initializeInfo ) ) ); 21435 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::initializePerformanceApiINTEL" ); 21436 21437 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 21438 } 21439 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 21440 21441 // wrapper function for command vkUninitializePerformanceApiINTEL, see 21442 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUninitializePerformanceApiINTEL.html 21443 template <typename Dispatch> uninitializePerformanceApiINTEL(Dispatch const & d) const21444 VULKAN_HPP_INLINE void Device::uninitializePerformanceApiINTEL( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21445 { 21446 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21447 d.vkUninitializePerformanceApiINTEL( static_cast<VkDevice>( m_device ) ); 21448 } 21449 21450 // wrapper function for command vkCmdSetPerformanceMarkerINTEL, see 21451 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPerformanceMarkerINTEL.html 21452 template <typename Dispatch> setPerformanceMarkerINTEL(const VULKAN_HPP_NAMESPACE::PerformanceMarkerInfoINTEL * pMarkerInfo,Dispatch const & d) const21453 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result CommandBuffer::setPerformanceMarkerINTEL( const VULKAN_HPP_NAMESPACE::PerformanceMarkerInfoINTEL * pMarkerInfo, 21454 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21455 { 21456 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21457 return static_cast<Result>( d.vkCmdSetPerformanceMarkerINTEL( static_cast<VkCommandBuffer>( m_commandBuffer ), 21458 reinterpret_cast<const VkPerformanceMarkerInfoINTEL *>( pMarkerInfo ) ) ); 21459 } 21460 21461 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 21462 // wrapper function for command vkCmdSetPerformanceMarkerINTEL, see 21463 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPerformanceMarkerINTEL.html 21464 template <typename Dispatch> 21465 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type setPerformanceMarkerINTEL(const VULKAN_HPP_NAMESPACE::PerformanceMarkerInfoINTEL & markerInfo,Dispatch const & d) const21466 CommandBuffer::setPerformanceMarkerINTEL( const VULKAN_HPP_NAMESPACE::PerformanceMarkerInfoINTEL & markerInfo, Dispatch const & d ) const 21467 { 21468 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21469 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21470 VULKAN_HPP_ASSERT( d.vkCmdSetPerformanceMarkerINTEL && "Function <vkCmdSetPerformanceMarkerINTEL> requires <VK_INTEL_performance_query>" ); 21471 # endif 21472 21473 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 21474 d.vkCmdSetPerformanceMarkerINTEL( m_commandBuffer, reinterpret_cast<const VkPerformanceMarkerInfoINTEL *>( &markerInfo ) ) ); 21475 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::setPerformanceMarkerINTEL" ); 21476 21477 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 21478 } 21479 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 21480 21481 // wrapper function for command vkCmdSetPerformanceStreamMarkerINTEL, see 21482 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPerformanceStreamMarkerINTEL.html 21483 template <typename Dispatch> setPerformanceStreamMarkerINTEL(const VULKAN_HPP_NAMESPACE::PerformanceStreamMarkerInfoINTEL * pMarkerInfo,Dispatch const & d) const21484 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result CommandBuffer::setPerformanceStreamMarkerINTEL( 21485 const VULKAN_HPP_NAMESPACE::PerformanceStreamMarkerInfoINTEL * pMarkerInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21486 { 21487 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21488 return static_cast<Result>( d.vkCmdSetPerformanceStreamMarkerINTEL( static_cast<VkCommandBuffer>( m_commandBuffer ), 21489 reinterpret_cast<const VkPerformanceStreamMarkerInfoINTEL *>( pMarkerInfo ) ) ); 21490 } 21491 21492 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 21493 // wrapper function for command vkCmdSetPerformanceStreamMarkerINTEL, see 21494 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPerformanceStreamMarkerINTEL.html 21495 template <typename Dispatch> 21496 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type setPerformanceStreamMarkerINTEL(const VULKAN_HPP_NAMESPACE::PerformanceStreamMarkerInfoINTEL & markerInfo,Dispatch const & d) const21497 CommandBuffer::setPerformanceStreamMarkerINTEL( const VULKAN_HPP_NAMESPACE::PerformanceStreamMarkerInfoINTEL & markerInfo, Dispatch const & d ) const 21498 { 21499 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21500 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21501 VULKAN_HPP_ASSERT( d.vkCmdSetPerformanceStreamMarkerINTEL && "Function <vkCmdSetPerformanceStreamMarkerINTEL> requires <VK_INTEL_performance_query>" ); 21502 # endif 21503 21504 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 21505 d.vkCmdSetPerformanceStreamMarkerINTEL( m_commandBuffer, reinterpret_cast<const VkPerformanceStreamMarkerInfoINTEL *>( &markerInfo ) ) ); 21506 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::setPerformanceStreamMarkerINTEL" ); 21507 21508 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 21509 } 21510 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 21511 21512 // wrapper function for command vkCmdSetPerformanceOverrideINTEL, see 21513 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPerformanceOverrideINTEL.html 21514 template <typename Dispatch> setPerformanceOverrideINTEL(const VULKAN_HPP_NAMESPACE::PerformanceOverrideInfoINTEL * pOverrideInfo,Dispatch const & d) const21515 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result CommandBuffer::setPerformanceOverrideINTEL( 21516 const VULKAN_HPP_NAMESPACE::PerformanceOverrideInfoINTEL * pOverrideInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21517 { 21518 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21519 return static_cast<Result>( d.vkCmdSetPerformanceOverrideINTEL( static_cast<VkCommandBuffer>( m_commandBuffer ), 21520 reinterpret_cast<const VkPerformanceOverrideInfoINTEL *>( pOverrideInfo ) ) ); 21521 } 21522 21523 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 21524 // wrapper function for command vkCmdSetPerformanceOverrideINTEL, see 21525 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPerformanceOverrideINTEL.html 21526 template <typename Dispatch> 21527 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type setPerformanceOverrideINTEL(const VULKAN_HPP_NAMESPACE::PerformanceOverrideInfoINTEL & overrideInfo,Dispatch const & d) const21528 CommandBuffer::setPerformanceOverrideINTEL( const VULKAN_HPP_NAMESPACE::PerformanceOverrideInfoINTEL & overrideInfo, Dispatch const & d ) const 21529 { 21530 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21531 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21532 VULKAN_HPP_ASSERT( d.vkCmdSetPerformanceOverrideINTEL && "Function <vkCmdSetPerformanceOverrideINTEL> requires <VK_INTEL_performance_query>" ); 21533 # endif 21534 21535 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 21536 d.vkCmdSetPerformanceOverrideINTEL( m_commandBuffer, reinterpret_cast<const VkPerformanceOverrideInfoINTEL *>( &overrideInfo ) ) ); 21537 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::setPerformanceOverrideINTEL" ); 21538 21539 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 21540 } 21541 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 21542 21543 // wrapper function for command vkAcquirePerformanceConfigurationINTEL, see 21544 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquirePerformanceConfigurationINTEL.html 21545 template <typename Dispatch> 21546 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result acquirePerformanceConfigurationINTEL(const VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL * pAcquireInfo,VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL * pConfiguration,Dispatch const & d) const21547 Device::acquirePerformanceConfigurationINTEL( const VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL * pAcquireInfo, 21548 VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL * pConfiguration, 21549 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21550 { 21551 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21552 return static_cast<Result>( d.vkAcquirePerformanceConfigurationINTEL( static_cast<VkDevice>( m_device ), 21553 reinterpret_cast<const VkPerformanceConfigurationAcquireInfoINTEL *>( pAcquireInfo ), 21554 reinterpret_cast<VkPerformanceConfigurationINTEL *>( pConfiguration ) ) ); 21555 } 21556 21557 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 21558 // wrapper function for command vkAcquirePerformanceConfigurationINTEL, see 21559 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquirePerformanceConfigurationINTEL.html 21560 template <typename Dispatch> 21561 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL>::type acquirePerformanceConfigurationINTEL(const VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL & acquireInfo,Dispatch const & d) const21562 Device::acquirePerformanceConfigurationINTEL( const VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL & acquireInfo, Dispatch const & d ) const 21563 { 21564 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21565 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21566 VULKAN_HPP_ASSERT( d.vkAcquirePerformanceConfigurationINTEL && "Function <vkAcquirePerformanceConfigurationINTEL> requires <VK_INTEL_performance_query>" ); 21567 # endif 21568 21569 VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration; 21570 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 21571 d.vkAcquirePerformanceConfigurationINTEL( m_device, 21572 reinterpret_cast<const VkPerformanceConfigurationAcquireInfoINTEL *>( &acquireInfo ), 21573 reinterpret_cast<VkPerformanceConfigurationINTEL *>( &configuration ) ) ); 21574 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::acquirePerformanceConfigurationINTEL" ); 21575 21576 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( configuration ) ); 21577 } 21578 21579 # ifndef VULKAN_HPP_NO_SMART_HANDLE 21580 // wrapper function for command vkAcquirePerformanceConfigurationINTEL, see 21581 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquirePerformanceConfigurationINTEL.html 21582 template <typename Dispatch> 21583 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL, Dispatch>>::type acquirePerformanceConfigurationINTELUnique(const VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL & acquireInfo,Dispatch const & d) const21584 Device::acquirePerformanceConfigurationINTELUnique( const VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL & acquireInfo, 21585 Dispatch const & d ) const 21586 { 21587 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21588 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21589 VULKAN_HPP_ASSERT( d.vkAcquirePerformanceConfigurationINTEL && "Function <vkAcquirePerformanceConfigurationINTEL> requires <VK_INTEL_performance_query>" ); 21590 # endif 21591 21592 VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration; 21593 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 21594 d.vkAcquirePerformanceConfigurationINTEL( m_device, 21595 reinterpret_cast<const VkPerformanceConfigurationAcquireInfoINTEL *>( &acquireInfo ), 21596 reinterpret_cast<VkPerformanceConfigurationINTEL *>( &configuration ) ) ); 21597 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::acquirePerformanceConfigurationINTELUnique" ); 21598 21599 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 21600 result, 21601 UniqueHandle<VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL, Dispatch>( configuration, detail::ObjectRelease<Device, Dispatch>( *this, d ) ) ); 21602 } 21603 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 21604 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 21605 21606 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 21607 // wrapper function for command vkReleasePerformanceConfigurationINTEL, see 21608 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleasePerformanceConfigurationINTEL.html 21609 template <typename Dispatch> releasePerformanceConfigurationINTEL(VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,Dispatch const & d) const21610 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::releasePerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration, 21611 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21612 { 21613 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21614 return static_cast<Result>( 21615 d.vkReleasePerformanceConfigurationINTEL( static_cast<VkDevice>( m_device ), static_cast<VkPerformanceConfigurationINTEL>( configuration ) ) ); 21616 } 21617 #else 21618 // wrapper function for command vkReleasePerformanceConfigurationINTEL, see 21619 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleasePerformanceConfigurationINTEL.html 21620 template <typename Dispatch> 21621 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type releasePerformanceConfigurationINTEL(VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,Dispatch const & d) const21622 Device::releasePerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration, Dispatch const & d ) const 21623 { 21624 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21625 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21626 VULKAN_HPP_ASSERT( d.vkReleasePerformanceConfigurationINTEL && "Function <vkReleasePerformanceConfigurationINTEL> requires <VK_INTEL_performance_query>" ); 21627 # endif 21628 21629 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 21630 d.vkReleasePerformanceConfigurationINTEL( m_device, static_cast<VkPerformanceConfigurationINTEL>( configuration ) ) ); 21631 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::releasePerformanceConfigurationINTEL" ); 21632 21633 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 21634 } 21635 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 21636 21637 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 21638 // wrapper function for command vkReleasePerformanceConfigurationINTEL, see 21639 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleasePerformanceConfigurationINTEL.html 21640 template <typename Dispatch> release(VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,Dispatch const & d) const21641 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::release( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration, 21642 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21643 { 21644 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21645 return static_cast<Result>( 21646 d.vkReleasePerformanceConfigurationINTEL( static_cast<VkDevice>( m_device ), static_cast<VkPerformanceConfigurationINTEL>( configuration ) ) ); 21647 } 21648 #else 21649 // wrapper function for command vkReleasePerformanceConfigurationINTEL, see 21650 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleasePerformanceConfigurationINTEL.html 21651 template <typename Dispatch> 21652 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type release(VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,Dispatch const & d) const21653 Device::release( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration, Dispatch const & d ) const 21654 { 21655 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21656 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21657 VULKAN_HPP_ASSERT( d.vkReleasePerformanceConfigurationINTEL && "Function <vkReleasePerformanceConfigurationINTEL> requires <VK_INTEL_performance_query>" ); 21658 # endif 21659 21660 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 21661 d.vkReleasePerformanceConfigurationINTEL( m_device, static_cast<VkPerformanceConfigurationINTEL>( configuration ) ) ); 21662 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::release" ); 21663 21664 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 21665 } 21666 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 21667 21668 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 21669 // wrapper function for command vkQueueSetPerformanceConfigurationINTEL, see 21670 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSetPerformanceConfigurationINTEL.html 21671 template <typename Dispatch> setPerformanceConfigurationINTEL(VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,Dispatch const & d) const21672 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Queue::setPerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration, 21673 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21674 { 21675 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21676 return static_cast<Result>( 21677 d.vkQueueSetPerformanceConfigurationINTEL( static_cast<VkQueue>( m_queue ), static_cast<VkPerformanceConfigurationINTEL>( configuration ) ) ); 21678 } 21679 #else 21680 // wrapper function for command vkQueueSetPerformanceConfigurationINTEL, see 21681 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSetPerformanceConfigurationINTEL.html 21682 template <typename Dispatch> 21683 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type setPerformanceConfigurationINTEL(VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,Dispatch const & d) const21684 Queue::setPerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration, Dispatch const & d ) const 21685 { 21686 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21687 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21688 VULKAN_HPP_ASSERT( d.vkQueueSetPerformanceConfigurationINTEL && 21689 "Function <vkQueueSetPerformanceConfigurationINTEL> requires <VK_INTEL_performance_query>" ); 21690 # endif 21691 21692 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 21693 d.vkQueueSetPerformanceConfigurationINTEL( m_queue, static_cast<VkPerformanceConfigurationINTEL>( configuration ) ) ); 21694 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::setPerformanceConfigurationINTEL" ); 21695 21696 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 21697 } 21698 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 21699 21700 // wrapper function for command vkGetPerformanceParameterINTEL, see 21701 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPerformanceParameterINTEL.html 21702 template <typename Dispatch> getPerformanceParameterINTEL(VULKAN_HPP_NAMESPACE::PerformanceParameterTypeINTEL parameter,VULKAN_HPP_NAMESPACE::PerformanceValueINTEL * pValue,Dispatch const & d) const21703 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getPerformanceParameterINTEL( VULKAN_HPP_NAMESPACE::PerformanceParameterTypeINTEL parameter, 21704 VULKAN_HPP_NAMESPACE::PerformanceValueINTEL * pValue, 21705 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21706 { 21707 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21708 return static_cast<Result>( d.vkGetPerformanceParameterINTEL( 21709 static_cast<VkDevice>( m_device ), static_cast<VkPerformanceParameterTypeINTEL>( parameter ), reinterpret_cast<VkPerformanceValueINTEL *>( pValue ) ) ); 21710 } 21711 21712 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 21713 // wrapper function for command vkGetPerformanceParameterINTEL, see 21714 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPerformanceParameterINTEL.html 21715 template <typename Dispatch> 21716 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::PerformanceValueINTEL>::type getPerformanceParameterINTEL(VULKAN_HPP_NAMESPACE::PerformanceParameterTypeINTEL parameter,Dispatch const & d) const21717 Device::getPerformanceParameterINTEL( VULKAN_HPP_NAMESPACE::PerformanceParameterTypeINTEL parameter, Dispatch const & d ) const 21718 { 21719 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21720 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21721 VULKAN_HPP_ASSERT( d.vkGetPerformanceParameterINTEL && "Function <vkGetPerformanceParameterINTEL> requires <VK_INTEL_performance_query>" ); 21722 # endif 21723 21724 VULKAN_HPP_NAMESPACE::PerformanceValueINTEL value; 21725 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPerformanceParameterINTEL( 21726 m_device, static_cast<VkPerformanceParameterTypeINTEL>( parameter ), reinterpret_cast<VkPerformanceValueINTEL *>( &value ) ) ); 21727 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPerformanceParameterINTEL" ); 21728 21729 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( value ) ); 21730 } 21731 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 21732 21733 //=== VK_AMD_display_native_hdr === 21734 21735 // wrapper function for command vkSetLocalDimmingAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLocalDimmingAMD.html 21736 template <typename Dispatch> setLocalDimmingAMD(VULKAN_HPP_NAMESPACE::SwapchainKHR swapChain,VULKAN_HPP_NAMESPACE::Bool32 localDimmingEnable,Dispatch const & d) const21737 VULKAN_HPP_INLINE void Device::setLocalDimmingAMD( VULKAN_HPP_NAMESPACE::SwapchainKHR swapChain, 21738 VULKAN_HPP_NAMESPACE::Bool32 localDimmingEnable, 21739 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21740 { 21741 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21742 d.vkSetLocalDimmingAMD( static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( swapChain ), static_cast<VkBool32>( localDimmingEnable ) ); 21743 } 21744 21745 #if defined( VK_USE_PLATFORM_FUCHSIA ) 21746 //=== VK_FUCHSIA_imagepipe_surface === 21747 21748 // wrapper function for command vkCreateImagePipeSurfaceFUCHSIA, see 21749 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImagePipeSurfaceFUCHSIA.html 21750 template <typename Dispatch> 21751 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result createImagePipeSurfaceFUCHSIA(const VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,Dispatch const & d) const21752 Instance::createImagePipeSurfaceFUCHSIA( const VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA * pCreateInfo, 21753 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 21754 VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface, 21755 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21756 { 21757 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21758 return static_cast<Result>( d.vkCreateImagePipeSurfaceFUCHSIA( static_cast<VkInstance>( m_instance ), 21759 reinterpret_cast<const VkImagePipeSurfaceCreateInfoFUCHSIA *>( pCreateInfo ), 21760 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 21761 reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) ); 21762 } 21763 21764 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 21765 // wrapper function for command vkCreateImagePipeSurfaceFUCHSIA, see 21766 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImagePipeSurfaceFUCHSIA.html 21767 template <typename Dispatch> 21768 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type createImagePipeSurfaceFUCHSIA(const VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const21769 Instance::createImagePipeSurfaceFUCHSIA( const VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA & createInfo, 21770 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 21771 Dispatch const & d ) const 21772 { 21773 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21774 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21775 VULKAN_HPP_ASSERT( d.vkCreateImagePipeSurfaceFUCHSIA && "Function <vkCreateImagePipeSurfaceFUCHSIA> requires <VK_FUCHSIA_imagepipe_surface>" ); 21776 # endif 21777 21778 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 21779 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateImagePipeSurfaceFUCHSIA( 21780 m_instance, 21781 reinterpret_cast<const VkImagePipeSurfaceCreateInfoFUCHSIA *>( &createInfo ), 21782 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 21783 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 21784 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createImagePipeSurfaceFUCHSIA" ); 21785 21786 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surface ) ); 21787 } 21788 21789 # ifndef VULKAN_HPP_NO_SMART_HANDLE 21790 // wrapper function for command vkCreateImagePipeSurfaceFUCHSIA, see 21791 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImagePipeSurfaceFUCHSIA.html 21792 template <typename Dispatch> 21793 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type createImagePipeSurfaceFUCHSIAUnique(const VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const21794 Instance::createImagePipeSurfaceFUCHSIAUnique( const VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA & createInfo, 21795 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 21796 Dispatch const & d ) const 21797 { 21798 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21799 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21800 VULKAN_HPP_ASSERT( d.vkCreateImagePipeSurfaceFUCHSIA && "Function <vkCreateImagePipeSurfaceFUCHSIA> requires <VK_FUCHSIA_imagepipe_surface>" ); 21801 # endif 21802 21803 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 21804 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateImagePipeSurfaceFUCHSIA( 21805 m_instance, 21806 reinterpret_cast<const VkImagePipeSurfaceCreateInfoFUCHSIA *>( &createInfo ), 21807 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 21808 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 21809 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createImagePipeSurfaceFUCHSIAUnique" ); 21810 21811 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 21812 result, UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>( surface, detail::ObjectDestroy<Instance, Dispatch>( *this, allocator, d ) ) ); 21813 } 21814 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 21815 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 21816 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 21817 21818 #if defined( VK_USE_PLATFORM_METAL_EXT ) 21819 //=== VK_EXT_metal_surface === 21820 21821 // wrapper function for command vkCreateMetalSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMetalSurfaceEXT.html 21822 template <typename Dispatch> createMetalSurfaceEXT(const VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,Dispatch const & d) const21823 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createMetalSurfaceEXT( const VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT * pCreateInfo, 21824 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 21825 VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface, 21826 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21827 { 21828 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21829 return static_cast<Result>( d.vkCreateMetalSurfaceEXT( static_cast<VkInstance>( m_instance ), 21830 reinterpret_cast<const VkMetalSurfaceCreateInfoEXT *>( pCreateInfo ), 21831 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 21832 reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) ); 21833 } 21834 21835 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 21836 // wrapper function for command vkCreateMetalSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMetalSurfaceEXT.html 21837 template <typename Dispatch> 21838 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type createMetalSurfaceEXT(const VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const21839 Instance::createMetalSurfaceEXT( const VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT & createInfo, 21840 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 21841 Dispatch const & d ) const 21842 { 21843 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21844 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21845 VULKAN_HPP_ASSERT( d.vkCreateMetalSurfaceEXT && "Function <vkCreateMetalSurfaceEXT> requires <VK_EXT_metal_surface>" ); 21846 # endif 21847 21848 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 21849 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 21850 d.vkCreateMetalSurfaceEXT( m_instance, 21851 reinterpret_cast<const VkMetalSurfaceCreateInfoEXT *>( &createInfo ), 21852 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 21853 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 21854 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createMetalSurfaceEXT" ); 21855 21856 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surface ) ); 21857 } 21858 21859 # ifndef VULKAN_HPP_NO_SMART_HANDLE 21860 // wrapper function for command vkCreateMetalSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMetalSurfaceEXT.html 21861 template <typename Dispatch> 21862 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type createMetalSurfaceEXTUnique(const VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const21863 Instance::createMetalSurfaceEXTUnique( const VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT & createInfo, 21864 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 21865 Dispatch const & d ) const 21866 { 21867 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21868 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21869 VULKAN_HPP_ASSERT( d.vkCreateMetalSurfaceEXT && "Function <vkCreateMetalSurfaceEXT> requires <VK_EXT_metal_surface>" ); 21870 # endif 21871 21872 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 21873 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 21874 d.vkCreateMetalSurfaceEXT( m_instance, 21875 reinterpret_cast<const VkMetalSurfaceCreateInfoEXT *>( &createInfo ), 21876 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 21877 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 21878 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createMetalSurfaceEXTUnique" ); 21879 21880 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 21881 result, UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>( surface, detail::ObjectDestroy<Instance, Dispatch>( *this, allocator, d ) ) ); 21882 } 21883 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 21884 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 21885 #endif /*VK_USE_PLATFORM_METAL_EXT*/ 21886 21887 //=== VK_KHR_fragment_shading_rate === 21888 21889 // wrapper function for command vkGetPhysicalDeviceFragmentShadingRatesKHR, see 21890 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFragmentShadingRatesKHR.html 21891 template <typename Dispatch> 21892 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getFragmentShadingRatesKHR(uint32_t * pFragmentShadingRateCount,VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR * pFragmentShadingRates,Dispatch const & d) const21893 PhysicalDevice::getFragmentShadingRatesKHR( uint32_t * pFragmentShadingRateCount, 21894 VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR * pFragmentShadingRates, 21895 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21896 { 21897 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21898 return static_cast<Result>( 21899 d.vkGetPhysicalDeviceFragmentShadingRatesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 21900 pFragmentShadingRateCount, 21901 reinterpret_cast<VkPhysicalDeviceFragmentShadingRateKHR *>( pFragmentShadingRates ) ) ); 21902 } 21903 21904 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 21905 // wrapper function for command vkGetPhysicalDeviceFragmentShadingRatesKHR, see 21906 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFragmentShadingRatesKHR.html 21907 template <typename PhysicalDeviceFragmentShadingRateKHRAllocator, 21908 typename Dispatch, 21909 typename std::enable_if<std::is_same<typename PhysicalDeviceFragmentShadingRateKHRAllocator::value_type, 21910 VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR>::value, 21911 int>::type> 21912 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 21913 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR, PhysicalDeviceFragmentShadingRateKHRAllocator>>::type getFragmentShadingRatesKHR(Dispatch const & d) const21914 PhysicalDevice::getFragmentShadingRatesKHR( Dispatch const & d ) const 21915 { 21916 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21917 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21918 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceFragmentShadingRatesKHR && 21919 "Function <vkGetPhysicalDeviceFragmentShadingRatesKHR> requires <VK_KHR_fragment_shading_rate>" ); 21920 # endif 21921 21922 std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR, PhysicalDeviceFragmentShadingRateKHRAllocator> fragmentShadingRates; 21923 uint32_t fragmentShadingRateCount; 21924 VULKAN_HPP_NAMESPACE::Result result; 21925 do 21926 { 21927 result = 21928 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceFragmentShadingRatesKHR( m_physicalDevice, &fragmentShadingRateCount, nullptr ) ); 21929 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && fragmentShadingRateCount ) 21930 { 21931 fragmentShadingRates.resize( fragmentShadingRateCount ); 21932 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceFragmentShadingRatesKHR( 21933 m_physicalDevice, &fragmentShadingRateCount, reinterpret_cast<VkPhysicalDeviceFragmentShadingRateKHR *>( fragmentShadingRates.data() ) ) ); 21934 } 21935 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 21936 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getFragmentShadingRatesKHR" ); 21937 VULKAN_HPP_ASSERT( fragmentShadingRateCount <= fragmentShadingRates.size() ); 21938 if ( fragmentShadingRateCount < fragmentShadingRates.size() ) 21939 { 21940 fragmentShadingRates.resize( fragmentShadingRateCount ); 21941 } 21942 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( fragmentShadingRates ) ); 21943 } 21944 21945 // wrapper function for command vkGetPhysicalDeviceFragmentShadingRatesKHR, see 21946 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFragmentShadingRatesKHR.html 21947 template <typename PhysicalDeviceFragmentShadingRateKHRAllocator, 21948 typename Dispatch, 21949 typename std::enable_if<std::is_same<typename PhysicalDeviceFragmentShadingRateKHRAllocator::value_type, 21950 VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR>::value, 21951 int>::type> 21952 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 21953 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR, PhysicalDeviceFragmentShadingRateKHRAllocator>>::type getFragmentShadingRatesKHR(PhysicalDeviceFragmentShadingRateKHRAllocator & physicalDeviceFragmentShadingRateKHRAllocator,Dispatch const & d) const21954 PhysicalDevice::getFragmentShadingRatesKHR( PhysicalDeviceFragmentShadingRateKHRAllocator & physicalDeviceFragmentShadingRateKHRAllocator, 21955 Dispatch const & d ) const 21956 { 21957 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21958 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 21959 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceFragmentShadingRatesKHR && 21960 "Function <vkGetPhysicalDeviceFragmentShadingRatesKHR> requires <VK_KHR_fragment_shading_rate>" ); 21961 # endif 21962 21963 std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR, PhysicalDeviceFragmentShadingRateKHRAllocator> fragmentShadingRates( 21964 physicalDeviceFragmentShadingRateKHRAllocator ); 21965 uint32_t fragmentShadingRateCount; 21966 VULKAN_HPP_NAMESPACE::Result result; 21967 do 21968 { 21969 result = 21970 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceFragmentShadingRatesKHR( m_physicalDevice, &fragmentShadingRateCount, nullptr ) ); 21971 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && fragmentShadingRateCount ) 21972 { 21973 fragmentShadingRates.resize( fragmentShadingRateCount ); 21974 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceFragmentShadingRatesKHR( 21975 m_physicalDevice, &fragmentShadingRateCount, reinterpret_cast<VkPhysicalDeviceFragmentShadingRateKHR *>( fragmentShadingRates.data() ) ) ); 21976 } 21977 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 21978 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getFragmentShadingRatesKHR" ); 21979 VULKAN_HPP_ASSERT( fragmentShadingRateCount <= fragmentShadingRates.size() ); 21980 if ( fragmentShadingRateCount < fragmentShadingRates.size() ) 21981 { 21982 fragmentShadingRates.resize( fragmentShadingRateCount ); 21983 } 21984 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( fragmentShadingRates ) ); 21985 } 21986 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 21987 21988 // wrapper function for command vkCmdSetFragmentShadingRateKHR, see 21989 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFragmentShadingRateKHR.html 21990 template <typename Dispatch> setFragmentShadingRateKHR(const VULKAN_HPP_NAMESPACE::Extent2D * pFragmentSize,const VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR combinerOps[2],Dispatch const & d) const21991 VULKAN_HPP_INLINE void CommandBuffer::setFragmentShadingRateKHR( const VULKAN_HPP_NAMESPACE::Extent2D * pFragmentSize, 21992 const VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR combinerOps[2], 21993 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 21994 { 21995 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 21996 d.vkCmdSetFragmentShadingRateKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 21997 reinterpret_cast<const VkExtent2D *>( pFragmentSize ), 21998 reinterpret_cast<const VkFragmentShadingRateCombinerOpKHR *>( combinerOps ) ); 21999 } 22000 22001 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 22002 // wrapper function for command vkCmdSetFragmentShadingRateKHR, see 22003 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFragmentShadingRateKHR.html 22004 template <typename Dispatch> setFragmentShadingRateKHR(const VULKAN_HPP_NAMESPACE::Extent2D & fragmentSize,const VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR combinerOps[2],Dispatch const & d) const22005 VULKAN_HPP_INLINE void CommandBuffer::setFragmentShadingRateKHR( const VULKAN_HPP_NAMESPACE::Extent2D & fragmentSize, 22006 const VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR combinerOps[2], 22007 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22008 { 22009 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22010 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 22011 VULKAN_HPP_ASSERT( d.vkCmdSetFragmentShadingRateKHR && "Function <vkCmdSetFragmentShadingRateKHR> requires <VK_KHR_fragment_shading_rate>" ); 22012 # endif 22013 22014 d.vkCmdSetFragmentShadingRateKHR( 22015 m_commandBuffer, reinterpret_cast<const VkExtent2D *>( &fragmentSize ), reinterpret_cast<const VkFragmentShadingRateCombinerOpKHR *>( combinerOps ) ); 22016 } 22017 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 22018 22019 //=== VK_KHR_dynamic_rendering_local_read === 22020 22021 // wrapper function for command vkCmdSetRenderingAttachmentLocationsKHR, see 22022 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingAttachmentLocationsKHR.html 22023 template <typename Dispatch> setRenderingAttachmentLocationsKHR(const VULKAN_HPP_NAMESPACE::RenderingAttachmentLocationInfo * pLocationInfo,Dispatch const & d) const22024 VULKAN_HPP_INLINE void CommandBuffer::setRenderingAttachmentLocationsKHR( const VULKAN_HPP_NAMESPACE::RenderingAttachmentLocationInfo * pLocationInfo, 22025 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22026 { 22027 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22028 d.vkCmdSetRenderingAttachmentLocationsKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 22029 reinterpret_cast<const VkRenderingAttachmentLocationInfo *>( pLocationInfo ) ); 22030 } 22031 22032 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 22033 // wrapper function for command vkCmdSetRenderingAttachmentLocationsKHR, see 22034 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingAttachmentLocationsKHR.html 22035 template <typename Dispatch> setRenderingAttachmentLocationsKHR(const VULKAN_HPP_NAMESPACE::RenderingAttachmentLocationInfo & locationInfo,Dispatch const & d) const22036 VULKAN_HPP_INLINE void CommandBuffer::setRenderingAttachmentLocationsKHR( const VULKAN_HPP_NAMESPACE::RenderingAttachmentLocationInfo & locationInfo, 22037 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22038 { 22039 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22040 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 22041 VULKAN_HPP_ASSERT( d.vkCmdSetRenderingAttachmentLocationsKHR && 22042 "Function <vkCmdSetRenderingAttachmentLocationsKHR> requires <VK_KHR_dynamic_rendering_local_read> or <VK_VERSION_1_4>" ); 22043 # endif 22044 22045 d.vkCmdSetRenderingAttachmentLocationsKHR( m_commandBuffer, reinterpret_cast<const VkRenderingAttachmentLocationInfo *>( &locationInfo ) ); 22046 } 22047 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 22048 22049 // wrapper function for command vkCmdSetRenderingInputAttachmentIndicesKHR, see 22050 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingInputAttachmentIndicesKHR.html 22051 template <typename Dispatch> 22052 VULKAN_HPP_INLINE void setRenderingInputAttachmentIndicesKHR(const VULKAN_HPP_NAMESPACE::RenderingInputAttachmentIndexInfo * pInputAttachmentIndexInfo,Dispatch const & d) const22053 CommandBuffer::setRenderingInputAttachmentIndicesKHR( const VULKAN_HPP_NAMESPACE::RenderingInputAttachmentIndexInfo * pInputAttachmentIndexInfo, 22054 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22055 { 22056 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22057 d.vkCmdSetRenderingInputAttachmentIndicesKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 22058 reinterpret_cast<const VkRenderingInputAttachmentIndexInfo *>( pInputAttachmentIndexInfo ) ); 22059 } 22060 22061 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 22062 // wrapper function for command vkCmdSetRenderingInputAttachmentIndicesKHR, see 22063 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingInputAttachmentIndicesKHR.html 22064 template <typename Dispatch> 22065 VULKAN_HPP_INLINE void setRenderingInputAttachmentIndicesKHR(const VULKAN_HPP_NAMESPACE::RenderingInputAttachmentIndexInfo & inputAttachmentIndexInfo,Dispatch const & d) const22066 CommandBuffer::setRenderingInputAttachmentIndicesKHR( const VULKAN_HPP_NAMESPACE::RenderingInputAttachmentIndexInfo & inputAttachmentIndexInfo, 22067 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22068 { 22069 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22070 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 22071 VULKAN_HPP_ASSERT( d.vkCmdSetRenderingInputAttachmentIndicesKHR && 22072 "Function <vkCmdSetRenderingInputAttachmentIndicesKHR> requires <VK_KHR_dynamic_rendering_local_read> or <VK_VERSION_1_4>" ); 22073 # endif 22074 22075 d.vkCmdSetRenderingInputAttachmentIndicesKHR( m_commandBuffer, reinterpret_cast<const VkRenderingInputAttachmentIndexInfo *>( &inputAttachmentIndexInfo ) ); 22076 } 22077 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 22078 22079 //=== VK_EXT_buffer_device_address === 22080 22081 // wrapper function for command vkGetBufferDeviceAddressEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferDeviceAddressEXT.html 22082 template <typename Dispatch> getBufferAddressEXT(const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo * pInfo,Dispatch const & d) const22083 VULKAN_HPP_INLINE DeviceAddress Device::getBufferAddressEXT( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo * pInfo, 22084 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22085 { 22086 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22087 return static_cast<DeviceAddress>( 22088 d.vkGetBufferDeviceAddressEXT( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkBufferDeviceAddressInfo *>( pInfo ) ) ); 22089 } 22090 22091 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 22092 // wrapper function for command vkGetBufferDeviceAddressEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferDeviceAddressEXT.html 22093 template <typename Dispatch> getBufferAddressEXT(const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo & info,Dispatch const & d) const22094 VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceAddress Device::getBufferAddressEXT( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo & info, 22095 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22096 { 22097 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22098 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 22099 VULKAN_HPP_ASSERT( d.vkGetBufferDeviceAddressEXT && 22100 "Function <vkGetBufferDeviceAddressEXT> requires <VK_EXT_buffer_device_address> or <VK_KHR_buffer_device_address> or <VK_VERSION_1_2>" ); 22101 # endif 22102 22103 VkDeviceAddress result = d.vkGetBufferDeviceAddressEXT( m_device, reinterpret_cast<const VkBufferDeviceAddressInfo *>( &info ) ); 22104 22105 return static_cast<VULKAN_HPP_NAMESPACE::DeviceAddress>( result ); 22106 } 22107 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 22108 22109 //=== VK_EXT_tooling_info === 22110 22111 // wrapper function for command vkGetPhysicalDeviceToolPropertiesEXT, see 22112 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceToolPropertiesEXT.html 22113 template <typename Dispatch> getToolPropertiesEXT(uint32_t * pToolCount,VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties * pToolProperties,Dispatch const & d) const22114 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getToolPropertiesEXT( uint32_t * pToolCount, 22115 VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties * pToolProperties, 22116 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22117 { 22118 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22119 return static_cast<Result>( d.vkGetPhysicalDeviceToolPropertiesEXT( 22120 static_cast<VkPhysicalDevice>( m_physicalDevice ), pToolCount, reinterpret_cast<VkPhysicalDeviceToolProperties *>( pToolProperties ) ) ); 22121 } 22122 22123 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 22124 // wrapper function for command vkGetPhysicalDeviceToolPropertiesEXT, see 22125 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceToolPropertiesEXT.html 22126 template < 22127 typename PhysicalDeviceToolPropertiesAllocator, 22128 typename Dispatch, 22129 typename std::enable_if<std::is_same<typename PhysicalDeviceToolPropertiesAllocator::value_type, VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties>::value, 22130 int>::type> 22131 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 22132 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties, PhysicalDeviceToolPropertiesAllocator>>::type getToolPropertiesEXT(Dispatch const & d) const22133 PhysicalDevice::getToolPropertiesEXT( Dispatch const & d ) const 22134 { 22135 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22136 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 22137 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceToolPropertiesEXT && 22138 "Function <vkGetPhysicalDeviceToolPropertiesEXT> requires <VK_EXT_tooling_info> or <VK_VERSION_1_3>" ); 22139 # endif 22140 22141 std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties, PhysicalDeviceToolPropertiesAllocator> toolProperties; 22142 uint32_t toolCount; 22143 VULKAN_HPP_NAMESPACE::Result result; 22144 do 22145 { 22146 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceToolPropertiesEXT( m_physicalDevice, &toolCount, nullptr ) ); 22147 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && toolCount ) 22148 { 22149 toolProperties.resize( toolCount ); 22150 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 22151 d.vkGetPhysicalDeviceToolPropertiesEXT( m_physicalDevice, &toolCount, reinterpret_cast<VkPhysicalDeviceToolProperties *>( toolProperties.data() ) ) ); 22152 } 22153 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 22154 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getToolPropertiesEXT" ); 22155 VULKAN_HPP_ASSERT( toolCount <= toolProperties.size() ); 22156 if ( toolCount < toolProperties.size() ) 22157 { 22158 toolProperties.resize( toolCount ); 22159 } 22160 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( toolProperties ) ); 22161 } 22162 22163 // wrapper function for command vkGetPhysicalDeviceToolPropertiesEXT, see 22164 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceToolPropertiesEXT.html 22165 template < 22166 typename PhysicalDeviceToolPropertiesAllocator, 22167 typename Dispatch, 22168 typename std::enable_if<std::is_same<typename PhysicalDeviceToolPropertiesAllocator::value_type, VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties>::value, 22169 int>::type> 22170 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 22171 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties, PhysicalDeviceToolPropertiesAllocator>>::type getToolPropertiesEXT(PhysicalDeviceToolPropertiesAllocator & physicalDeviceToolPropertiesAllocator,Dispatch const & d) const22172 PhysicalDevice::getToolPropertiesEXT( PhysicalDeviceToolPropertiesAllocator & physicalDeviceToolPropertiesAllocator, Dispatch const & d ) const 22173 { 22174 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22175 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 22176 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceToolPropertiesEXT && 22177 "Function <vkGetPhysicalDeviceToolPropertiesEXT> requires <VK_EXT_tooling_info> or <VK_VERSION_1_3>" ); 22178 # endif 22179 22180 std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties, PhysicalDeviceToolPropertiesAllocator> toolProperties( 22181 physicalDeviceToolPropertiesAllocator ); 22182 uint32_t toolCount; 22183 VULKAN_HPP_NAMESPACE::Result result; 22184 do 22185 { 22186 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceToolPropertiesEXT( m_physicalDevice, &toolCount, nullptr ) ); 22187 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && toolCount ) 22188 { 22189 toolProperties.resize( toolCount ); 22190 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 22191 d.vkGetPhysicalDeviceToolPropertiesEXT( m_physicalDevice, &toolCount, reinterpret_cast<VkPhysicalDeviceToolProperties *>( toolProperties.data() ) ) ); 22192 } 22193 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 22194 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getToolPropertiesEXT" ); 22195 VULKAN_HPP_ASSERT( toolCount <= toolProperties.size() ); 22196 if ( toolCount < toolProperties.size() ) 22197 { 22198 toolProperties.resize( toolCount ); 22199 } 22200 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( toolProperties ) ); 22201 } 22202 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 22203 22204 //=== VK_KHR_present_wait === 22205 22206 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 22207 // wrapper function for command vkWaitForPresentKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitForPresentKHR.html 22208 template <typename Dispatch> waitForPresentKHR(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,uint64_t presentId,uint64_t timeout,Dispatch const & d) const22209 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::waitForPresentKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, 22210 uint64_t presentId, 22211 uint64_t timeout, 22212 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22213 { 22214 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22215 return static_cast<Result>( d.vkWaitForPresentKHR( static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( swapchain ), presentId, timeout ) ); 22216 } 22217 #else 22218 // wrapper function for command vkWaitForPresentKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitForPresentKHR.html 22219 template <typename Dispatch> 22220 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result waitForPresentKHR(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,uint64_t presentId,uint64_t timeout,Dispatch const & d) const22221 Device::waitForPresentKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, uint64_t presentId, uint64_t timeout, Dispatch const & d ) const 22222 { 22223 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22224 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 22225 VULKAN_HPP_ASSERT( d.vkWaitForPresentKHR && "Function <vkWaitForPresentKHR> requires <VK_KHR_present_wait>" ); 22226 # endif 22227 22228 VULKAN_HPP_NAMESPACE::Result result = 22229 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkWaitForPresentKHR( m_device, static_cast<VkSwapchainKHR>( swapchain ), presentId, timeout ) ); 22230 VULKAN_HPP_NAMESPACE::detail::resultCheck( 22231 result, 22232 VULKAN_HPP_NAMESPACE_STRING "::Device::waitForPresentKHR", 22233 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eTimeout, VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR } ); 22234 22235 return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); 22236 } 22237 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 22238 22239 //=== VK_NV_cooperative_matrix === 22240 22241 // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixPropertiesNV, see 22242 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixPropertiesNV.html 22243 template <typename Dispatch> getCooperativeMatrixPropertiesNV(uint32_t * pPropertyCount,VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV * pProperties,Dispatch const & d) const22244 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getCooperativeMatrixPropertiesNV( 22245 uint32_t * pPropertyCount, VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22246 { 22247 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22248 return static_cast<Result>( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( 22249 static_cast<VkPhysicalDevice>( m_physicalDevice ), pPropertyCount, reinterpret_cast<VkCooperativeMatrixPropertiesNV *>( pProperties ) ) ); 22250 } 22251 22252 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 22253 // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixPropertiesNV, see 22254 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixPropertiesNV.html 22255 template <typename CooperativeMatrixPropertiesNVAllocator, 22256 typename Dispatch, 22257 typename std::enable_if< 22258 std::is_same<typename CooperativeMatrixPropertiesNVAllocator::value_type, VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV>::value, 22259 int>::type> 22260 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 22261 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV, CooperativeMatrixPropertiesNVAllocator>>::type getCooperativeMatrixPropertiesNV(Dispatch const & d) const22262 PhysicalDevice::getCooperativeMatrixPropertiesNV( Dispatch const & d ) const 22263 { 22264 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22265 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 22266 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesNV && 22267 "Function <vkGetPhysicalDeviceCooperativeMatrixPropertiesNV> requires <VK_NV_cooperative_matrix>" ); 22268 # endif 22269 22270 std::vector<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV, CooperativeMatrixPropertiesNVAllocator> properties; 22271 uint32_t propertyCount; 22272 VULKAN_HPP_NAMESPACE::Result result; 22273 do 22274 { 22275 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( m_physicalDevice, &propertyCount, nullptr ) ); 22276 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 22277 { 22278 properties.resize( propertyCount ); 22279 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( 22280 m_physicalDevice, &propertyCount, reinterpret_cast<VkCooperativeMatrixPropertiesNV *>( properties.data() ) ) ); 22281 } 22282 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 22283 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixPropertiesNV" ); 22284 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 22285 if ( propertyCount < properties.size() ) 22286 { 22287 properties.resize( propertyCount ); 22288 } 22289 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 22290 } 22291 22292 // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixPropertiesNV, see 22293 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixPropertiesNV.html 22294 template <typename CooperativeMatrixPropertiesNVAllocator, 22295 typename Dispatch, 22296 typename std::enable_if< 22297 std::is_same<typename CooperativeMatrixPropertiesNVAllocator::value_type, VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV>::value, 22298 int>::type> 22299 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 22300 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV, CooperativeMatrixPropertiesNVAllocator>>::type getCooperativeMatrixPropertiesNV(CooperativeMatrixPropertiesNVAllocator & cooperativeMatrixPropertiesNVAllocator,Dispatch const & d) const22301 PhysicalDevice::getCooperativeMatrixPropertiesNV( CooperativeMatrixPropertiesNVAllocator & cooperativeMatrixPropertiesNVAllocator, 22302 Dispatch const & d ) const 22303 { 22304 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22305 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 22306 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesNV && 22307 "Function <vkGetPhysicalDeviceCooperativeMatrixPropertiesNV> requires <VK_NV_cooperative_matrix>" ); 22308 # endif 22309 22310 std::vector<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV, CooperativeMatrixPropertiesNVAllocator> properties( 22311 cooperativeMatrixPropertiesNVAllocator ); 22312 uint32_t propertyCount; 22313 VULKAN_HPP_NAMESPACE::Result result; 22314 do 22315 { 22316 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( m_physicalDevice, &propertyCount, nullptr ) ); 22317 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 22318 { 22319 properties.resize( propertyCount ); 22320 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( 22321 m_physicalDevice, &propertyCount, reinterpret_cast<VkCooperativeMatrixPropertiesNV *>( properties.data() ) ) ); 22322 } 22323 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 22324 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixPropertiesNV" ); 22325 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 22326 if ( propertyCount < properties.size() ) 22327 { 22328 properties.resize( propertyCount ); 22329 } 22330 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 22331 } 22332 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 22333 22334 //=== VK_NV_coverage_reduction_mode === 22335 22336 // wrapper function for command vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV, see 22337 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV.html 22338 template <typename Dispatch> getSupportedFramebufferMixedSamplesCombinationsNV(uint32_t * pCombinationCount,VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV * pCombinations,Dispatch const & d) const22339 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV( 22340 uint32_t * pCombinationCount, VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV * pCombinations, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22341 { 22342 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22343 return static_cast<Result>( d.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( 22344 static_cast<VkPhysicalDevice>( m_physicalDevice ), pCombinationCount, reinterpret_cast<VkFramebufferMixedSamplesCombinationNV *>( pCombinations ) ) ); 22345 } 22346 22347 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 22348 // wrapper function for command vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV, see 22349 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV.html 22350 template <typename FramebufferMixedSamplesCombinationNVAllocator, 22351 typename Dispatch, 22352 typename std::enable_if<std::is_same<typename FramebufferMixedSamplesCombinationNVAllocator::value_type, 22353 VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV>::value, 22354 int>::type> 22355 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 22356 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV, FramebufferMixedSamplesCombinationNVAllocator>>::type getSupportedFramebufferMixedSamplesCombinationsNV(Dispatch const & d) const22357 PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV( Dispatch const & d ) const 22358 { 22359 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22360 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 22361 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV && 22362 "Function <vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV> requires <VK_NV_coverage_reduction_mode>" ); 22363 # endif 22364 22365 std::vector<VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV, FramebufferMixedSamplesCombinationNVAllocator> combinations; 22366 uint32_t combinationCount; 22367 VULKAN_HPP_NAMESPACE::Result result; 22368 do 22369 { 22370 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 22371 d.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( m_physicalDevice, &combinationCount, nullptr ) ); 22372 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && combinationCount ) 22373 { 22374 combinations.resize( combinationCount ); 22375 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( 22376 m_physicalDevice, &combinationCount, reinterpret_cast<VkFramebufferMixedSamplesCombinationNV *>( combinations.data() ) ) ); 22377 } 22378 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 22379 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV" ); 22380 VULKAN_HPP_ASSERT( combinationCount <= combinations.size() ); 22381 if ( combinationCount < combinations.size() ) 22382 { 22383 combinations.resize( combinationCount ); 22384 } 22385 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( combinations ) ); 22386 } 22387 22388 // wrapper function for command vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV, see 22389 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV.html 22390 template <typename FramebufferMixedSamplesCombinationNVAllocator, 22391 typename Dispatch, 22392 typename std::enable_if<std::is_same<typename FramebufferMixedSamplesCombinationNVAllocator::value_type, 22393 VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV>::value, 22394 int>::type> 22395 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 22396 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV, FramebufferMixedSamplesCombinationNVAllocator>>::type getSupportedFramebufferMixedSamplesCombinationsNV(FramebufferMixedSamplesCombinationNVAllocator & framebufferMixedSamplesCombinationNVAllocator,Dispatch const & d) const22397 PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV( 22398 FramebufferMixedSamplesCombinationNVAllocator & framebufferMixedSamplesCombinationNVAllocator, Dispatch const & d ) const 22399 { 22400 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22401 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 22402 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV && 22403 "Function <vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV> requires <VK_NV_coverage_reduction_mode>" ); 22404 # endif 22405 22406 std::vector<VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV, FramebufferMixedSamplesCombinationNVAllocator> combinations( 22407 framebufferMixedSamplesCombinationNVAllocator ); 22408 uint32_t combinationCount; 22409 VULKAN_HPP_NAMESPACE::Result result; 22410 do 22411 { 22412 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 22413 d.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( m_physicalDevice, &combinationCount, nullptr ) ); 22414 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && combinationCount ) 22415 { 22416 combinations.resize( combinationCount ); 22417 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( 22418 m_physicalDevice, &combinationCount, reinterpret_cast<VkFramebufferMixedSamplesCombinationNV *>( combinations.data() ) ) ); 22419 } 22420 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 22421 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV" ); 22422 VULKAN_HPP_ASSERT( combinationCount <= combinations.size() ); 22423 if ( combinationCount < combinations.size() ) 22424 { 22425 combinations.resize( combinationCount ); 22426 } 22427 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( combinations ) ); 22428 } 22429 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 22430 22431 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 22432 //=== VK_EXT_full_screen_exclusive === 22433 22434 // wrapper function for command vkGetPhysicalDeviceSurfacePresentModes2EXT, see 22435 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfacePresentModes2EXT.html 22436 template <typename Dispatch> 22437 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getSurfacePresentModes2EXT(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,uint32_t * pPresentModeCount,VULKAN_HPP_NAMESPACE::PresentModeKHR * pPresentModes,Dispatch const & d) const22438 PhysicalDevice::getSurfacePresentModes2EXT( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo, 22439 uint32_t * pPresentModeCount, 22440 VULKAN_HPP_NAMESPACE::PresentModeKHR * pPresentModes, 22441 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22442 { 22443 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22444 return static_cast<Result>( d.vkGetPhysicalDeviceSurfacePresentModes2EXT( static_cast<VkPhysicalDevice>( m_physicalDevice ), 22445 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( pSurfaceInfo ), 22446 pPresentModeCount, 22447 reinterpret_cast<VkPresentModeKHR *>( pPresentModes ) ) ); 22448 } 22449 22450 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 22451 // wrapper function for command vkGetPhysicalDeviceSurfacePresentModes2EXT, see 22452 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfacePresentModes2EXT.html 22453 template <typename PresentModeKHRAllocator, 22454 typename Dispatch, 22455 typename std::enable_if<std::is_same<typename PresentModeKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::PresentModeKHR>::value, int>::type> 22456 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR, PresentModeKHRAllocator>>::type getSurfacePresentModes2EXT(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,Dispatch const & d) const22457 PhysicalDevice::getSurfacePresentModes2EXT( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo, Dispatch const & d ) const 22458 { 22459 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22460 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 22461 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceSurfacePresentModes2EXT && 22462 "Function <vkGetPhysicalDeviceSurfacePresentModes2EXT> requires <VK_EXT_full_screen_exclusive>" ); 22463 # endif 22464 22465 std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR, PresentModeKHRAllocator> presentModes; 22466 uint32_t presentModeCount; 22467 VULKAN_HPP_NAMESPACE::Result result; 22468 do 22469 { 22470 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceSurfacePresentModes2EXT( 22471 m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), &presentModeCount, nullptr ) ); 22472 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && presentModeCount ) 22473 { 22474 presentModes.resize( presentModeCount ); 22475 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 22476 d.vkGetPhysicalDeviceSurfacePresentModes2EXT( m_physicalDevice, 22477 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), 22478 &presentModeCount, 22479 reinterpret_cast<VkPresentModeKHR *>( presentModes.data() ) ) ); 22480 } 22481 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 22482 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModes2EXT" ); 22483 VULKAN_HPP_ASSERT( presentModeCount <= presentModes.size() ); 22484 if ( presentModeCount < presentModes.size() ) 22485 { 22486 presentModes.resize( presentModeCount ); 22487 } 22488 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( presentModes ) ); 22489 } 22490 22491 // wrapper function for command vkGetPhysicalDeviceSurfacePresentModes2EXT, see 22492 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfacePresentModes2EXT.html 22493 template <typename PresentModeKHRAllocator, 22494 typename Dispatch, 22495 typename std::enable_if<std::is_same<typename PresentModeKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::PresentModeKHR>::value, int>::type> 22496 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR, PresentModeKHRAllocator>>::type getSurfacePresentModes2EXT(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,PresentModeKHRAllocator & presentModeKHRAllocator,Dispatch const & d) const22497 PhysicalDevice::getSurfacePresentModes2EXT( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo, 22498 PresentModeKHRAllocator & presentModeKHRAllocator, 22499 Dispatch const & d ) const 22500 { 22501 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22502 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 22503 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceSurfacePresentModes2EXT && 22504 "Function <vkGetPhysicalDeviceSurfacePresentModes2EXT> requires <VK_EXT_full_screen_exclusive>" ); 22505 # endif 22506 22507 std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR, PresentModeKHRAllocator> presentModes( presentModeKHRAllocator ); 22508 uint32_t presentModeCount; 22509 VULKAN_HPP_NAMESPACE::Result result; 22510 do 22511 { 22512 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceSurfacePresentModes2EXT( 22513 m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), &presentModeCount, nullptr ) ); 22514 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && presentModeCount ) 22515 { 22516 presentModes.resize( presentModeCount ); 22517 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 22518 d.vkGetPhysicalDeviceSurfacePresentModes2EXT( m_physicalDevice, 22519 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), 22520 &presentModeCount, 22521 reinterpret_cast<VkPresentModeKHR *>( presentModes.data() ) ) ); 22522 } 22523 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 22524 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModes2EXT" ); 22525 VULKAN_HPP_ASSERT( presentModeCount <= presentModes.size() ); 22526 if ( presentModeCount < presentModes.size() ) 22527 { 22528 presentModes.resize( presentModeCount ); 22529 } 22530 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( presentModes ) ); 22531 } 22532 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 22533 22534 # ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 22535 // wrapper function for command vkAcquireFullScreenExclusiveModeEXT, see 22536 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireFullScreenExclusiveModeEXT.html 22537 template <typename Dispatch> acquireFullScreenExclusiveModeEXT(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,Dispatch const & d) const22538 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::acquireFullScreenExclusiveModeEXT( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, 22539 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22540 { 22541 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22542 return static_cast<Result>( d.vkAcquireFullScreenExclusiveModeEXT( static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( swapchain ) ) ); 22543 } 22544 # else 22545 // wrapper function for command vkAcquireFullScreenExclusiveModeEXT, see 22546 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireFullScreenExclusiveModeEXT.html 22547 template <typename Dispatch> 22548 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type acquireFullScreenExclusiveModeEXT(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,Dispatch const & d) const22549 Device::acquireFullScreenExclusiveModeEXT( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, Dispatch const & d ) const 22550 { 22551 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22552 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 22553 VULKAN_HPP_ASSERT( d.vkAcquireFullScreenExclusiveModeEXT && "Function <vkAcquireFullScreenExclusiveModeEXT> requires <VK_EXT_full_screen_exclusive>" ); 22554 # endif 22555 22556 VULKAN_HPP_NAMESPACE::Result result = 22557 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkAcquireFullScreenExclusiveModeEXT( m_device, static_cast<VkSwapchainKHR>( swapchain ) ) ); 22558 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::acquireFullScreenExclusiveModeEXT" ); 22559 22560 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 22561 } 22562 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 22563 22564 # ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 22565 // wrapper function for command vkReleaseFullScreenExclusiveModeEXT, see 22566 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseFullScreenExclusiveModeEXT.html 22567 template <typename Dispatch> releaseFullScreenExclusiveModeEXT(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,Dispatch const & d) const22568 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::releaseFullScreenExclusiveModeEXT( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, 22569 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22570 { 22571 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22572 return static_cast<Result>( d.vkReleaseFullScreenExclusiveModeEXT( static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( swapchain ) ) ); 22573 } 22574 # else 22575 // wrapper function for command vkReleaseFullScreenExclusiveModeEXT, see 22576 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseFullScreenExclusiveModeEXT.html 22577 template <typename Dispatch> 22578 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type releaseFullScreenExclusiveModeEXT(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,Dispatch const & d) const22579 Device::releaseFullScreenExclusiveModeEXT( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, Dispatch const & d ) const 22580 { 22581 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22582 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 22583 VULKAN_HPP_ASSERT( d.vkReleaseFullScreenExclusiveModeEXT && "Function <vkReleaseFullScreenExclusiveModeEXT> requires <VK_EXT_full_screen_exclusive>" ); 22584 # endif 22585 22586 VULKAN_HPP_NAMESPACE::Result result = 22587 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkReleaseFullScreenExclusiveModeEXT( m_device, static_cast<VkSwapchainKHR>( swapchain ) ) ); 22588 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::releaseFullScreenExclusiveModeEXT" ); 22589 22590 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 22591 } 22592 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 22593 22594 // wrapper function for command vkGetDeviceGroupSurfacePresentModes2EXT, see 22595 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupSurfacePresentModes2EXT.html 22596 template <typename Dispatch> 22597 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getGroupSurfacePresentModes2EXT(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR * pModes,Dispatch const & d) const22598 Device::getGroupSurfacePresentModes2EXT( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo, 22599 VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR * pModes, 22600 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22601 { 22602 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22603 return static_cast<Result>( d.vkGetDeviceGroupSurfacePresentModes2EXT( static_cast<VkDevice>( m_device ), 22604 reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( pSurfaceInfo ), 22605 reinterpret_cast<VkDeviceGroupPresentModeFlagsKHR *>( pModes ) ) ); 22606 } 22607 22608 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 22609 // wrapper function for command vkGetDeviceGroupSurfacePresentModes2EXT, see 22610 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupSurfacePresentModes2EXT.html 22611 template <typename Dispatch> 22612 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR>::type getGroupSurfacePresentModes2EXT(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,Dispatch const & d) const22613 Device::getGroupSurfacePresentModes2EXT( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo, Dispatch const & d ) const 22614 { 22615 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22616 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 22617 VULKAN_HPP_ASSERT( d.vkGetDeviceGroupSurfacePresentModes2EXT && 22618 "Function <vkGetDeviceGroupSurfacePresentModes2EXT> requires <VK_EXT_full_screen_exclusive>" ); 22619 # endif 22620 22621 VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR modes; 22622 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetDeviceGroupSurfacePresentModes2EXT( 22623 m_device, reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), reinterpret_cast<VkDeviceGroupPresentModeFlagsKHR *>( &modes ) ) ); 22624 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getGroupSurfacePresentModes2EXT" ); 22625 22626 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( modes ) ); 22627 } 22628 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 22629 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 22630 22631 //=== VK_EXT_headless_surface === 22632 22633 // wrapper function for command vkCreateHeadlessSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateHeadlessSurfaceEXT.html 22634 template <typename Dispatch> createHeadlessSurfaceEXT(const VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,Dispatch const & d) const22635 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createHeadlessSurfaceEXT( const VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT * pCreateInfo, 22636 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 22637 VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface, 22638 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22639 { 22640 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22641 return static_cast<Result>( d.vkCreateHeadlessSurfaceEXT( static_cast<VkInstance>( m_instance ), 22642 reinterpret_cast<const VkHeadlessSurfaceCreateInfoEXT *>( pCreateInfo ), 22643 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 22644 reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) ); 22645 } 22646 22647 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 22648 // wrapper function for command vkCreateHeadlessSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateHeadlessSurfaceEXT.html 22649 template <typename Dispatch> 22650 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type createHeadlessSurfaceEXT(const VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const22651 Instance::createHeadlessSurfaceEXT( const VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT & createInfo, 22652 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 22653 Dispatch const & d ) const 22654 { 22655 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22656 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 22657 VULKAN_HPP_ASSERT( d.vkCreateHeadlessSurfaceEXT && "Function <vkCreateHeadlessSurfaceEXT> requires <VK_EXT_headless_surface>" ); 22658 # endif 22659 22660 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 22661 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateHeadlessSurfaceEXT( 22662 m_instance, 22663 reinterpret_cast<const VkHeadlessSurfaceCreateInfoEXT *>( &createInfo ), 22664 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 22665 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 22666 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createHeadlessSurfaceEXT" ); 22667 22668 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surface ) ); 22669 } 22670 22671 # ifndef VULKAN_HPP_NO_SMART_HANDLE 22672 // wrapper function for command vkCreateHeadlessSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateHeadlessSurfaceEXT.html 22673 template <typename Dispatch> 22674 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type createHeadlessSurfaceEXTUnique(const VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const22675 Instance::createHeadlessSurfaceEXTUnique( const VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT & createInfo, 22676 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 22677 Dispatch const & d ) const 22678 { 22679 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22680 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 22681 VULKAN_HPP_ASSERT( d.vkCreateHeadlessSurfaceEXT && "Function <vkCreateHeadlessSurfaceEXT> requires <VK_EXT_headless_surface>" ); 22682 # endif 22683 22684 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 22685 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateHeadlessSurfaceEXT( 22686 m_instance, 22687 reinterpret_cast<const VkHeadlessSurfaceCreateInfoEXT *>( &createInfo ), 22688 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 22689 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 22690 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createHeadlessSurfaceEXTUnique" ); 22691 22692 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 22693 result, UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>( surface, detail::ObjectDestroy<Instance, Dispatch>( *this, allocator, d ) ) ); 22694 } 22695 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 22696 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 22697 22698 //=== VK_KHR_buffer_device_address === 22699 22700 // wrapper function for command vkGetBufferDeviceAddressKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferDeviceAddressKHR.html 22701 template <typename Dispatch> getBufferAddressKHR(const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo * pInfo,Dispatch const & d) const22702 VULKAN_HPP_INLINE DeviceAddress Device::getBufferAddressKHR( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo * pInfo, 22703 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22704 { 22705 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22706 return static_cast<DeviceAddress>( 22707 d.vkGetBufferDeviceAddressKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkBufferDeviceAddressInfo *>( pInfo ) ) ); 22708 } 22709 22710 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 22711 // wrapper function for command vkGetBufferDeviceAddressKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferDeviceAddressKHR.html 22712 template <typename Dispatch> getBufferAddressKHR(const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo & info,Dispatch const & d) const22713 VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceAddress Device::getBufferAddressKHR( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo & info, 22714 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22715 { 22716 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22717 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 22718 VULKAN_HPP_ASSERT( d.vkGetBufferDeviceAddressKHR && 22719 "Function <vkGetBufferDeviceAddressKHR> requires <VK_EXT_buffer_device_address> or <VK_KHR_buffer_device_address> or <VK_VERSION_1_2>" ); 22720 # endif 22721 22722 VkDeviceAddress result = d.vkGetBufferDeviceAddressKHR( m_device, reinterpret_cast<const VkBufferDeviceAddressInfo *>( &info ) ); 22723 22724 return static_cast<VULKAN_HPP_NAMESPACE::DeviceAddress>( result ); 22725 } 22726 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 22727 22728 // wrapper function for command vkGetBufferOpaqueCaptureAddressKHR, see 22729 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferOpaqueCaptureAddressKHR.html 22730 template <typename Dispatch> getBufferOpaqueCaptureAddressKHR(const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo * pInfo,Dispatch const & d) const22731 VULKAN_HPP_INLINE uint64_t Device::getBufferOpaqueCaptureAddressKHR( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo * pInfo, 22732 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22733 { 22734 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22735 return d.vkGetBufferOpaqueCaptureAddressKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkBufferDeviceAddressInfo *>( pInfo ) ); 22736 } 22737 22738 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 22739 // wrapper function for command vkGetBufferOpaqueCaptureAddressKHR, see 22740 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferOpaqueCaptureAddressKHR.html 22741 template <typename Dispatch> getBufferOpaqueCaptureAddressKHR(const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo & info,Dispatch const & d) const22742 VULKAN_HPP_INLINE uint64_t Device::getBufferOpaqueCaptureAddressKHR( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo & info, 22743 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22744 { 22745 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22746 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 22747 VULKAN_HPP_ASSERT( d.vkGetBufferOpaqueCaptureAddressKHR && 22748 "Function <vkGetBufferOpaqueCaptureAddressKHR> requires <VK_KHR_buffer_device_address> or <VK_VERSION_1_2>" ); 22749 # endif 22750 22751 uint64_t result = d.vkGetBufferOpaqueCaptureAddressKHR( m_device, reinterpret_cast<const VkBufferDeviceAddressInfo *>( &info ) ); 22752 22753 return result; 22754 } 22755 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 22756 22757 // wrapper function for command vkGetDeviceMemoryOpaqueCaptureAddressKHR, see 22758 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMemoryOpaqueCaptureAddressKHR.html 22759 template <typename Dispatch> getMemoryOpaqueCaptureAddressKHR(const VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo * pInfo,Dispatch const & d) const22760 VULKAN_HPP_INLINE uint64_t Device::getMemoryOpaqueCaptureAddressKHR( const VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo * pInfo, 22761 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22762 { 22763 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22764 return d.vkGetDeviceMemoryOpaqueCaptureAddressKHR( static_cast<VkDevice>( m_device ), 22765 reinterpret_cast<const VkDeviceMemoryOpaqueCaptureAddressInfo *>( pInfo ) ); 22766 } 22767 22768 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 22769 // wrapper function for command vkGetDeviceMemoryOpaqueCaptureAddressKHR, see 22770 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMemoryOpaqueCaptureAddressKHR.html 22771 template <typename Dispatch> getMemoryOpaqueCaptureAddressKHR(const VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo & info,Dispatch const & d) const22772 VULKAN_HPP_INLINE uint64_t Device::getMemoryOpaqueCaptureAddressKHR( const VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo & info, 22773 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22774 { 22775 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22776 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 22777 VULKAN_HPP_ASSERT( d.vkGetDeviceMemoryOpaqueCaptureAddressKHR && 22778 "Function <vkGetDeviceMemoryOpaqueCaptureAddressKHR> requires <VK_KHR_buffer_device_address> or <VK_VERSION_1_2>" ); 22779 # endif 22780 22781 uint64_t result = d.vkGetDeviceMemoryOpaqueCaptureAddressKHR( m_device, reinterpret_cast<const VkDeviceMemoryOpaqueCaptureAddressInfo *>( &info ) ); 22782 22783 return result; 22784 } 22785 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 22786 22787 //=== VK_EXT_line_rasterization === 22788 22789 // wrapper function for command vkCmdSetLineStippleEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineStippleEXT.html 22790 template <typename Dispatch> 22791 VULKAN_HPP_INLINE void setLineStippleEXT(uint32_t lineStippleFactor,uint16_t lineStipplePattern,Dispatch const & d) const22792 CommandBuffer::setLineStippleEXT( uint32_t lineStippleFactor, uint16_t lineStipplePattern, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22793 { 22794 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22795 d.vkCmdSetLineStippleEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), lineStippleFactor, lineStipplePattern ); 22796 } 22797 22798 //=== VK_EXT_host_query_reset === 22799 22800 // wrapper function for command vkResetQueryPoolEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetQueryPoolEXT.html 22801 template <typename Dispatch> resetQueryPoolEXT(VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,Dispatch const & d) const22802 VULKAN_HPP_INLINE void Device::resetQueryPoolEXT( VULKAN_HPP_NAMESPACE::QueryPool queryPool, 22803 uint32_t firstQuery, 22804 uint32_t queryCount, 22805 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22806 { 22807 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22808 d.vkResetQueryPoolEXT( static_cast<VkDevice>( m_device ), static_cast<VkQueryPool>( queryPool ), firstQuery, queryCount ); 22809 } 22810 22811 //=== VK_EXT_extended_dynamic_state === 22812 22813 // wrapper function for command vkCmdSetCullModeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCullModeEXT.html 22814 template <typename Dispatch> setCullModeEXT(VULKAN_HPP_NAMESPACE::CullModeFlags cullMode,Dispatch const & d) const22815 VULKAN_HPP_INLINE void CommandBuffer::setCullModeEXT( VULKAN_HPP_NAMESPACE::CullModeFlags cullMode, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22816 { 22817 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22818 d.vkCmdSetCullModeEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkCullModeFlags>( cullMode ) ); 22819 } 22820 22821 // wrapper function for command vkCmdSetFrontFaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFrontFaceEXT.html 22822 template <typename Dispatch> setFrontFaceEXT(VULKAN_HPP_NAMESPACE::FrontFace frontFace,Dispatch const & d) const22823 VULKAN_HPP_INLINE void CommandBuffer::setFrontFaceEXT( VULKAN_HPP_NAMESPACE::FrontFace frontFace, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22824 { 22825 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22826 d.vkCmdSetFrontFaceEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkFrontFace>( frontFace ) ); 22827 } 22828 22829 // wrapper function for command vkCmdSetPrimitiveTopologyEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPrimitiveTopologyEXT.html 22830 template <typename Dispatch> setPrimitiveTopologyEXT(VULKAN_HPP_NAMESPACE::PrimitiveTopology primitiveTopology,Dispatch const & d) const22831 VULKAN_HPP_INLINE void CommandBuffer::setPrimitiveTopologyEXT( VULKAN_HPP_NAMESPACE::PrimitiveTopology primitiveTopology, 22832 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22833 { 22834 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22835 d.vkCmdSetPrimitiveTopologyEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkPrimitiveTopology>( primitiveTopology ) ); 22836 } 22837 22838 // wrapper function for command vkCmdSetViewportWithCountEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWithCountEXT.html 22839 template <typename Dispatch> setViewportWithCountEXT(uint32_t viewportCount,const VULKAN_HPP_NAMESPACE::Viewport * pViewports,Dispatch const & d) const22840 VULKAN_HPP_INLINE void CommandBuffer::setViewportWithCountEXT( uint32_t viewportCount, 22841 const VULKAN_HPP_NAMESPACE::Viewport * pViewports, 22842 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22843 { 22844 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22845 d.vkCmdSetViewportWithCountEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), viewportCount, reinterpret_cast<const VkViewport *>( pViewports ) ); 22846 } 22847 22848 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 22849 // wrapper function for command vkCmdSetViewportWithCountEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWithCountEXT.html 22850 template <typename Dispatch> setViewportWithCountEXT(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const & viewports,Dispatch const & d) const22851 VULKAN_HPP_INLINE void CommandBuffer::setViewportWithCountEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const & viewports, 22852 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22853 { 22854 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22855 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 22856 VULKAN_HPP_ASSERT( d.vkCmdSetViewportWithCountEXT && 22857 "Function <vkCmdSetViewportWithCountEXT> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); 22858 # endif 22859 22860 d.vkCmdSetViewportWithCountEXT( m_commandBuffer, viewports.size(), reinterpret_cast<const VkViewport *>( viewports.data() ) ); 22861 } 22862 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 22863 22864 // wrapper function for command vkCmdSetScissorWithCountEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetScissorWithCountEXT.html 22865 template <typename Dispatch> 22866 VULKAN_HPP_INLINE void setScissorWithCountEXT(uint32_t scissorCount,const VULKAN_HPP_NAMESPACE::Rect2D * pScissors,Dispatch const & d) const22867 CommandBuffer::setScissorWithCountEXT( uint32_t scissorCount, const VULKAN_HPP_NAMESPACE::Rect2D * pScissors, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22868 { 22869 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22870 d.vkCmdSetScissorWithCountEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), scissorCount, reinterpret_cast<const VkRect2D *>( pScissors ) ); 22871 } 22872 22873 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 22874 // wrapper function for command vkCmdSetScissorWithCountEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetScissorWithCountEXT.html 22875 template <typename Dispatch> setScissorWithCountEXT(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & scissors,Dispatch const & d) const22876 VULKAN_HPP_INLINE void CommandBuffer::setScissorWithCountEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & scissors, 22877 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22878 { 22879 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22880 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 22881 VULKAN_HPP_ASSERT( d.vkCmdSetScissorWithCountEXT && 22882 "Function <vkCmdSetScissorWithCountEXT> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); 22883 # endif 22884 22885 d.vkCmdSetScissorWithCountEXT( m_commandBuffer, scissors.size(), reinterpret_cast<const VkRect2D *>( scissors.data() ) ); 22886 } 22887 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 22888 22889 // wrapper function for command vkCmdBindVertexBuffers2EXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers2EXT.html 22890 template <typename Dispatch> bindVertexBuffers2EXT(uint32_t firstBinding,uint32_t bindingCount,const VULKAN_HPP_NAMESPACE::Buffer * pBuffers,const VULKAN_HPP_NAMESPACE::DeviceSize * pOffsets,const VULKAN_HPP_NAMESPACE::DeviceSize * pSizes,const VULKAN_HPP_NAMESPACE::DeviceSize * pStrides,Dispatch const & d) const22891 VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers2EXT( uint32_t firstBinding, 22892 uint32_t bindingCount, 22893 const VULKAN_HPP_NAMESPACE::Buffer * pBuffers, 22894 const VULKAN_HPP_NAMESPACE::DeviceSize * pOffsets, 22895 const VULKAN_HPP_NAMESPACE::DeviceSize * pSizes, 22896 const VULKAN_HPP_NAMESPACE::DeviceSize * pStrides, 22897 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22898 { 22899 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22900 d.vkCmdBindVertexBuffers2EXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 22901 firstBinding, 22902 bindingCount, 22903 reinterpret_cast<const VkBuffer *>( pBuffers ), 22904 reinterpret_cast<const VkDeviceSize *>( pOffsets ), 22905 reinterpret_cast<const VkDeviceSize *>( pSizes ), 22906 reinterpret_cast<const VkDeviceSize *>( pStrides ) ); 22907 } 22908 22909 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 22910 // wrapper function for command vkCmdBindVertexBuffers2EXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers2EXT.html 22911 template <typename Dispatch> bindVertexBuffers2EXT(uint32_t firstBinding,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & sizes,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & strides,Dispatch const & d) const22912 VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers2EXT( uint32_t firstBinding, 22913 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers, 22914 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets, 22915 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & sizes, 22916 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & strides, 22917 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS 22918 { 22919 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22920 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 22921 VULKAN_HPP_ASSERT( d.vkCmdBindVertexBuffers2EXT && 22922 "Function <vkCmdBindVertexBuffers2EXT> requires <VK_EXT_extended_dynamic_state> or <VK_EXT_shader_object> or <VK_VERSION_1_3>" ); 22923 # endif 22924 # ifdef VULKAN_HPP_NO_EXCEPTIONS 22925 VULKAN_HPP_ASSERT( buffers.size() == offsets.size() ); 22926 VULKAN_HPP_ASSERT( sizes.empty() || buffers.size() == sizes.size() ); 22927 VULKAN_HPP_ASSERT( strides.empty() || buffers.size() == strides.size() ); 22928 # else 22929 if ( buffers.size() != offsets.size() ) 22930 { 22931 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindVertexBuffers2EXT: buffers.size() != offsets.size()" ); 22932 } 22933 if ( !sizes.empty() && buffers.size() != sizes.size() ) 22934 { 22935 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindVertexBuffers2EXT: buffers.size() != sizes.size()" ); 22936 } 22937 if ( !strides.empty() && buffers.size() != strides.size() ) 22938 { 22939 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindVertexBuffers2EXT: buffers.size() != strides.size()" ); 22940 } 22941 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ 22942 22943 d.vkCmdBindVertexBuffers2EXT( m_commandBuffer, 22944 firstBinding, 22945 buffers.size(), 22946 reinterpret_cast<const VkBuffer *>( buffers.data() ), 22947 reinterpret_cast<const VkDeviceSize *>( offsets.data() ), 22948 reinterpret_cast<const VkDeviceSize *>( sizes.data() ), 22949 reinterpret_cast<const VkDeviceSize *>( strides.data() ) ); 22950 } 22951 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 22952 22953 // wrapper function for command vkCmdSetDepthTestEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthTestEnableEXT.html 22954 template <typename Dispatch> setDepthTestEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable,Dispatch const & d) const22955 VULKAN_HPP_INLINE void CommandBuffer::setDepthTestEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22956 { 22957 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22958 d.vkCmdSetDepthTestEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( depthTestEnable ) ); 22959 } 22960 22961 // wrapper function for command vkCmdSetDepthWriteEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthWriteEnableEXT.html 22962 template <typename Dispatch> setDepthWriteEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable,Dispatch const & d) const22963 VULKAN_HPP_INLINE void CommandBuffer::setDepthWriteEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22964 { 22965 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22966 d.vkCmdSetDepthWriteEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( depthWriteEnable ) ); 22967 } 22968 22969 // wrapper function for command vkCmdSetDepthCompareOpEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthCompareOpEXT.html 22970 template <typename Dispatch> setDepthCompareOpEXT(VULKAN_HPP_NAMESPACE::CompareOp depthCompareOp,Dispatch const & d) const22971 VULKAN_HPP_INLINE void CommandBuffer::setDepthCompareOpEXT( VULKAN_HPP_NAMESPACE::CompareOp depthCompareOp, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22972 { 22973 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22974 d.vkCmdSetDepthCompareOpEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkCompareOp>( depthCompareOp ) ); 22975 } 22976 22977 // wrapper function for command vkCmdSetDepthBoundsTestEnableEXT, see 22978 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBoundsTestEnableEXT.html 22979 template <typename Dispatch> setDepthBoundsTestEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable,Dispatch const & d) const22980 VULKAN_HPP_INLINE void CommandBuffer::setDepthBoundsTestEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable, 22981 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22982 { 22983 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22984 d.vkCmdSetDepthBoundsTestEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( depthBoundsTestEnable ) ); 22985 } 22986 22987 // wrapper function for command vkCmdSetStencilTestEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilTestEnableEXT.html 22988 template <typename Dispatch> setStencilTestEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable,Dispatch const & d) const22989 VULKAN_HPP_INLINE void CommandBuffer::setStencilTestEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 22990 { 22991 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 22992 d.vkCmdSetStencilTestEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( stencilTestEnable ) ); 22993 } 22994 22995 // wrapper function for command vkCmdSetStencilOpEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilOpEXT.html 22996 template <typename Dispatch> setStencilOpEXT(VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,VULKAN_HPP_NAMESPACE::StencilOp failOp,VULKAN_HPP_NAMESPACE::StencilOp passOp,VULKAN_HPP_NAMESPACE::StencilOp depthFailOp,VULKAN_HPP_NAMESPACE::CompareOp compareOp,Dispatch const & d) const22997 VULKAN_HPP_INLINE void CommandBuffer::setStencilOpEXT( VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask, 22998 VULKAN_HPP_NAMESPACE::StencilOp failOp, 22999 VULKAN_HPP_NAMESPACE::StencilOp passOp, 23000 VULKAN_HPP_NAMESPACE::StencilOp depthFailOp, 23001 VULKAN_HPP_NAMESPACE::CompareOp compareOp, 23002 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23003 { 23004 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23005 d.vkCmdSetStencilOpEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 23006 static_cast<VkStencilFaceFlags>( faceMask ), 23007 static_cast<VkStencilOp>( failOp ), 23008 static_cast<VkStencilOp>( passOp ), 23009 static_cast<VkStencilOp>( depthFailOp ), 23010 static_cast<VkCompareOp>( compareOp ) ); 23011 } 23012 23013 //=== VK_KHR_deferred_host_operations === 23014 23015 // wrapper function for command vkCreateDeferredOperationKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDeferredOperationKHR.html 23016 template <typename Dispatch> createDeferredOperationKHR(const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::DeferredOperationKHR * pDeferredOperation,Dispatch const & d) const23017 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createDeferredOperationKHR( const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 23018 VULKAN_HPP_NAMESPACE::DeferredOperationKHR * pDeferredOperation, 23019 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23020 { 23021 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23022 return static_cast<Result>( d.vkCreateDeferredOperationKHR( static_cast<VkDevice>( m_device ), 23023 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 23024 reinterpret_cast<VkDeferredOperationKHR *>( pDeferredOperation ) ) ); 23025 } 23026 23027 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 23028 // wrapper function for command vkCreateDeferredOperationKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDeferredOperationKHR.html 23029 template <typename Dispatch> 23030 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DeferredOperationKHR>::type createDeferredOperationKHR(Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const23031 Device::createDeferredOperationKHR( Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, Dispatch const & d ) const 23032 { 23033 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23034 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23035 VULKAN_HPP_ASSERT( d.vkCreateDeferredOperationKHR && "Function <vkCreateDeferredOperationKHR> requires <VK_KHR_deferred_host_operations>" ); 23036 # endif 23037 23038 VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation; 23039 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateDeferredOperationKHR( 23040 m_device, 23041 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 23042 reinterpret_cast<VkDeferredOperationKHR *>( &deferredOperation ) ) ); 23043 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createDeferredOperationKHR" ); 23044 23045 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( deferredOperation ) ); 23046 } 23047 23048 # ifndef VULKAN_HPP_NO_SMART_HANDLE 23049 // wrapper function for command vkCreateDeferredOperationKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDeferredOperationKHR.html 23050 template <typename Dispatch> 23051 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::DeferredOperationKHR, Dispatch>>::type createDeferredOperationKHRUnique(Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const23052 Device::createDeferredOperationKHRUnique( Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, Dispatch const & d ) const 23053 { 23054 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23055 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23056 VULKAN_HPP_ASSERT( d.vkCreateDeferredOperationKHR && "Function <vkCreateDeferredOperationKHR> requires <VK_KHR_deferred_host_operations>" ); 23057 # endif 23058 23059 VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation; 23060 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateDeferredOperationKHR( 23061 m_device, 23062 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 23063 reinterpret_cast<VkDeferredOperationKHR *>( &deferredOperation ) ) ); 23064 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createDeferredOperationKHRUnique" ); 23065 23066 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 23067 result, 23068 UniqueHandle<VULKAN_HPP_NAMESPACE::DeferredOperationKHR, Dispatch>( deferredOperation, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 23069 } 23070 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 23071 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 23072 23073 // wrapper function for command vkDestroyDeferredOperationKHR, see 23074 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDeferredOperationKHR.html 23075 template <typename Dispatch> destroyDeferredOperationKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const23076 VULKAN_HPP_INLINE void Device::destroyDeferredOperationKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation, 23077 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 23078 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23079 { 23080 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23081 d.vkDestroyDeferredOperationKHR( 23082 static_cast<VkDevice>( m_device ), static_cast<VkDeferredOperationKHR>( operation ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 23083 } 23084 23085 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 23086 // wrapper function for command vkDestroyDeferredOperationKHR, see 23087 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDeferredOperationKHR.html 23088 template <typename Dispatch> destroyDeferredOperationKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const23089 VULKAN_HPP_INLINE void Device::destroyDeferredOperationKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation, 23090 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 23091 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23092 { 23093 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23094 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23095 VULKAN_HPP_ASSERT( d.vkDestroyDeferredOperationKHR && "Function <vkDestroyDeferredOperationKHR> requires <VK_KHR_deferred_host_operations>" ); 23096 # endif 23097 23098 d.vkDestroyDeferredOperationKHR( 23099 m_device, 23100 static_cast<VkDeferredOperationKHR>( operation ), 23101 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 23102 } 23103 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 23104 23105 // wrapper function for command vkDestroyDeferredOperationKHR, see 23106 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDeferredOperationKHR.html 23107 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const23108 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation, 23109 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 23110 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23111 { 23112 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23113 d.vkDestroyDeferredOperationKHR( 23114 static_cast<VkDevice>( m_device ), static_cast<VkDeferredOperationKHR>( operation ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 23115 } 23116 23117 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 23118 // wrapper function for command vkDestroyDeferredOperationKHR, see 23119 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDeferredOperationKHR.html 23120 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const23121 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation, 23122 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 23123 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23124 { 23125 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23126 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23127 VULKAN_HPP_ASSERT( d.vkDestroyDeferredOperationKHR && "Function <vkDestroyDeferredOperationKHR> requires <VK_KHR_deferred_host_operations>" ); 23128 # endif 23129 23130 d.vkDestroyDeferredOperationKHR( 23131 m_device, 23132 static_cast<VkDeferredOperationKHR>( operation ), 23133 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 23134 } 23135 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 23136 23137 // wrapper function for command vkGetDeferredOperationMaxConcurrencyKHR, see 23138 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeferredOperationMaxConcurrencyKHR.html 23139 template <typename Dispatch> getDeferredOperationMaxConcurrencyKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,Dispatch const & d) const23140 VULKAN_HPP_INLINE uint32_t Device::getDeferredOperationMaxConcurrencyKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation, 23141 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23142 { 23143 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23144 return d.vkGetDeferredOperationMaxConcurrencyKHR( static_cast<VkDevice>( m_device ), static_cast<VkDeferredOperationKHR>( operation ) ); 23145 } 23146 23147 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 23148 // wrapper function for command vkGetDeferredOperationResultKHR, see 23149 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeferredOperationResultKHR.html 23150 template <typename Dispatch> getDeferredOperationResultKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,Dispatch const & d) const23151 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getDeferredOperationResultKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation, 23152 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23153 { 23154 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23155 return static_cast<Result>( d.vkGetDeferredOperationResultKHR( static_cast<VkDevice>( m_device ), static_cast<VkDeferredOperationKHR>( operation ) ) ); 23156 } 23157 #else 23158 // wrapper function for command vkGetDeferredOperationResultKHR, see 23159 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeferredOperationResultKHR.html 23160 template <typename Dispatch> 23161 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result getDeferredOperationResultKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,Dispatch const & d) const23162 Device::getDeferredOperationResultKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23163 { 23164 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23165 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23166 VULKAN_HPP_ASSERT( d.vkGetDeferredOperationResultKHR && "Function <vkGetDeferredOperationResultKHR> requires <VK_KHR_deferred_host_operations>" ); 23167 # endif 23168 23169 VULKAN_HPP_NAMESPACE::Result result = 23170 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetDeferredOperationResultKHR( m_device, static_cast<VkDeferredOperationKHR>( operation ) ) ); 23171 23172 return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); 23173 } 23174 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 23175 23176 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 23177 // wrapper function for command vkDeferredOperationJoinKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDeferredOperationJoinKHR.html 23178 template <typename Dispatch> deferredOperationJoinKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,Dispatch const & d) const23179 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::deferredOperationJoinKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation, 23180 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23181 { 23182 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23183 return static_cast<Result>( d.vkDeferredOperationJoinKHR( static_cast<VkDevice>( m_device ), static_cast<VkDeferredOperationKHR>( operation ) ) ); 23184 } 23185 #else 23186 // wrapper function for command vkDeferredOperationJoinKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDeferredOperationJoinKHR.html 23187 template <typename Dispatch> deferredOperationJoinKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation,Dispatch const & d) const23188 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Device::deferredOperationJoinKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operation, 23189 Dispatch const & d ) const 23190 { 23191 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23192 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23193 VULKAN_HPP_ASSERT( d.vkDeferredOperationJoinKHR && "Function <vkDeferredOperationJoinKHR> requires <VK_KHR_deferred_host_operations>" ); 23194 # endif 23195 23196 VULKAN_HPP_NAMESPACE::Result result = 23197 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkDeferredOperationJoinKHR( m_device, static_cast<VkDeferredOperationKHR>( operation ) ) ); 23198 VULKAN_HPP_NAMESPACE::detail::resultCheck( 23199 result, 23200 VULKAN_HPP_NAMESPACE_STRING "::Device::deferredOperationJoinKHR", 23201 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eThreadDoneKHR, VULKAN_HPP_NAMESPACE::Result::eThreadIdleKHR } ); 23202 23203 return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); 23204 } 23205 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 23206 23207 //=== VK_KHR_pipeline_executable_properties === 23208 23209 // wrapper function for command vkGetPipelineExecutablePropertiesKHR, see 23210 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutablePropertiesKHR.html 23211 template <typename Dispatch> getPipelineExecutablePropertiesKHR(const VULKAN_HPP_NAMESPACE::PipelineInfoKHR * pPipelineInfo,uint32_t * pExecutableCount,VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR * pProperties,Dispatch const & d) const23212 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getPipelineExecutablePropertiesKHR( const VULKAN_HPP_NAMESPACE::PipelineInfoKHR * pPipelineInfo, 23213 uint32_t * pExecutableCount, 23214 VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR * pProperties, 23215 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23216 { 23217 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23218 return static_cast<Result>( d.vkGetPipelineExecutablePropertiesKHR( static_cast<VkDevice>( m_device ), 23219 reinterpret_cast<const VkPipelineInfoKHR *>( pPipelineInfo ), 23220 pExecutableCount, 23221 reinterpret_cast<VkPipelineExecutablePropertiesKHR *>( pProperties ) ) ); 23222 } 23223 23224 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 23225 // wrapper function for command vkGetPipelineExecutablePropertiesKHR, see 23226 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutablePropertiesKHR.html 23227 template <typename PipelineExecutablePropertiesKHRAllocator, 23228 typename Dispatch, 23229 typename std::enable_if< 23230 std::is_same<typename PipelineExecutablePropertiesKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR>::value, 23231 int>::type> 23232 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 23233 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR, PipelineExecutablePropertiesKHRAllocator>>::type getPipelineExecutablePropertiesKHR(const VULKAN_HPP_NAMESPACE::PipelineInfoKHR & pipelineInfo,Dispatch const & d) const23234 Device::getPipelineExecutablePropertiesKHR( const VULKAN_HPP_NAMESPACE::PipelineInfoKHR & pipelineInfo, Dispatch const & d ) const 23235 { 23236 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23237 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23238 VULKAN_HPP_ASSERT( d.vkGetPipelineExecutablePropertiesKHR && 23239 "Function <vkGetPipelineExecutablePropertiesKHR> requires <VK_KHR_pipeline_executable_properties>" ); 23240 # endif 23241 23242 std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR, PipelineExecutablePropertiesKHRAllocator> properties; 23243 uint32_t executableCount; 23244 VULKAN_HPP_NAMESPACE::Result result; 23245 do 23246 { 23247 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 23248 d.vkGetPipelineExecutablePropertiesKHR( m_device, reinterpret_cast<const VkPipelineInfoKHR *>( &pipelineInfo ), &executableCount, nullptr ) ); 23249 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && executableCount ) 23250 { 23251 properties.resize( executableCount ); 23252 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 23253 d.vkGetPipelineExecutablePropertiesKHR( m_device, 23254 reinterpret_cast<const VkPipelineInfoKHR *>( &pipelineInfo ), 23255 &executableCount, 23256 reinterpret_cast<VkPipelineExecutablePropertiesKHR *>( properties.data() ) ) ); 23257 } 23258 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 23259 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutablePropertiesKHR" ); 23260 VULKAN_HPP_ASSERT( executableCount <= properties.size() ); 23261 if ( executableCount < properties.size() ) 23262 { 23263 properties.resize( executableCount ); 23264 } 23265 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 23266 } 23267 23268 // wrapper function for command vkGetPipelineExecutablePropertiesKHR, see 23269 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutablePropertiesKHR.html 23270 template <typename PipelineExecutablePropertiesKHRAllocator, 23271 typename Dispatch, 23272 typename std::enable_if< 23273 std::is_same<typename PipelineExecutablePropertiesKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR>::value, 23274 int>::type> 23275 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 23276 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR, PipelineExecutablePropertiesKHRAllocator>>::type getPipelineExecutablePropertiesKHR(const VULKAN_HPP_NAMESPACE::PipelineInfoKHR & pipelineInfo,PipelineExecutablePropertiesKHRAllocator & pipelineExecutablePropertiesKHRAllocator,Dispatch const & d) const23277 Device::getPipelineExecutablePropertiesKHR( const VULKAN_HPP_NAMESPACE::PipelineInfoKHR & pipelineInfo, 23278 PipelineExecutablePropertiesKHRAllocator & pipelineExecutablePropertiesKHRAllocator, 23279 Dispatch const & d ) const 23280 { 23281 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23282 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23283 VULKAN_HPP_ASSERT( d.vkGetPipelineExecutablePropertiesKHR && 23284 "Function <vkGetPipelineExecutablePropertiesKHR> requires <VK_KHR_pipeline_executable_properties>" ); 23285 # endif 23286 23287 std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR, PipelineExecutablePropertiesKHRAllocator> properties( 23288 pipelineExecutablePropertiesKHRAllocator ); 23289 uint32_t executableCount; 23290 VULKAN_HPP_NAMESPACE::Result result; 23291 do 23292 { 23293 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 23294 d.vkGetPipelineExecutablePropertiesKHR( m_device, reinterpret_cast<const VkPipelineInfoKHR *>( &pipelineInfo ), &executableCount, nullptr ) ); 23295 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && executableCount ) 23296 { 23297 properties.resize( executableCount ); 23298 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 23299 d.vkGetPipelineExecutablePropertiesKHR( m_device, 23300 reinterpret_cast<const VkPipelineInfoKHR *>( &pipelineInfo ), 23301 &executableCount, 23302 reinterpret_cast<VkPipelineExecutablePropertiesKHR *>( properties.data() ) ) ); 23303 } 23304 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 23305 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutablePropertiesKHR" ); 23306 VULKAN_HPP_ASSERT( executableCount <= properties.size() ); 23307 if ( executableCount < properties.size() ) 23308 { 23309 properties.resize( executableCount ); 23310 } 23311 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 23312 } 23313 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 23314 23315 // wrapper function for command vkGetPipelineExecutableStatisticsKHR, see 23316 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutableStatisticsKHR.html 23317 template <typename Dispatch> 23318 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getPipelineExecutableStatisticsKHR(const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR * pExecutableInfo,uint32_t * pStatisticCount,VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR * pStatistics,Dispatch const & d) const23319 Device::getPipelineExecutableStatisticsKHR( const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR * pExecutableInfo, 23320 uint32_t * pStatisticCount, 23321 VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR * pStatistics, 23322 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23323 { 23324 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23325 return static_cast<Result>( d.vkGetPipelineExecutableStatisticsKHR( static_cast<VkDevice>( m_device ), 23326 reinterpret_cast<const VkPipelineExecutableInfoKHR *>( pExecutableInfo ), 23327 pStatisticCount, 23328 reinterpret_cast<VkPipelineExecutableStatisticKHR *>( pStatistics ) ) ); 23329 } 23330 23331 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 23332 // wrapper function for command vkGetPipelineExecutableStatisticsKHR, see 23333 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutableStatisticsKHR.html 23334 template <typename PipelineExecutableStatisticKHRAllocator, 23335 typename Dispatch, 23336 typename std::enable_if< 23337 std::is_same<typename PipelineExecutableStatisticKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR>::value, 23338 int>::type> 23339 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 23340 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR, PipelineExecutableStatisticKHRAllocator>>::type getPipelineExecutableStatisticsKHR(const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR & executableInfo,Dispatch const & d) const23341 Device::getPipelineExecutableStatisticsKHR( const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR & executableInfo, Dispatch const & d ) const 23342 { 23343 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23344 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23345 VULKAN_HPP_ASSERT( d.vkGetPipelineExecutableStatisticsKHR && 23346 "Function <vkGetPipelineExecutableStatisticsKHR> requires <VK_KHR_pipeline_executable_properties>" ); 23347 # endif 23348 23349 std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR, PipelineExecutableStatisticKHRAllocator> statistics; 23350 uint32_t statisticCount; 23351 VULKAN_HPP_NAMESPACE::Result result; 23352 do 23353 { 23354 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPipelineExecutableStatisticsKHR( 23355 m_device, reinterpret_cast<const VkPipelineExecutableInfoKHR *>( &executableInfo ), &statisticCount, nullptr ) ); 23356 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && statisticCount ) 23357 { 23358 statistics.resize( statisticCount ); 23359 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 23360 d.vkGetPipelineExecutableStatisticsKHR( m_device, 23361 reinterpret_cast<const VkPipelineExecutableInfoKHR *>( &executableInfo ), 23362 &statisticCount, 23363 reinterpret_cast<VkPipelineExecutableStatisticKHR *>( statistics.data() ) ) ); 23364 } 23365 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 23366 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutableStatisticsKHR" ); 23367 VULKAN_HPP_ASSERT( statisticCount <= statistics.size() ); 23368 if ( statisticCount < statistics.size() ) 23369 { 23370 statistics.resize( statisticCount ); 23371 } 23372 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( statistics ) ); 23373 } 23374 23375 // wrapper function for command vkGetPipelineExecutableStatisticsKHR, see 23376 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutableStatisticsKHR.html 23377 template <typename PipelineExecutableStatisticKHRAllocator, 23378 typename Dispatch, 23379 typename std::enable_if< 23380 std::is_same<typename PipelineExecutableStatisticKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR>::value, 23381 int>::type> 23382 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 23383 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR, PipelineExecutableStatisticKHRAllocator>>::type getPipelineExecutableStatisticsKHR(const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR & executableInfo,PipelineExecutableStatisticKHRAllocator & pipelineExecutableStatisticKHRAllocator,Dispatch const & d) const23384 Device::getPipelineExecutableStatisticsKHR( const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR & executableInfo, 23385 PipelineExecutableStatisticKHRAllocator & pipelineExecutableStatisticKHRAllocator, 23386 Dispatch const & d ) const 23387 { 23388 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23389 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23390 VULKAN_HPP_ASSERT( d.vkGetPipelineExecutableStatisticsKHR && 23391 "Function <vkGetPipelineExecutableStatisticsKHR> requires <VK_KHR_pipeline_executable_properties>" ); 23392 # endif 23393 23394 std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR, PipelineExecutableStatisticKHRAllocator> statistics( 23395 pipelineExecutableStatisticKHRAllocator ); 23396 uint32_t statisticCount; 23397 VULKAN_HPP_NAMESPACE::Result result; 23398 do 23399 { 23400 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPipelineExecutableStatisticsKHR( 23401 m_device, reinterpret_cast<const VkPipelineExecutableInfoKHR *>( &executableInfo ), &statisticCount, nullptr ) ); 23402 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && statisticCount ) 23403 { 23404 statistics.resize( statisticCount ); 23405 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 23406 d.vkGetPipelineExecutableStatisticsKHR( m_device, 23407 reinterpret_cast<const VkPipelineExecutableInfoKHR *>( &executableInfo ), 23408 &statisticCount, 23409 reinterpret_cast<VkPipelineExecutableStatisticKHR *>( statistics.data() ) ) ); 23410 } 23411 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 23412 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutableStatisticsKHR" ); 23413 VULKAN_HPP_ASSERT( statisticCount <= statistics.size() ); 23414 if ( statisticCount < statistics.size() ) 23415 { 23416 statistics.resize( statisticCount ); 23417 } 23418 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( statistics ) ); 23419 } 23420 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 23421 23422 // wrapper function for command vkGetPipelineExecutableInternalRepresentationsKHR, see 23423 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutableInternalRepresentationsKHR.html 23424 template <typename Dispatch> 23425 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getPipelineExecutableInternalRepresentationsKHR(const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR * pExecutableInfo,uint32_t * pInternalRepresentationCount,VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR * pInternalRepresentations,Dispatch const & d) const23426 Device::getPipelineExecutableInternalRepresentationsKHR( const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR * pExecutableInfo, 23427 uint32_t * pInternalRepresentationCount, 23428 VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR * pInternalRepresentations, 23429 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23430 { 23431 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23432 return static_cast<Result>( 23433 d.vkGetPipelineExecutableInternalRepresentationsKHR( static_cast<VkDevice>( m_device ), 23434 reinterpret_cast<const VkPipelineExecutableInfoKHR *>( pExecutableInfo ), 23435 pInternalRepresentationCount, 23436 reinterpret_cast<VkPipelineExecutableInternalRepresentationKHR *>( pInternalRepresentations ) ) ); 23437 } 23438 23439 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 23440 // wrapper function for command vkGetPipelineExecutableInternalRepresentationsKHR, see 23441 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutableInternalRepresentationsKHR.html 23442 template <typename PipelineExecutableInternalRepresentationKHRAllocator, 23443 typename Dispatch, 23444 typename std::enable_if<std::is_same<typename PipelineExecutableInternalRepresentationKHRAllocator::value_type, 23445 VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR>::value, 23446 int>::type> 23447 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType< 23448 std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR, PipelineExecutableInternalRepresentationKHRAllocator>>::type getPipelineExecutableInternalRepresentationsKHR(const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR & executableInfo,Dispatch const & d) const23449 Device::getPipelineExecutableInternalRepresentationsKHR( const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR & executableInfo, Dispatch const & d ) const 23450 { 23451 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23452 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23453 VULKAN_HPP_ASSERT( d.vkGetPipelineExecutableInternalRepresentationsKHR && 23454 "Function <vkGetPipelineExecutableInternalRepresentationsKHR> requires <VK_KHR_pipeline_executable_properties>" ); 23455 # endif 23456 23457 std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR, PipelineExecutableInternalRepresentationKHRAllocator> 23458 internalRepresentations; 23459 uint32_t internalRepresentationCount; 23460 VULKAN_HPP_NAMESPACE::Result result; 23461 do 23462 { 23463 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPipelineExecutableInternalRepresentationsKHR( 23464 m_device, reinterpret_cast<const VkPipelineExecutableInfoKHR *>( &executableInfo ), &internalRepresentationCount, nullptr ) ); 23465 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && internalRepresentationCount ) 23466 { 23467 internalRepresentations.resize( internalRepresentationCount ); 23468 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPipelineExecutableInternalRepresentationsKHR( 23469 m_device, 23470 reinterpret_cast<const VkPipelineExecutableInfoKHR *>( &executableInfo ), 23471 &internalRepresentationCount, 23472 reinterpret_cast<VkPipelineExecutableInternalRepresentationKHR *>( internalRepresentations.data() ) ) ); 23473 } 23474 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 23475 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutableInternalRepresentationsKHR" ); 23476 VULKAN_HPP_ASSERT( internalRepresentationCount <= internalRepresentations.size() ); 23477 if ( internalRepresentationCount < internalRepresentations.size() ) 23478 { 23479 internalRepresentations.resize( internalRepresentationCount ); 23480 } 23481 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( internalRepresentations ) ); 23482 } 23483 23484 // wrapper function for command vkGetPipelineExecutableInternalRepresentationsKHR, see 23485 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutableInternalRepresentationsKHR.html 23486 template <typename PipelineExecutableInternalRepresentationKHRAllocator, 23487 typename Dispatch, 23488 typename std::enable_if<std::is_same<typename PipelineExecutableInternalRepresentationKHRAllocator::value_type, 23489 VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR>::value, 23490 int>::type> 23491 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType< 23492 std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR, PipelineExecutableInternalRepresentationKHRAllocator>>::type getPipelineExecutableInternalRepresentationsKHR(const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR & executableInfo,PipelineExecutableInternalRepresentationKHRAllocator & pipelineExecutableInternalRepresentationKHRAllocator,Dispatch const & d) const23493 Device::getPipelineExecutableInternalRepresentationsKHR( 23494 const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR & executableInfo, 23495 PipelineExecutableInternalRepresentationKHRAllocator & pipelineExecutableInternalRepresentationKHRAllocator, 23496 Dispatch const & d ) const 23497 { 23498 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23499 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23500 VULKAN_HPP_ASSERT( d.vkGetPipelineExecutableInternalRepresentationsKHR && 23501 "Function <vkGetPipelineExecutableInternalRepresentationsKHR> requires <VK_KHR_pipeline_executable_properties>" ); 23502 # endif 23503 23504 std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR, PipelineExecutableInternalRepresentationKHRAllocator> 23505 internalRepresentations( pipelineExecutableInternalRepresentationKHRAllocator ); 23506 uint32_t internalRepresentationCount; 23507 VULKAN_HPP_NAMESPACE::Result result; 23508 do 23509 { 23510 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPipelineExecutableInternalRepresentationsKHR( 23511 m_device, reinterpret_cast<const VkPipelineExecutableInfoKHR *>( &executableInfo ), &internalRepresentationCount, nullptr ) ); 23512 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && internalRepresentationCount ) 23513 { 23514 internalRepresentations.resize( internalRepresentationCount ); 23515 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPipelineExecutableInternalRepresentationsKHR( 23516 m_device, 23517 reinterpret_cast<const VkPipelineExecutableInfoKHR *>( &executableInfo ), 23518 &internalRepresentationCount, 23519 reinterpret_cast<VkPipelineExecutableInternalRepresentationKHR *>( internalRepresentations.data() ) ) ); 23520 } 23521 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 23522 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutableInternalRepresentationsKHR" ); 23523 VULKAN_HPP_ASSERT( internalRepresentationCount <= internalRepresentations.size() ); 23524 if ( internalRepresentationCount < internalRepresentations.size() ) 23525 { 23526 internalRepresentations.resize( internalRepresentationCount ); 23527 } 23528 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( internalRepresentations ) ); 23529 } 23530 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 23531 23532 //=== VK_EXT_host_image_copy === 23533 23534 // wrapper function for command vkCopyMemoryToImageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToImageEXT.html 23535 template <typename Dispatch> copyMemoryToImageEXT(const VULKAN_HPP_NAMESPACE::CopyMemoryToImageInfo * pCopyMemoryToImageInfo,Dispatch const & d) const23536 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyMemoryToImageEXT( const VULKAN_HPP_NAMESPACE::CopyMemoryToImageInfo * pCopyMemoryToImageInfo, 23537 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23538 { 23539 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23540 return static_cast<Result>( 23541 d.vkCopyMemoryToImageEXT( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkCopyMemoryToImageInfo *>( pCopyMemoryToImageInfo ) ) ); 23542 } 23543 23544 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 23545 // wrapper function for command vkCopyMemoryToImageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToImageEXT.html 23546 template <typename Dispatch> 23547 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type copyMemoryToImageEXT(const VULKAN_HPP_NAMESPACE::CopyMemoryToImageInfo & copyMemoryToImageInfo,Dispatch const & d) const23548 Device::copyMemoryToImageEXT( const VULKAN_HPP_NAMESPACE::CopyMemoryToImageInfo & copyMemoryToImageInfo, Dispatch const & d ) const 23549 { 23550 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23551 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23552 VULKAN_HPP_ASSERT( d.vkCopyMemoryToImageEXT && "Function <vkCopyMemoryToImageEXT> requires <VK_EXT_host_image_copy> or <VK_VERSION_1_4>" ); 23553 # endif 23554 23555 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 23556 d.vkCopyMemoryToImageEXT( m_device, reinterpret_cast<const VkCopyMemoryToImageInfo *>( ©MemoryToImageInfo ) ) ); 23557 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::copyMemoryToImageEXT" ); 23558 23559 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 23560 } 23561 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 23562 23563 // wrapper function for command vkCopyImageToMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToMemoryEXT.html 23564 template <typename Dispatch> copyImageToMemoryEXT(const VULKAN_HPP_NAMESPACE::CopyImageToMemoryInfo * pCopyImageToMemoryInfo,Dispatch const & d) const23565 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyImageToMemoryEXT( const VULKAN_HPP_NAMESPACE::CopyImageToMemoryInfo * pCopyImageToMemoryInfo, 23566 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23567 { 23568 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23569 return static_cast<Result>( 23570 d.vkCopyImageToMemoryEXT( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkCopyImageToMemoryInfo *>( pCopyImageToMemoryInfo ) ) ); 23571 } 23572 23573 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 23574 // wrapper function for command vkCopyImageToMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToMemoryEXT.html 23575 template <typename Dispatch> 23576 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type copyImageToMemoryEXT(const VULKAN_HPP_NAMESPACE::CopyImageToMemoryInfo & copyImageToMemoryInfo,Dispatch const & d) const23577 Device::copyImageToMemoryEXT( const VULKAN_HPP_NAMESPACE::CopyImageToMemoryInfo & copyImageToMemoryInfo, Dispatch const & d ) const 23578 { 23579 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23580 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23581 VULKAN_HPP_ASSERT( d.vkCopyImageToMemoryEXT && "Function <vkCopyImageToMemoryEXT> requires <VK_EXT_host_image_copy> or <VK_VERSION_1_4>" ); 23582 # endif 23583 23584 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 23585 d.vkCopyImageToMemoryEXT( m_device, reinterpret_cast<const VkCopyImageToMemoryInfo *>( ©ImageToMemoryInfo ) ) ); 23586 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::copyImageToMemoryEXT" ); 23587 23588 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 23589 } 23590 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 23591 23592 // wrapper function for command vkCopyImageToImageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToImageEXT.html 23593 template <typename Dispatch> copyImageToImageEXT(const VULKAN_HPP_NAMESPACE::CopyImageToImageInfo * pCopyImageToImageInfo,Dispatch const & d) const23594 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyImageToImageEXT( const VULKAN_HPP_NAMESPACE::CopyImageToImageInfo * pCopyImageToImageInfo, 23595 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23596 { 23597 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23598 return static_cast<Result>( 23599 d.vkCopyImageToImageEXT( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkCopyImageToImageInfo *>( pCopyImageToImageInfo ) ) ); 23600 } 23601 23602 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 23603 // wrapper function for command vkCopyImageToImageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToImageEXT.html 23604 template <typename Dispatch> 23605 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type copyImageToImageEXT(const VULKAN_HPP_NAMESPACE::CopyImageToImageInfo & copyImageToImageInfo,Dispatch const & d) const23606 Device::copyImageToImageEXT( const VULKAN_HPP_NAMESPACE::CopyImageToImageInfo & copyImageToImageInfo, Dispatch const & d ) const 23607 { 23608 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23609 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23610 VULKAN_HPP_ASSERT( d.vkCopyImageToImageEXT && "Function <vkCopyImageToImageEXT> requires <VK_EXT_host_image_copy> or <VK_VERSION_1_4>" ); 23611 # endif 23612 23613 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 23614 d.vkCopyImageToImageEXT( m_device, reinterpret_cast<const VkCopyImageToImageInfo *>( ©ImageToImageInfo ) ) ); 23615 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::copyImageToImageEXT" ); 23616 23617 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 23618 } 23619 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 23620 23621 // wrapper function for command vkTransitionImageLayoutEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTransitionImageLayoutEXT.html 23622 template <typename Dispatch> transitionImageLayoutEXT(uint32_t transitionCount,const VULKAN_HPP_NAMESPACE::HostImageLayoutTransitionInfo * pTransitions,Dispatch const & d) const23623 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::transitionImageLayoutEXT( uint32_t transitionCount, 23624 const VULKAN_HPP_NAMESPACE::HostImageLayoutTransitionInfo * pTransitions, 23625 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23626 { 23627 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23628 return static_cast<Result>( d.vkTransitionImageLayoutEXT( 23629 static_cast<VkDevice>( m_device ), transitionCount, reinterpret_cast<const VkHostImageLayoutTransitionInfo *>( pTransitions ) ) ); 23630 } 23631 23632 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 23633 // wrapper function for command vkTransitionImageLayoutEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTransitionImageLayoutEXT.html 23634 template <typename Dispatch> 23635 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type transitionImageLayoutEXT(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::HostImageLayoutTransitionInfo> const & transitions,Dispatch const & d) const23636 Device::transitionImageLayoutEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::HostImageLayoutTransitionInfo> const & transitions, 23637 Dispatch const & d ) const 23638 { 23639 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23640 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23641 VULKAN_HPP_ASSERT( d.vkTransitionImageLayoutEXT && "Function <vkTransitionImageLayoutEXT> requires <VK_EXT_host_image_copy> or <VK_VERSION_1_4>" ); 23642 # endif 23643 23644 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 23645 d.vkTransitionImageLayoutEXT( m_device, transitions.size(), reinterpret_cast<const VkHostImageLayoutTransitionInfo *>( transitions.data() ) ) ); 23646 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::transitionImageLayoutEXT" ); 23647 23648 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 23649 } 23650 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 23651 23652 // wrapper function for command vkGetImageSubresourceLayout2EXT, see 23653 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2EXT.html 23654 template <typename Dispatch> getImageSubresourceLayout2EXT(VULKAN_HPP_NAMESPACE::Image image,const VULKAN_HPP_NAMESPACE::ImageSubresource2 * pSubresource,VULKAN_HPP_NAMESPACE::SubresourceLayout2 * pLayout,Dispatch const & d) const23655 VULKAN_HPP_INLINE void Device::getImageSubresourceLayout2EXT( VULKAN_HPP_NAMESPACE::Image image, 23656 const VULKAN_HPP_NAMESPACE::ImageSubresource2 * pSubresource, 23657 VULKAN_HPP_NAMESPACE::SubresourceLayout2 * pLayout, 23658 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23659 { 23660 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23661 d.vkGetImageSubresourceLayout2EXT( static_cast<VkDevice>( m_device ), 23662 static_cast<VkImage>( image ), 23663 reinterpret_cast<const VkImageSubresource2 *>( pSubresource ), 23664 reinterpret_cast<VkSubresourceLayout2 *>( pLayout ) ); 23665 } 23666 23667 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 23668 // wrapper function for command vkGetImageSubresourceLayout2EXT, see 23669 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2EXT.html 23670 template <typename Dispatch> getImageSubresourceLayout2EXT(VULKAN_HPP_NAMESPACE::Image image,const VULKAN_HPP_NAMESPACE::ImageSubresource2 & subresource,Dispatch const & d) const23671 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::SubresourceLayout2 Device::getImageSubresourceLayout2EXT( 23672 VULKAN_HPP_NAMESPACE::Image image, const VULKAN_HPP_NAMESPACE::ImageSubresource2 & subresource, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23673 { 23674 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23675 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23676 VULKAN_HPP_ASSERT( 23677 d.vkGetImageSubresourceLayout2EXT && 23678 "Function <vkGetImageSubresourceLayout2EXT> requires <VK_EXT_host_image_copy> or <VK_EXT_image_compression_control> or <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); 23679 # endif 23680 23681 VULKAN_HPP_NAMESPACE::SubresourceLayout2 layout; 23682 d.vkGetImageSubresourceLayout2EXT( m_device, 23683 static_cast<VkImage>( image ), 23684 reinterpret_cast<const VkImageSubresource2 *>( &subresource ), 23685 reinterpret_cast<VkSubresourceLayout2 *>( &layout ) ); 23686 23687 return layout; 23688 } 23689 23690 // wrapper function for command vkGetImageSubresourceLayout2EXT, see 23691 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2EXT.html 23692 template <typename X, typename Y, typename... Z, typename Dispatch> getImageSubresourceLayout2EXT(VULKAN_HPP_NAMESPACE::Image image,const VULKAN_HPP_NAMESPACE::ImageSubresource2 & subresource,Dispatch const & d) const23693 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> Device::getImageSubresourceLayout2EXT( 23694 VULKAN_HPP_NAMESPACE::Image image, const VULKAN_HPP_NAMESPACE::ImageSubresource2 & subresource, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23695 { 23696 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23697 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23698 VULKAN_HPP_ASSERT( 23699 d.vkGetImageSubresourceLayout2EXT && 23700 "Function <vkGetImageSubresourceLayout2EXT> requires <VK_EXT_host_image_copy> or <VK_EXT_image_compression_control> or <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); 23701 # endif 23702 23703 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 23704 VULKAN_HPP_NAMESPACE::SubresourceLayout2 & layout = structureChain.template get<VULKAN_HPP_NAMESPACE::SubresourceLayout2>(); 23705 d.vkGetImageSubresourceLayout2EXT( m_device, 23706 static_cast<VkImage>( image ), 23707 reinterpret_cast<const VkImageSubresource2 *>( &subresource ), 23708 reinterpret_cast<VkSubresourceLayout2 *>( &layout ) ); 23709 23710 return structureChain; 23711 } 23712 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 23713 23714 //=== VK_KHR_map_memory2 === 23715 23716 // wrapper function for command vkMapMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory2KHR.html 23717 template <typename Dispatch> mapMemory2KHR(const VULKAN_HPP_NAMESPACE::MemoryMapInfo * pMemoryMapInfo,void ** ppData,Dispatch const & d) const23718 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::mapMemory2KHR( const VULKAN_HPP_NAMESPACE::MemoryMapInfo * pMemoryMapInfo, 23719 void ** ppData, 23720 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23721 { 23722 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23723 return static_cast<Result>( d.vkMapMemory2KHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkMemoryMapInfo *>( pMemoryMapInfo ), ppData ) ); 23724 } 23725 23726 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 23727 // wrapper function for command vkMapMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory2KHR.html 23728 template <typename Dispatch> 23729 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<void *>::type mapMemory2KHR(const VULKAN_HPP_NAMESPACE::MemoryMapInfo & memoryMapInfo,Dispatch const & d) const23730 Device::mapMemory2KHR( const VULKAN_HPP_NAMESPACE::MemoryMapInfo & memoryMapInfo, Dispatch const & d ) const 23731 { 23732 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23733 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23734 VULKAN_HPP_ASSERT( d.vkMapMemory2KHR && "Function <vkMapMemory2KHR> requires <VK_KHR_map_memory2> or <VK_VERSION_1_4>" ); 23735 # endif 23736 23737 void * pData; 23738 VULKAN_HPP_NAMESPACE::Result result = 23739 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkMapMemory2KHR( m_device, reinterpret_cast<const VkMemoryMapInfo *>( &memoryMapInfo ), &pData ) ); 23740 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::mapMemory2KHR" ); 23741 23742 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pData ) ); 23743 } 23744 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 23745 23746 // wrapper function for command vkUnmapMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnmapMemory2KHR.html 23747 template <typename Dispatch> unmapMemory2KHR(const VULKAN_HPP_NAMESPACE::MemoryUnmapInfo * pMemoryUnmapInfo,Dispatch const & d) const23748 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::unmapMemory2KHR( const VULKAN_HPP_NAMESPACE::MemoryUnmapInfo * pMemoryUnmapInfo, 23749 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23750 { 23751 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23752 return static_cast<Result>( d.vkUnmapMemory2KHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkMemoryUnmapInfo *>( pMemoryUnmapInfo ) ) ); 23753 } 23754 23755 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 23756 // wrapper function for command vkUnmapMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnmapMemory2KHR.html 23757 template <typename Dispatch> unmapMemory2KHR(const VULKAN_HPP_NAMESPACE::MemoryUnmapInfo & memoryUnmapInfo,Dispatch const & d) const23758 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::unmapMemory2KHR( const VULKAN_HPP_NAMESPACE::MemoryUnmapInfo & memoryUnmapInfo, 23759 Dispatch const & d ) const 23760 { 23761 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23762 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23763 VULKAN_HPP_ASSERT( d.vkUnmapMemory2KHR && "Function <vkUnmapMemory2KHR> requires <VK_KHR_map_memory2> or <VK_VERSION_1_4>" ); 23764 # endif 23765 23766 VULKAN_HPP_NAMESPACE::Result result = 23767 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkUnmapMemory2KHR( m_device, reinterpret_cast<const VkMemoryUnmapInfo *>( &memoryUnmapInfo ) ) ); 23768 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::unmapMemory2KHR" ); 23769 23770 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 23771 } 23772 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 23773 23774 //=== VK_EXT_swapchain_maintenance1 === 23775 23776 // wrapper function for command vkReleaseSwapchainImagesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseSwapchainImagesEXT.html 23777 template <typename Dispatch> releaseSwapchainImagesEXT(const VULKAN_HPP_NAMESPACE::ReleaseSwapchainImagesInfoEXT * pReleaseInfo,Dispatch const & d) const23778 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::releaseSwapchainImagesEXT( const VULKAN_HPP_NAMESPACE::ReleaseSwapchainImagesInfoEXT * pReleaseInfo, 23779 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23780 { 23781 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23782 return static_cast<Result>( 23783 d.vkReleaseSwapchainImagesEXT( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkReleaseSwapchainImagesInfoEXT *>( pReleaseInfo ) ) ); 23784 } 23785 23786 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 23787 // wrapper function for command vkReleaseSwapchainImagesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseSwapchainImagesEXT.html 23788 template <typename Dispatch> 23789 VULKAN_HPP_INLINE typename ResultValueType<void>::type releaseSwapchainImagesEXT(const VULKAN_HPP_NAMESPACE::ReleaseSwapchainImagesInfoEXT & releaseInfo,Dispatch const & d) const23790 Device::releaseSwapchainImagesEXT( const VULKAN_HPP_NAMESPACE::ReleaseSwapchainImagesInfoEXT & releaseInfo, Dispatch const & d ) const 23791 { 23792 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23793 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23794 VULKAN_HPP_ASSERT( d.vkReleaseSwapchainImagesEXT && "Function <vkReleaseSwapchainImagesEXT> requires <VK_EXT_swapchain_maintenance1>" ); 23795 # endif 23796 23797 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 23798 d.vkReleaseSwapchainImagesEXT( m_device, reinterpret_cast<const VkReleaseSwapchainImagesInfoEXT *>( &releaseInfo ) ) ); 23799 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::releaseSwapchainImagesEXT" ); 23800 23801 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 23802 } 23803 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 23804 23805 //=== VK_NV_device_generated_commands === 23806 23807 // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsNV, see 23808 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsNV.html 23809 template <typename Dispatch> getGeneratedCommandsMemoryRequirementsNV(const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV * pInfo,VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements,Dispatch const & d) const23810 VULKAN_HPP_INLINE void Device::getGeneratedCommandsMemoryRequirementsNV( const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV * pInfo, 23811 VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements, 23812 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23813 { 23814 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23815 d.vkGetGeneratedCommandsMemoryRequirementsNV( static_cast<VkDevice>( m_device ), 23816 reinterpret_cast<const VkGeneratedCommandsMemoryRequirementsInfoNV *>( pInfo ), 23817 reinterpret_cast<VkMemoryRequirements2 *>( pMemoryRequirements ) ); 23818 } 23819 23820 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 23821 // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsNV, see 23822 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsNV.html 23823 template <typename Dispatch> 23824 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2 getGeneratedCommandsMemoryRequirementsNV(const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV & info,Dispatch const & d) const23825 Device::getGeneratedCommandsMemoryRequirementsNV( const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV & info, 23826 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23827 { 23828 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23829 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23830 VULKAN_HPP_ASSERT( d.vkGetGeneratedCommandsMemoryRequirementsNV && 23831 "Function <vkGetGeneratedCommandsMemoryRequirementsNV> requires <VK_NV_device_generated_commands>" ); 23832 # endif 23833 23834 VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements; 23835 d.vkGetGeneratedCommandsMemoryRequirementsNV( m_device, 23836 reinterpret_cast<const VkGeneratedCommandsMemoryRequirementsInfoNV *>( &info ), 23837 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 23838 23839 return memoryRequirements; 23840 } 23841 23842 // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsNV, see 23843 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsNV.html 23844 template <typename X, typename Y, typename... Z, typename Dispatch> 23845 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> getGeneratedCommandsMemoryRequirementsNV(const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV & info,Dispatch const & d) const23846 Device::getGeneratedCommandsMemoryRequirementsNV( const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV & info, 23847 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23848 { 23849 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23850 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23851 VULKAN_HPP_ASSERT( d.vkGetGeneratedCommandsMemoryRequirementsNV && 23852 "Function <vkGetGeneratedCommandsMemoryRequirementsNV> requires <VK_NV_device_generated_commands>" ); 23853 # endif 23854 23855 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 23856 VULKAN_HPP_NAMESPACE::MemoryRequirements2 & memoryRequirements = structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>(); 23857 d.vkGetGeneratedCommandsMemoryRequirementsNV( m_device, 23858 reinterpret_cast<const VkGeneratedCommandsMemoryRequirementsInfoNV *>( &info ), 23859 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 23860 23861 return structureChain; 23862 } 23863 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 23864 23865 // wrapper function for command vkCmdPreprocessGeneratedCommandsNV, see 23866 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPreprocessGeneratedCommandsNV.html 23867 template <typename Dispatch> preprocessGeneratedCommandsNV(const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV * pGeneratedCommandsInfo,Dispatch const & d) const23868 VULKAN_HPP_INLINE void CommandBuffer::preprocessGeneratedCommandsNV( const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV * pGeneratedCommandsInfo, 23869 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23870 { 23871 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23872 d.vkCmdPreprocessGeneratedCommandsNV( static_cast<VkCommandBuffer>( m_commandBuffer ), 23873 reinterpret_cast<const VkGeneratedCommandsInfoNV *>( pGeneratedCommandsInfo ) ); 23874 } 23875 23876 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 23877 // wrapper function for command vkCmdPreprocessGeneratedCommandsNV, see 23878 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPreprocessGeneratedCommandsNV.html 23879 template <typename Dispatch> preprocessGeneratedCommandsNV(const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV & generatedCommandsInfo,Dispatch const & d) const23880 VULKAN_HPP_INLINE void CommandBuffer::preprocessGeneratedCommandsNV( const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV & generatedCommandsInfo, 23881 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23882 { 23883 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23884 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23885 VULKAN_HPP_ASSERT( d.vkCmdPreprocessGeneratedCommandsNV && "Function <vkCmdPreprocessGeneratedCommandsNV> requires <VK_NV_device_generated_commands>" ); 23886 # endif 23887 23888 d.vkCmdPreprocessGeneratedCommandsNV( m_commandBuffer, reinterpret_cast<const VkGeneratedCommandsInfoNV *>( &generatedCommandsInfo ) ); 23889 } 23890 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 23891 23892 // wrapper function for command vkCmdExecuteGeneratedCommandsNV, see 23893 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdExecuteGeneratedCommandsNV.html 23894 template <typename Dispatch> executeGeneratedCommandsNV(VULKAN_HPP_NAMESPACE::Bool32 isPreprocessed,const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV * pGeneratedCommandsInfo,Dispatch const & d) const23895 VULKAN_HPP_INLINE void CommandBuffer::executeGeneratedCommandsNV( VULKAN_HPP_NAMESPACE::Bool32 isPreprocessed, 23896 const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV * pGeneratedCommandsInfo, 23897 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23898 { 23899 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23900 d.vkCmdExecuteGeneratedCommandsNV( static_cast<VkCommandBuffer>( m_commandBuffer ), 23901 static_cast<VkBool32>( isPreprocessed ), 23902 reinterpret_cast<const VkGeneratedCommandsInfoNV *>( pGeneratedCommandsInfo ) ); 23903 } 23904 23905 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 23906 // wrapper function for command vkCmdExecuteGeneratedCommandsNV, see 23907 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdExecuteGeneratedCommandsNV.html 23908 template <typename Dispatch> executeGeneratedCommandsNV(VULKAN_HPP_NAMESPACE::Bool32 isPreprocessed,const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV & generatedCommandsInfo,Dispatch const & d) const23909 VULKAN_HPP_INLINE void CommandBuffer::executeGeneratedCommandsNV( VULKAN_HPP_NAMESPACE::Bool32 isPreprocessed, 23910 const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV & generatedCommandsInfo, 23911 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23912 { 23913 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23914 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23915 VULKAN_HPP_ASSERT( d.vkCmdExecuteGeneratedCommandsNV && "Function <vkCmdExecuteGeneratedCommandsNV> requires <VK_NV_device_generated_commands>" ); 23916 # endif 23917 23918 d.vkCmdExecuteGeneratedCommandsNV( 23919 m_commandBuffer, static_cast<VkBool32>( isPreprocessed ), reinterpret_cast<const VkGeneratedCommandsInfoNV *>( &generatedCommandsInfo ) ); 23920 } 23921 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 23922 23923 // wrapper function for command vkCmdBindPipelineShaderGroupNV, see 23924 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindPipelineShaderGroupNV.html 23925 template <typename Dispatch> bindPipelineShaderGroupNV(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,VULKAN_HPP_NAMESPACE::Pipeline pipeline,uint32_t groupIndex,Dispatch const & d) const23926 VULKAN_HPP_INLINE void CommandBuffer::bindPipelineShaderGroupNV( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint, 23927 VULKAN_HPP_NAMESPACE::Pipeline pipeline, 23928 uint32_t groupIndex, 23929 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23930 { 23931 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23932 d.vkCmdBindPipelineShaderGroupNV( 23933 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkPipelineBindPoint>( pipelineBindPoint ), static_cast<VkPipeline>( pipeline ), groupIndex ); 23934 } 23935 23936 // wrapper function for command vkCreateIndirectCommandsLayoutNV, see 23937 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectCommandsLayoutNV.html 23938 template <typename Dispatch> 23939 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result createIndirectCommandsLayoutNV(const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV * pIndirectCommandsLayout,Dispatch const & d) const23940 Device::createIndirectCommandsLayoutNV( const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV * pCreateInfo, 23941 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 23942 VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV * pIndirectCommandsLayout, 23943 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 23944 { 23945 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23946 return static_cast<Result>( d.vkCreateIndirectCommandsLayoutNV( static_cast<VkDevice>( m_device ), 23947 reinterpret_cast<const VkIndirectCommandsLayoutCreateInfoNV *>( pCreateInfo ), 23948 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 23949 reinterpret_cast<VkIndirectCommandsLayoutNV *>( pIndirectCommandsLayout ) ) ); 23950 } 23951 23952 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 23953 // wrapper function for command vkCreateIndirectCommandsLayoutNV, see 23954 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectCommandsLayoutNV.html 23955 template <typename Dispatch> 23956 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV>::type createIndirectCommandsLayoutNV(const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const23957 Device::createIndirectCommandsLayoutNV( const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV & createInfo, 23958 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 23959 Dispatch const & d ) const 23960 { 23961 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23962 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23963 VULKAN_HPP_ASSERT( d.vkCreateIndirectCommandsLayoutNV && "Function <vkCreateIndirectCommandsLayoutNV> requires <VK_NV_device_generated_commands>" ); 23964 # endif 23965 23966 VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout; 23967 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateIndirectCommandsLayoutNV( 23968 m_device, 23969 reinterpret_cast<const VkIndirectCommandsLayoutCreateInfoNV *>( &createInfo ), 23970 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 23971 reinterpret_cast<VkIndirectCommandsLayoutNV *>( &indirectCommandsLayout ) ) ); 23972 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createIndirectCommandsLayoutNV" ); 23973 23974 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( indirectCommandsLayout ) ); 23975 } 23976 23977 # ifndef VULKAN_HPP_NO_SMART_HANDLE 23978 // wrapper function for command vkCreateIndirectCommandsLayoutNV, see 23979 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectCommandsLayoutNV.html 23980 template <typename Dispatch> 23981 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV, Dispatch>>::type createIndirectCommandsLayoutNVUnique(const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const23982 Device::createIndirectCommandsLayoutNVUnique( const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV & createInfo, 23983 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 23984 Dispatch const & d ) const 23985 { 23986 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 23987 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 23988 VULKAN_HPP_ASSERT( d.vkCreateIndirectCommandsLayoutNV && "Function <vkCreateIndirectCommandsLayoutNV> requires <VK_NV_device_generated_commands>" ); 23989 # endif 23990 23991 VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout; 23992 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateIndirectCommandsLayoutNV( 23993 m_device, 23994 reinterpret_cast<const VkIndirectCommandsLayoutCreateInfoNV *>( &createInfo ), 23995 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 23996 reinterpret_cast<VkIndirectCommandsLayoutNV *>( &indirectCommandsLayout ) ) ); 23997 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createIndirectCommandsLayoutNVUnique" ); 23998 23999 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, 24000 UniqueHandle<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV, Dispatch>( 24001 indirectCommandsLayout, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 24002 } 24003 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 24004 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 24005 24006 // wrapper function for command vkDestroyIndirectCommandsLayoutNV, see 24007 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectCommandsLayoutNV.html 24008 template <typename Dispatch> destroyIndirectCommandsLayoutNV(VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const24009 VULKAN_HPP_INLINE void Device::destroyIndirectCommandsLayoutNV( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout, 24010 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 24011 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24012 { 24013 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24014 d.vkDestroyIndirectCommandsLayoutNV( static_cast<VkDevice>( m_device ), 24015 static_cast<VkIndirectCommandsLayoutNV>( indirectCommandsLayout ), 24016 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 24017 } 24018 24019 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 24020 // wrapper function for command vkDestroyIndirectCommandsLayoutNV, see 24021 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectCommandsLayoutNV.html 24022 template <typename Dispatch> destroyIndirectCommandsLayoutNV(VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const24023 VULKAN_HPP_INLINE void Device::destroyIndirectCommandsLayoutNV( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout, 24024 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 24025 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24026 { 24027 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24028 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24029 VULKAN_HPP_ASSERT( d.vkDestroyIndirectCommandsLayoutNV && "Function <vkDestroyIndirectCommandsLayoutNV> requires <VK_NV_device_generated_commands>" ); 24030 # endif 24031 24032 d.vkDestroyIndirectCommandsLayoutNV( 24033 m_device, 24034 static_cast<VkIndirectCommandsLayoutNV>( indirectCommandsLayout ), 24035 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 24036 } 24037 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 24038 24039 // wrapper function for command vkDestroyIndirectCommandsLayoutNV, see 24040 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectCommandsLayoutNV.html 24041 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const24042 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout, 24043 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 24044 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24045 { 24046 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24047 d.vkDestroyIndirectCommandsLayoutNV( static_cast<VkDevice>( m_device ), 24048 static_cast<VkIndirectCommandsLayoutNV>( indirectCommandsLayout ), 24049 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 24050 } 24051 24052 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 24053 // wrapper function for command vkDestroyIndirectCommandsLayoutNV, see 24054 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectCommandsLayoutNV.html 24055 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const24056 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout, 24057 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 24058 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24059 { 24060 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24061 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24062 VULKAN_HPP_ASSERT( d.vkDestroyIndirectCommandsLayoutNV && "Function <vkDestroyIndirectCommandsLayoutNV> requires <VK_NV_device_generated_commands>" ); 24063 # endif 24064 24065 d.vkDestroyIndirectCommandsLayoutNV( 24066 m_device, 24067 static_cast<VkIndirectCommandsLayoutNV>( indirectCommandsLayout ), 24068 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 24069 } 24070 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 24071 24072 //=== VK_EXT_depth_bias_control === 24073 24074 // wrapper function for command vkCmdSetDepthBias2EXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBias2EXT.html 24075 template <typename Dispatch> setDepthBias2EXT(const VULKAN_HPP_NAMESPACE::DepthBiasInfoEXT * pDepthBiasInfo,Dispatch const & d) const24076 VULKAN_HPP_INLINE void CommandBuffer::setDepthBias2EXT( const VULKAN_HPP_NAMESPACE::DepthBiasInfoEXT * pDepthBiasInfo, 24077 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24078 { 24079 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24080 d.vkCmdSetDepthBias2EXT( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkDepthBiasInfoEXT *>( pDepthBiasInfo ) ); 24081 } 24082 24083 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 24084 // wrapper function for command vkCmdSetDepthBias2EXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBias2EXT.html 24085 template <typename Dispatch> setDepthBias2EXT(const VULKAN_HPP_NAMESPACE::DepthBiasInfoEXT & depthBiasInfo,Dispatch const & d) const24086 VULKAN_HPP_INLINE void CommandBuffer::setDepthBias2EXT( const VULKAN_HPP_NAMESPACE::DepthBiasInfoEXT & depthBiasInfo, 24087 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24088 { 24089 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24090 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24091 VULKAN_HPP_ASSERT( d.vkCmdSetDepthBias2EXT && "Function <vkCmdSetDepthBias2EXT> requires <VK_EXT_depth_bias_control>" ); 24092 # endif 24093 24094 d.vkCmdSetDepthBias2EXT( m_commandBuffer, reinterpret_cast<const VkDepthBiasInfoEXT *>( &depthBiasInfo ) ); 24095 } 24096 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 24097 24098 //=== VK_EXT_acquire_drm_display === 24099 24100 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 24101 // wrapper function for command vkAcquireDrmDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireDrmDisplayEXT.html 24102 template <typename Dispatch> acquireDrmDisplayEXT(int32_t drmFd,VULKAN_HPP_NAMESPACE::DisplayKHR display,Dispatch const & d) const24103 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::acquireDrmDisplayEXT( int32_t drmFd, 24104 VULKAN_HPP_NAMESPACE::DisplayKHR display, 24105 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24106 { 24107 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24108 return static_cast<Result>( d.vkAcquireDrmDisplayEXT( static_cast<VkPhysicalDevice>( m_physicalDevice ), drmFd, static_cast<VkDisplayKHR>( display ) ) ); 24109 } 24110 #else 24111 // wrapper function for command vkAcquireDrmDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireDrmDisplayEXT.html 24112 template <typename Dispatch> 24113 VULKAN_HPP_INLINE typename ResultValueType<void>::type acquireDrmDisplayEXT(int32_t drmFd,VULKAN_HPP_NAMESPACE::DisplayKHR display,Dispatch const & d) const24114 PhysicalDevice::acquireDrmDisplayEXT( int32_t drmFd, VULKAN_HPP_NAMESPACE::DisplayKHR display, Dispatch const & d ) const 24115 { 24116 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24117 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24118 VULKAN_HPP_ASSERT( d.vkAcquireDrmDisplayEXT && "Function <vkAcquireDrmDisplayEXT> requires <VK_EXT_acquire_drm_display>" ); 24119 # endif 24120 24121 VULKAN_HPP_NAMESPACE::Result result = 24122 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkAcquireDrmDisplayEXT( m_physicalDevice, drmFd, static_cast<VkDisplayKHR>( display ) ) ); 24123 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::acquireDrmDisplayEXT" ); 24124 24125 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 24126 } 24127 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 24128 24129 // wrapper function for command vkGetDrmDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDrmDisplayEXT.html 24130 template <typename Dispatch> getDrmDisplayEXT(int32_t drmFd,uint32_t connectorId,VULKAN_HPP_NAMESPACE::DisplayKHR * display,Dispatch const & d) const24131 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getDrmDisplayEXT( int32_t drmFd, 24132 uint32_t connectorId, 24133 VULKAN_HPP_NAMESPACE::DisplayKHR * display, 24134 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24135 { 24136 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24137 return static_cast<Result>( 24138 d.vkGetDrmDisplayEXT( static_cast<VkPhysicalDevice>( m_physicalDevice ), drmFd, connectorId, reinterpret_cast<VkDisplayKHR *>( display ) ) ); 24139 } 24140 24141 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 24142 // wrapper function for command vkGetDrmDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDrmDisplayEXT.html 24143 template <typename Dispatch> 24144 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DisplayKHR>::type getDrmDisplayEXT(int32_t drmFd,uint32_t connectorId,Dispatch const & d) const24145 PhysicalDevice::getDrmDisplayEXT( int32_t drmFd, uint32_t connectorId, Dispatch const & d ) const 24146 { 24147 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24148 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24149 VULKAN_HPP_ASSERT( d.vkGetDrmDisplayEXT && "Function <vkGetDrmDisplayEXT> requires <VK_EXT_acquire_drm_display>" ); 24150 # endif 24151 24152 VULKAN_HPP_NAMESPACE::DisplayKHR display; 24153 VULKAN_HPP_NAMESPACE::Result result = 24154 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetDrmDisplayEXT( m_physicalDevice, drmFd, connectorId, reinterpret_cast<VkDisplayKHR *>( &display ) ) ); 24155 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDrmDisplayEXT" ); 24156 24157 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( display ) ); 24158 } 24159 24160 # ifndef VULKAN_HPP_NO_SMART_HANDLE 24161 // wrapper function for command vkGetDrmDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDrmDisplayEXT.html 24162 template <typename Dispatch> 24163 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::DisplayKHR, Dispatch>>::type getDrmDisplayEXTUnique(int32_t drmFd,uint32_t connectorId,Dispatch const & d) const24164 PhysicalDevice::getDrmDisplayEXTUnique( int32_t drmFd, uint32_t connectorId, Dispatch const & d ) const 24165 { 24166 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24167 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24168 VULKAN_HPP_ASSERT( d.vkGetDrmDisplayEXT && "Function <vkGetDrmDisplayEXT> requires <VK_EXT_acquire_drm_display>" ); 24169 # endif 24170 24171 VULKAN_HPP_NAMESPACE::DisplayKHR display; 24172 VULKAN_HPP_NAMESPACE::Result result = 24173 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetDrmDisplayEXT( m_physicalDevice, drmFd, connectorId, reinterpret_cast<VkDisplayKHR *>( &display ) ) ); 24174 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDrmDisplayEXTUnique" ); 24175 24176 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 24177 result, UniqueHandle<VULKAN_HPP_NAMESPACE::DisplayKHR, Dispatch>( display, detail::ObjectRelease<PhysicalDevice, Dispatch>( *this, d ) ) ); 24178 } 24179 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 24180 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 24181 24182 //=== VK_EXT_private_data === 24183 24184 // wrapper function for command vkCreatePrivateDataSlotEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePrivateDataSlotEXT.html 24185 template <typename Dispatch> createPrivateDataSlotEXT(const VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::PrivateDataSlot * pPrivateDataSlot,Dispatch const & d) const24186 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createPrivateDataSlotEXT( const VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo * pCreateInfo, 24187 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 24188 VULKAN_HPP_NAMESPACE::PrivateDataSlot * pPrivateDataSlot, 24189 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24190 { 24191 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24192 return static_cast<Result>( d.vkCreatePrivateDataSlotEXT( static_cast<VkDevice>( m_device ), 24193 reinterpret_cast<const VkPrivateDataSlotCreateInfo *>( pCreateInfo ), 24194 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 24195 reinterpret_cast<VkPrivateDataSlot *>( pPrivateDataSlot ) ) ); 24196 } 24197 24198 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 24199 // wrapper function for command vkCreatePrivateDataSlotEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePrivateDataSlotEXT.html 24200 template <typename Dispatch> 24201 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::PrivateDataSlot>::type createPrivateDataSlotEXT(const VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const24202 Device::createPrivateDataSlotEXT( const VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo & createInfo, 24203 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 24204 Dispatch const & d ) const 24205 { 24206 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24207 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24208 VULKAN_HPP_ASSERT( d.vkCreatePrivateDataSlotEXT && "Function <vkCreatePrivateDataSlotEXT> requires <VK_EXT_private_data> or <VK_VERSION_1_3>" ); 24209 # endif 24210 24211 VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot; 24212 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreatePrivateDataSlotEXT( 24213 m_device, 24214 reinterpret_cast<const VkPrivateDataSlotCreateInfo *>( &createInfo ), 24215 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 24216 reinterpret_cast<VkPrivateDataSlot *>( &privateDataSlot ) ) ); 24217 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createPrivateDataSlotEXT" ); 24218 24219 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( privateDataSlot ) ); 24220 } 24221 24222 # ifndef VULKAN_HPP_NO_SMART_HANDLE 24223 // wrapper function for command vkCreatePrivateDataSlotEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePrivateDataSlotEXT.html 24224 template <typename Dispatch> 24225 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::PrivateDataSlot, Dispatch>>::type createPrivateDataSlotEXTUnique(const VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const24226 Device::createPrivateDataSlotEXTUnique( const VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo & createInfo, 24227 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 24228 Dispatch const & d ) const 24229 { 24230 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24231 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24232 VULKAN_HPP_ASSERT( d.vkCreatePrivateDataSlotEXT && "Function <vkCreatePrivateDataSlotEXT> requires <VK_EXT_private_data> or <VK_VERSION_1_3>" ); 24233 # endif 24234 24235 VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot; 24236 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreatePrivateDataSlotEXT( 24237 m_device, 24238 reinterpret_cast<const VkPrivateDataSlotCreateInfo *>( &createInfo ), 24239 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 24240 reinterpret_cast<VkPrivateDataSlot *>( &privateDataSlot ) ) ); 24241 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createPrivateDataSlotEXTUnique" ); 24242 24243 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 24244 result, 24245 UniqueHandle<VULKAN_HPP_NAMESPACE::PrivateDataSlot, Dispatch>( privateDataSlot, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 24246 } 24247 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 24248 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 24249 24250 // wrapper function for command vkDestroyPrivateDataSlotEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPrivateDataSlotEXT.html 24251 template <typename Dispatch> destroyPrivateDataSlotEXT(VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const24252 VULKAN_HPP_INLINE void Device::destroyPrivateDataSlotEXT( VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot, 24253 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 24254 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24255 { 24256 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24257 d.vkDestroyPrivateDataSlotEXT( 24258 static_cast<VkDevice>( m_device ), static_cast<VkPrivateDataSlot>( privateDataSlot ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 24259 } 24260 24261 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 24262 // wrapper function for command vkDestroyPrivateDataSlotEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPrivateDataSlotEXT.html 24263 template <typename Dispatch> destroyPrivateDataSlotEXT(VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const24264 VULKAN_HPP_INLINE void Device::destroyPrivateDataSlotEXT( VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot, 24265 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 24266 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24267 { 24268 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24269 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24270 VULKAN_HPP_ASSERT( d.vkDestroyPrivateDataSlotEXT && "Function <vkDestroyPrivateDataSlotEXT> requires <VK_EXT_private_data> or <VK_VERSION_1_3>" ); 24271 # endif 24272 24273 d.vkDestroyPrivateDataSlotEXT( 24274 m_device, 24275 static_cast<VkPrivateDataSlot>( privateDataSlot ), 24276 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 24277 } 24278 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 24279 24280 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 24281 // wrapper function for command vkSetPrivateDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetPrivateDataEXT.html 24282 template <typename Dispatch> setPrivateDataEXT(VULKAN_HPP_NAMESPACE::ObjectType objectType_,uint64_t objectHandle,VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,uint64_t data,Dispatch const & d) const24283 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::setPrivateDataEXT( VULKAN_HPP_NAMESPACE::ObjectType objectType_, 24284 uint64_t objectHandle, 24285 VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot, 24286 uint64_t data, 24287 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24288 { 24289 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24290 return static_cast<Result>( d.vkSetPrivateDataEXT( 24291 static_cast<VkDevice>( m_device ), static_cast<VkObjectType>( objectType_ ), objectHandle, static_cast<VkPrivateDataSlot>( privateDataSlot ), data ) ); 24292 } 24293 #else 24294 // wrapper function for command vkSetPrivateDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetPrivateDataEXT.html 24295 template <typename Dispatch> setPrivateDataEXT(VULKAN_HPP_NAMESPACE::ObjectType objectType_,uint64_t objectHandle,VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,uint64_t data,Dispatch const & d) const24296 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::setPrivateDataEXT( VULKAN_HPP_NAMESPACE::ObjectType objectType_, 24297 uint64_t objectHandle, 24298 VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot, 24299 uint64_t data, 24300 Dispatch const & d ) const 24301 { 24302 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24303 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24304 VULKAN_HPP_ASSERT( d.vkSetPrivateDataEXT && "Function <vkSetPrivateDataEXT> requires <VK_EXT_private_data> or <VK_VERSION_1_3>" ); 24305 # endif 24306 24307 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 24308 d.vkSetPrivateDataEXT( m_device, static_cast<VkObjectType>( objectType_ ), objectHandle, static_cast<VkPrivateDataSlot>( privateDataSlot ), data ) ); 24309 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setPrivateDataEXT" ); 24310 24311 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 24312 } 24313 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 24314 24315 // wrapper function for command vkGetPrivateDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPrivateDataEXT.html 24316 template <typename Dispatch> getPrivateDataEXT(VULKAN_HPP_NAMESPACE::ObjectType objectType_,uint64_t objectHandle,VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,uint64_t * pData,Dispatch const & d) const24317 VULKAN_HPP_INLINE void Device::getPrivateDataEXT( VULKAN_HPP_NAMESPACE::ObjectType objectType_, 24318 uint64_t objectHandle, 24319 VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot, 24320 uint64_t * pData, 24321 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24322 { 24323 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24324 d.vkGetPrivateDataEXT( 24325 static_cast<VkDevice>( m_device ), static_cast<VkObjectType>( objectType_ ), objectHandle, static_cast<VkPrivateDataSlot>( privateDataSlot ), pData ); 24326 } 24327 24328 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 24329 // wrapper function for command vkGetPrivateDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPrivateDataEXT.html 24330 template <typename Dispatch> getPrivateDataEXT(VULKAN_HPP_NAMESPACE::ObjectType objectType_,uint64_t objectHandle,VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,Dispatch const & d) const24331 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t Device::getPrivateDataEXT( VULKAN_HPP_NAMESPACE::ObjectType objectType_, 24332 uint64_t objectHandle, 24333 VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot, 24334 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24335 { 24336 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24337 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24338 VULKAN_HPP_ASSERT( d.vkGetPrivateDataEXT && "Function <vkGetPrivateDataEXT> requires <VK_EXT_private_data> or <VK_VERSION_1_3>" ); 24339 # endif 24340 24341 uint64_t data; 24342 d.vkGetPrivateDataEXT( m_device, static_cast<VkObjectType>( objectType_ ), objectHandle, static_cast<VkPrivateDataSlot>( privateDataSlot ), &data ); 24343 24344 return data; 24345 } 24346 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 24347 24348 //=== VK_KHR_video_encode_queue === 24349 24350 // wrapper function for command vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR, see 24351 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR.html 24352 template <typename Dispatch> 24353 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getVideoEncodeQualityLevelPropertiesKHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoEncodeQualityLevelInfoKHR * pQualityLevelInfo,VULKAN_HPP_NAMESPACE::VideoEncodeQualityLevelPropertiesKHR * pQualityLevelProperties,Dispatch const & d) const24354 PhysicalDevice::getVideoEncodeQualityLevelPropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoEncodeQualityLevelInfoKHR * pQualityLevelInfo, 24355 VULKAN_HPP_NAMESPACE::VideoEncodeQualityLevelPropertiesKHR * pQualityLevelProperties, 24356 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24357 { 24358 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24359 return static_cast<Result>( 24360 d.vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), 24361 reinterpret_cast<const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR *>( pQualityLevelInfo ), 24362 reinterpret_cast<VkVideoEncodeQualityLevelPropertiesKHR *>( pQualityLevelProperties ) ) ); 24363 } 24364 24365 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 24366 // wrapper function for command vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR, see 24367 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR.html 24368 template <typename Dispatch> 24369 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::VideoEncodeQualityLevelPropertiesKHR>::type getVideoEncodeQualityLevelPropertiesKHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoEncodeQualityLevelInfoKHR & qualityLevelInfo,Dispatch const & d) const24370 PhysicalDevice::getVideoEncodeQualityLevelPropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoEncodeQualityLevelInfoKHR & qualityLevelInfo, 24371 Dispatch const & d ) const 24372 { 24373 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24374 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24375 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR && 24376 "Function <vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR> requires <VK_KHR_video_encode_queue>" ); 24377 # endif 24378 24379 VULKAN_HPP_NAMESPACE::VideoEncodeQualityLevelPropertiesKHR qualityLevelProperties; 24380 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 24381 d.vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( m_physicalDevice, 24382 reinterpret_cast<const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR *>( &qualityLevelInfo ), 24383 reinterpret_cast<VkVideoEncodeQualityLevelPropertiesKHR *>( &qualityLevelProperties ) ) ); 24384 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoEncodeQualityLevelPropertiesKHR" ); 24385 24386 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( qualityLevelProperties ) ); 24387 } 24388 24389 // wrapper function for command vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR, see 24390 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR.html 24391 template <typename X, typename Y, typename... Z, typename Dispatch> 24392 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>>::type getVideoEncodeQualityLevelPropertiesKHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoEncodeQualityLevelInfoKHR & qualityLevelInfo,Dispatch const & d) const24393 PhysicalDevice::getVideoEncodeQualityLevelPropertiesKHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoEncodeQualityLevelInfoKHR & qualityLevelInfo, 24394 Dispatch const & d ) const 24395 { 24396 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24397 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24398 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR && 24399 "Function <vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR> requires <VK_KHR_video_encode_queue>" ); 24400 # endif 24401 24402 StructureChain<X, Y, Z...> structureChain; 24403 VULKAN_HPP_NAMESPACE::VideoEncodeQualityLevelPropertiesKHR & qualityLevelProperties = 24404 structureChain.template get<VULKAN_HPP_NAMESPACE::VideoEncodeQualityLevelPropertiesKHR>(); 24405 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 24406 d.vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( m_physicalDevice, 24407 reinterpret_cast<const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR *>( &qualityLevelInfo ), 24408 reinterpret_cast<VkVideoEncodeQualityLevelPropertiesKHR *>( &qualityLevelProperties ) ) ); 24409 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoEncodeQualityLevelPropertiesKHR" ); 24410 24411 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChain ) ); 24412 } 24413 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 24414 24415 // wrapper function for command vkGetEncodedVideoSessionParametersKHR, see 24416 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEncodedVideoSessionParametersKHR.html 24417 template <typename Dispatch> 24418 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getEncodedVideoSessionParametersKHR(const VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersGetInfoKHR * pVideoSessionParametersInfo,VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersFeedbackInfoKHR * pFeedbackInfo,size_t * pDataSize,void * pData,Dispatch const & d) const24419 Device::getEncodedVideoSessionParametersKHR( const VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersGetInfoKHR * pVideoSessionParametersInfo, 24420 VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersFeedbackInfoKHR * pFeedbackInfo, 24421 size_t * pDataSize, 24422 void * pData, 24423 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24424 { 24425 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24426 return static_cast<Result>( 24427 d.vkGetEncodedVideoSessionParametersKHR( static_cast<VkDevice>( m_device ), 24428 reinterpret_cast<const VkVideoEncodeSessionParametersGetInfoKHR *>( pVideoSessionParametersInfo ), 24429 reinterpret_cast<VkVideoEncodeSessionParametersFeedbackInfoKHR *>( pFeedbackInfo ), 24430 pDataSize, 24431 pData ) ); 24432 } 24433 24434 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 24435 // wrapper function for command vkGetEncodedVideoSessionParametersKHR, see 24436 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEncodedVideoSessionParametersKHR.html 24437 template <typename Uint8_tAllocator, 24438 typename Dispatch, 24439 typename std::enable_if<std::is_same<typename Uint8_tAllocator::value_type, uint8_t>::value, int>::type> 24440 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 24441 typename ResultValueType<std::pair<VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersFeedbackInfoKHR, std::vector<uint8_t, Uint8_tAllocator>>>::type getEncodedVideoSessionParametersKHR(const VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersGetInfoKHR & videoSessionParametersInfo,Dispatch const & d) const24442 Device::getEncodedVideoSessionParametersKHR( const VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersGetInfoKHR & videoSessionParametersInfo, 24443 Dispatch const & d ) const 24444 { 24445 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24446 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24447 VULKAN_HPP_ASSERT( d.vkGetEncodedVideoSessionParametersKHR && "Function <vkGetEncodedVideoSessionParametersKHR> requires <VK_KHR_video_encode_queue>" ); 24448 # endif 24449 24450 std::pair<VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersFeedbackInfoKHR, std::vector<uint8_t, Uint8_tAllocator>> data_; 24451 VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersFeedbackInfoKHR & feedbackInfo = data_.first; 24452 std::vector<uint8_t, Uint8_tAllocator> & data = data_.second; 24453 size_t dataSize; 24454 VULKAN_HPP_NAMESPACE::Result result; 24455 do 24456 { 24457 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 24458 d.vkGetEncodedVideoSessionParametersKHR( m_device, 24459 reinterpret_cast<const VkVideoEncodeSessionParametersGetInfoKHR *>( &videoSessionParametersInfo ), 24460 reinterpret_cast<VkVideoEncodeSessionParametersFeedbackInfoKHR *>( &feedbackInfo ), 24461 &dataSize, 24462 nullptr ) ); 24463 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && dataSize ) 24464 { 24465 data.resize( dataSize ); 24466 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 24467 d.vkGetEncodedVideoSessionParametersKHR( m_device, 24468 reinterpret_cast<const VkVideoEncodeSessionParametersGetInfoKHR *>( &videoSessionParametersInfo ), 24469 reinterpret_cast<VkVideoEncodeSessionParametersFeedbackInfoKHR *>( &feedbackInfo ), 24470 &dataSize, 24471 reinterpret_cast<void *>( data.data() ) ) ); 24472 } 24473 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 24474 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getEncodedVideoSessionParametersKHR" ); 24475 24476 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); 24477 } 24478 24479 // wrapper function for command vkGetEncodedVideoSessionParametersKHR, see 24480 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEncodedVideoSessionParametersKHR.html 24481 template <typename Uint8_tAllocator, 24482 typename Dispatch, 24483 typename std::enable_if<std::is_same<typename Uint8_tAllocator::value_type, uint8_t>::value, int>::type> 24484 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 24485 typename ResultValueType<std::pair<VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersFeedbackInfoKHR, std::vector<uint8_t, Uint8_tAllocator>>>::type getEncodedVideoSessionParametersKHR(const VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersGetInfoKHR & videoSessionParametersInfo,Uint8_tAllocator & uint8_tAllocator,Dispatch const & d) const24486 Device::getEncodedVideoSessionParametersKHR( const VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersGetInfoKHR & videoSessionParametersInfo, 24487 Uint8_tAllocator & uint8_tAllocator, 24488 Dispatch const & d ) const 24489 { 24490 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24491 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24492 VULKAN_HPP_ASSERT( d.vkGetEncodedVideoSessionParametersKHR && "Function <vkGetEncodedVideoSessionParametersKHR> requires <VK_KHR_video_encode_queue>" ); 24493 # endif 24494 24495 std::pair<VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersFeedbackInfoKHR, std::vector<uint8_t, Uint8_tAllocator>> data_( 24496 std::piecewise_construct, std::forward_as_tuple(), std::forward_as_tuple( uint8_tAllocator ) ); 24497 VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersFeedbackInfoKHR & feedbackInfo = data_.first; 24498 std::vector<uint8_t, Uint8_tAllocator> & data = data_.second; 24499 size_t dataSize; 24500 VULKAN_HPP_NAMESPACE::Result result; 24501 do 24502 { 24503 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 24504 d.vkGetEncodedVideoSessionParametersKHR( m_device, 24505 reinterpret_cast<const VkVideoEncodeSessionParametersGetInfoKHR *>( &videoSessionParametersInfo ), 24506 reinterpret_cast<VkVideoEncodeSessionParametersFeedbackInfoKHR *>( &feedbackInfo ), 24507 &dataSize, 24508 nullptr ) ); 24509 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && dataSize ) 24510 { 24511 data.resize( dataSize ); 24512 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 24513 d.vkGetEncodedVideoSessionParametersKHR( m_device, 24514 reinterpret_cast<const VkVideoEncodeSessionParametersGetInfoKHR *>( &videoSessionParametersInfo ), 24515 reinterpret_cast<VkVideoEncodeSessionParametersFeedbackInfoKHR *>( &feedbackInfo ), 24516 &dataSize, 24517 reinterpret_cast<void *>( data.data() ) ) ); 24518 } 24519 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 24520 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getEncodedVideoSessionParametersKHR" ); 24521 24522 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); 24523 } 24524 24525 // wrapper function for command vkGetEncodedVideoSessionParametersKHR, see 24526 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEncodedVideoSessionParametersKHR.html 24527 template <typename X, 24528 typename Y, 24529 typename... Z, 24530 typename Uint8_tAllocator, 24531 typename Dispatch, 24532 typename std::enable_if<std::is_same<typename Uint8_tAllocator::value_type, uint8_t>::value, int>::type> 24533 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 24534 typename ResultValueType<std::pair<VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>, std::vector<uint8_t, Uint8_tAllocator>>>::type getEncodedVideoSessionParametersKHR(const VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersGetInfoKHR & videoSessionParametersInfo,Dispatch const & d) const24535 Device::getEncodedVideoSessionParametersKHR( const VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersGetInfoKHR & videoSessionParametersInfo, 24536 Dispatch const & d ) const 24537 { 24538 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24539 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24540 VULKAN_HPP_ASSERT( d.vkGetEncodedVideoSessionParametersKHR && "Function <vkGetEncodedVideoSessionParametersKHR> requires <VK_KHR_video_encode_queue>" ); 24541 # endif 24542 24543 std::pair<VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>, std::vector<uint8_t, Uint8_tAllocator>> data_; 24544 VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersFeedbackInfoKHR & feedbackInfo = 24545 data_.first.template get<VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersFeedbackInfoKHR>(); 24546 std::vector<uint8_t, Uint8_tAllocator> & data = data_.second; 24547 size_t dataSize; 24548 VULKAN_HPP_NAMESPACE::Result result; 24549 do 24550 { 24551 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 24552 d.vkGetEncodedVideoSessionParametersKHR( m_device, 24553 reinterpret_cast<const VkVideoEncodeSessionParametersGetInfoKHR *>( &videoSessionParametersInfo ), 24554 reinterpret_cast<VkVideoEncodeSessionParametersFeedbackInfoKHR *>( &feedbackInfo ), 24555 &dataSize, 24556 nullptr ) ); 24557 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && dataSize ) 24558 { 24559 data.resize( dataSize ); 24560 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 24561 d.vkGetEncodedVideoSessionParametersKHR( m_device, 24562 reinterpret_cast<const VkVideoEncodeSessionParametersGetInfoKHR *>( &videoSessionParametersInfo ), 24563 reinterpret_cast<VkVideoEncodeSessionParametersFeedbackInfoKHR *>( &feedbackInfo ), 24564 &dataSize, 24565 reinterpret_cast<void *>( data.data() ) ) ); 24566 } 24567 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 24568 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getEncodedVideoSessionParametersKHR" ); 24569 24570 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); 24571 } 24572 24573 // wrapper function for command vkGetEncodedVideoSessionParametersKHR, see 24574 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEncodedVideoSessionParametersKHR.html 24575 template <typename X, 24576 typename Y, 24577 typename... Z, 24578 typename Uint8_tAllocator, 24579 typename Dispatch, 24580 typename std::enable_if<std::is_same<typename Uint8_tAllocator::value_type, uint8_t>::value, int>::type> 24581 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 24582 typename ResultValueType<std::pair<VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>, std::vector<uint8_t, Uint8_tAllocator>>>::type getEncodedVideoSessionParametersKHR(const VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersGetInfoKHR & videoSessionParametersInfo,Uint8_tAllocator & uint8_tAllocator,Dispatch const & d) const24583 Device::getEncodedVideoSessionParametersKHR( const VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersGetInfoKHR & videoSessionParametersInfo, 24584 Uint8_tAllocator & uint8_tAllocator, 24585 Dispatch const & d ) const 24586 { 24587 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24588 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24589 VULKAN_HPP_ASSERT( d.vkGetEncodedVideoSessionParametersKHR && "Function <vkGetEncodedVideoSessionParametersKHR> requires <VK_KHR_video_encode_queue>" ); 24590 # endif 24591 24592 std::pair<VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>, std::vector<uint8_t, Uint8_tAllocator>> data_( 24593 std::piecewise_construct, std::forward_as_tuple(), std::forward_as_tuple( uint8_tAllocator ) ); 24594 VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersFeedbackInfoKHR & feedbackInfo = 24595 data_.first.template get<VULKAN_HPP_NAMESPACE::VideoEncodeSessionParametersFeedbackInfoKHR>(); 24596 std::vector<uint8_t, Uint8_tAllocator> & data = data_.second; 24597 size_t dataSize; 24598 VULKAN_HPP_NAMESPACE::Result result; 24599 do 24600 { 24601 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 24602 d.vkGetEncodedVideoSessionParametersKHR( m_device, 24603 reinterpret_cast<const VkVideoEncodeSessionParametersGetInfoKHR *>( &videoSessionParametersInfo ), 24604 reinterpret_cast<VkVideoEncodeSessionParametersFeedbackInfoKHR *>( &feedbackInfo ), 24605 &dataSize, 24606 nullptr ) ); 24607 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && dataSize ) 24608 { 24609 data.resize( dataSize ); 24610 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 24611 d.vkGetEncodedVideoSessionParametersKHR( m_device, 24612 reinterpret_cast<const VkVideoEncodeSessionParametersGetInfoKHR *>( &videoSessionParametersInfo ), 24613 reinterpret_cast<VkVideoEncodeSessionParametersFeedbackInfoKHR *>( &feedbackInfo ), 24614 &dataSize, 24615 reinterpret_cast<void *>( data.data() ) ) ); 24616 } 24617 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 24618 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getEncodedVideoSessionParametersKHR" ); 24619 24620 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); 24621 } 24622 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 24623 24624 // wrapper function for command vkCmdEncodeVideoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEncodeVideoKHR.html 24625 template <typename Dispatch> encodeVideoKHR(const VULKAN_HPP_NAMESPACE::VideoEncodeInfoKHR * pEncodeInfo,Dispatch const & d) const24626 VULKAN_HPP_INLINE void CommandBuffer::encodeVideoKHR( const VULKAN_HPP_NAMESPACE::VideoEncodeInfoKHR * pEncodeInfo, 24627 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24628 { 24629 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24630 d.vkCmdEncodeVideoKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkVideoEncodeInfoKHR *>( pEncodeInfo ) ); 24631 } 24632 24633 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 24634 // wrapper function for command vkCmdEncodeVideoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEncodeVideoKHR.html 24635 template <typename Dispatch> encodeVideoKHR(const VULKAN_HPP_NAMESPACE::VideoEncodeInfoKHR & encodeInfo,Dispatch const & d) const24636 VULKAN_HPP_INLINE void CommandBuffer::encodeVideoKHR( const VULKAN_HPP_NAMESPACE::VideoEncodeInfoKHR & encodeInfo, 24637 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24638 { 24639 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24640 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24641 VULKAN_HPP_ASSERT( d.vkCmdEncodeVideoKHR && "Function <vkCmdEncodeVideoKHR> requires <VK_KHR_video_encode_queue>" ); 24642 # endif 24643 24644 d.vkCmdEncodeVideoKHR( m_commandBuffer, reinterpret_cast<const VkVideoEncodeInfoKHR *>( &encodeInfo ) ); 24645 } 24646 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 24647 24648 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 24649 //=== VK_NV_cuda_kernel_launch === 24650 24651 // wrapper function for command vkCreateCudaModuleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCudaModuleNV.html 24652 template <typename Dispatch> createCudaModuleNV(const VULKAN_HPP_NAMESPACE::CudaModuleCreateInfoNV * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::CudaModuleNV * pModule,Dispatch const & d) const24653 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createCudaModuleNV( const VULKAN_HPP_NAMESPACE::CudaModuleCreateInfoNV * pCreateInfo, 24654 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 24655 VULKAN_HPP_NAMESPACE::CudaModuleNV * pModule, 24656 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24657 { 24658 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24659 return static_cast<Result>( d.vkCreateCudaModuleNV( static_cast<VkDevice>( m_device ), 24660 reinterpret_cast<const VkCudaModuleCreateInfoNV *>( pCreateInfo ), 24661 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 24662 reinterpret_cast<VkCudaModuleNV *>( pModule ) ) ); 24663 } 24664 24665 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 24666 // wrapper function for command vkCreateCudaModuleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCudaModuleNV.html 24667 template <typename Dispatch> 24668 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::CudaModuleNV>::type createCudaModuleNV(const VULKAN_HPP_NAMESPACE::CudaModuleCreateInfoNV & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const24669 Device::createCudaModuleNV( const VULKAN_HPP_NAMESPACE::CudaModuleCreateInfoNV & createInfo, 24670 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 24671 Dispatch const & d ) const 24672 { 24673 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24674 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24675 VULKAN_HPP_ASSERT( d.vkCreateCudaModuleNV && "Function <vkCreateCudaModuleNV> requires <VK_NV_cuda_kernel_launch>" ); 24676 # endif 24677 24678 VULKAN_HPP_NAMESPACE::CudaModuleNV module; 24679 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 24680 d.vkCreateCudaModuleNV( m_device, 24681 reinterpret_cast<const VkCudaModuleCreateInfoNV *>( &createInfo ), 24682 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 24683 reinterpret_cast<VkCudaModuleNV *>( &module ) ) ); 24684 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createCudaModuleNV" ); 24685 24686 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( module ) ); 24687 } 24688 24689 # ifndef VULKAN_HPP_NO_SMART_HANDLE 24690 // wrapper function for command vkCreateCudaModuleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCudaModuleNV.html 24691 template <typename Dispatch> 24692 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::CudaModuleNV, Dispatch>>::type createCudaModuleNVUnique(const VULKAN_HPP_NAMESPACE::CudaModuleCreateInfoNV & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const24693 Device::createCudaModuleNVUnique( const VULKAN_HPP_NAMESPACE::CudaModuleCreateInfoNV & createInfo, 24694 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 24695 Dispatch const & d ) const 24696 { 24697 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24698 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24699 VULKAN_HPP_ASSERT( d.vkCreateCudaModuleNV && "Function <vkCreateCudaModuleNV> requires <VK_NV_cuda_kernel_launch>" ); 24700 # endif 24701 24702 VULKAN_HPP_NAMESPACE::CudaModuleNV module; 24703 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 24704 d.vkCreateCudaModuleNV( m_device, 24705 reinterpret_cast<const VkCudaModuleCreateInfoNV *>( &createInfo ), 24706 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 24707 reinterpret_cast<VkCudaModuleNV *>( &module ) ) ); 24708 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createCudaModuleNVUnique" ); 24709 24710 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 24711 result, UniqueHandle<VULKAN_HPP_NAMESPACE::CudaModuleNV, Dispatch>( module, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 24712 } 24713 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 24714 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 24715 24716 // wrapper function for command vkGetCudaModuleCacheNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCudaModuleCacheNV.html 24717 template <typename Dispatch> getCudaModuleCacheNV(VULKAN_HPP_NAMESPACE::CudaModuleNV module,size_t * pCacheSize,void * pCacheData,Dispatch const & d) const24718 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getCudaModuleCacheNV( VULKAN_HPP_NAMESPACE::CudaModuleNV module, 24719 size_t * pCacheSize, 24720 void * pCacheData, 24721 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24722 { 24723 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24724 return static_cast<Result>( d.vkGetCudaModuleCacheNV( static_cast<VkDevice>( m_device ), static_cast<VkCudaModuleNV>( module ), pCacheSize, pCacheData ) ); 24725 } 24726 24727 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 24728 // wrapper function for command vkGetCudaModuleCacheNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCudaModuleCacheNV.html 24729 template <typename Uint8_tAllocator, 24730 typename Dispatch, 24731 typename std::enable_if<std::is_same<typename Uint8_tAllocator::value_type, uint8_t>::value, int>::type> 24732 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type getCudaModuleCacheNV(VULKAN_HPP_NAMESPACE::CudaModuleNV module,Dispatch const & d) const24733 Device::getCudaModuleCacheNV( VULKAN_HPP_NAMESPACE::CudaModuleNV module, Dispatch const & d ) const 24734 { 24735 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24736 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24737 VULKAN_HPP_ASSERT( d.vkGetCudaModuleCacheNV && "Function <vkGetCudaModuleCacheNV> requires <VK_NV_cuda_kernel_launch>" ); 24738 # endif 24739 24740 std::vector<uint8_t, Uint8_tAllocator> cacheData; 24741 size_t cacheSize; 24742 VULKAN_HPP_NAMESPACE::Result result; 24743 do 24744 { 24745 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetCudaModuleCacheNV( m_device, static_cast<VkCudaModuleNV>( module ), &cacheSize, nullptr ) ); 24746 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && cacheSize ) 24747 { 24748 cacheData.resize( cacheSize ); 24749 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 24750 d.vkGetCudaModuleCacheNV( m_device, static_cast<VkCudaModuleNV>( module ), &cacheSize, reinterpret_cast<void *>( cacheData.data() ) ) ); 24751 } 24752 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 24753 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getCudaModuleCacheNV" ); 24754 VULKAN_HPP_ASSERT( cacheSize <= cacheData.size() ); 24755 if ( cacheSize < cacheData.size() ) 24756 { 24757 cacheData.resize( cacheSize ); 24758 } 24759 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( cacheData ) ); 24760 } 24761 24762 // wrapper function for command vkGetCudaModuleCacheNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCudaModuleCacheNV.html 24763 template <typename Uint8_tAllocator, 24764 typename Dispatch, 24765 typename std::enable_if<std::is_same<typename Uint8_tAllocator::value_type, uint8_t>::value, int>::type> 24766 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type getCudaModuleCacheNV(VULKAN_HPP_NAMESPACE::CudaModuleNV module,Uint8_tAllocator & uint8_tAllocator,Dispatch const & d) const24767 Device::getCudaModuleCacheNV( VULKAN_HPP_NAMESPACE::CudaModuleNV module, Uint8_tAllocator & uint8_tAllocator, Dispatch const & d ) const 24768 { 24769 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24770 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24771 VULKAN_HPP_ASSERT( d.vkGetCudaModuleCacheNV && "Function <vkGetCudaModuleCacheNV> requires <VK_NV_cuda_kernel_launch>" ); 24772 # endif 24773 24774 std::vector<uint8_t, Uint8_tAllocator> cacheData( uint8_tAllocator ); 24775 size_t cacheSize; 24776 VULKAN_HPP_NAMESPACE::Result result; 24777 do 24778 { 24779 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetCudaModuleCacheNV( m_device, static_cast<VkCudaModuleNV>( module ), &cacheSize, nullptr ) ); 24780 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && cacheSize ) 24781 { 24782 cacheData.resize( cacheSize ); 24783 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 24784 d.vkGetCudaModuleCacheNV( m_device, static_cast<VkCudaModuleNV>( module ), &cacheSize, reinterpret_cast<void *>( cacheData.data() ) ) ); 24785 } 24786 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 24787 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getCudaModuleCacheNV" ); 24788 VULKAN_HPP_ASSERT( cacheSize <= cacheData.size() ); 24789 if ( cacheSize < cacheData.size() ) 24790 { 24791 cacheData.resize( cacheSize ); 24792 } 24793 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( cacheData ) ); 24794 } 24795 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 24796 24797 // wrapper function for command vkCreateCudaFunctionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCudaFunctionNV.html 24798 template <typename Dispatch> createCudaFunctionNV(const VULKAN_HPP_NAMESPACE::CudaFunctionCreateInfoNV * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::CudaFunctionNV * pFunction,Dispatch const & d) const24799 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createCudaFunctionNV( const VULKAN_HPP_NAMESPACE::CudaFunctionCreateInfoNV * pCreateInfo, 24800 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 24801 VULKAN_HPP_NAMESPACE::CudaFunctionNV * pFunction, 24802 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24803 { 24804 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24805 return static_cast<Result>( d.vkCreateCudaFunctionNV( static_cast<VkDevice>( m_device ), 24806 reinterpret_cast<const VkCudaFunctionCreateInfoNV *>( pCreateInfo ), 24807 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 24808 reinterpret_cast<VkCudaFunctionNV *>( pFunction ) ) ); 24809 } 24810 24811 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 24812 // wrapper function for command vkCreateCudaFunctionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCudaFunctionNV.html 24813 template <typename Dispatch> 24814 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::CudaFunctionNV>::type createCudaFunctionNV(const VULKAN_HPP_NAMESPACE::CudaFunctionCreateInfoNV & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const24815 Device::createCudaFunctionNV( const VULKAN_HPP_NAMESPACE::CudaFunctionCreateInfoNV & createInfo, 24816 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 24817 Dispatch const & d ) const 24818 { 24819 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24820 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24821 VULKAN_HPP_ASSERT( d.vkCreateCudaFunctionNV && "Function <vkCreateCudaFunctionNV> requires <VK_NV_cuda_kernel_launch>" ); 24822 # endif 24823 24824 VULKAN_HPP_NAMESPACE::CudaFunctionNV function; 24825 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 24826 d.vkCreateCudaFunctionNV( m_device, 24827 reinterpret_cast<const VkCudaFunctionCreateInfoNV *>( &createInfo ), 24828 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 24829 reinterpret_cast<VkCudaFunctionNV *>( &function ) ) ); 24830 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createCudaFunctionNV" ); 24831 24832 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( function ) ); 24833 } 24834 24835 # ifndef VULKAN_HPP_NO_SMART_HANDLE 24836 // wrapper function for command vkCreateCudaFunctionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCudaFunctionNV.html 24837 template <typename Dispatch> 24838 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::CudaFunctionNV, Dispatch>>::type createCudaFunctionNVUnique(const VULKAN_HPP_NAMESPACE::CudaFunctionCreateInfoNV & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const24839 Device::createCudaFunctionNVUnique( const VULKAN_HPP_NAMESPACE::CudaFunctionCreateInfoNV & createInfo, 24840 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 24841 Dispatch const & d ) const 24842 { 24843 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24844 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24845 VULKAN_HPP_ASSERT( d.vkCreateCudaFunctionNV && "Function <vkCreateCudaFunctionNV> requires <VK_NV_cuda_kernel_launch>" ); 24846 # endif 24847 24848 VULKAN_HPP_NAMESPACE::CudaFunctionNV function; 24849 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 24850 d.vkCreateCudaFunctionNV( m_device, 24851 reinterpret_cast<const VkCudaFunctionCreateInfoNV *>( &createInfo ), 24852 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 24853 reinterpret_cast<VkCudaFunctionNV *>( &function ) ) ); 24854 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createCudaFunctionNVUnique" ); 24855 24856 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 24857 result, UniqueHandle<VULKAN_HPP_NAMESPACE::CudaFunctionNV, Dispatch>( function, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 24858 } 24859 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 24860 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 24861 24862 // wrapper function for command vkDestroyCudaModuleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCudaModuleNV.html 24863 template <typename Dispatch> destroyCudaModuleNV(VULKAN_HPP_NAMESPACE::CudaModuleNV module,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const24864 VULKAN_HPP_INLINE void Device::destroyCudaModuleNV( VULKAN_HPP_NAMESPACE::CudaModuleNV module, 24865 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 24866 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24867 { 24868 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24869 d.vkDestroyCudaModuleNV( 24870 static_cast<VkDevice>( m_device ), static_cast<VkCudaModuleNV>( module ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 24871 } 24872 24873 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 24874 // wrapper function for command vkDestroyCudaModuleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCudaModuleNV.html 24875 template <typename Dispatch> destroyCudaModuleNV(VULKAN_HPP_NAMESPACE::CudaModuleNV module,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const24876 VULKAN_HPP_INLINE void Device::destroyCudaModuleNV( VULKAN_HPP_NAMESPACE::CudaModuleNV module, 24877 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 24878 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24879 { 24880 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24881 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24882 VULKAN_HPP_ASSERT( d.vkDestroyCudaModuleNV && "Function <vkDestroyCudaModuleNV> requires <VK_NV_cuda_kernel_launch>" ); 24883 # endif 24884 24885 d.vkDestroyCudaModuleNV( m_device, 24886 static_cast<VkCudaModuleNV>( module ), 24887 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 24888 } 24889 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 24890 24891 // wrapper function for command vkDestroyCudaModuleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCudaModuleNV.html 24892 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::CudaModuleNV module,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const24893 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::CudaModuleNV module, 24894 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 24895 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24896 { 24897 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24898 d.vkDestroyCudaModuleNV( 24899 static_cast<VkDevice>( m_device ), static_cast<VkCudaModuleNV>( module ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 24900 } 24901 24902 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 24903 // wrapper function for command vkDestroyCudaModuleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCudaModuleNV.html 24904 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::CudaModuleNV module,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const24905 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::CudaModuleNV module, 24906 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 24907 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24908 { 24909 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24910 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24911 VULKAN_HPP_ASSERT( d.vkDestroyCudaModuleNV && "Function <vkDestroyCudaModuleNV> requires <VK_NV_cuda_kernel_launch>" ); 24912 # endif 24913 24914 d.vkDestroyCudaModuleNV( m_device, 24915 static_cast<VkCudaModuleNV>( module ), 24916 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 24917 } 24918 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 24919 24920 // wrapper function for command vkDestroyCudaFunctionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCudaFunctionNV.html 24921 template <typename Dispatch> destroyCudaFunctionNV(VULKAN_HPP_NAMESPACE::CudaFunctionNV function,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const24922 VULKAN_HPP_INLINE void Device::destroyCudaFunctionNV( VULKAN_HPP_NAMESPACE::CudaFunctionNV function, 24923 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 24924 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24925 { 24926 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24927 d.vkDestroyCudaFunctionNV( 24928 static_cast<VkDevice>( m_device ), static_cast<VkCudaFunctionNV>( function ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 24929 } 24930 24931 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 24932 // wrapper function for command vkDestroyCudaFunctionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCudaFunctionNV.html 24933 template <typename Dispatch> destroyCudaFunctionNV(VULKAN_HPP_NAMESPACE::CudaFunctionNV function,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const24934 VULKAN_HPP_INLINE void Device::destroyCudaFunctionNV( VULKAN_HPP_NAMESPACE::CudaFunctionNV function, 24935 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 24936 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24937 { 24938 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24939 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24940 VULKAN_HPP_ASSERT( d.vkDestroyCudaFunctionNV && "Function <vkDestroyCudaFunctionNV> requires <VK_NV_cuda_kernel_launch>" ); 24941 # endif 24942 24943 d.vkDestroyCudaFunctionNV( m_device, 24944 static_cast<VkCudaFunctionNV>( function ), 24945 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 24946 } 24947 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 24948 24949 // wrapper function for command vkDestroyCudaFunctionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCudaFunctionNV.html 24950 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::CudaFunctionNV function,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const24951 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::CudaFunctionNV function, 24952 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 24953 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24954 { 24955 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24956 d.vkDestroyCudaFunctionNV( 24957 static_cast<VkDevice>( m_device ), static_cast<VkCudaFunctionNV>( function ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 24958 } 24959 24960 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 24961 // wrapper function for command vkDestroyCudaFunctionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCudaFunctionNV.html 24962 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::CudaFunctionNV function,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const24963 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::CudaFunctionNV function, 24964 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 24965 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24966 { 24967 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24968 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24969 VULKAN_HPP_ASSERT( d.vkDestroyCudaFunctionNV && "Function <vkDestroyCudaFunctionNV> requires <VK_NV_cuda_kernel_launch>" ); 24970 # endif 24971 24972 d.vkDestroyCudaFunctionNV( m_device, 24973 static_cast<VkCudaFunctionNV>( function ), 24974 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 24975 } 24976 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 24977 24978 // wrapper function for command vkCmdCudaLaunchKernelNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCudaLaunchKernelNV.html 24979 template <typename Dispatch> cudaLaunchKernelNV(const VULKAN_HPP_NAMESPACE::CudaLaunchInfoNV * pLaunchInfo,Dispatch const & d) const24980 VULKAN_HPP_INLINE void CommandBuffer::cudaLaunchKernelNV( const VULKAN_HPP_NAMESPACE::CudaLaunchInfoNV * pLaunchInfo, 24981 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24982 { 24983 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24984 d.vkCmdCudaLaunchKernelNV( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkCudaLaunchInfoNV *>( pLaunchInfo ) ); 24985 } 24986 24987 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 24988 // wrapper function for command vkCmdCudaLaunchKernelNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCudaLaunchKernelNV.html 24989 template <typename Dispatch> cudaLaunchKernelNV(const VULKAN_HPP_NAMESPACE::CudaLaunchInfoNV & launchInfo,Dispatch const & d) const24990 VULKAN_HPP_INLINE void CommandBuffer::cudaLaunchKernelNV( const VULKAN_HPP_NAMESPACE::CudaLaunchInfoNV & launchInfo, 24991 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 24992 { 24993 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 24994 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 24995 VULKAN_HPP_ASSERT( d.vkCmdCudaLaunchKernelNV && "Function <vkCmdCudaLaunchKernelNV> requires <VK_NV_cuda_kernel_launch>" ); 24996 # endif 24997 24998 d.vkCmdCudaLaunchKernelNV( m_commandBuffer, reinterpret_cast<const VkCudaLaunchInfoNV *>( &launchInfo ) ); 24999 } 25000 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 25001 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 25002 25003 #if defined( VK_USE_PLATFORM_METAL_EXT ) 25004 //=== VK_EXT_metal_objects === 25005 25006 // wrapper function for command vkExportMetalObjectsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkExportMetalObjectsEXT.html 25007 template <typename Dispatch> exportMetalObjectsEXT(VULKAN_HPP_NAMESPACE::ExportMetalObjectsInfoEXT * pMetalObjectsInfo,Dispatch const & d) const25008 VULKAN_HPP_INLINE void Device::exportMetalObjectsEXT( VULKAN_HPP_NAMESPACE::ExportMetalObjectsInfoEXT * pMetalObjectsInfo, 25009 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25010 { 25011 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25012 d.vkExportMetalObjectsEXT( static_cast<VkDevice>( m_device ), reinterpret_cast<VkExportMetalObjectsInfoEXT *>( pMetalObjectsInfo ) ); 25013 } 25014 25015 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 25016 // wrapper function for command vkExportMetalObjectsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkExportMetalObjectsEXT.html 25017 template <typename Dispatch> 25018 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExportMetalObjectsInfoEXT exportMetalObjectsEXT(Dispatch const & d) const25019 Device::exportMetalObjectsEXT( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25020 { 25021 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25022 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25023 VULKAN_HPP_ASSERT( d.vkExportMetalObjectsEXT && "Function <vkExportMetalObjectsEXT> requires <VK_EXT_metal_objects>" ); 25024 # endif 25025 25026 VULKAN_HPP_NAMESPACE::ExportMetalObjectsInfoEXT metalObjectsInfo; 25027 d.vkExportMetalObjectsEXT( m_device, reinterpret_cast<VkExportMetalObjectsInfoEXT *>( &metalObjectsInfo ) ); 25028 25029 return metalObjectsInfo; 25030 } 25031 25032 // wrapper function for command vkExportMetalObjectsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkExportMetalObjectsEXT.html 25033 template <typename X, typename Y, typename... Z, typename Dispatch> 25034 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> exportMetalObjectsEXT(Dispatch const & d) const25035 Device::exportMetalObjectsEXT( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25036 { 25037 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25038 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25039 VULKAN_HPP_ASSERT( d.vkExportMetalObjectsEXT && "Function <vkExportMetalObjectsEXT> requires <VK_EXT_metal_objects>" ); 25040 # endif 25041 25042 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 25043 VULKAN_HPP_NAMESPACE::ExportMetalObjectsInfoEXT & metalObjectsInfo = structureChain.template get<VULKAN_HPP_NAMESPACE::ExportMetalObjectsInfoEXT>(); 25044 d.vkExportMetalObjectsEXT( m_device, reinterpret_cast<VkExportMetalObjectsInfoEXT *>( &metalObjectsInfo ) ); 25045 25046 return structureChain; 25047 } 25048 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 25049 #endif /*VK_USE_PLATFORM_METAL_EXT*/ 25050 25051 //=== VK_KHR_synchronization2 === 25052 25053 // wrapper function for command vkCmdSetEvent2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetEvent2KHR.html 25054 template <typename Dispatch> setEvent2KHR(VULKAN_HPP_NAMESPACE::Event event,const VULKAN_HPP_NAMESPACE::DependencyInfo * pDependencyInfo,Dispatch const & d) const25055 VULKAN_HPP_INLINE void CommandBuffer::setEvent2KHR( VULKAN_HPP_NAMESPACE::Event event, 25056 const VULKAN_HPP_NAMESPACE::DependencyInfo * pDependencyInfo, 25057 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25058 { 25059 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25060 d.vkCmdSetEvent2KHR( 25061 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkEvent>( event ), reinterpret_cast<const VkDependencyInfo *>( pDependencyInfo ) ); 25062 } 25063 25064 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 25065 // wrapper function for command vkCmdSetEvent2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetEvent2KHR.html 25066 template <typename Dispatch> setEvent2KHR(VULKAN_HPP_NAMESPACE::Event event,const VULKAN_HPP_NAMESPACE::DependencyInfo & dependencyInfo,Dispatch const & d) const25067 VULKAN_HPP_INLINE void CommandBuffer::setEvent2KHR( VULKAN_HPP_NAMESPACE::Event event, 25068 const VULKAN_HPP_NAMESPACE::DependencyInfo & dependencyInfo, 25069 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25070 { 25071 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25072 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25073 VULKAN_HPP_ASSERT( d.vkCmdSetEvent2KHR && "Function <vkCmdSetEvent2KHR> requires <VK_KHR_synchronization2> or <VK_VERSION_1_3>" ); 25074 # endif 25075 25076 d.vkCmdSetEvent2KHR( m_commandBuffer, static_cast<VkEvent>( event ), reinterpret_cast<const VkDependencyInfo *>( &dependencyInfo ) ); 25077 } 25078 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 25079 25080 // wrapper function for command vkCmdResetEvent2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResetEvent2KHR.html 25081 template <typename Dispatch> resetEvent2KHR(VULKAN_HPP_NAMESPACE::Event event,VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stageMask,Dispatch const & d) const25082 VULKAN_HPP_INLINE void CommandBuffer::resetEvent2KHR( VULKAN_HPP_NAMESPACE::Event event, 25083 VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stageMask, 25084 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25085 { 25086 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25087 d.vkCmdResetEvent2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkEvent>( event ), static_cast<VkPipelineStageFlags2>( stageMask ) ); 25088 } 25089 25090 // wrapper function for command vkCmdWaitEvents2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents2KHR.html 25091 template <typename Dispatch> waitEvents2KHR(uint32_t eventCount,const VULKAN_HPP_NAMESPACE::Event * pEvents,const VULKAN_HPP_NAMESPACE::DependencyInfo * pDependencyInfos,Dispatch const & d) const25092 VULKAN_HPP_INLINE void CommandBuffer::waitEvents2KHR( uint32_t eventCount, 25093 const VULKAN_HPP_NAMESPACE::Event * pEvents, 25094 const VULKAN_HPP_NAMESPACE::DependencyInfo * pDependencyInfos, 25095 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25096 { 25097 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25098 d.vkCmdWaitEvents2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 25099 eventCount, 25100 reinterpret_cast<const VkEvent *>( pEvents ), 25101 reinterpret_cast<const VkDependencyInfo *>( pDependencyInfos ) ); 25102 } 25103 25104 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 25105 // wrapper function for command vkCmdWaitEvents2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents2KHR.html 25106 template <typename Dispatch> waitEvents2KHR(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const & events,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DependencyInfo> const & dependencyInfos,Dispatch const & d) const25107 VULKAN_HPP_INLINE void CommandBuffer::waitEvents2KHR( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const & events, 25108 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DependencyInfo> const & dependencyInfos, 25109 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS 25110 { 25111 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25112 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25113 VULKAN_HPP_ASSERT( d.vkCmdWaitEvents2KHR && "Function <vkCmdWaitEvents2KHR> requires <VK_KHR_synchronization2> or <VK_VERSION_1_3>" ); 25114 # endif 25115 # ifdef VULKAN_HPP_NO_EXCEPTIONS 25116 VULKAN_HPP_ASSERT( events.size() == dependencyInfos.size() ); 25117 # else 25118 if ( events.size() != dependencyInfos.size() ) 25119 { 25120 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::waitEvents2KHR: events.size() != dependencyInfos.size()" ); 25121 } 25122 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ 25123 25124 d.vkCmdWaitEvents2KHR( m_commandBuffer, 25125 events.size(), 25126 reinterpret_cast<const VkEvent *>( events.data() ), 25127 reinterpret_cast<const VkDependencyInfo *>( dependencyInfos.data() ) ); 25128 } 25129 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 25130 25131 // wrapper function for command vkCmdPipelineBarrier2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPipelineBarrier2KHR.html 25132 template <typename Dispatch> pipelineBarrier2KHR(const VULKAN_HPP_NAMESPACE::DependencyInfo * pDependencyInfo,Dispatch const & d) const25133 VULKAN_HPP_INLINE void CommandBuffer::pipelineBarrier2KHR( const VULKAN_HPP_NAMESPACE::DependencyInfo * pDependencyInfo, 25134 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25135 { 25136 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25137 d.vkCmdPipelineBarrier2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkDependencyInfo *>( pDependencyInfo ) ); 25138 } 25139 25140 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 25141 // wrapper function for command vkCmdPipelineBarrier2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPipelineBarrier2KHR.html 25142 template <typename Dispatch> pipelineBarrier2KHR(const VULKAN_HPP_NAMESPACE::DependencyInfo & dependencyInfo,Dispatch const & d) const25143 VULKAN_HPP_INLINE void CommandBuffer::pipelineBarrier2KHR( const VULKAN_HPP_NAMESPACE::DependencyInfo & dependencyInfo, 25144 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25145 { 25146 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25147 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25148 VULKAN_HPP_ASSERT( d.vkCmdPipelineBarrier2KHR && "Function <vkCmdPipelineBarrier2KHR> requires <VK_KHR_synchronization2> or <VK_VERSION_1_3>" ); 25149 # endif 25150 25151 d.vkCmdPipelineBarrier2KHR( m_commandBuffer, reinterpret_cast<const VkDependencyInfo *>( &dependencyInfo ) ); 25152 } 25153 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 25154 25155 // wrapper function for command vkCmdWriteTimestamp2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteTimestamp2KHR.html 25156 template <typename Dispatch> writeTimestamp2KHR(VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stage,VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t query,Dispatch const & d) const25157 VULKAN_HPP_INLINE void CommandBuffer::writeTimestamp2KHR( VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stage, 25158 VULKAN_HPP_NAMESPACE::QueryPool queryPool, 25159 uint32_t query, 25160 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25161 { 25162 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25163 d.vkCmdWriteTimestamp2KHR( 25164 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkPipelineStageFlags2>( stage ), static_cast<VkQueryPool>( queryPool ), query ); 25165 } 25166 25167 // wrapper function for command vkQueueSubmit2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit2KHR.html 25168 template <typename Dispatch> submit2KHR(uint32_t submitCount,const VULKAN_HPP_NAMESPACE::SubmitInfo2 * pSubmits,VULKAN_HPP_NAMESPACE::Fence fence,Dispatch const & d) const25169 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Queue::submit2KHR( uint32_t submitCount, 25170 const VULKAN_HPP_NAMESPACE::SubmitInfo2 * pSubmits, 25171 VULKAN_HPP_NAMESPACE::Fence fence, 25172 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25173 { 25174 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25175 return static_cast<Result>( 25176 d.vkQueueSubmit2KHR( static_cast<VkQueue>( m_queue ), submitCount, reinterpret_cast<const VkSubmitInfo2 *>( pSubmits ), static_cast<VkFence>( fence ) ) ); 25177 } 25178 25179 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 25180 // wrapper function for command vkQueueSubmit2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit2KHR.html 25181 template <typename Dispatch> submit2KHR(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo2> const & submits,VULKAN_HPP_NAMESPACE::Fence fence,Dispatch const & d) const25182 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type Queue::submit2KHR( 25183 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo2> const & submits, VULKAN_HPP_NAMESPACE::Fence fence, Dispatch const & d ) const 25184 { 25185 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25186 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25187 VULKAN_HPP_ASSERT( d.vkQueueSubmit2KHR && "Function <vkQueueSubmit2KHR> requires <VK_KHR_synchronization2> or <VK_VERSION_1_3>" ); 25188 # endif 25189 25190 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 25191 d.vkQueueSubmit2KHR( m_queue, submits.size(), reinterpret_cast<const VkSubmitInfo2 *>( submits.data() ), static_cast<VkFence>( fence ) ) ); 25192 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::submit2KHR" ); 25193 25194 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 25195 } 25196 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 25197 25198 //=== VK_EXT_descriptor_buffer === 25199 25200 // wrapper function for command vkGetDescriptorSetLayoutSizeEXT, see 25201 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSizeEXT.html 25202 template <typename Dispatch> getDescriptorSetLayoutSizeEXT(VULKAN_HPP_NAMESPACE::DescriptorSetLayout layout,VULKAN_HPP_NAMESPACE::DeviceSize * pLayoutSizeInBytes,Dispatch const & d) const25203 VULKAN_HPP_INLINE void Device::getDescriptorSetLayoutSizeEXT( VULKAN_HPP_NAMESPACE::DescriptorSetLayout layout, 25204 VULKAN_HPP_NAMESPACE::DeviceSize * pLayoutSizeInBytes, 25205 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25206 { 25207 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25208 d.vkGetDescriptorSetLayoutSizeEXT( 25209 static_cast<VkDevice>( m_device ), static_cast<VkDescriptorSetLayout>( layout ), reinterpret_cast<VkDeviceSize *>( pLayoutSizeInBytes ) ); 25210 } 25211 25212 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 25213 // wrapper function for command vkGetDescriptorSetLayoutSizeEXT, see 25214 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSizeEXT.html 25215 template <typename Dispatch> 25216 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceSize getDescriptorSetLayoutSizeEXT(VULKAN_HPP_NAMESPACE::DescriptorSetLayout layout,Dispatch const & d) const25217 Device::getDescriptorSetLayoutSizeEXT( VULKAN_HPP_NAMESPACE::DescriptorSetLayout layout, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25218 { 25219 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25220 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25221 VULKAN_HPP_ASSERT( d.vkGetDescriptorSetLayoutSizeEXT && "Function <vkGetDescriptorSetLayoutSizeEXT> requires <VK_EXT_descriptor_buffer>" ); 25222 # endif 25223 25224 VULKAN_HPP_NAMESPACE::DeviceSize layoutSizeInBytes; 25225 d.vkGetDescriptorSetLayoutSizeEXT( m_device, static_cast<VkDescriptorSetLayout>( layout ), reinterpret_cast<VkDeviceSize *>( &layoutSizeInBytes ) ); 25226 25227 return layoutSizeInBytes; 25228 } 25229 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 25230 25231 // wrapper function for command vkGetDescriptorSetLayoutBindingOffsetEXT, see 25232 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutBindingOffsetEXT.html 25233 template <typename Dispatch> getDescriptorSetLayoutBindingOffsetEXT(VULKAN_HPP_NAMESPACE::DescriptorSetLayout layout,uint32_t binding,VULKAN_HPP_NAMESPACE::DeviceSize * pOffset,Dispatch const & d) const25234 VULKAN_HPP_INLINE void Device::getDescriptorSetLayoutBindingOffsetEXT( VULKAN_HPP_NAMESPACE::DescriptorSetLayout layout, 25235 uint32_t binding, 25236 VULKAN_HPP_NAMESPACE::DeviceSize * pOffset, 25237 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25238 { 25239 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25240 d.vkGetDescriptorSetLayoutBindingOffsetEXT( 25241 static_cast<VkDevice>( m_device ), static_cast<VkDescriptorSetLayout>( layout ), binding, reinterpret_cast<VkDeviceSize *>( pOffset ) ); 25242 } 25243 25244 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 25245 // wrapper function for command vkGetDescriptorSetLayoutBindingOffsetEXT, see 25246 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutBindingOffsetEXT.html 25247 template <typename Dispatch> getDescriptorSetLayoutBindingOffsetEXT(VULKAN_HPP_NAMESPACE::DescriptorSetLayout layout,uint32_t binding,Dispatch const & d) const25248 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceSize Device::getDescriptorSetLayoutBindingOffsetEXT( 25249 VULKAN_HPP_NAMESPACE::DescriptorSetLayout layout, uint32_t binding, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25250 { 25251 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25252 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25253 VULKAN_HPP_ASSERT( d.vkGetDescriptorSetLayoutBindingOffsetEXT && 25254 "Function <vkGetDescriptorSetLayoutBindingOffsetEXT> requires <VK_EXT_descriptor_buffer>" ); 25255 # endif 25256 25257 VULKAN_HPP_NAMESPACE::DeviceSize offset; 25258 d.vkGetDescriptorSetLayoutBindingOffsetEXT( m_device, static_cast<VkDescriptorSetLayout>( layout ), binding, reinterpret_cast<VkDeviceSize *>( &offset ) ); 25259 25260 return offset; 25261 } 25262 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 25263 25264 // wrapper function for command vkGetDescriptorEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorEXT.html 25265 template <typename Dispatch> getDescriptorEXT(const VULKAN_HPP_NAMESPACE::DescriptorGetInfoEXT * pDescriptorInfo,size_t dataSize,void * pDescriptor,Dispatch const & d) const25266 VULKAN_HPP_INLINE void Device::getDescriptorEXT( const VULKAN_HPP_NAMESPACE::DescriptorGetInfoEXT * pDescriptorInfo, 25267 size_t dataSize, 25268 void * pDescriptor, 25269 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25270 { 25271 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25272 d.vkGetDescriptorEXT( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDescriptorGetInfoEXT *>( pDescriptorInfo ), dataSize, pDescriptor ); 25273 } 25274 25275 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 25276 // wrapper function for command vkGetDescriptorEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorEXT.html 25277 template <typename Dispatch> getDescriptorEXT(const VULKAN_HPP_NAMESPACE::DescriptorGetInfoEXT & descriptorInfo,size_t dataSize,void * pDescriptor,Dispatch const & d) const25278 VULKAN_HPP_INLINE void Device::getDescriptorEXT( const VULKAN_HPP_NAMESPACE::DescriptorGetInfoEXT & descriptorInfo, 25279 size_t dataSize, 25280 void * pDescriptor, 25281 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25282 { 25283 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25284 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25285 VULKAN_HPP_ASSERT( d.vkGetDescriptorEXT && "Function <vkGetDescriptorEXT> requires <VK_EXT_descriptor_buffer>" ); 25286 # endif 25287 25288 d.vkGetDescriptorEXT( m_device, reinterpret_cast<const VkDescriptorGetInfoEXT *>( &descriptorInfo ), dataSize, pDescriptor ); 25289 } 25290 25291 // wrapper function for command vkGetDescriptorEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorEXT.html 25292 template <typename DescriptorType, typename Dispatch> getDescriptorEXT(const VULKAN_HPP_NAMESPACE::DescriptorGetInfoEXT & descriptorInfo,Dispatch const & d) const25293 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DescriptorType Device::getDescriptorEXT( const VULKAN_HPP_NAMESPACE::DescriptorGetInfoEXT & descriptorInfo, 25294 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25295 { 25296 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25297 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25298 VULKAN_HPP_ASSERT( d.vkGetDescriptorEXT && "Function <vkGetDescriptorEXT> requires <VK_EXT_descriptor_buffer>" ); 25299 # endif 25300 25301 DescriptorType descriptor; 25302 d.vkGetDescriptorEXT( 25303 m_device, reinterpret_cast<const VkDescriptorGetInfoEXT *>( &descriptorInfo ), sizeof( DescriptorType ), reinterpret_cast<void *>( &descriptor ) ); 25304 25305 return descriptor; 25306 } 25307 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 25308 25309 // wrapper function for command vkCmdBindDescriptorBuffersEXT, see 25310 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorBuffersEXT.html 25311 template <typename Dispatch> bindDescriptorBuffersEXT(uint32_t bufferCount,const VULKAN_HPP_NAMESPACE::DescriptorBufferBindingInfoEXT * pBindingInfos,Dispatch const & d) const25312 VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorBuffersEXT( uint32_t bufferCount, 25313 const VULKAN_HPP_NAMESPACE::DescriptorBufferBindingInfoEXT * pBindingInfos, 25314 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25315 { 25316 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25317 d.vkCmdBindDescriptorBuffersEXT( 25318 static_cast<VkCommandBuffer>( m_commandBuffer ), bufferCount, reinterpret_cast<const VkDescriptorBufferBindingInfoEXT *>( pBindingInfos ) ); 25319 } 25320 25321 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 25322 // wrapper function for command vkCmdBindDescriptorBuffersEXT, see 25323 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorBuffersEXT.html 25324 template <typename Dispatch> 25325 VULKAN_HPP_INLINE void bindDescriptorBuffersEXT(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorBufferBindingInfoEXT> const & bindingInfos,Dispatch const & d) const25326 CommandBuffer::bindDescriptorBuffersEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorBufferBindingInfoEXT> const & bindingInfos, 25327 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25328 { 25329 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25330 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25331 VULKAN_HPP_ASSERT( d.vkCmdBindDescriptorBuffersEXT && "Function <vkCmdBindDescriptorBuffersEXT> requires <VK_EXT_descriptor_buffer>" ); 25332 # endif 25333 25334 d.vkCmdBindDescriptorBuffersEXT( m_commandBuffer, bindingInfos.size(), reinterpret_cast<const VkDescriptorBufferBindingInfoEXT *>( bindingInfos.data() ) ); 25335 } 25336 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 25337 25338 // wrapper function for command vkCmdSetDescriptorBufferOffsetsEXT, see 25339 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDescriptorBufferOffsetsEXT.html 25340 template <typename Dispatch> setDescriptorBufferOffsetsEXT(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,VULKAN_HPP_NAMESPACE::PipelineLayout layout,uint32_t firstSet,uint32_t setCount,const uint32_t * pBufferIndices,const VULKAN_HPP_NAMESPACE::DeviceSize * pOffsets,Dispatch const & d) const25341 VULKAN_HPP_INLINE void CommandBuffer::setDescriptorBufferOffsetsEXT( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint, 25342 VULKAN_HPP_NAMESPACE::PipelineLayout layout, 25343 uint32_t firstSet, 25344 uint32_t setCount, 25345 const uint32_t * pBufferIndices, 25346 const VULKAN_HPP_NAMESPACE::DeviceSize * pOffsets, 25347 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25348 { 25349 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25350 d.vkCmdSetDescriptorBufferOffsetsEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 25351 static_cast<VkPipelineBindPoint>( pipelineBindPoint ), 25352 static_cast<VkPipelineLayout>( layout ), 25353 firstSet, 25354 setCount, 25355 pBufferIndices, 25356 reinterpret_cast<const VkDeviceSize *>( pOffsets ) ); 25357 } 25358 25359 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 25360 // wrapper function for command vkCmdSetDescriptorBufferOffsetsEXT, see 25361 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDescriptorBufferOffsetsEXT.html 25362 template <typename Dispatch> setDescriptorBufferOffsetsEXT(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,VULKAN_HPP_NAMESPACE::PipelineLayout layout,uint32_t firstSet,VULKAN_HPP_NAMESPACE::ArrayProxy<const uint32_t> const & bufferIndices,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets,Dispatch const & d) const25363 VULKAN_HPP_INLINE void CommandBuffer::setDescriptorBufferOffsetsEXT( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint, 25364 VULKAN_HPP_NAMESPACE::PipelineLayout layout, 25365 uint32_t firstSet, 25366 VULKAN_HPP_NAMESPACE::ArrayProxy<const uint32_t> const & bufferIndices, 25367 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets, 25368 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS 25369 { 25370 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25371 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25372 VULKAN_HPP_ASSERT( d.vkCmdSetDescriptorBufferOffsetsEXT && "Function <vkCmdSetDescriptorBufferOffsetsEXT> requires <VK_EXT_descriptor_buffer>" ); 25373 # endif 25374 # ifdef VULKAN_HPP_NO_EXCEPTIONS 25375 VULKAN_HPP_ASSERT( bufferIndices.size() == offsets.size() ); 25376 # else 25377 if ( bufferIndices.size() != offsets.size() ) 25378 { 25379 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::setDescriptorBufferOffsetsEXT: bufferIndices.size() != offsets.size()" ); 25380 } 25381 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ 25382 25383 d.vkCmdSetDescriptorBufferOffsetsEXT( m_commandBuffer, 25384 static_cast<VkPipelineBindPoint>( pipelineBindPoint ), 25385 static_cast<VkPipelineLayout>( layout ), 25386 firstSet, 25387 bufferIndices.size(), 25388 bufferIndices.data(), 25389 reinterpret_cast<const VkDeviceSize *>( offsets.data() ) ); 25390 } 25391 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 25392 25393 // wrapper function for command vkCmdBindDescriptorBufferEmbeddedSamplersEXT, see 25394 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorBufferEmbeddedSamplersEXT.html 25395 template <typename Dispatch> bindDescriptorBufferEmbeddedSamplersEXT(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,VULKAN_HPP_NAMESPACE::PipelineLayout layout,uint32_t set,Dispatch const & d) const25396 VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorBufferEmbeddedSamplersEXT( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint, 25397 VULKAN_HPP_NAMESPACE::PipelineLayout layout, 25398 uint32_t set, 25399 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25400 { 25401 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25402 d.vkCmdBindDescriptorBufferEmbeddedSamplersEXT( 25403 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkPipelineBindPoint>( pipelineBindPoint ), static_cast<VkPipelineLayout>( layout ), set ); 25404 } 25405 25406 // wrapper function for command vkGetBufferOpaqueCaptureDescriptorDataEXT, see 25407 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferOpaqueCaptureDescriptorDataEXT.html 25408 template <typename Dispatch> getBufferOpaqueCaptureDescriptorDataEXT(const VULKAN_HPP_NAMESPACE::BufferCaptureDescriptorDataInfoEXT * pInfo,void * pData,Dispatch const & d) const25409 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getBufferOpaqueCaptureDescriptorDataEXT( 25410 const VULKAN_HPP_NAMESPACE::BufferCaptureDescriptorDataInfoEXT * pInfo, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25411 { 25412 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25413 return static_cast<Result>( d.vkGetBufferOpaqueCaptureDescriptorDataEXT( 25414 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkBufferCaptureDescriptorDataInfoEXT *>( pInfo ), pData ) ); 25415 } 25416 25417 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 25418 // wrapper function for command vkGetBufferOpaqueCaptureDescriptorDataEXT, see 25419 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferOpaqueCaptureDescriptorDataEXT.html 25420 template <typename DataType, typename Dispatch> 25421 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type getBufferOpaqueCaptureDescriptorDataEXT(const VULKAN_HPP_NAMESPACE::BufferCaptureDescriptorDataInfoEXT & info,Dispatch const & d) const25422 Device::getBufferOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::BufferCaptureDescriptorDataInfoEXT & info, Dispatch const & d ) const 25423 { 25424 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25425 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25426 VULKAN_HPP_ASSERT( d.vkGetBufferOpaqueCaptureDescriptorDataEXT && 25427 "Function <vkGetBufferOpaqueCaptureDescriptorDataEXT> requires <VK_EXT_descriptor_buffer>" ); 25428 # endif 25429 25430 DataType data; 25431 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 25432 d.vkGetBufferOpaqueCaptureDescriptorDataEXT( m_device, reinterpret_cast<const VkBufferCaptureDescriptorDataInfoEXT *>( &info ), &data ) ); 25433 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getBufferOpaqueCaptureDescriptorDataEXT" ); 25434 25435 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); 25436 } 25437 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 25438 25439 // wrapper function for command vkGetImageOpaqueCaptureDescriptorDataEXT, see 25440 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageOpaqueCaptureDescriptorDataEXT.html 25441 template <typename Dispatch> getImageOpaqueCaptureDescriptorDataEXT(const VULKAN_HPP_NAMESPACE::ImageCaptureDescriptorDataInfoEXT * pInfo,void * pData,Dispatch const & d) const25442 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getImageOpaqueCaptureDescriptorDataEXT( 25443 const VULKAN_HPP_NAMESPACE::ImageCaptureDescriptorDataInfoEXT * pInfo, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25444 { 25445 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25446 return static_cast<Result>( d.vkGetImageOpaqueCaptureDescriptorDataEXT( 25447 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImageCaptureDescriptorDataInfoEXT *>( pInfo ), pData ) ); 25448 } 25449 25450 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 25451 // wrapper function for command vkGetImageOpaqueCaptureDescriptorDataEXT, see 25452 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageOpaqueCaptureDescriptorDataEXT.html 25453 template <typename DataType, typename Dispatch> 25454 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type getImageOpaqueCaptureDescriptorDataEXT(const VULKAN_HPP_NAMESPACE::ImageCaptureDescriptorDataInfoEXT & info,Dispatch const & d) const25455 Device::getImageOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::ImageCaptureDescriptorDataInfoEXT & info, Dispatch const & d ) const 25456 { 25457 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25458 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25459 VULKAN_HPP_ASSERT( d.vkGetImageOpaqueCaptureDescriptorDataEXT && 25460 "Function <vkGetImageOpaqueCaptureDescriptorDataEXT> requires <VK_EXT_descriptor_buffer>" ); 25461 # endif 25462 25463 DataType data; 25464 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 25465 d.vkGetImageOpaqueCaptureDescriptorDataEXT( m_device, reinterpret_cast<const VkImageCaptureDescriptorDataInfoEXT *>( &info ), &data ) ); 25466 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getImageOpaqueCaptureDescriptorDataEXT" ); 25467 25468 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); 25469 } 25470 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 25471 25472 // wrapper function for command vkGetImageViewOpaqueCaptureDescriptorDataEXT, see 25473 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewOpaqueCaptureDescriptorDataEXT.html 25474 template <typename Dispatch> getImageViewOpaqueCaptureDescriptorDataEXT(const VULKAN_HPP_NAMESPACE::ImageViewCaptureDescriptorDataInfoEXT * pInfo,void * pData,Dispatch const & d) const25475 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getImageViewOpaqueCaptureDescriptorDataEXT( 25476 const VULKAN_HPP_NAMESPACE::ImageViewCaptureDescriptorDataInfoEXT * pInfo, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25477 { 25478 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25479 return static_cast<Result>( d.vkGetImageViewOpaqueCaptureDescriptorDataEXT( 25480 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImageViewCaptureDescriptorDataInfoEXT *>( pInfo ), pData ) ); 25481 } 25482 25483 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 25484 // wrapper function for command vkGetImageViewOpaqueCaptureDescriptorDataEXT, see 25485 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewOpaqueCaptureDescriptorDataEXT.html 25486 template <typename DataType, typename Dispatch> 25487 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type getImageViewOpaqueCaptureDescriptorDataEXT(const VULKAN_HPP_NAMESPACE::ImageViewCaptureDescriptorDataInfoEXT & info,Dispatch const & d) const25488 Device::getImageViewOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::ImageViewCaptureDescriptorDataInfoEXT & info, Dispatch const & d ) const 25489 { 25490 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25491 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25492 VULKAN_HPP_ASSERT( d.vkGetImageViewOpaqueCaptureDescriptorDataEXT && 25493 "Function <vkGetImageViewOpaqueCaptureDescriptorDataEXT> requires <VK_EXT_descriptor_buffer>" ); 25494 # endif 25495 25496 DataType data; 25497 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 25498 d.vkGetImageViewOpaqueCaptureDescriptorDataEXT( m_device, reinterpret_cast<const VkImageViewCaptureDescriptorDataInfoEXT *>( &info ), &data ) ); 25499 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getImageViewOpaqueCaptureDescriptorDataEXT" ); 25500 25501 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); 25502 } 25503 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 25504 25505 // wrapper function for command vkGetSamplerOpaqueCaptureDescriptorDataEXT, see 25506 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSamplerOpaqueCaptureDescriptorDataEXT.html 25507 template <typename Dispatch> getSamplerOpaqueCaptureDescriptorDataEXT(const VULKAN_HPP_NAMESPACE::SamplerCaptureDescriptorDataInfoEXT * pInfo,void * pData,Dispatch const & d) const25508 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSamplerOpaqueCaptureDescriptorDataEXT( 25509 const VULKAN_HPP_NAMESPACE::SamplerCaptureDescriptorDataInfoEXT * pInfo, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25510 { 25511 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25512 return static_cast<Result>( d.vkGetSamplerOpaqueCaptureDescriptorDataEXT( 25513 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSamplerCaptureDescriptorDataInfoEXT *>( pInfo ), pData ) ); 25514 } 25515 25516 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 25517 // wrapper function for command vkGetSamplerOpaqueCaptureDescriptorDataEXT, see 25518 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSamplerOpaqueCaptureDescriptorDataEXT.html 25519 template <typename DataType, typename Dispatch> 25520 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type getSamplerOpaqueCaptureDescriptorDataEXT(const VULKAN_HPP_NAMESPACE::SamplerCaptureDescriptorDataInfoEXT & info,Dispatch const & d) const25521 Device::getSamplerOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::SamplerCaptureDescriptorDataInfoEXT & info, Dispatch const & d ) const 25522 { 25523 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25524 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25525 VULKAN_HPP_ASSERT( d.vkGetSamplerOpaqueCaptureDescriptorDataEXT && 25526 "Function <vkGetSamplerOpaqueCaptureDescriptorDataEXT> requires <VK_EXT_descriptor_buffer>" ); 25527 # endif 25528 25529 DataType data; 25530 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 25531 d.vkGetSamplerOpaqueCaptureDescriptorDataEXT( m_device, reinterpret_cast<const VkSamplerCaptureDescriptorDataInfoEXT *>( &info ), &data ) ); 25532 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSamplerOpaqueCaptureDescriptorDataEXT" ); 25533 25534 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); 25535 } 25536 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 25537 25538 // wrapper function for command vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT, see 25539 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT.html 25540 template <typename Dispatch> getAccelerationStructureOpaqueCaptureDescriptorDataEXT(const VULKAN_HPP_NAMESPACE::AccelerationStructureCaptureDescriptorDataInfoEXT * pInfo,void * pData,Dispatch const & d) const25541 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getAccelerationStructureOpaqueCaptureDescriptorDataEXT( 25542 const VULKAN_HPP_NAMESPACE::AccelerationStructureCaptureDescriptorDataInfoEXT * pInfo, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25543 { 25544 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25545 return static_cast<Result>( d.vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( 25546 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkAccelerationStructureCaptureDescriptorDataInfoEXT *>( pInfo ), pData ) ); 25547 } 25548 25549 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 25550 // wrapper function for command vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT, see 25551 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT.html 25552 template <typename DataType, typename Dispatch> 25553 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type getAccelerationStructureOpaqueCaptureDescriptorDataEXT(const VULKAN_HPP_NAMESPACE::AccelerationStructureCaptureDescriptorDataInfoEXT & info,Dispatch const & d) const25554 Device::getAccelerationStructureOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::AccelerationStructureCaptureDescriptorDataInfoEXT & info, 25555 Dispatch const & d ) const 25556 { 25557 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25558 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25559 VULKAN_HPP_ASSERT( d.vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT && 25560 "Function <vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT> requires <VK_EXT_descriptor_buffer>" ); 25561 # endif 25562 25563 DataType data; 25564 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( 25565 m_device, reinterpret_cast<const VkAccelerationStructureCaptureDescriptorDataInfoEXT *>( &info ), &data ) ); 25566 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getAccelerationStructureOpaqueCaptureDescriptorDataEXT" ); 25567 25568 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); 25569 } 25570 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 25571 25572 //=== VK_NV_fragment_shading_rate_enums === 25573 25574 // wrapper function for command vkCmdSetFragmentShadingRateEnumNV, see 25575 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFragmentShadingRateEnumNV.html 25576 template <typename Dispatch> setFragmentShadingRateEnumNV(VULKAN_HPP_NAMESPACE::FragmentShadingRateNV shadingRate,const VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR combinerOps[2],Dispatch const & d) const25577 VULKAN_HPP_INLINE void CommandBuffer::setFragmentShadingRateEnumNV( VULKAN_HPP_NAMESPACE::FragmentShadingRateNV shadingRate, 25578 const VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR combinerOps[2], 25579 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25580 { 25581 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25582 d.vkCmdSetFragmentShadingRateEnumNV( static_cast<VkCommandBuffer>( m_commandBuffer ), 25583 static_cast<VkFragmentShadingRateNV>( shadingRate ), 25584 reinterpret_cast<const VkFragmentShadingRateCombinerOpKHR *>( combinerOps ) ); 25585 } 25586 25587 //=== VK_EXT_mesh_shader === 25588 25589 // wrapper function for command vkCmdDrawMeshTasksEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksEXT.html 25590 template <typename Dispatch> 25591 VULKAN_HPP_INLINE void drawMeshTasksEXT(uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ,Dispatch const & d) const25592 CommandBuffer::drawMeshTasksEXT( uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25593 { 25594 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25595 d.vkCmdDrawMeshTasksEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), groupCountX, groupCountY, groupCountZ ); 25596 } 25597 25598 // wrapper function for command vkCmdDrawMeshTasksIndirectEXT, see 25599 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirectEXT.html 25600 template <typename Dispatch> drawMeshTasksIndirectEXT(VULKAN_HPP_NAMESPACE::Buffer buffer,VULKAN_HPP_NAMESPACE::DeviceSize offset,uint32_t drawCount,uint32_t stride,Dispatch const & d) const25601 VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksIndirectEXT( VULKAN_HPP_NAMESPACE::Buffer buffer, 25602 VULKAN_HPP_NAMESPACE::DeviceSize offset, 25603 uint32_t drawCount, 25604 uint32_t stride, 25605 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25606 { 25607 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25608 d.vkCmdDrawMeshTasksIndirectEXT( 25609 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBuffer>( buffer ), static_cast<VkDeviceSize>( offset ), drawCount, stride ); 25610 } 25611 25612 // wrapper function for command vkCmdDrawMeshTasksIndirectCountEXT, see 25613 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirectCountEXT.html 25614 template <typename Dispatch> drawMeshTasksIndirectCountEXT(VULKAN_HPP_NAMESPACE::Buffer buffer,VULKAN_HPP_NAMESPACE::DeviceSize offset,VULKAN_HPP_NAMESPACE::Buffer countBuffer,VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride,Dispatch const & d) const25615 VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksIndirectCountEXT( VULKAN_HPP_NAMESPACE::Buffer buffer, 25616 VULKAN_HPP_NAMESPACE::DeviceSize offset, 25617 VULKAN_HPP_NAMESPACE::Buffer countBuffer, 25618 VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset, 25619 uint32_t maxDrawCount, 25620 uint32_t stride, 25621 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25622 { 25623 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25624 d.vkCmdDrawMeshTasksIndirectCountEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 25625 static_cast<VkBuffer>( buffer ), 25626 static_cast<VkDeviceSize>( offset ), 25627 static_cast<VkBuffer>( countBuffer ), 25628 static_cast<VkDeviceSize>( countBufferOffset ), 25629 maxDrawCount, 25630 stride ); 25631 } 25632 25633 //=== VK_KHR_copy_commands2 === 25634 25635 // wrapper function for command vkCmdCopyBuffer2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer2KHR.html 25636 template <typename Dispatch> copyBuffer2KHR(const VULKAN_HPP_NAMESPACE::CopyBufferInfo2 * pCopyBufferInfo,Dispatch const & d) const25637 VULKAN_HPP_INLINE void CommandBuffer::copyBuffer2KHR( const VULKAN_HPP_NAMESPACE::CopyBufferInfo2 * pCopyBufferInfo, 25638 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25639 { 25640 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25641 d.vkCmdCopyBuffer2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkCopyBufferInfo2 *>( pCopyBufferInfo ) ); 25642 } 25643 25644 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 25645 // wrapper function for command vkCmdCopyBuffer2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer2KHR.html 25646 template <typename Dispatch> copyBuffer2KHR(const VULKAN_HPP_NAMESPACE::CopyBufferInfo2 & copyBufferInfo,Dispatch const & d) const25647 VULKAN_HPP_INLINE void CommandBuffer::copyBuffer2KHR( const VULKAN_HPP_NAMESPACE::CopyBufferInfo2 & copyBufferInfo, 25648 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25649 { 25650 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25651 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25652 VULKAN_HPP_ASSERT( d.vkCmdCopyBuffer2KHR && "Function <vkCmdCopyBuffer2KHR> requires <VK_KHR_copy_commands2> or <VK_VERSION_1_3>" ); 25653 # endif 25654 25655 d.vkCmdCopyBuffer2KHR( m_commandBuffer, reinterpret_cast<const VkCopyBufferInfo2 *>( ©BufferInfo ) ); 25656 } 25657 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 25658 25659 // wrapper function for command vkCmdCopyImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImage2KHR.html 25660 template <typename Dispatch> copyImage2KHR(const VULKAN_HPP_NAMESPACE::CopyImageInfo2 * pCopyImageInfo,Dispatch const & d) const25661 VULKAN_HPP_INLINE void CommandBuffer::copyImage2KHR( const VULKAN_HPP_NAMESPACE::CopyImageInfo2 * pCopyImageInfo, 25662 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25663 { 25664 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25665 d.vkCmdCopyImage2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkCopyImageInfo2 *>( pCopyImageInfo ) ); 25666 } 25667 25668 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 25669 // wrapper function for command vkCmdCopyImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImage2KHR.html 25670 template <typename Dispatch> copyImage2KHR(const VULKAN_HPP_NAMESPACE::CopyImageInfo2 & copyImageInfo,Dispatch const & d) const25671 VULKAN_HPP_INLINE void CommandBuffer::copyImage2KHR( const VULKAN_HPP_NAMESPACE::CopyImageInfo2 & copyImageInfo, 25672 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25673 { 25674 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25675 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25676 VULKAN_HPP_ASSERT( d.vkCmdCopyImage2KHR && "Function <vkCmdCopyImage2KHR> requires <VK_KHR_copy_commands2> or <VK_VERSION_1_3>" ); 25677 # endif 25678 25679 d.vkCmdCopyImage2KHR( m_commandBuffer, reinterpret_cast<const VkCopyImageInfo2 *>( ©ImageInfo ) ); 25680 } 25681 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 25682 25683 // wrapper function for command vkCmdCopyBufferToImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBufferToImage2KHR.html 25684 template <typename Dispatch> copyBufferToImage2KHR(const VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2 * pCopyBufferToImageInfo,Dispatch const & d) const25685 VULKAN_HPP_INLINE void CommandBuffer::copyBufferToImage2KHR( const VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2 * pCopyBufferToImageInfo, 25686 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25687 { 25688 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25689 d.vkCmdCopyBufferToImage2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 25690 reinterpret_cast<const VkCopyBufferToImageInfo2 *>( pCopyBufferToImageInfo ) ); 25691 } 25692 25693 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 25694 // wrapper function for command vkCmdCopyBufferToImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBufferToImage2KHR.html 25695 template <typename Dispatch> copyBufferToImage2KHR(const VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2 & copyBufferToImageInfo,Dispatch const & d) const25696 VULKAN_HPP_INLINE void CommandBuffer::copyBufferToImage2KHR( const VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2 & copyBufferToImageInfo, 25697 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25698 { 25699 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25700 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25701 VULKAN_HPP_ASSERT( d.vkCmdCopyBufferToImage2KHR && "Function <vkCmdCopyBufferToImage2KHR> requires <VK_KHR_copy_commands2> or <VK_VERSION_1_3>" ); 25702 # endif 25703 25704 d.vkCmdCopyBufferToImage2KHR( m_commandBuffer, reinterpret_cast<const VkCopyBufferToImageInfo2 *>( ©BufferToImageInfo ) ); 25705 } 25706 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 25707 25708 // wrapper function for command vkCmdCopyImageToBuffer2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToBuffer2KHR.html 25709 template <typename Dispatch> copyImageToBuffer2KHR(const VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2 * pCopyImageToBufferInfo,Dispatch const & d) const25710 VULKAN_HPP_INLINE void CommandBuffer::copyImageToBuffer2KHR( const VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2 * pCopyImageToBufferInfo, 25711 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25712 { 25713 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25714 d.vkCmdCopyImageToBuffer2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 25715 reinterpret_cast<const VkCopyImageToBufferInfo2 *>( pCopyImageToBufferInfo ) ); 25716 } 25717 25718 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 25719 // wrapper function for command vkCmdCopyImageToBuffer2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToBuffer2KHR.html 25720 template <typename Dispatch> copyImageToBuffer2KHR(const VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2 & copyImageToBufferInfo,Dispatch const & d) const25721 VULKAN_HPP_INLINE void CommandBuffer::copyImageToBuffer2KHR( const VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2 & copyImageToBufferInfo, 25722 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25723 { 25724 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25725 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25726 VULKAN_HPP_ASSERT( d.vkCmdCopyImageToBuffer2KHR && "Function <vkCmdCopyImageToBuffer2KHR> requires <VK_KHR_copy_commands2> or <VK_VERSION_1_3>" ); 25727 # endif 25728 25729 d.vkCmdCopyImageToBuffer2KHR( m_commandBuffer, reinterpret_cast<const VkCopyImageToBufferInfo2 *>( ©ImageToBufferInfo ) ); 25730 } 25731 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 25732 25733 // wrapper function for command vkCmdBlitImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBlitImage2KHR.html 25734 template <typename Dispatch> blitImage2KHR(const VULKAN_HPP_NAMESPACE::BlitImageInfo2 * pBlitImageInfo,Dispatch const & d) const25735 VULKAN_HPP_INLINE void CommandBuffer::blitImage2KHR( const VULKAN_HPP_NAMESPACE::BlitImageInfo2 * pBlitImageInfo, 25736 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25737 { 25738 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25739 d.vkCmdBlitImage2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkBlitImageInfo2 *>( pBlitImageInfo ) ); 25740 } 25741 25742 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 25743 // wrapper function for command vkCmdBlitImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBlitImage2KHR.html 25744 template <typename Dispatch> blitImage2KHR(const VULKAN_HPP_NAMESPACE::BlitImageInfo2 & blitImageInfo,Dispatch const & d) const25745 VULKAN_HPP_INLINE void CommandBuffer::blitImage2KHR( const VULKAN_HPP_NAMESPACE::BlitImageInfo2 & blitImageInfo, 25746 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25747 { 25748 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25749 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25750 VULKAN_HPP_ASSERT( d.vkCmdBlitImage2KHR && "Function <vkCmdBlitImage2KHR> requires <VK_KHR_copy_commands2> or <VK_VERSION_1_3>" ); 25751 # endif 25752 25753 d.vkCmdBlitImage2KHR( m_commandBuffer, reinterpret_cast<const VkBlitImageInfo2 *>( &blitImageInfo ) ); 25754 } 25755 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 25756 25757 // wrapper function for command vkCmdResolveImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResolveImage2KHR.html 25758 template <typename Dispatch> resolveImage2KHR(const VULKAN_HPP_NAMESPACE::ResolveImageInfo2 * pResolveImageInfo,Dispatch const & d) const25759 VULKAN_HPP_INLINE void CommandBuffer::resolveImage2KHR( const VULKAN_HPP_NAMESPACE::ResolveImageInfo2 * pResolveImageInfo, 25760 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25761 { 25762 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25763 d.vkCmdResolveImage2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkResolveImageInfo2 *>( pResolveImageInfo ) ); 25764 } 25765 25766 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 25767 // wrapper function for command vkCmdResolveImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResolveImage2KHR.html 25768 template <typename Dispatch> resolveImage2KHR(const VULKAN_HPP_NAMESPACE::ResolveImageInfo2 & resolveImageInfo,Dispatch const & d) const25769 VULKAN_HPP_INLINE void CommandBuffer::resolveImage2KHR( const VULKAN_HPP_NAMESPACE::ResolveImageInfo2 & resolveImageInfo, 25770 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25771 { 25772 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25773 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25774 VULKAN_HPP_ASSERT( d.vkCmdResolveImage2KHR && "Function <vkCmdResolveImage2KHR> requires <VK_KHR_copy_commands2> or <VK_VERSION_1_3>" ); 25775 # endif 25776 25777 d.vkCmdResolveImage2KHR( m_commandBuffer, reinterpret_cast<const VkResolveImageInfo2 *>( &resolveImageInfo ) ); 25778 } 25779 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 25780 25781 //=== VK_EXT_device_fault === 25782 25783 // wrapper function for command vkGetDeviceFaultInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceFaultInfoEXT.html 25784 template <typename Dispatch> getFaultInfoEXT(VULKAN_HPP_NAMESPACE::DeviceFaultCountsEXT * pFaultCounts,VULKAN_HPP_NAMESPACE::DeviceFaultInfoEXT * pFaultInfo,Dispatch const & d) const25785 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getFaultInfoEXT( VULKAN_HPP_NAMESPACE::DeviceFaultCountsEXT * pFaultCounts, 25786 VULKAN_HPP_NAMESPACE::DeviceFaultInfoEXT * pFaultInfo, 25787 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25788 { 25789 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25790 return static_cast<Result>( d.vkGetDeviceFaultInfoEXT( 25791 static_cast<VkDevice>( m_device ), reinterpret_cast<VkDeviceFaultCountsEXT *>( pFaultCounts ), reinterpret_cast<VkDeviceFaultInfoEXT *>( pFaultInfo ) ) ); 25792 } 25793 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 25794 //=== VK_NV_acquire_winrt_display === 25795 25796 # ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 25797 // wrapper function for command vkAcquireWinrtDisplayNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireWinrtDisplayNV.html 25798 template <typename Dispatch> acquireWinrtDisplayNV(VULKAN_HPP_NAMESPACE::DisplayKHR display,Dispatch const & d) const25799 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::acquireWinrtDisplayNV( VULKAN_HPP_NAMESPACE::DisplayKHR display, 25800 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25801 { 25802 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25803 return static_cast<Result>( d.vkAcquireWinrtDisplayNV( static_cast<VkPhysicalDevice>( m_physicalDevice ), static_cast<VkDisplayKHR>( display ) ) ); 25804 } 25805 # else 25806 // wrapper function for command vkAcquireWinrtDisplayNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireWinrtDisplayNV.html 25807 template <typename Dispatch> 25808 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type acquireWinrtDisplayNV(VULKAN_HPP_NAMESPACE::DisplayKHR display,Dispatch const & d) const25809 PhysicalDevice::acquireWinrtDisplayNV( VULKAN_HPP_NAMESPACE::DisplayKHR display, Dispatch const & d ) const 25810 { 25811 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25812 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25813 VULKAN_HPP_ASSERT( d.vkAcquireWinrtDisplayNV && "Function <vkAcquireWinrtDisplayNV> requires <VK_NV_acquire_winrt_display>" ); 25814 # endif 25815 25816 VULKAN_HPP_NAMESPACE::Result result = 25817 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkAcquireWinrtDisplayNV( m_physicalDevice, static_cast<VkDisplayKHR>( display ) ) ); 25818 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::acquireWinrtDisplayNV" ); 25819 25820 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 25821 } 25822 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 25823 25824 // wrapper function for command vkGetWinrtDisplayNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetWinrtDisplayNV.html 25825 template <typename Dispatch> getWinrtDisplayNV(uint32_t deviceRelativeId,VULKAN_HPP_NAMESPACE::DisplayKHR * pDisplay,Dispatch const & d) const25826 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getWinrtDisplayNV( uint32_t deviceRelativeId, 25827 VULKAN_HPP_NAMESPACE::DisplayKHR * pDisplay, 25828 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25829 { 25830 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25831 return static_cast<Result>( 25832 d.vkGetWinrtDisplayNV( static_cast<VkPhysicalDevice>( m_physicalDevice ), deviceRelativeId, reinterpret_cast<VkDisplayKHR *>( pDisplay ) ) ); 25833 } 25834 25835 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 25836 // wrapper function for command vkGetWinrtDisplayNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetWinrtDisplayNV.html 25837 template <typename Dispatch> 25838 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::DisplayKHR>::type getWinrtDisplayNV(uint32_t deviceRelativeId,Dispatch const & d) const25839 PhysicalDevice::getWinrtDisplayNV( uint32_t deviceRelativeId, Dispatch const & d ) const 25840 { 25841 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25842 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25843 VULKAN_HPP_ASSERT( d.vkGetWinrtDisplayNV && "Function <vkGetWinrtDisplayNV> requires <VK_NV_acquire_winrt_display>" ); 25844 # endif 25845 25846 VULKAN_HPP_NAMESPACE::DisplayKHR display; 25847 VULKAN_HPP_NAMESPACE::Result result = 25848 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetWinrtDisplayNV( m_physicalDevice, deviceRelativeId, reinterpret_cast<VkDisplayKHR *>( &display ) ) ); 25849 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getWinrtDisplayNV" ); 25850 25851 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( display ) ); 25852 } 25853 25854 # ifndef VULKAN_HPP_NO_SMART_HANDLE 25855 // wrapper function for command vkGetWinrtDisplayNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetWinrtDisplayNV.html 25856 template <typename Dispatch> 25857 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::DisplayKHR, Dispatch>>::type getWinrtDisplayNVUnique(uint32_t deviceRelativeId,Dispatch const & d) const25858 PhysicalDevice::getWinrtDisplayNVUnique( uint32_t deviceRelativeId, Dispatch const & d ) const 25859 { 25860 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25861 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25862 VULKAN_HPP_ASSERT( d.vkGetWinrtDisplayNV && "Function <vkGetWinrtDisplayNV> requires <VK_NV_acquire_winrt_display>" ); 25863 # endif 25864 25865 VULKAN_HPP_NAMESPACE::DisplayKHR display; 25866 VULKAN_HPP_NAMESPACE::Result result = 25867 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetWinrtDisplayNV( m_physicalDevice, deviceRelativeId, reinterpret_cast<VkDisplayKHR *>( &display ) ) ); 25868 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getWinrtDisplayNVUnique" ); 25869 25870 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 25871 result, UniqueHandle<VULKAN_HPP_NAMESPACE::DisplayKHR, Dispatch>( display, detail::ObjectRelease<PhysicalDevice, Dispatch>( *this, d ) ) ); 25872 } 25873 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 25874 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 25875 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 25876 25877 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT ) 25878 //=== VK_EXT_directfb_surface === 25879 25880 // wrapper function for command vkCreateDirectFBSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDirectFBSurfaceEXT.html 25881 template <typename Dispatch> createDirectFBSurfaceEXT(const VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,Dispatch const & d) const25882 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createDirectFBSurfaceEXT( const VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT * pCreateInfo, 25883 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 25884 VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface, 25885 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25886 { 25887 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25888 return static_cast<Result>( d.vkCreateDirectFBSurfaceEXT( static_cast<VkInstance>( m_instance ), 25889 reinterpret_cast<const VkDirectFBSurfaceCreateInfoEXT *>( pCreateInfo ), 25890 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 25891 reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) ); 25892 } 25893 25894 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 25895 // wrapper function for command vkCreateDirectFBSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDirectFBSurfaceEXT.html 25896 template <typename Dispatch> 25897 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type createDirectFBSurfaceEXT(const VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const25898 Instance::createDirectFBSurfaceEXT( const VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT & createInfo, 25899 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 25900 Dispatch const & d ) const 25901 { 25902 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25903 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25904 VULKAN_HPP_ASSERT( d.vkCreateDirectFBSurfaceEXT && "Function <vkCreateDirectFBSurfaceEXT> requires <VK_EXT_directfb_surface>" ); 25905 # endif 25906 25907 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 25908 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateDirectFBSurfaceEXT( 25909 m_instance, 25910 reinterpret_cast<const VkDirectFBSurfaceCreateInfoEXT *>( &createInfo ), 25911 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 25912 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 25913 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDirectFBSurfaceEXT" ); 25914 25915 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surface ) ); 25916 } 25917 25918 # ifndef VULKAN_HPP_NO_SMART_HANDLE 25919 // wrapper function for command vkCreateDirectFBSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDirectFBSurfaceEXT.html 25920 template <typename Dispatch> 25921 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type createDirectFBSurfaceEXTUnique(const VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const25922 Instance::createDirectFBSurfaceEXTUnique( const VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT & createInfo, 25923 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 25924 Dispatch const & d ) const 25925 { 25926 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25927 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25928 VULKAN_HPP_ASSERT( d.vkCreateDirectFBSurfaceEXT && "Function <vkCreateDirectFBSurfaceEXT> requires <VK_EXT_directfb_surface>" ); 25929 # endif 25930 25931 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 25932 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateDirectFBSurfaceEXT( 25933 m_instance, 25934 reinterpret_cast<const VkDirectFBSurfaceCreateInfoEXT *>( &createInfo ), 25935 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 25936 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 25937 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDirectFBSurfaceEXTUnique" ); 25938 25939 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 25940 result, UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>( surface, detail::ObjectDestroy<Instance, Dispatch>( *this, allocator, d ) ) ); 25941 } 25942 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 25943 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 25944 25945 // wrapper function for command vkGetPhysicalDeviceDirectFBPresentationSupportEXT, see 25946 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDirectFBPresentationSupportEXT.html 25947 template <typename Dispatch> getDirectFBPresentationSupportEXT(uint32_t queueFamilyIndex,IDirectFB * dfb,Dispatch const & d) const25948 VULKAN_HPP_INLINE Bool32 PhysicalDevice::getDirectFBPresentationSupportEXT( uint32_t queueFamilyIndex, 25949 IDirectFB * dfb, 25950 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25951 { 25952 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25953 return static_cast<Bool32>( 25954 d.vkGetPhysicalDeviceDirectFBPresentationSupportEXT( static_cast<VkPhysicalDevice>( m_physicalDevice ), queueFamilyIndex, dfb ) ); 25955 } 25956 25957 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 25958 // wrapper function for command vkGetPhysicalDeviceDirectFBPresentationSupportEXT, see 25959 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDirectFBPresentationSupportEXT.html 25960 template <typename Dispatch> 25961 VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32 getDirectFBPresentationSupportEXT(uint32_t queueFamilyIndex,IDirectFB & dfb,Dispatch const & d) const25962 PhysicalDevice::getDirectFBPresentationSupportEXT( uint32_t queueFamilyIndex, IDirectFB & dfb, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25963 { 25964 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25965 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 25966 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceDirectFBPresentationSupportEXT && 25967 "Function <vkGetPhysicalDeviceDirectFBPresentationSupportEXT> requires <VK_EXT_directfb_surface>" ); 25968 # endif 25969 25970 VkBool32 result = d.vkGetPhysicalDeviceDirectFBPresentationSupportEXT( m_physicalDevice, queueFamilyIndex, &dfb ); 25971 25972 return static_cast<VULKAN_HPP_NAMESPACE::Bool32>( result ); 25973 } 25974 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 25975 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/ 25976 25977 //=== VK_EXT_vertex_input_dynamic_state === 25978 25979 // wrapper function for command vkCmdSetVertexInputEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetVertexInputEXT.html 25980 template <typename Dispatch> setVertexInputEXT(uint32_t vertexBindingDescriptionCount,const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription2EXT * pVertexBindingDescriptions,uint32_t vertexAttributeDescriptionCount,const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription2EXT * pVertexAttributeDescriptions,Dispatch const & d) const25981 VULKAN_HPP_INLINE void CommandBuffer::setVertexInputEXT( uint32_t vertexBindingDescriptionCount, 25982 const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription2EXT * pVertexBindingDescriptions, 25983 uint32_t vertexAttributeDescriptionCount, 25984 const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription2EXT * pVertexAttributeDescriptions, 25985 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 25986 { 25987 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 25988 d.vkCmdSetVertexInputEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 25989 vertexBindingDescriptionCount, 25990 reinterpret_cast<const VkVertexInputBindingDescription2EXT *>( pVertexBindingDescriptions ), 25991 vertexAttributeDescriptionCount, 25992 reinterpret_cast<const VkVertexInputAttributeDescription2EXT *>( pVertexAttributeDescriptions ) ); 25993 } 25994 25995 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 25996 // wrapper function for command vkCmdSetVertexInputEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetVertexInputEXT.html 25997 template <typename Dispatch> setVertexInputEXT(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription2EXT> const & vertexBindingDescriptions,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription2EXT> const & vertexAttributeDescriptions,Dispatch const & d) const25998 VULKAN_HPP_INLINE void CommandBuffer::setVertexInputEXT( 25999 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription2EXT> const & vertexBindingDescriptions, 26000 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription2EXT> const & vertexAttributeDescriptions, 26001 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26002 { 26003 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26004 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26005 VULKAN_HPP_ASSERT( d.vkCmdSetVertexInputEXT && "Function <vkCmdSetVertexInputEXT> requires <VK_EXT_shader_object> or <VK_EXT_vertex_input_dynamic_state>" ); 26006 # endif 26007 26008 d.vkCmdSetVertexInputEXT( m_commandBuffer, 26009 vertexBindingDescriptions.size(), 26010 reinterpret_cast<const VkVertexInputBindingDescription2EXT *>( vertexBindingDescriptions.data() ), 26011 vertexAttributeDescriptions.size(), 26012 reinterpret_cast<const VkVertexInputAttributeDescription2EXT *>( vertexAttributeDescriptions.data() ) ); 26013 } 26014 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 26015 26016 #if defined( VK_USE_PLATFORM_FUCHSIA ) 26017 //=== VK_FUCHSIA_external_memory === 26018 26019 // wrapper function for command vkGetMemoryZirconHandleFUCHSIA, see 26020 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryZirconHandleFUCHSIA.html 26021 template <typename Dispatch> 26022 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getMemoryZirconHandleFUCHSIA(const VULKAN_HPP_NAMESPACE::MemoryGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,zx_handle_t * pZirconHandle,Dispatch const & d) const26023 Device::getMemoryZirconHandleFUCHSIA( const VULKAN_HPP_NAMESPACE::MemoryGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo, 26024 zx_handle_t * pZirconHandle, 26025 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26026 { 26027 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26028 return static_cast<Result>( d.vkGetMemoryZirconHandleFUCHSIA( 26029 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkMemoryGetZirconHandleInfoFUCHSIA *>( pGetZirconHandleInfo ), pZirconHandle ) ); 26030 } 26031 26032 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 26033 // wrapper function for command vkGetMemoryZirconHandleFUCHSIA, see 26034 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryZirconHandleFUCHSIA.html 26035 template <typename Dispatch> 26036 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<zx_handle_t>::type getMemoryZirconHandleFUCHSIA(const VULKAN_HPP_NAMESPACE::MemoryGetZirconHandleInfoFUCHSIA & getZirconHandleInfo,Dispatch const & d) const26037 Device::getMemoryZirconHandleFUCHSIA( const VULKAN_HPP_NAMESPACE::MemoryGetZirconHandleInfoFUCHSIA & getZirconHandleInfo, Dispatch const & d ) const 26038 { 26039 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26040 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26041 VULKAN_HPP_ASSERT( d.vkGetMemoryZirconHandleFUCHSIA && "Function <vkGetMemoryZirconHandleFUCHSIA> requires <VK_FUCHSIA_external_memory>" ); 26042 # endif 26043 26044 zx_handle_t zirconHandle; 26045 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 26046 d.vkGetMemoryZirconHandleFUCHSIA( m_device, reinterpret_cast<const VkMemoryGetZirconHandleInfoFUCHSIA *>( &getZirconHandleInfo ), &zirconHandle ) ); 26047 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryZirconHandleFUCHSIA" ); 26048 26049 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( zirconHandle ) ); 26050 } 26051 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 26052 26053 // wrapper function for command vkGetMemoryZirconHandlePropertiesFUCHSIA, see 26054 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryZirconHandlePropertiesFUCHSIA.html 26055 template <typename Dispatch> 26056 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getMemoryZirconHandlePropertiesFUCHSIA(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,zx_handle_t zirconHandle,VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA * pMemoryZirconHandleProperties,Dispatch const & d) const26057 Device::getMemoryZirconHandlePropertiesFUCHSIA( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, 26058 zx_handle_t zirconHandle, 26059 VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA * pMemoryZirconHandleProperties, 26060 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26061 { 26062 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26063 return static_cast<Result>( 26064 d.vkGetMemoryZirconHandlePropertiesFUCHSIA( static_cast<VkDevice>( m_device ), 26065 static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ), 26066 zirconHandle, 26067 reinterpret_cast<VkMemoryZirconHandlePropertiesFUCHSIA *>( pMemoryZirconHandleProperties ) ) ); 26068 } 26069 26070 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 26071 // wrapper function for command vkGetMemoryZirconHandlePropertiesFUCHSIA, see 26072 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryZirconHandlePropertiesFUCHSIA.html 26073 template <typename Dispatch> 26074 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA>::type getMemoryZirconHandlePropertiesFUCHSIA(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,zx_handle_t zirconHandle,Dispatch const & d) const26075 Device::getMemoryZirconHandlePropertiesFUCHSIA( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, 26076 zx_handle_t zirconHandle, 26077 Dispatch const & d ) const 26078 { 26079 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26080 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26081 VULKAN_HPP_ASSERT( d.vkGetMemoryZirconHandlePropertiesFUCHSIA && 26082 "Function <vkGetMemoryZirconHandlePropertiesFUCHSIA> requires <VK_FUCHSIA_external_memory>" ); 26083 # endif 26084 26085 VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA memoryZirconHandleProperties; 26086 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 26087 d.vkGetMemoryZirconHandlePropertiesFUCHSIA( m_device, 26088 static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ), 26089 zirconHandle, 26090 reinterpret_cast<VkMemoryZirconHandlePropertiesFUCHSIA *>( &memoryZirconHandleProperties ) ) ); 26091 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryZirconHandlePropertiesFUCHSIA" ); 26092 26093 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( memoryZirconHandleProperties ) ); 26094 } 26095 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 26096 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 26097 26098 #if defined( VK_USE_PLATFORM_FUCHSIA ) 26099 //=== VK_FUCHSIA_external_semaphore === 26100 26101 // wrapper function for command vkImportSemaphoreZirconHandleFUCHSIA, see 26102 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportSemaphoreZirconHandleFUCHSIA.html 26103 template <typename Dispatch> importSemaphoreZirconHandleFUCHSIA(const VULKAN_HPP_NAMESPACE::ImportSemaphoreZirconHandleInfoFUCHSIA * pImportSemaphoreZirconHandleInfo,Dispatch const & d) const26104 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::importSemaphoreZirconHandleFUCHSIA( 26105 const VULKAN_HPP_NAMESPACE::ImportSemaphoreZirconHandleInfoFUCHSIA * pImportSemaphoreZirconHandleInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26106 { 26107 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26108 return static_cast<Result>( d.vkImportSemaphoreZirconHandleFUCHSIA( 26109 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImportSemaphoreZirconHandleInfoFUCHSIA *>( pImportSemaphoreZirconHandleInfo ) ) ); 26110 } 26111 26112 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 26113 // wrapper function for command vkImportSemaphoreZirconHandleFUCHSIA, see 26114 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportSemaphoreZirconHandleFUCHSIA.html 26115 template <typename Dispatch> 26116 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type importSemaphoreZirconHandleFUCHSIA(const VULKAN_HPP_NAMESPACE::ImportSemaphoreZirconHandleInfoFUCHSIA & importSemaphoreZirconHandleInfo,Dispatch const & d) const26117 Device::importSemaphoreZirconHandleFUCHSIA( const VULKAN_HPP_NAMESPACE::ImportSemaphoreZirconHandleInfoFUCHSIA & importSemaphoreZirconHandleInfo, 26118 Dispatch const & d ) const 26119 { 26120 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26121 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26122 VULKAN_HPP_ASSERT( d.vkImportSemaphoreZirconHandleFUCHSIA && "Function <vkImportSemaphoreZirconHandleFUCHSIA> requires <VK_FUCHSIA_external_semaphore>" ); 26123 # endif 26124 26125 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkImportSemaphoreZirconHandleFUCHSIA( 26126 m_device, reinterpret_cast<const VkImportSemaphoreZirconHandleInfoFUCHSIA *>( &importSemaphoreZirconHandleInfo ) ) ); 26127 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::importSemaphoreZirconHandleFUCHSIA" ); 26128 26129 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 26130 } 26131 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 26132 26133 // wrapper function for command vkGetSemaphoreZirconHandleFUCHSIA, see 26134 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreZirconHandleFUCHSIA.html 26135 template <typename Dispatch> 26136 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getSemaphoreZirconHandleFUCHSIA(const VULKAN_HPP_NAMESPACE::SemaphoreGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,zx_handle_t * pZirconHandle,Dispatch const & d) const26137 Device::getSemaphoreZirconHandleFUCHSIA( const VULKAN_HPP_NAMESPACE::SemaphoreGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo, 26138 zx_handle_t * pZirconHandle, 26139 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26140 { 26141 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26142 return static_cast<Result>( d.vkGetSemaphoreZirconHandleFUCHSIA( 26143 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreGetZirconHandleInfoFUCHSIA *>( pGetZirconHandleInfo ), pZirconHandle ) ); 26144 } 26145 26146 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 26147 // wrapper function for command vkGetSemaphoreZirconHandleFUCHSIA, see 26148 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreZirconHandleFUCHSIA.html 26149 template <typename Dispatch> 26150 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<zx_handle_t>::type getSemaphoreZirconHandleFUCHSIA(const VULKAN_HPP_NAMESPACE::SemaphoreGetZirconHandleInfoFUCHSIA & getZirconHandleInfo,Dispatch const & d) const26151 Device::getSemaphoreZirconHandleFUCHSIA( const VULKAN_HPP_NAMESPACE::SemaphoreGetZirconHandleInfoFUCHSIA & getZirconHandleInfo, Dispatch const & d ) const 26152 { 26153 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26154 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26155 VULKAN_HPP_ASSERT( d.vkGetSemaphoreZirconHandleFUCHSIA && "Function <vkGetSemaphoreZirconHandleFUCHSIA> requires <VK_FUCHSIA_external_semaphore>" ); 26156 # endif 26157 26158 zx_handle_t zirconHandle; 26159 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 26160 d.vkGetSemaphoreZirconHandleFUCHSIA( m_device, reinterpret_cast<const VkSemaphoreGetZirconHandleInfoFUCHSIA *>( &getZirconHandleInfo ), &zirconHandle ) ); 26161 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreZirconHandleFUCHSIA" ); 26162 26163 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( zirconHandle ) ); 26164 } 26165 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 26166 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 26167 26168 #if defined( VK_USE_PLATFORM_FUCHSIA ) 26169 //=== VK_FUCHSIA_buffer_collection === 26170 26171 // wrapper function for command vkCreateBufferCollectionFUCHSIA, see 26172 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBufferCollectionFUCHSIA.html 26173 template <typename Dispatch> 26174 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result createBufferCollectionFUCHSIA(const VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA * pCollection,Dispatch const & d) const26175 Device::createBufferCollectionFUCHSIA( const VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA * pCreateInfo, 26176 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 26177 VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA * pCollection, 26178 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26179 { 26180 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26181 return static_cast<Result>( d.vkCreateBufferCollectionFUCHSIA( static_cast<VkDevice>( m_device ), 26182 reinterpret_cast<const VkBufferCollectionCreateInfoFUCHSIA *>( pCreateInfo ), 26183 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 26184 reinterpret_cast<VkBufferCollectionFUCHSIA *>( pCollection ) ) ); 26185 } 26186 26187 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 26188 // wrapper function for command vkCreateBufferCollectionFUCHSIA, see 26189 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBufferCollectionFUCHSIA.html 26190 template <typename Dispatch> 26191 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA>::type createBufferCollectionFUCHSIA(const VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const26192 Device::createBufferCollectionFUCHSIA( const VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA & createInfo, 26193 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 26194 Dispatch const & d ) const 26195 { 26196 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26197 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26198 VULKAN_HPP_ASSERT( d.vkCreateBufferCollectionFUCHSIA && "Function <vkCreateBufferCollectionFUCHSIA> requires <VK_FUCHSIA_buffer_collection>" ); 26199 # endif 26200 26201 VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection; 26202 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateBufferCollectionFUCHSIA( 26203 m_device, 26204 reinterpret_cast<const VkBufferCollectionCreateInfoFUCHSIA *>( &createInfo ), 26205 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 26206 reinterpret_cast<VkBufferCollectionFUCHSIA *>( &collection ) ) ); 26207 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createBufferCollectionFUCHSIA" ); 26208 26209 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( collection ) ); 26210 } 26211 26212 # ifndef VULKAN_HPP_NO_SMART_HANDLE 26213 // wrapper function for command vkCreateBufferCollectionFUCHSIA, see 26214 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBufferCollectionFUCHSIA.html 26215 template <typename Dispatch> 26216 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA, Dispatch>>::type createBufferCollectionFUCHSIAUnique(const VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const26217 Device::createBufferCollectionFUCHSIAUnique( const VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA & createInfo, 26218 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 26219 Dispatch const & d ) const 26220 { 26221 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26222 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26223 VULKAN_HPP_ASSERT( d.vkCreateBufferCollectionFUCHSIA && "Function <vkCreateBufferCollectionFUCHSIA> requires <VK_FUCHSIA_buffer_collection>" ); 26224 # endif 26225 26226 VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection; 26227 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateBufferCollectionFUCHSIA( 26228 m_device, 26229 reinterpret_cast<const VkBufferCollectionCreateInfoFUCHSIA *>( &createInfo ), 26230 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 26231 reinterpret_cast<VkBufferCollectionFUCHSIA *>( &collection ) ) ); 26232 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createBufferCollectionFUCHSIAUnique" ); 26233 26234 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 26235 result, 26236 UniqueHandle<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA, Dispatch>( collection, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 26237 } 26238 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 26239 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 26240 26241 // wrapper function for command vkSetBufferCollectionImageConstraintsFUCHSIA, see 26242 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetBufferCollectionImageConstraintsFUCHSIA.html 26243 template <typename Dispatch> 26244 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result setBufferCollectionImageConstraintsFUCHSIA(VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,const VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIA * pImageConstraintsInfo,Dispatch const & d) const26245 Device::setBufferCollectionImageConstraintsFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection, 26246 const VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIA * pImageConstraintsInfo, 26247 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26248 { 26249 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26250 return static_cast<Result>( 26251 d.vkSetBufferCollectionImageConstraintsFUCHSIA( static_cast<VkDevice>( m_device ), 26252 static_cast<VkBufferCollectionFUCHSIA>( collection ), 26253 reinterpret_cast<const VkImageConstraintsInfoFUCHSIA *>( pImageConstraintsInfo ) ) ); 26254 } 26255 26256 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 26257 // wrapper function for command vkSetBufferCollectionImageConstraintsFUCHSIA, see 26258 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetBufferCollectionImageConstraintsFUCHSIA.html 26259 template <typename Dispatch> 26260 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type setBufferCollectionImageConstraintsFUCHSIA(VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,const VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIA & imageConstraintsInfo,Dispatch const & d) const26261 Device::setBufferCollectionImageConstraintsFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection, 26262 const VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIA & imageConstraintsInfo, 26263 Dispatch const & d ) const 26264 { 26265 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26266 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26267 VULKAN_HPP_ASSERT( d.vkSetBufferCollectionImageConstraintsFUCHSIA && 26268 "Function <vkSetBufferCollectionImageConstraintsFUCHSIA> requires <VK_FUCHSIA_buffer_collection>" ); 26269 # endif 26270 26271 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkSetBufferCollectionImageConstraintsFUCHSIA( 26272 m_device, static_cast<VkBufferCollectionFUCHSIA>( collection ), reinterpret_cast<const VkImageConstraintsInfoFUCHSIA *>( &imageConstraintsInfo ) ) ); 26273 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setBufferCollectionImageConstraintsFUCHSIA" ); 26274 26275 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 26276 } 26277 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 26278 26279 // wrapper function for command vkSetBufferCollectionBufferConstraintsFUCHSIA, see 26280 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetBufferCollectionBufferConstraintsFUCHSIA.html 26281 template <typename Dispatch> 26282 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result setBufferCollectionBufferConstraintsFUCHSIA(VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,const VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIA * pBufferConstraintsInfo,Dispatch const & d) const26283 Device::setBufferCollectionBufferConstraintsFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection, 26284 const VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIA * pBufferConstraintsInfo, 26285 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26286 { 26287 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26288 return static_cast<Result>( 26289 d.vkSetBufferCollectionBufferConstraintsFUCHSIA( static_cast<VkDevice>( m_device ), 26290 static_cast<VkBufferCollectionFUCHSIA>( collection ), 26291 reinterpret_cast<const VkBufferConstraintsInfoFUCHSIA *>( pBufferConstraintsInfo ) ) ); 26292 } 26293 26294 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 26295 // wrapper function for command vkSetBufferCollectionBufferConstraintsFUCHSIA, see 26296 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetBufferCollectionBufferConstraintsFUCHSIA.html 26297 template <typename Dispatch> 26298 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type setBufferCollectionBufferConstraintsFUCHSIA(VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,const VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIA & bufferConstraintsInfo,Dispatch const & d) const26299 Device::setBufferCollectionBufferConstraintsFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection, 26300 const VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIA & bufferConstraintsInfo, 26301 Dispatch const & d ) const 26302 { 26303 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26304 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26305 VULKAN_HPP_ASSERT( d.vkSetBufferCollectionBufferConstraintsFUCHSIA && 26306 "Function <vkSetBufferCollectionBufferConstraintsFUCHSIA> requires <VK_FUCHSIA_buffer_collection>" ); 26307 # endif 26308 26309 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkSetBufferCollectionBufferConstraintsFUCHSIA( 26310 m_device, static_cast<VkBufferCollectionFUCHSIA>( collection ), reinterpret_cast<const VkBufferConstraintsInfoFUCHSIA *>( &bufferConstraintsInfo ) ) ); 26311 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setBufferCollectionBufferConstraintsFUCHSIA" ); 26312 26313 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 26314 } 26315 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 26316 26317 // wrapper function for command vkDestroyBufferCollectionFUCHSIA, see 26318 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBufferCollectionFUCHSIA.html 26319 template <typename Dispatch> destroyBufferCollectionFUCHSIA(VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const26320 VULKAN_HPP_INLINE void Device::destroyBufferCollectionFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection, 26321 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 26322 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26323 { 26324 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26325 d.vkDestroyBufferCollectionFUCHSIA( 26326 static_cast<VkDevice>( m_device ), static_cast<VkBufferCollectionFUCHSIA>( collection ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 26327 } 26328 26329 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 26330 // wrapper function for command vkDestroyBufferCollectionFUCHSIA, see 26331 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBufferCollectionFUCHSIA.html 26332 template <typename Dispatch> destroyBufferCollectionFUCHSIA(VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const26333 VULKAN_HPP_INLINE void Device::destroyBufferCollectionFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection, 26334 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 26335 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26336 { 26337 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26338 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26339 VULKAN_HPP_ASSERT( d.vkDestroyBufferCollectionFUCHSIA && "Function <vkDestroyBufferCollectionFUCHSIA> requires <VK_FUCHSIA_buffer_collection>" ); 26340 # endif 26341 26342 d.vkDestroyBufferCollectionFUCHSIA( 26343 m_device, 26344 static_cast<VkBufferCollectionFUCHSIA>( collection ), 26345 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 26346 } 26347 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 26348 26349 // wrapper function for command vkDestroyBufferCollectionFUCHSIA, see 26350 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBufferCollectionFUCHSIA.html 26351 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const26352 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection, 26353 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 26354 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26355 { 26356 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26357 d.vkDestroyBufferCollectionFUCHSIA( 26358 static_cast<VkDevice>( m_device ), static_cast<VkBufferCollectionFUCHSIA>( collection ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 26359 } 26360 26361 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 26362 // wrapper function for command vkDestroyBufferCollectionFUCHSIA, see 26363 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBufferCollectionFUCHSIA.html 26364 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const26365 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection, 26366 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 26367 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26368 { 26369 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26370 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26371 VULKAN_HPP_ASSERT( d.vkDestroyBufferCollectionFUCHSIA && "Function <vkDestroyBufferCollectionFUCHSIA> requires <VK_FUCHSIA_buffer_collection>" ); 26372 # endif 26373 26374 d.vkDestroyBufferCollectionFUCHSIA( 26375 m_device, 26376 static_cast<VkBufferCollectionFUCHSIA>( collection ), 26377 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 26378 } 26379 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 26380 26381 // wrapper function for command vkGetBufferCollectionPropertiesFUCHSIA, see 26382 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferCollectionPropertiesFUCHSIA.html 26383 template <typename Dispatch> 26384 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getBufferCollectionPropertiesFUCHSIA(VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA * pProperties,Dispatch const & d) const26385 Device::getBufferCollectionPropertiesFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection, 26386 VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA * pProperties, 26387 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26388 { 26389 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26390 return static_cast<Result>( d.vkGetBufferCollectionPropertiesFUCHSIA( static_cast<VkDevice>( m_device ), 26391 static_cast<VkBufferCollectionFUCHSIA>( collection ), 26392 reinterpret_cast<VkBufferCollectionPropertiesFUCHSIA *>( pProperties ) ) ); 26393 } 26394 26395 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 26396 // wrapper function for command vkGetBufferCollectionPropertiesFUCHSIA, see 26397 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferCollectionPropertiesFUCHSIA.html 26398 template <typename Dispatch> 26399 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA>::type getBufferCollectionPropertiesFUCHSIA(VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection,Dispatch const & d) const26400 Device::getBufferCollectionPropertiesFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection, Dispatch const & d ) const 26401 { 26402 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26403 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26404 VULKAN_HPP_ASSERT( d.vkGetBufferCollectionPropertiesFUCHSIA && 26405 "Function <vkGetBufferCollectionPropertiesFUCHSIA> requires <VK_FUCHSIA_buffer_collection>" ); 26406 # endif 26407 26408 VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA properties; 26409 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetBufferCollectionPropertiesFUCHSIA( 26410 m_device, static_cast<VkBufferCollectionFUCHSIA>( collection ), reinterpret_cast<VkBufferCollectionPropertiesFUCHSIA *>( &properties ) ) ); 26411 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getBufferCollectionPropertiesFUCHSIA" ); 26412 26413 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 26414 } 26415 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 26416 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 26417 26418 //=== VK_HUAWEI_subpass_shading === 26419 26420 // wrapper function for command vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, see 26421 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI.html 26422 template <typename Dispatch> getSubpassShadingMaxWorkgroupSizeHUAWEI(VULKAN_HPP_NAMESPACE::RenderPass renderpass,VULKAN_HPP_NAMESPACE::Extent2D * pMaxWorkgroupSize,Dispatch const & d) const26423 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSubpassShadingMaxWorkgroupSizeHUAWEI( VULKAN_HPP_NAMESPACE::RenderPass renderpass, 26424 VULKAN_HPP_NAMESPACE::Extent2D * pMaxWorkgroupSize, 26425 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26426 { 26427 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26428 return static_cast<Result>( d.vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( 26429 static_cast<VkDevice>( m_device ), static_cast<VkRenderPass>( renderpass ), reinterpret_cast<VkExtent2D *>( pMaxWorkgroupSize ) ) ); 26430 } 26431 26432 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 26433 // wrapper function for command vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, see 26434 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI.html 26435 template <typename Dispatch> 26436 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Extent2D>::type getSubpassShadingMaxWorkgroupSizeHUAWEI(VULKAN_HPP_NAMESPACE::RenderPass renderpass,Dispatch const & d) const26437 Device::getSubpassShadingMaxWorkgroupSizeHUAWEI( VULKAN_HPP_NAMESPACE::RenderPass renderpass, Dispatch const & d ) const 26438 { 26439 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26440 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26441 VULKAN_HPP_ASSERT( d.vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI && 26442 "Function <vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI> requires <VK_HUAWEI_subpass_shading>" ); 26443 # endif 26444 26445 VULKAN_HPP_NAMESPACE::Extent2D maxWorkgroupSize; 26446 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( 26447 m_device, static_cast<VkRenderPass>( renderpass ), reinterpret_cast<VkExtent2D *>( &maxWorkgroupSize ) ) ); 26448 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSubpassShadingMaxWorkgroupSizeHUAWEI" ); 26449 26450 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( maxWorkgroupSize ) ); 26451 } 26452 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 26453 26454 // wrapper function for command vkCmdSubpassShadingHUAWEI, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSubpassShadingHUAWEI.html 26455 template <typename Dispatch> subpassShadingHUAWEI(Dispatch const & d) const26456 VULKAN_HPP_INLINE void CommandBuffer::subpassShadingHUAWEI( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26457 { 26458 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26459 d.vkCmdSubpassShadingHUAWEI( static_cast<VkCommandBuffer>( m_commandBuffer ) ); 26460 } 26461 26462 //=== VK_HUAWEI_invocation_mask === 26463 26464 // wrapper function for command vkCmdBindInvocationMaskHUAWEI, see 26465 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindInvocationMaskHUAWEI.html 26466 template <typename Dispatch> bindInvocationMaskHUAWEI(VULKAN_HPP_NAMESPACE::ImageView imageView,VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,Dispatch const & d) const26467 VULKAN_HPP_INLINE void CommandBuffer::bindInvocationMaskHUAWEI( VULKAN_HPP_NAMESPACE::ImageView imageView, 26468 VULKAN_HPP_NAMESPACE::ImageLayout imageLayout, 26469 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26470 { 26471 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26472 d.vkCmdBindInvocationMaskHUAWEI( 26473 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkImageView>( imageView ), static_cast<VkImageLayout>( imageLayout ) ); 26474 } 26475 26476 //=== VK_NV_external_memory_rdma === 26477 26478 // wrapper function for command vkGetMemoryRemoteAddressNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryRemoteAddressNV.html 26479 template <typename Dispatch> 26480 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getMemoryRemoteAddressNV(const VULKAN_HPP_NAMESPACE::MemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo,VULKAN_HPP_NAMESPACE::RemoteAddressNV * pAddress,Dispatch const & d) const26481 Device::getMemoryRemoteAddressNV( const VULKAN_HPP_NAMESPACE::MemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo, 26482 VULKAN_HPP_NAMESPACE::RemoteAddressNV * pAddress, 26483 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26484 { 26485 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26486 return static_cast<Result>( d.vkGetMemoryRemoteAddressNV( static_cast<VkDevice>( m_device ), 26487 reinterpret_cast<const VkMemoryGetRemoteAddressInfoNV *>( pMemoryGetRemoteAddressInfo ), 26488 reinterpret_cast<VkRemoteAddressNV *>( pAddress ) ) ); 26489 } 26490 26491 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 26492 // wrapper function for command vkGetMemoryRemoteAddressNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryRemoteAddressNV.html 26493 template <typename Dispatch> 26494 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::RemoteAddressNV>::type getMemoryRemoteAddressNV(const VULKAN_HPP_NAMESPACE::MemoryGetRemoteAddressInfoNV & memoryGetRemoteAddressInfo,Dispatch const & d) const26495 Device::getMemoryRemoteAddressNV( const VULKAN_HPP_NAMESPACE::MemoryGetRemoteAddressInfoNV & memoryGetRemoteAddressInfo, Dispatch const & d ) const 26496 { 26497 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26498 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26499 VULKAN_HPP_ASSERT( d.vkGetMemoryRemoteAddressNV && "Function <vkGetMemoryRemoteAddressNV> requires <VK_NV_external_memory_rdma>" ); 26500 # endif 26501 26502 VULKAN_HPP_NAMESPACE::RemoteAddressNV address; 26503 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetMemoryRemoteAddressNV( 26504 m_device, reinterpret_cast<const VkMemoryGetRemoteAddressInfoNV *>( &memoryGetRemoteAddressInfo ), reinterpret_cast<VkRemoteAddressNV *>( &address ) ) ); 26505 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryRemoteAddressNV" ); 26506 26507 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( address ) ); 26508 } 26509 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 26510 26511 //=== VK_EXT_pipeline_properties === 26512 26513 // wrapper function for command vkGetPipelinePropertiesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelinePropertiesEXT.html 26514 template <typename Dispatch> getPipelinePropertiesEXT(const VULKAN_HPP_NAMESPACE::PipelineInfoEXT * pPipelineInfo,VULKAN_HPP_NAMESPACE::BaseOutStructure * pPipelineProperties,Dispatch const & d) const26515 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getPipelinePropertiesEXT( const VULKAN_HPP_NAMESPACE::PipelineInfoEXT * pPipelineInfo, 26516 VULKAN_HPP_NAMESPACE::BaseOutStructure * pPipelineProperties, 26517 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26518 { 26519 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26520 return static_cast<Result>( d.vkGetPipelinePropertiesEXT( static_cast<VkDevice>( m_device ), 26521 reinterpret_cast<const VkPipelineInfoEXT *>( pPipelineInfo ), 26522 reinterpret_cast<VkBaseOutStructure *>( pPipelineProperties ) ) ); 26523 } 26524 26525 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 26526 // wrapper function for command vkGetPipelinePropertiesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelinePropertiesEXT.html 26527 template <typename Dispatch> 26528 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::BaseOutStructure>::type getPipelinePropertiesEXT(const VULKAN_HPP_NAMESPACE::PipelineInfoEXT & pipelineInfo,Dispatch const & d) const26529 Device::getPipelinePropertiesEXT( const VULKAN_HPP_NAMESPACE::PipelineInfoEXT & pipelineInfo, Dispatch const & d ) const 26530 { 26531 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26532 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26533 VULKAN_HPP_ASSERT( d.vkGetPipelinePropertiesEXT && "Function <vkGetPipelinePropertiesEXT> requires <VK_EXT_pipeline_properties>" ); 26534 # endif 26535 26536 VULKAN_HPP_NAMESPACE::BaseOutStructure pipelineProperties; 26537 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPipelinePropertiesEXT( 26538 m_device, reinterpret_cast<const VkPipelineInfoEXT *>( &pipelineInfo ), reinterpret_cast<VkBaseOutStructure *>( &pipelineProperties ) ) ); 26539 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelinePropertiesEXT" ); 26540 26541 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pipelineProperties ) ); 26542 } 26543 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 26544 26545 //=== VK_EXT_extended_dynamic_state2 === 26546 26547 // wrapper function for command vkCmdSetPatchControlPointsEXT, see 26548 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPatchControlPointsEXT.html 26549 template <typename Dispatch> setPatchControlPointsEXT(uint32_t patchControlPoints,Dispatch const & d) const26550 VULKAN_HPP_INLINE void CommandBuffer::setPatchControlPointsEXT( uint32_t patchControlPoints, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26551 { 26552 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26553 d.vkCmdSetPatchControlPointsEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), patchControlPoints ); 26554 } 26555 26556 // wrapper function for command vkCmdSetRasterizerDiscardEnableEXT, see 26557 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRasterizerDiscardEnableEXT.html 26558 template <typename Dispatch> setRasterizerDiscardEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 rasterizerDiscardEnable,Dispatch const & d) const26559 VULKAN_HPP_INLINE void CommandBuffer::setRasterizerDiscardEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 rasterizerDiscardEnable, 26560 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26561 { 26562 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26563 d.vkCmdSetRasterizerDiscardEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( rasterizerDiscardEnable ) ); 26564 } 26565 26566 // wrapper function for command vkCmdSetDepthBiasEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBiasEnableEXT.html 26567 template <typename Dispatch> setDepthBiasEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 depthBiasEnable,Dispatch const & d) const26568 VULKAN_HPP_INLINE void CommandBuffer::setDepthBiasEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthBiasEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26569 { 26570 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26571 d.vkCmdSetDepthBiasEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( depthBiasEnable ) ); 26572 } 26573 26574 // wrapper function for command vkCmdSetLogicOpEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLogicOpEXT.html 26575 template <typename Dispatch> setLogicOpEXT(VULKAN_HPP_NAMESPACE::LogicOp logicOp,Dispatch const & d) const26576 VULKAN_HPP_INLINE void CommandBuffer::setLogicOpEXT( VULKAN_HPP_NAMESPACE::LogicOp logicOp, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26577 { 26578 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26579 d.vkCmdSetLogicOpEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkLogicOp>( logicOp ) ); 26580 } 26581 26582 // wrapper function for command vkCmdSetPrimitiveRestartEnableEXT, see 26583 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPrimitiveRestartEnableEXT.html 26584 template <typename Dispatch> setPrimitiveRestartEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 primitiveRestartEnable,Dispatch const & d) const26585 VULKAN_HPP_INLINE void CommandBuffer::setPrimitiveRestartEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 primitiveRestartEnable, 26586 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26587 { 26588 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26589 d.vkCmdSetPrimitiveRestartEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( primitiveRestartEnable ) ); 26590 } 26591 26592 #if defined( VK_USE_PLATFORM_SCREEN_QNX ) 26593 //=== VK_QNX_screen_surface === 26594 26595 // wrapper function for command vkCreateScreenSurfaceQNX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateScreenSurfaceQNX.html 26596 template <typename Dispatch> createScreenSurfaceQNX(const VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,Dispatch const & d) const26597 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createScreenSurfaceQNX( const VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX * pCreateInfo, 26598 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 26599 VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface, 26600 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26601 { 26602 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26603 return static_cast<Result>( d.vkCreateScreenSurfaceQNX( static_cast<VkInstance>( m_instance ), 26604 reinterpret_cast<const VkScreenSurfaceCreateInfoQNX *>( pCreateInfo ), 26605 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 26606 reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) ); 26607 } 26608 26609 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 26610 // wrapper function for command vkCreateScreenSurfaceQNX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateScreenSurfaceQNX.html 26611 template <typename Dispatch> 26612 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type createScreenSurfaceQNX(const VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const26613 Instance::createScreenSurfaceQNX( const VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX & createInfo, 26614 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 26615 Dispatch const & d ) const 26616 { 26617 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26618 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26619 VULKAN_HPP_ASSERT( d.vkCreateScreenSurfaceQNX && "Function <vkCreateScreenSurfaceQNX> requires <VK_QNX_screen_surface>" ); 26620 # endif 26621 26622 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 26623 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateScreenSurfaceQNX( 26624 m_instance, 26625 reinterpret_cast<const VkScreenSurfaceCreateInfoQNX *>( &createInfo ), 26626 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 26627 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 26628 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createScreenSurfaceQNX" ); 26629 26630 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surface ) ); 26631 } 26632 26633 # ifndef VULKAN_HPP_NO_SMART_HANDLE 26634 // wrapper function for command vkCreateScreenSurfaceQNX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateScreenSurfaceQNX.html 26635 template <typename Dispatch> 26636 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type createScreenSurfaceQNXUnique(const VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const26637 Instance::createScreenSurfaceQNXUnique( const VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX & createInfo, 26638 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 26639 Dispatch const & d ) const 26640 { 26641 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26642 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26643 VULKAN_HPP_ASSERT( d.vkCreateScreenSurfaceQNX && "Function <vkCreateScreenSurfaceQNX> requires <VK_QNX_screen_surface>" ); 26644 # endif 26645 26646 VULKAN_HPP_NAMESPACE::SurfaceKHR surface; 26647 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateScreenSurfaceQNX( 26648 m_instance, 26649 reinterpret_cast<const VkScreenSurfaceCreateInfoQNX *>( &createInfo ), 26650 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 26651 reinterpret_cast<VkSurfaceKHR *>( &surface ) ) ); 26652 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createScreenSurfaceQNXUnique" ); 26653 26654 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 26655 result, UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>( surface, detail::ObjectDestroy<Instance, Dispatch>( *this, allocator, d ) ) ); 26656 } 26657 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 26658 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 26659 26660 // wrapper function for command vkGetPhysicalDeviceScreenPresentationSupportQNX, see 26661 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceScreenPresentationSupportQNX.html 26662 template <typename Dispatch> getScreenPresentationSupportQNX(uint32_t queueFamilyIndex,struct _screen_window * window,Dispatch const & d) const26663 VULKAN_HPP_INLINE Bool32 PhysicalDevice::getScreenPresentationSupportQNX( uint32_t queueFamilyIndex, 26664 struct _screen_window * window, 26665 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26666 { 26667 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26668 return static_cast<Bool32>( 26669 d.vkGetPhysicalDeviceScreenPresentationSupportQNX( static_cast<VkPhysicalDevice>( m_physicalDevice ), queueFamilyIndex, window ) ); 26670 } 26671 26672 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 26673 // wrapper function for command vkGetPhysicalDeviceScreenPresentationSupportQNX, see 26674 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceScreenPresentationSupportQNX.html 26675 template <typename Dispatch> 26676 VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32 getScreenPresentationSupportQNX(uint32_t queueFamilyIndex,struct _screen_window & window,Dispatch const & d) const26677 PhysicalDevice::getScreenPresentationSupportQNX( uint32_t queueFamilyIndex, struct _screen_window & window, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26678 { 26679 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26680 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26681 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceScreenPresentationSupportQNX && 26682 "Function <vkGetPhysicalDeviceScreenPresentationSupportQNX> requires <VK_QNX_screen_surface>" ); 26683 # endif 26684 26685 VkBool32 result = d.vkGetPhysicalDeviceScreenPresentationSupportQNX( m_physicalDevice, queueFamilyIndex, &window ); 26686 26687 return static_cast<VULKAN_HPP_NAMESPACE::Bool32>( result ); 26688 } 26689 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 26690 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/ 26691 26692 //=== VK_EXT_color_write_enable === 26693 26694 // wrapper function for command vkCmdSetColorWriteEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorWriteEnableEXT.html 26695 template <typename Dispatch> setColorWriteEnableEXT(uint32_t attachmentCount,const VULKAN_HPP_NAMESPACE::Bool32 * pColorWriteEnables,Dispatch const & d) const26696 VULKAN_HPP_INLINE void CommandBuffer::setColorWriteEnableEXT( uint32_t attachmentCount, 26697 const VULKAN_HPP_NAMESPACE::Bool32 * pColorWriteEnables, 26698 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26699 { 26700 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26701 d.vkCmdSetColorWriteEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), attachmentCount, reinterpret_cast<const VkBool32 *>( pColorWriteEnables ) ); 26702 } 26703 26704 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 26705 // wrapper function for command vkCmdSetColorWriteEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorWriteEnableEXT.html 26706 template <typename Dispatch> setColorWriteEnableEXT(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Bool32> const & colorWriteEnables,Dispatch const & d) const26707 VULKAN_HPP_INLINE void CommandBuffer::setColorWriteEnableEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Bool32> const & colorWriteEnables, 26708 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26709 { 26710 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26711 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26712 VULKAN_HPP_ASSERT( d.vkCmdSetColorWriteEnableEXT && "Function <vkCmdSetColorWriteEnableEXT> requires <VK_EXT_color_write_enable>" ); 26713 # endif 26714 26715 d.vkCmdSetColorWriteEnableEXT( m_commandBuffer, colorWriteEnables.size(), reinterpret_cast<const VkBool32 *>( colorWriteEnables.data() ) ); 26716 } 26717 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 26718 26719 //=== VK_KHR_ray_tracing_maintenance1 === 26720 26721 // wrapper function for command vkCmdTraceRaysIndirect2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysIndirect2KHR.html 26722 template <typename Dispatch> traceRaysIndirect2KHR(VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress,Dispatch const & d) const26723 VULKAN_HPP_INLINE void CommandBuffer::traceRaysIndirect2KHR( VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress, 26724 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26725 { 26726 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26727 d.vkCmdTraceRaysIndirect2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkDeviceAddress>( indirectDeviceAddress ) ); 26728 } 26729 26730 //=== VK_EXT_multi_draw === 26731 26732 // wrapper function for command vkCmdDrawMultiEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMultiEXT.html 26733 template <typename Dispatch> drawMultiEXT(uint32_t drawCount,const VULKAN_HPP_NAMESPACE::MultiDrawInfoEXT * pVertexInfo,uint32_t instanceCount,uint32_t firstInstance,uint32_t stride,Dispatch const & d) const26734 VULKAN_HPP_INLINE void CommandBuffer::drawMultiEXT( uint32_t drawCount, 26735 const VULKAN_HPP_NAMESPACE::MultiDrawInfoEXT * pVertexInfo, 26736 uint32_t instanceCount, 26737 uint32_t firstInstance, 26738 uint32_t stride, 26739 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26740 { 26741 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26742 d.vkCmdDrawMultiEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 26743 drawCount, 26744 reinterpret_cast<const VkMultiDrawInfoEXT *>( pVertexInfo ), 26745 instanceCount, 26746 firstInstance, 26747 stride ); 26748 } 26749 26750 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 26751 // wrapper function for command vkCmdDrawMultiEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMultiEXT.html 26752 template <typename Dispatch> drawMultiEXT(VULKAN_HPP_NAMESPACE::StridedArrayProxy<const VULKAN_HPP_NAMESPACE::MultiDrawInfoEXT> const & vertexInfo,uint32_t instanceCount,uint32_t firstInstance,Dispatch const & d) const26753 VULKAN_HPP_INLINE void CommandBuffer::drawMultiEXT( VULKAN_HPP_NAMESPACE::StridedArrayProxy<const VULKAN_HPP_NAMESPACE::MultiDrawInfoEXT> const & vertexInfo, 26754 uint32_t instanceCount, 26755 uint32_t firstInstance, 26756 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26757 { 26758 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26759 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26760 VULKAN_HPP_ASSERT( d.vkCmdDrawMultiEXT && "Function <vkCmdDrawMultiEXT> requires <VK_EXT_multi_draw>" ); 26761 # endif 26762 26763 d.vkCmdDrawMultiEXT( m_commandBuffer, 26764 vertexInfo.size(), 26765 reinterpret_cast<const VkMultiDrawInfoEXT *>( vertexInfo.data() ), 26766 instanceCount, 26767 firstInstance, 26768 vertexInfo.stride() ); 26769 } 26770 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 26771 26772 // wrapper function for command vkCmdDrawMultiIndexedEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMultiIndexedEXT.html 26773 template <typename Dispatch> drawMultiIndexedEXT(uint32_t drawCount,const VULKAN_HPP_NAMESPACE::MultiDrawIndexedInfoEXT * pIndexInfo,uint32_t instanceCount,uint32_t firstInstance,uint32_t stride,const int32_t * pVertexOffset,Dispatch const & d) const26774 VULKAN_HPP_INLINE void CommandBuffer::drawMultiIndexedEXT( uint32_t drawCount, 26775 const VULKAN_HPP_NAMESPACE::MultiDrawIndexedInfoEXT * pIndexInfo, 26776 uint32_t instanceCount, 26777 uint32_t firstInstance, 26778 uint32_t stride, 26779 const int32_t * pVertexOffset, 26780 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26781 { 26782 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26783 d.vkCmdDrawMultiIndexedEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 26784 drawCount, 26785 reinterpret_cast<const VkMultiDrawIndexedInfoEXT *>( pIndexInfo ), 26786 instanceCount, 26787 firstInstance, 26788 stride, 26789 pVertexOffset ); 26790 } 26791 26792 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 26793 // wrapper function for command vkCmdDrawMultiIndexedEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMultiIndexedEXT.html 26794 template <typename Dispatch> 26795 VULKAN_HPP_INLINE void drawMultiIndexedEXT(VULKAN_HPP_NAMESPACE::StridedArrayProxy<const VULKAN_HPP_NAMESPACE::MultiDrawIndexedInfoEXT> const & indexInfo,uint32_t instanceCount,uint32_t firstInstance,Optional<const int32_t> vertexOffset,Dispatch const & d) const26796 CommandBuffer::drawMultiIndexedEXT( VULKAN_HPP_NAMESPACE::StridedArrayProxy<const VULKAN_HPP_NAMESPACE::MultiDrawIndexedInfoEXT> const & indexInfo, 26797 uint32_t instanceCount, 26798 uint32_t firstInstance, 26799 Optional<const int32_t> vertexOffset, 26800 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26801 { 26802 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26803 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26804 VULKAN_HPP_ASSERT( d.vkCmdDrawMultiIndexedEXT && "Function <vkCmdDrawMultiIndexedEXT> requires <VK_EXT_multi_draw>" ); 26805 # endif 26806 26807 d.vkCmdDrawMultiIndexedEXT( m_commandBuffer, 26808 indexInfo.size(), 26809 reinterpret_cast<const VkMultiDrawIndexedInfoEXT *>( indexInfo.data() ), 26810 instanceCount, 26811 firstInstance, 26812 indexInfo.stride(), 26813 static_cast<const int32_t *>( vertexOffset ) ); 26814 } 26815 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 26816 26817 //=== VK_EXT_opacity_micromap === 26818 26819 // wrapper function for command vkCreateMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMicromapEXT.html 26820 template <typename Dispatch> createMicromapEXT(const VULKAN_HPP_NAMESPACE::MicromapCreateInfoEXT * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::MicromapEXT * pMicromap,Dispatch const & d) const26821 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createMicromapEXT( const VULKAN_HPP_NAMESPACE::MicromapCreateInfoEXT * pCreateInfo, 26822 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 26823 VULKAN_HPP_NAMESPACE::MicromapEXT * pMicromap, 26824 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26825 { 26826 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26827 return static_cast<Result>( d.vkCreateMicromapEXT( static_cast<VkDevice>( m_device ), 26828 reinterpret_cast<const VkMicromapCreateInfoEXT *>( pCreateInfo ), 26829 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 26830 reinterpret_cast<VkMicromapEXT *>( pMicromap ) ) ); 26831 } 26832 26833 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 26834 // wrapper function for command vkCreateMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMicromapEXT.html 26835 template <typename Dispatch> 26836 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::MicromapEXT>::type createMicromapEXT(const VULKAN_HPP_NAMESPACE::MicromapCreateInfoEXT & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const26837 Device::createMicromapEXT( const VULKAN_HPP_NAMESPACE::MicromapCreateInfoEXT & createInfo, 26838 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 26839 Dispatch const & d ) const 26840 { 26841 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26842 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26843 VULKAN_HPP_ASSERT( d.vkCreateMicromapEXT && "Function <vkCreateMicromapEXT> requires <VK_EXT_opacity_micromap>" ); 26844 # endif 26845 26846 VULKAN_HPP_NAMESPACE::MicromapEXT micromap; 26847 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 26848 d.vkCreateMicromapEXT( m_device, 26849 reinterpret_cast<const VkMicromapCreateInfoEXT *>( &createInfo ), 26850 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 26851 reinterpret_cast<VkMicromapEXT *>( µmap ) ) ); 26852 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createMicromapEXT" ); 26853 26854 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( micromap ) ); 26855 } 26856 26857 # ifndef VULKAN_HPP_NO_SMART_HANDLE 26858 // wrapper function for command vkCreateMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMicromapEXT.html 26859 template <typename Dispatch> 26860 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::MicromapEXT, Dispatch>>::type createMicromapEXTUnique(const VULKAN_HPP_NAMESPACE::MicromapCreateInfoEXT & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const26861 Device::createMicromapEXTUnique( const VULKAN_HPP_NAMESPACE::MicromapCreateInfoEXT & createInfo, 26862 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 26863 Dispatch const & d ) const 26864 { 26865 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26866 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26867 VULKAN_HPP_ASSERT( d.vkCreateMicromapEXT && "Function <vkCreateMicromapEXT> requires <VK_EXT_opacity_micromap>" ); 26868 # endif 26869 26870 VULKAN_HPP_NAMESPACE::MicromapEXT micromap; 26871 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 26872 d.vkCreateMicromapEXT( m_device, 26873 reinterpret_cast<const VkMicromapCreateInfoEXT *>( &createInfo ), 26874 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 26875 reinterpret_cast<VkMicromapEXT *>( µmap ) ) ); 26876 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createMicromapEXTUnique" ); 26877 26878 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 26879 result, UniqueHandle<VULKAN_HPP_NAMESPACE::MicromapEXT, Dispatch>( micromap, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 26880 } 26881 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 26882 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 26883 26884 // wrapper function for command vkDestroyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyMicromapEXT.html 26885 template <typename Dispatch> destroyMicromapEXT(VULKAN_HPP_NAMESPACE::MicromapEXT micromap,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const26886 VULKAN_HPP_INLINE void Device::destroyMicromapEXT( VULKAN_HPP_NAMESPACE::MicromapEXT micromap, 26887 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 26888 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26889 { 26890 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26891 d.vkDestroyMicromapEXT( 26892 static_cast<VkDevice>( m_device ), static_cast<VkMicromapEXT>( micromap ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 26893 } 26894 26895 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 26896 // wrapper function for command vkDestroyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyMicromapEXT.html 26897 template <typename Dispatch> destroyMicromapEXT(VULKAN_HPP_NAMESPACE::MicromapEXT micromap,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const26898 VULKAN_HPP_INLINE void Device::destroyMicromapEXT( VULKAN_HPP_NAMESPACE::MicromapEXT micromap, 26899 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 26900 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26901 { 26902 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26903 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26904 VULKAN_HPP_ASSERT( d.vkDestroyMicromapEXT && "Function <vkDestroyMicromapEXT> requires <VK_EXT_opacity_micromap>" ); 26905 # endif 26906 26907 d.vkDestroyMicromapEXT( m_device, 26908 static_cast<VkMicromapEXT>( micromap ), 26909 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 26910 } 26911 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 26912 26913 // wrapper function for command vkDestroyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyMicromapEXT.html 26914 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::MicromapEXT micromap,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const26915 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::MicromapEXT micromap, 26916 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 26917 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26918 { 26919 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26920 d.vkDestroyMicromapEXT( 26921 static_cast<VkDevice>( m_device ), static_cast<VkMicromapEXT>( micromap ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 26922 } 26923 26924 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 26925 // wrapper function for command vkDestroyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyMicromapEXT.html 26926 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::MicromapEXT micromap,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const26927 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::MicromapEXT micromap, 26928 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 26929 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26930 { 26931 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26932 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26933 VULKAN_HPP_ASSERT( d.vkDestroyMicromapEXT && "Function <vkDestroyMicromapEXT> requires <VK_EXT_opacity_micromap>" ); 26934 # endif 26935 26936 d.vkDestroyMicromapEXT( m_device, 26937 static_cast<VkMicromapEXT>( micromap ), 26938 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 26939 } 26940 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 26941 26942 // wrapper function for command vkCmdBuildMicromapsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildMicromapsEXT.html 26943 template <typename Dispatch> buildMicromapsEXT(uint32_t infoCount,const VULKAN_HPP_NAMESPACE::MicromapBuildInfoEXT * pInfos,Dispatch const & d) const26944 VULKAN_HPP_INLINE void CommandBuffer::buildMicromapsEXT( uint32_t infoCount, 26945 const VULKAN_HPP_NAMESPACE::MicromapBuildInfoEXT * pInfos, 26946 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26947 { 26948 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26949 d.vkCmdBuildMicromapsEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), infoCount, reinterpret_cast<const VkMicromapBuildInfoEXT *>( pInfos ) ); 26950 } 26951 26952 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 26953 // wrapper function for command vkCmdBuildMicromapsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildMicromapsEXT.html 26954 template <typename Dispatch> buildMicromapsEXT(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MicromapBuildInfoEXT> const & infos,Dispatch const & d) const26955 VULKAN_HPP_INLINE void CommandBuffer::buildMicromapsEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MicromapBuildInfoEXT> const & infos, 26956 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26957 { 26958 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26959 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26960 VULKAN_HPP_ASSERT( d.vkCmdBuildMicromapsEXT && "Function <vkCmdBuildMicromapsEXT> requires <VK_EXT_opacity_micromap>" ); 26961 # endif 26962 26963 d.vkCmdBuildMicromapsEXT( m_commandBuffer, infos.size(), reinterpret_cast<const VkMicromapBuildInfoEXT *>( infos.data() ) ); 26964 } 26965 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 26966 26967 // wrapper function for command vkBuildMicromapsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBuildMicromapsEXT.html 26968 template <typename Dispatch> buildMicromapsEXT(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,uint32_t infoCount,const VULKAN_HPP_NAMESPACE::MicromapBuildInfoEXT * pInfos,Dispatch const & d) const26969 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::buildMicromapsEXT( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 26970 uint32_t infoCount, 26971 const VULKAN_HPP_NAMESPACE::MicromapBuildInfoEXT * pInfos, 26972 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 26973 { 26974 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26975 return static_cast<Result>( d.vkBuildMicromapsEXT( static_cast<VkDevice>( m_device ), 26976 static_cast<VkDeferredOperationKHR>( deferredOperation ), 26977 infoCount, 26978 reinterpret_cast<const VkMicromapBuildInfoEXT *>( pInfos ) ) ); 26979 } 26980 26981 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 26982 // wrapper function for command vkBuildMicromapsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBuildMicromapsEXT.html 26983 template <typename Dispatch> 26984 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result buildMicromapsEXT(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MicromapBuildInfoEXT> const & infos,Dispatch const & d) const26985 Device::buildMicromapsEXT( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 26986 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MicromapBuildInfoEXT> const & infos, 26987 Dispatch const & d ) const 26988 { 26989 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 26990 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 26991 VULKAN_HPP_ASSERT( d.vkBuildMicromapsEXT && "Function <vkBuildMicromapsEXT> requires <VK_EXT_opacity_micromap>" ); 26992 # endif 26993 26994 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkBuildMicromapsEXT( 26995 m_device, static_cast<VkDeferredOperationKHR>( deferredOperation ), infos.size(), reinterpret_cast<const VkMicromapBuildInfoEXT *>( infos.data() ) ) ); 26996 VULKAN_HPP_NAMESPACE::detail::resultCheck( 26997 result, 26998 VULKAN_HPP_NAMESPACE_STRING "::Device::buildMicromapsEXT", 26999 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR, VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR } ); 27000 27001 return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); 27002 } 27003 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 27004 27005 // wrapper function for command vkCopyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMicromapEXT.html 27006 template <typename Dispatch> copyMicromapEXT(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,const VULKAN_HPP_NAMESPACE::CopyMicromapInfoEXT * pInfo,Dispatch const & d) const27007 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyMicromapEXT( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 27008 const VULKAN_HPP_NAMESPACE::CopyMicromapInfoEXT * pInfo, 27009 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27010 { 27011 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27012 return static_cast<Result>( d.vkCopyMicromapEXT( 27013 static_cast<VkDevice>( m_device ), static_cast<VkDeferredOperationKHR>( deferredOperation ), reinterpret_cast<const VkCopyMicromapInfoEXT *>( pInfo ) ) ); 27014 } 27015 27016 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 27017 // wrapper function for command vkCopyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMicromapEXT.html 27018 template <typename Dispatch> copyMicromapEXT(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,const VULKAN_HPP_NAMESPACE::CopyMicromapInfoEXT & info,Dispatch const & d) const27019 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Device::copyMicromapEXT( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 27020 const VULKAN_HPP_NAMESPACE::CopyMicromapInfoEXT & info, 27021 Dispatch const & d ) const 27022 { 27023 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27024 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27025 VULKAN_HPP_ASSERT( d.vkCopyMicromapEXT && "Function <vkCopyMicromapEXT> requires <VK_EXT_opacity_micromap>" ); 27026 # endif 27027 27028 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 27029 d.vkCopyMicromapEXT( m_device, static_cast<VkDeferredOperationKHR>( deferredOperation ), reinterpret_cast<const VkCopyMicromapInfoEXT *>( &info ) ) ); 27030 VULKAN_HPP_NAMESPACE::detail::resultCheck( 27031 result, 27032 VULKAN_HPP_NAMESPACE_STRING "::Device::copyMicromapEXT", 27033 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR, VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR } ); 27034 27035 return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); 27036 } 27037 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 27038 27039 // wrapper function for command vkCopyMicromapToMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMicromapToMemoryEXT.html 27040 template <typename Dispatch> copyMicromapToMemoryEXT(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,const VULKAN_HPP_NAMESPACE::CopyMicromapToMemoryInfoEXT * pInfo,Dispatch const & d) const27041 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyMicromapToMemoryEXT( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 27042 const VULKAN_HPP_NAMESPACE::CopyMicromapToMemoryInfoEXT * pInfo, 27043 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27044 { 27045 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27046 return static_cast<Result>( d.vkCopyMicromapToMemoryEXT( static_cast<VkDevice>( m_device ), 27047 static_cast<VkDeferredOperationKHR>( deferredOperation ), 27048 reinterpret_cast<const VkCopyMicromapToMemoryInfoEXT *>( pInfo ) ) ); 27049 } 27050 27051 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 27052 // wrapper function for command vkCopyMicromapToMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMicromapToMemoryEXT.html 27053 template <typename Dispatch> copyMicromapToMemoryEXT(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,const VULKAN_HPP_NAMESPACE::CopyMicromapToMemoryInfoEXT & info,Dispatch const & d) const27054 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Device::copyMicromapToMemoryEXT( 27055 VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, const VULKAN_HPP_NAMESPACE::CopyMicromapToMemoryInfoEXT & info, Dispatch const & d ) const 27056 { 27057 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27058 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27059 VULKAN_HPP_ASSERT( d.vkCopyMicromapToMemoryEXT && "Function <vkCopyMicromapToMemoryEXT> requires <VK_EXT_opacity_micromap>" ); 27060 # endif 27061 27062 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCopyMicromapToMemoryEXT( 27063 m_device, static_cast<VkDeferredOperationKHR>( deferredOperation ), reinterpret_cast<const VkCopyMicromapToMemoryInfoEXT *>( &info ) ) ); 27064 VULKAN_HPP_NAMESPACE::detail::resultCheck( 27065 result, 27066 VULKAN_HPP_NAMESPACE_STRING "::Device::copyMicromapToMemoryEXT", 27067 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR, VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR } ); 27068 27069 return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); 27070 } 27071 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 27072 27073 // wrapper function for command vkCopyMemoryToMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToMicromapEXT.html 27074 template <typename Dispatch> copyMemoryToMicromapEXT(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,const VULKAN_HPP_NAMESPACE::CopyMemoryToMicromapInfoEXT * pInfo,Dispatch const & d) const27075 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyMemoryToMicromapEXT( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, 27076 const VULKAN_HPP_NAMESPACE::CopyMemoryToMicromapInfoEXT * pInfo, 27077 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27078 { 27079 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27080 return static_cast<Result>( d.vkCopyMemoryToMicromapEXT( static_cast<VkDevice>( m_device ), 27081 static_cast<VkDeferredOperationKHR>( deferredOperation ), 27082 reinterpret_cast<const VkCopyMemoryToMicromapInfoEXT *>( pInfo ) ) ); 27083 } 27084 27085 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 27086 // wrapper function for command vkCopyMemoryToMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToMicromapEXT.html 27087 template <typename Dispatch> copyMemoryToMicromapEXT(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,const VULKAN_HPP_NAMESPACE::CopyMemoryToMicromapInfoEXT & info,Dispatch const & d) const27088 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Device::copyMemoryToMicromapEXT( 27089 VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation, const VULKAN_HPP_NAMESPACE::CopyMemoryToMicromapInfoEXT & info, Dispatch const & d ) const 27090 { 27091 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27092 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27093 VULKAN_HPP_ASSERT( d.vkCopyMemoryToMicromapEXT && "Function <vkCopyMemoryToMicromapEXT> requires <VK_EXT_opacity_micromap>" ); 27094 # endif 27095 27096 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCopyMemoryToMicromapEXT( 27097 m_device, static_cast<VkDeferredOperationKHR>( deferredOperation ), reinterpret_cast<const VkCopyMemoryToMicromapInfoEXT *>( &info ) ) ); 27098 VULKAN_HPP_NAMESPACE::detail::resultCheck( 27099 result, 27100 VULKAN_HPP_NAMESPACE_STRING "::Device::copyMemoryToMicromapEXT", 27101 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR, VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR } ); 27102 27103 return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); 27104 } 27105 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 27106 27107 // wrapper function for command vkWriteMicromapsPropertiesEXT, see 27108 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteMicromapsPropertiesEXT.html 27109 template <typename Dispatch> writeMicromapsPropertiesEXT(uint32_t micromapCount,const VULKAN_HPP_NAMESPACE::MicromapEXT * pMicromaps,VULKAN_HPP_NAMESPACE::QueryType queryType,size_t dataSize,void * pData,size_t stride,Dispatch const & d) const27110 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::writeMicromapsPropertiesEXT( uint32_t micromapCount, 27111 const VULKAN_HPP_NAMESPACE::MicromapEXT * pMicromaps, 27112 VULKAN_HPP_NAMESPACE::QueryType queryType, 27113 size_t dataSize, 27114 void * pData, 27115 size_t stride, 27116 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27117 { 27118 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27119 return static_cast<Result>( d.vkWriteMicromapsPropertiesEXT( static_cast<VkDevice>( m_device ), 27120 micromapCount, 27121 reinterpret_cast<const VkMicromapEXT *>( pMicromaps ), 27122 static_cast<VkQueryType>( queryType ), 27123 dataSize, 27124 pData, 27125 stride ) ); 27126 } 27127 27128 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 27129 // wrapper function for command vkWriteMicromapsPropertiesEXT, see 27130 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteMicromapsPropertiesEXT.html 27131 template <typename DataType, 27132 typename DataTypeAllocator, 27133 typename Dispatch, 27134 typename std::enable_if<std::is_same<typename DataTypeAllocator::value_type, DataType>::value, int>::type> 27135 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type writeMicromapsPropertiesEXT(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MicromapEXT> const & micromaps,VULKAN_HPP_NAMESPACE::QueryType queryType,size_t dataSize,size_t stride,Dispatch const & d) const27136 Device::writeMicromapsPropertiesEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MicromapEXT> const & micromaps, 27137 VULKAN_HPP_NAMESPACE::QueryType queryType, 27138 size_t dataSize, 27139 size_t stride, 27140 Dispatch const & d ) const 27141 { 27142 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27143 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27144 VULKAN_HPP_ASSERT( d.vkWriteMicromapsPropertiesEXT && "Function <vkWriteMicromapsPropertiesEXT> requires <VK_EXT_opacity_micromap>" ); 27145 # endif 27146 27147 VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); 27148 std::vector<DataType, DataTypeAllocator> data( dataSize / sizeof( DataType ) ); 27149 VULKAN_HPP_NAMESPACE::Result result = 27150 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkWriteMicromapsPropertiesEXT( m_device, 27151 micromaps.size(), 27152 reinterpret_cast<const VkMicromapEXT *>( micromaps.data() ), 27153 static_cast<VkQueryType>( queryType ), 27154 data.size() * sizeof( DataType ), 27155 reinterpret_cast<void *>( data.data() ), 27156 stride ) ); 27157 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::writeMicromapsPropertiesEXT" ); 27158 27159 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); 27160 } 27161 27162 // wrapper function for command vkWriteMicromapsPropertiesEXT, see 27163 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteMicromapsPropertiesEXT.html 27164 template <typename DataType, typename Dispatch> 27165 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type writeMicromapsPropertyEXT(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MicromapEXT> const & micromaps,VULKAN_HPP_NAMESPACE::QueryType queryType,size_t stride,Dispatch const & d) const27166 Device::writeMicromapsPropertyEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MicromapEXT> const & micromaps, 27167 VULKAN_HPP_NAMESPACE::QueryType queryType, 27168 size_t stride, 27169 Dispatch const & d ) const 27170 { 27171 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27172 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27173 VULKAN_HPP_ASSERT( d.vkWriteMicromapsPropertiesEXT && "Function <vkWriteMicromapsPropertiesEXT> requires <VK_EXT_opacity_micromap>" ); 27174 # endif 27175 27176 DataType data; 27177 VULKAN_HPP_NAMESPACE::Result result = 27178 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkWriteMicromapsPropertiesEXT( m_device, 27179 micromaps.size(), 27180 reinterpret_cast<const VkMicromapEXT *>( micromaps.data() ), 27181 static_cast<VkQueryType>( queryType ), 27182 sizeof( DataType ), 27183 reinterpret_cast<void *>( &data ), 27184 stride ) ); 27185 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::writeMicromapsPropertyEXT" ); 27186 27187 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); 27188 } 27189 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 27190 27191 // wrapper function for command vkCmdCopyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMicromapEXT.html 27192 template <typename Dispatch> copyMicromapEXT(const VULKAN_HPP_NAMESPACE::CopyMicromapInfoEXT * pInfo,Dispatch const & d) const27193 VULKAN_HPP_INLINE void CommandBuffer::copyMicromapEXT( const VULKAN_HPP_NAMESPACE::CopyMicromapInfoEXT * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27194 { 27195 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27196 d.vkCmdCopyMicromapEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkCopyMicromapInfoEXT *>( pInfo ) ); 27197 } 27198 27199 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 27200 // wrapper function for command vkCmdCopyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMicromapEXT.html 27201 template <typename Dispatch> copyMicromapEXT(const VULKAN_HPP_NAMESPACE::CopyMicromapInfoEXT & info,Dispatch const & d) const27202 VULKAN_HPP_INLINE void CommandBuffer::copyMicromapEXT( const VULKAN_HPP_NAMESPACE::CopyMicromapInfoEXT & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27203 { 27204 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27205 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27206 VULKAN_HPP_ASSERT( d.vkCmdCopyMicromapEXT && "Function <vkCmdCopyMicromapEXT> requires <VK_EXT_opacity_micromap>" ); 27207 # endif 27208 27209 d.vkCmdCopyMicromapEXT( m_commandBuffer, reinterpret_cast<const VkCopyMicromapInfoEXT *>( &info ) ); 27210 } 27211 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 27212 27213 // wrapper function for command vkCmdCopyMicromapToMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMicromapToMemoryEXT.html 27214 template <typename Dispatch> copyMicromapToMemoryEXT(const VULKAN_HPP_NAMESPACE::CopyMicromapToMemoryInfoEXT * pInfo,Dispatch const & d) const27215 VULKAN_HPP_INLINE void CommandBuffer::copyMicromapToMemoryEXT( const VULKAN_HPP_NAMESPACE::CopyMicromapToMemoryInfoEXT * pInfo, 27216 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27217 { 27218 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27219 d.vkCmdCopyMicromapToMemoryEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkCopyMicromapToMemoryInfoEXT *>( pInfo ) ); 27220 } 27221 27222 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 27223 // wrapper function for command vkCmdCopyMicromapToMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMicromapToMemoryEXT.html 27224 template <typename Dispatch> copyMicromapToMemoryEXT(const VULKAN_HPP_NAMESPACE::CopyMicromapToMemoryInfoEXT & info,Dispatch const & d) const27225 VULKAN_HPP_INLINE void CommandBuffer::copyMicromapToMemoryEXT( const VULKAN_HPP_NAMESPACE::CopyMicromapToMemoryInfoEXT & info, 27226 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27227 { 27228 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27229 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27230 VULKAN_HPP_ASSERT( d.vkCmdCopyMicromapToMemoryEXT && "Function <vkCmdCopyMicromapToMemoryEXT> requires <VK_EXT_opacity_micromap>" ); 27231 # endif 27232 27233 d.vkCmdCopyMicromapToMemoryEXT( m_commandBuffer, reinterpret_cast<const VkCopyMicromapToMemoryInfoEXT *>( &info ) ); 27234 } 27235 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 27236 27237 // wrapper function for command vkCmdCopyMemoryToMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToMicromapEXT.html 27238 template <typename Dispatch> copyMemoryToMicromapEXT(const VULKAN_HPP_NAMESPACE::CopyMemoryToMicromapInfoEXT * pInfo,Dispatch const & d) const27239 VULKAN_HPP_INLINE void CommandBuffer::copyMemoryToMicromapEXT( const VULKAN_HPP_NAMESPACE::CopyMemoryToMicromapInfoEXT * pInfo, 27240 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27241 { 27242 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27243 d.vkCmdCopyMemoryToMicromapEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkCopyMemoryToMicromapInfoEXT *>( pInfo ) ); 27244 } 27245 27246 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 27247 // wrapper function for command vkCmdCopyMemoryToMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToMicromapEXT.html 27248 template <typename Dispatch> copyMemoryToMicromapEXT(const VULKAN_HPP_NAMESPACE::CopyMemoryToMicromapInfoEXT & info,Dispatch const & d) const27249 VULKAN_HPP_INLINE void CommandBuffer::copyMemoryToMicromapEXT( const VULKAN_HPP_NAMESPACE::CopyMemoryToMicromapInfoEXT & info, 27250 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27251 { 27252 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27253 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27254 VULKAN_HPP_ASSERT( d.vkCmdCopyMemoryToMicromapEXT && "Function <vkCmdCopyMemoryToMicromapEXT> requires <VK_EXT_opacity_micromap>" ); 27255 # endif 27256 27257 d.vkCmdCopyMemoryToMicromapEXT( m_commandBuffer, reinterpret_cast<const VkCopyMemoryToMicromapInfoEXT *>( &info ) ); 27258 } 27259 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 27260 27261 // wrapper function for command vkCmdWriteMicromapsPropertiesEXT, see 27262 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteMicromapsPropertiesEXT.html 27263 template <typename Dispatch> writeMicromapsPropertiesEXT(uint32_t micromapCount,const VULKAN_HPP_NAMESPACE::MicromapEXT * pMicromaps,VULKAN_HPP_NAMESPACE::QueryType queryType,VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t firstQuery,Dispatch const & d) const27264 VULKAN_HPP_INLINE void CommandBuffer::writeMicromapsPropertiesEXT( uint32_t micromapCount, 27265 const VULKAN_HPP_NAMESPACE::MicromapEXT * pMicromaps, 27266 VULKAN_HPP_NAMESPACE::QueryType queryType, 27267 VULKAN_HPP_NAMESPACE::QueryPool queryPool, 27268 uint32_t firstQuery, 27269 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27270 { 27271 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27272 d.vkCmdWriteMicromapsPropertiesEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 27273 micromapCount, 27274 reinterpret_cast<const VkMicromapEXT *>( pMicromaps ), 27275 static_cast<VkQueryType>( queryType ), 27276 static_cast<VkQueryPool>( queryPool ), 27277 firstQuery ); 27278 } 27279 27280 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 27281 // wrapper function for command vkCmdWriteMicromapsPropertiesEXT, see 27282 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteMicromapsPropertiesEXT.html 27283 template <typename Dispatch> 27284 VULKAN_HPP_INLINE void writeMicromapsPropertiesEXT(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MicromapEXT> const & micromaps,VULKAN_HPP_NAMESPACE::QueryType queryType,VULKAN_HPP_NAMESPACE::QueryPool queryPool,uint32_t firstQuery,Dispatch const & d) const27285 CommandBuffer::writeMicromapsPropertiesEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::MicromapEXT> const & micromaps, 27286 VULKAN_HPP_NAMESPACE::QueryType queryType, 27287 VULKAN_HPP_NAMESPACE::QueryPool queryPool, 27288 uint32_t firstQuery, 27289 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27290 { 27291 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27292 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27293 VULKAN_HPP_ASSERT( d.vkCmdWriteMicromapsPropertiesEXT && "Function <vkCmdWriteMicromapsPropertiesEXT> requires <VK_EXT_opacity_micromap>" ); 27294 # endif 27295 27296 d.vkCmdWriteMicromapsPropertiesEXT( m_commandBuffer, 27297 micromaps.size(), 27298 reinterpret_cast<const VkMicromapEXT *>( micromaps.data() ), 27299 static_cast<VkQueryType>( queryType ), 27300 static_cast<VkQueryPool>( queryPool ), 27301 firstQuery ); 27302 } 27303 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 27304 27305 // wrapper function for command vkGetDeviceMicromapCompatibilityEXT, see 27306 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMicromapCompatibilityEXT.html 27307 template <typename Dispatch> getMicromapCompatibilityEXT(const VULKAN_HPP_NAMESPACE::MicromapVersionInfoEXT * pVersionInfo,VULKAN_HPP_NAMESPACE::AccelerationStructureCompatibilityKHR * pCompatibility,Dispatch const & d) const27308 VULKAN_HPP_INLINE void Device::getMicromapCompatibilityEXT( const VULKAN_HPP_NAMESPACE::MicromapVersionInfoEXT * pVersionInfo, 27309 VULKAN_HPP_NAMESPACE::AccelerationStructureCompatibilityKHR * pCompatibility, 27310 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27311 { 27312 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27313 d.vkGetDeviceMicromapCompatibilityEXT( static_cast<VkDevice>( m_device ), 27314 reinterpret_cast<const VkMicromapVersionInfoEXT *>( pVersionInfo ), 27315 reinterpret_cast<VkAccelerationStructureCompatibilityKHR *>( pCompatibility ) ); 27316 } 27317 27318 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 27319 // wrapper function for command vkGetDeviceMicromapCompatibilityEXT, see 27320 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMicromapCompatibilityEXT.html 27321 template <typename Dispatch> 27322 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::AccelerationStructureCompatibilityKHR getMicromapCompatibilityEXT(const VULKAN_HPP_NAMESPACE::MicromapVersionInfoEXT & versionInfo,Dispatch const & d) const27323 Device::getMicromapCompatibilityEXT( const VULKAN_HPP_NAMESPACE::MicromapVersionInfoEXT & versionInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27324 { 27325 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27326 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27327 VULKAN_HPP_ASSERT( d.vkGetDeviceMicromapCompatibilityEXT && "Function <vkGetDeviceMicromapCompatibilityEXT> requires <VK_EXT_opacity_micromap>" ); 27328 # endif 27329 27330 VULKAN_HPP_NAMESPACE::AccelerationStructureCompatibilityKHR compatibility; 27331 d.vkGetDeviceMicromapCompatibilityEXT( m_device, 27332 reinterpret_cast<const VkMicromapVersionInfoEXT *>( &versionInfo ), 27333 reinterpret_cast<VkAccelerationStructureCompatibilityKHR *>( &compatibility ) ); 27334 27335 return compatibility; 27336 } 27337 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 27338 27339 // wrapper function for command vkGetMicromapBuildSizesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMicromapBuildSizesEXT.html 27340 template <typename Dispatch> getMicromapBuildSizesEXT(VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR buildType,const VULKAN_HPP_NAMESPACE::MicromapBuildInfoEXT * pBuildInfo,VULKAN_HPP_NAMESPACE::MicromapBuildSizesInfoEXT * pSizeInfo,Dispatch const & d) const27341 VULKAN_HPP_INLINE void Device::getMicromapBuildSizesEXT( VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR buildType, 27342 const VULKAN_HPP_NAMESPACE::MicromapBuildInfoEXT * pBuildInfo, 27343 VULKAN_HPP_NAMESPACE::MicromapBuildSizesInfoEXT * pSizeInfo, 27344 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27345 { 27346 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27347 d.vkGetMicromapBuildSizesEXT( static_cast<VkDevice>( m_device ), 27348 static_cast<VkAccelerationStructureBuildTypeKHR>( buildType ), 27349 reinterpret_cast<const VkMicromapBuildInfoEXT *>( pBuildInfo ), 27350 reinterpret_cast<VkMicromapBuildSizesInfoEXT *>( pSizeInfo ) ); 27351 } 27352 27353 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 27354 // wrapper function for command vkGetMicromapBuildSizesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMicromapBuildSizesEXT.html 27355 template <typename Dispatch> 27356 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MicromapBuildSizesInfoEXT getMicromapBuildSizesEXT(VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR buildType,const VULKAN_HPP_NAMESPACE::MicromapBuildInfoEXT & buildInfo,Dispatch const & d) const27357 Device::getMicromapBuildSizesEXT( VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR buildType, 27358 const VULKAN_HPP_NAMESPACE::MicromapBuildInfoEXT & buildInfo, 27359 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27360 { 27361 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27362 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27363 VULKAN_HPP_ASSERT( d.vkGetMicromapBuildSizesEXT && "Function <vkGetMicromapBuildSizesEXT> requires <VK_EXT_opacity_micromap>" ); 27364 # endif 27365 27366 VULKAN_HPP_NAMESPACE::MicromapBuildSizesInfoEXT sizeInfo; 27367 d.vkGetMicromapBuildSizesEXT( m_device, 27368 static_cast<VkAccelerationStructureBuildTypeKHR>( buildType ), 27369 reinterpret_cast<const VkMicromapBuildInfoEXT *>( &buildInfo ), 27370 reinterpret_cast<VkMicromapBuildSizesInfoEXT *>( &sizeInfo ) ); 27371 27372 return sizeInfo; 27373 } 27374 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 27375 27376 //=== VK_HUAWEI_cluster_culling_shader === 27377 27378 // wrapper function for command vkCmdDrawClusterHUAWEI, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawClusterHUAWEI.html 27379 template <typename Dispatch> 27380 VULKAN_HPP_INLINE void drawClusterHUAWEI(uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ,Dispatch const & d) const27381 CommandBuffer::drawClusterHUAWEI( uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27382 { 27383 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27384 d.vkCmdDrawClusterHUAWEI( static_cast<VkCommandBuffer>( m_commandBuffer ), groupCountX, groupCountY, groupCountZ ); 27385 } 27386 27387 // wrapper function for command vkCmdDrawClusterIndirectHUAWEI, see 27388 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawClusterIndirectHUAWEI.html 27389 template <typename Dispatch> drawClusterIndirectHUAWEI(VULKAN_HPP_NAMESPACE::Buffer buffer,VULKAN_HPP_NAMESPACE::DeviceSize offset,Dispatch const & d) const27390 VULKAN_HPP_INLINE void CommandBuffer::drawClusterIndirectHUAWEI( VULKAN_HPP_NAMESPACE::Buffer buffer, 27391 VULKAN_HPP_NAMESPACE::DeviceSize offset, 27392 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27393 { 27394 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27395 d.vkCmdDrawClusterIndirectHUAWEI( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBuffer>( buffer ), static_cast<VkDeviceSize>( offset ) ); 27396 } 27397 27398 //=== VK_EXT_pageable_device_local_memory === 27399 27400 // wrapper function for command vkSetDeviceMemoryPriorityEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDeviceMemoryPriorityEXT.html 27401 template <typename Dispatch> setMemoryPriorityEXT(VULKAN_HPP_NAMESPACE::DeviceMemory memory,float priority,Dispatch const & d) const27402 VULKAN_HPP_INLINE void Device::setMemoryPriorityEXT( VULKAN_HPP_NAMESPACE::DeviceMemory memory, float priority, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27403 { 27404 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27405 d.vkSetDeviceMemoryPriorityEXT( static_cast<VkDevice>( m_device ), static_cast<VkDeviceMemory>( memory ), priority ); 27406 } 27407 27408 //=== VK_KHR_maintenance4 === 27409 27410 // wrapper function for command vkGetDeviceBufferMemoryRequirementsKHR, see 27411 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirementsKHR.html 27412 template <typename Dispatch> getBufferMemoryRequirementsKHR(const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements * pInfo,VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements,Dispatch const & d) const27413 VULKAN_HPP_INLINE void Device::getBufferMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements * pInfo, 27414 VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements, 27415 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27416 { 27417 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27418 d.vkGetDeviceBufferMemoryRequirementsKHR( static_cast<VkDevice>( m_device ), 27419 reinterpret_cast<const VkDeviceBufferMemoryRequirements *>( pInfo ), 27420 reinterpret_cast<VkMemoryRequirements2 *>( pMemoryRequirements ) ); 27421 } 27422 27423 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 27424 // wrapper function for command vkGetDeviceBufferMemoryRequirementsKHR, see 27425 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirementsKHR.html 27426 template <typename Dispatch> 27427 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2 getBufferMemoryRequirementsKHR(const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements & info,Dispatch const & d) const27428 Device::getBufferMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27429 { 27430 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27431 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27432 VULKAN_HPP_ASSERT( d.vkGetDeviceBufferMemoryRequirementsKHR && 27433 "Function <vkGetDeviceBufferMemoryRequirementsKHR> requires <VK_KHR_maintenance4> or <VK_VERSION_1_3>" ); 27434 # endif 27435 27436 VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements; 27437 d.vkGetDeviceBufferMemoryRequirementsKHR( 27438 m_device, reinterpret_cast<const VkDeviceBufferMemoryRequirements *>( &info ), reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 27439 27440 return memoryRequirements; 27441 } 27442 27443 // wrapper function for command vkGetDeviceBufferMemoryRequirementsKHR, see 27444 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirementsKHR.html 27445 template <typename X, typename Y, typename... Z, typename Dispatch> 27446 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> getBufferMemoryRequirementsKHR(const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements & info,Dispatch const & d) const27447 Device::getBufferMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27448 { 27449 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27450 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27451 VULKAN_HPP_ASSERT( d.vkGetDeviceBufferMemoryRequirementsKHR && 27452 "Function <vkGetDeviceBufferMemoryRequirementsKHR> requires <VK_KHR_maintenance4> or <VK_VERSION_1_3>" ); 27453 # endif 27454 27455 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 27456 VULKAN_HPP_NAMESPACE::MemoryRequirements2 & memoryRequirements = structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>(); 27457 d.vkGetDeviceBufferMemoryRequirementsKHR( 27458 m_device, reinterpret_cast<const VkDeviceBufferMemoryRequirements *>( &info ), reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 27459 27460 return structureChain; 27461 } 27462 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 27463 27464 // wrapper function for command vkGetDeviceImageMemoryRequirementsKHR, see 27465 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirementsKHR.html 27466 template <typename Dispatch> getImageMemoryRequirementsKHR(const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements * pInfo,VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements,Dispatch const & d) const27467 VULKAN_HPP_INLINE void Device::getImageMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements * pInfo, 27468 VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements, 27469 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27470 { 27471 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27472 d.vkGetDeviceImageMemoryRequirementsKHR( static_cast<VkDevice>( m_device ), 27473 reinterpret_cast<const VkDeviceImageMemoryRequirements *>( pInfo ), 27474 reinterpret_cast<VkMemoryRequirements2 *>( pMemoryRequirements ) ); 27475 } 27476 27477 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 27478 // wrapper function for command vkGetDeviceImageMemoryRequirementsKHR, see 27479 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirementsKHR.html 27480 template <typename Dispatch> 27481 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2 getImageMemoryRequirementsKHR(const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements & info,Dispatch const & d) const27482 Device::getImageMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27483 { 27484 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27485 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27486 VULKAN_HPP_ASSERT( d.vkGetDeviceImageMemoryRequirementsKHR && 27487 "Function <vkGetDeviceImageMemoryRequirementsKHR> requires <VK_KHR_maintenance4> or <VK_VERSION_1_3>" ); 27488 # endif 27489 27490 VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements; 27491 d.vkGetDeviceImageMemoryRequirementsKHR( 27492 m_device, reinterpret_cast<const VkDeviceImageMemoryRequirements *>( &info ), reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 27493 27494 return memoryRequirements; 27495 } 27496 27497 // wrapper function for command vkGetDeviceImageMemoryRequirementsKHR, see 27498 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirementsKHR.html 27499 template <typename X, typename Y, typename... Z, typename Dispatch> 27500 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> getImageMemoryRequirementsKHR(const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements & info,Dispatch const & d) const27501 Device::getImageMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27502 { 27503 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27504 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27505 VULKAN_HPP_ASSERT( d.vkGetDeviceImageMemoryRequirementsKHR && 27506 "Function <vkGetDeviceImageMemoryRequirementsKHR> requires <VK_KHR_maintenance4> or <VK_VERSION_1_3>" ); 27507 # endif 27508 27509 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 27510 VULKAN_HPP_NAMESPACE::MemoryRequirements2 & memoryRequirements = structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>(); 27511 d.vkGetDeviceImageMemoryRequirementsKHR( 27512 m_device, reinterpret_cast<const VkDeviceImageMemoryRequirements *>( &info ), reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 27513 27514 return structureChain; 27515 } 27516 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 27517 27518 // wrapper function for command vkGetDeviceImageSparseMemoryRequirementsKHR, see 27519 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSparseMemoryRequirementsKHR.html 27520 template <typename Dispatch> getImageSparseMemoryRequirementsKHR(const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements * pInfo,uint32_t * pSparseMemoryRequirementCount,VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2 * pSparseMemoryRequirements,Dispatch const & d) const27521 VULKAN_HPP_INLINE void Device::getImageSparseMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements * pInfo, 27522 uint32_t * pSparseMemoryRequirementCount, 27523 VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2 * pSparseMemoryRequirements, 27524 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27525 { 27526 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27527 d.vkGetDeviceImageSparseMemoryRequirementsKHR( static_cast<VkDevice>( m_device ), 27528 reinterpret_cast<const VkDeviceImageMemoryRequirements *>( pInfo ), 27529 pSparseMemoryRequirementCount, 27530 reinterpret_cast<VkSparseImageMemoryRequirements2 *>( pSparseMemoryRequirements ) ); 27531 } 27532 27533 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 27534 // wrapper function for command vkGetDeviceImageSparseMemoryRequirementsKHR, see 27535 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSparseMemoryRequirementsKHR.html 27536 template <typename SparseImageMemoryRequirements2Allocator, 27537 typename Dispatch, 27538 typename std::enable_if< 27539 std::is_same<typename SparseImageMemoryRequirements2Allocator::value_type, VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>::value, 27540 int>::type> 27541 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator> getImageSparseMemoryRequirementsKHR(const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements & info,Dispatch const & d) const27542 Device::getImageSparseMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements & info, Dispatch const & d ) const 27543 { 27544 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27545 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27546 VULKAN_HPP_ASSERT( d.vkGetDeviceImageSparseMemoryRequirementsKHR && 27547 "Function <vkGetDeviceImageSparseMemoryRequirementsKHR> requires <VK_KHR_maintenance4> or <VK_VERSION_1_3>" ); 27548 # endif 27549 27550 std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator> sparseMemoryRequirements; 27551 uint32_t sparseMemoryRequirementCount; 27552 d.vkGetDeviceImageSparseMemoryRequirementsKHR( 27553 m_device, reinterpret_cast<const VkDeviceImageMemoryRequirements *>( &info ), &sparseMemoryRequirementCount, nullptr ); 27554 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); 27555 d.vkGetDeviceImageSparseMemoryRequirementsKHR( m_device, 27556 reinterpret_cast<const VkDeviceImageMemoryRequirements *>( &info ), 27557 &sparseMemoryRequirementCount, 27558 reinterpret_cast<VkSparseImageMemoryRequirements2 *>( sparseMemoryRequirements.data() ) ); 27559 27560 VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); 27561 if ( sparseMemoryRequirementCount < sparseMemoryRequirements.size() ) 27562 { 27563 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); 27564 } 27565 return sparseMemoryRequirements; 27566 } 27567 27568 // wrapper function for command vkGetDeviceImageSparseMemoryRequirementsKHR, see 27569 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSparseMemoryRequirementsKHR.html 27570 template <typename SparseImageMemoryRequirements2Allocator, 27571 typename Dispatch, 27572 typename std::enable_if< 27573 std::is_same<typename SparseImageMemoryRequirements2Allocator::value_type, VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>::value, 27574 int>::type> 27575 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator> getImageSparseMemoryRequirementsKHR(const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements & info,SparseImageMemoryRequirements2Allocator & sparseImageMemoryRequirements2Allocator,Dispatch const & d) const27576 Device::getImageSparseMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements & info, 27577 SparseImageMemoryRequirements2Allocator & sparseImageMemoryRequirements2Allocator, 27578 Dispatch const & d ) const 27579 { 27580 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27581 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27582 VULKAN_HPP_ASSERT( d.vkGetDeviceImageSparseMemoryRequirementsKHR && 27583 "Function <vkGetDeviceImageSparseMemoryRequirementsKHR> requires <VK_KHR_maintenance4> or <VK_VERSION_1_3>" ); 27584 # endif 27585 27586 std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator> sparseMemoryRequirements( 27587 sparseImageMemoryRequirements2Allocator ); 27588 uint32_t sparseMemoryRequirementCount; 27589 d.vkGetDeviceImageSparseMemoryRequirementsKHR( 27590 m_device, reinterpret_cast<const VkDeviceImageMemoryRequirements *>( &info ), &sparseMemoryRequirementCount, nullptr ); 27591 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); 27592 d.vkGetDeviceImageSparseMemoryRequirementsKHR( m_device, 27593 reinterpret_cast<const VkDeviceImageMemoryRequirements *>( &info ), 27594 &sparseMemoryRequirementCount, 27595 reinterpret_cast<VkSparseImageMemoryRequirements2 *>( sparseMemoryRequirements.data() ) ); 27596 27597 VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); 27598 if ( sparseMemoryRequirementCount < sparseMemoryRequirements.size() ) 27599 { 27600 sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); 27601 } 27602 return sparseMemoryRequirements; 27603 } 27604 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 27605 27606 //=== VK_VALVE_descriptor_set_host_mapping === 27607 27608 // wrapper function for command vkGetDescriptorSetLayoutHostMappingInfoVALVE, see 27609 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutHostMappingInfoVALVE.html 27610 template <typename Dispatch> getDescriptorSetLayoutHostMappingInfoVALVE(const VULKAN_HPP_NAMESPACE::DescriptorSetBindingReferenceVALVE * pBindingReference,VULKAN_HPP_NAMESPACE::DescriptorSetLayoutHostMappingInfoVALVE * pHostMapping,Dispatch const & d) const27611 VULKAN_HPP_INLINE void Device::getDescriptorSetLayoutHostMappingInfoVALVE( const VULKAN_HPP_NAMESPACE::DescriptorSetBindingReferenceVALVE * pBindingReference, 27612 VULKAN_HPP_NAMESPACE::DescriptorSetLayoutHostMappingInfoVALVE * pHostMapping, 27613 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27614 { 27615 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27616 d.vkGetDescriptorSetLayoutHostMappingInfoVALVE( static_cast<VkDevice>( m_device ), 27617 reinterpret_cast<const VkDescriptorSetBindingReferenceVALVE *>( pBindingReference ), 27618 reinterpret_cast<VkDescriptorSetLayoutHostMappingInfoVALVE *>( pHostMapping ) ); 27619 } 27620 27621 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 27622 // wrapper function for command vkGetDescriptorSetLayoutHostMappingInfoVALVE, see 27623 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutHostMappingInfoVALVE.html 27624 template <typename Dispatch> 27625 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DescriptorSetLayoutHostMappingInfoVALVE getDescriptorSetLayoutHostMappingInfoVALVE(const VULKAN_HPP_NAMESPACE::DescriptorSetBindingReferenceVALVE & bindingReference,Dispatch const & d) const27626 Device::getDescriptorSetLayoutHostMappingInfoVALVE( const VULKAN_HPP_NAMESPACE::DescriptorSetBindingReferenceVALVE & bindingReference, 27627 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27628 { 27629 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27630 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27631 VULKAN_HPP_ASSERT( d.vkGetDescriptorSetLayoutHostMappingInfoVALVE && 27632 "Function <vkGetDescriptorSetLayoutHostMappingInfoVALVE> requires <VK_VALVE_descriptor_set_host_mapping>" ); 27633 # endif 27634 27635 VULKAN_HPP_NAMESPACE::DescriptorSetLayoutHostMappingInfoVALVE hostMapping; 27636 d.vkGetDescriptorSetLayoutHostMappingInfoVALVE( m_device, 27637 reinterpret_cast<const VkDescriptorSetBindingReferenceVALVE *>( &bindingReference ), 27638 reinterpret_cast<VkDescriptorSetLayoutHostMappingInfoVALVE *>( &hostMapping ) ); 27639 27640 return hostMapping; 27641 } 27642 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 27643 27644 // wrapper function for command vkGetDescriptorSetHostMappingVALVE, see 27645 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetHostMappingVALVE.html 27646 template <typename Dispatch> 27647 VULKAN_HPP_INLINE void getDescriptorSetHostMappingVALVE(VULKAN_HPP_NAMESPACE::DescriptorSet descriptorSet,void ** ppData,Dispatch const & d) const27648 Device::getDescriptorSetHostMappingVALVE( VULKAN_HPP_NAMESPACE::DescriptorSet descriptorSet, void ** ppData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27649 { 27650 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27651 d.vkGetDescriptorSetHostMappingVALVE( static_cast<VkDevice>( m_device ), static_cast<VkDescriptorSet>( descriptorSet ), ppData ); 27652 } 27653 27654 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 27655 // wrapper function for command vkGetDescriptorSetHostMappingVALVE, see 27656 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetHostMappingVALVE.html 27657 template <typename Dispatch> getDescriptorSetHostMappingVALVE(VULKAN_HPP_NAMESPACE::DescriptorSet descriptorSet,Dispatch const & d) const27658 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE void * Device::getDescriptorSetHostMappingVALVE( VULKAN_HPP_NAMESPACE::DescriptorSet descriptorSet, 27659 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27660 { 27661 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27662 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27663 VULKAN_HPP_ASSERT( d.vkGetDescriptorSetHostMappingVALVE && 27664 "Function <vkGetDescriptorSetHostMappingVALVE> requires <VK_VALVE_descriptor_set_host_mapping>" ); 27665 # endif 27666 27667 void * pData; 27668 d.vkGetDescriptorSetHostMappingVALVE( m_device, static_cast<VkDescriptorSet>( descriptorSet ), &pData ); 27669 27670 return pData; 27671 } 27672 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 27673 27674 //=== VK_NV_copy_memory_indirect === 27675 27676 // wrapper function for command vkCmdCopyMemoryIndirectNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryIndirectNV.html 27677 template <typename Dispatch> copyMemoryIndirectNV(VULKAN_HPP_NAMESPACE::DeviceAddress copyBufferAddress,uint32_t copyCount,uint32_t stride,Dispatch const & d) const27678 VULKAN_HPP_INLINE void CommandBuffer::copyMemoryIndirectNV( VULKAN_HPP_NAMESPACE::DeviceAddress copyBufferAddress, 27679 uint32_t copyCount, 27680 uint32_t stride, 27681 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27682 { 27683 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27684 d.vkCmdCopyMemoryIndirectNV( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkDeviceAddress>( copyBufferAddress ), copyCount, stride ); 27685 } 27686 27687 // wrapper function for command vkCmdCopyMemoryToImageIndirectNV, see 27688 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToImageIndirectNV.html 27689 template <typename Dispatch> copyMemoryToImageIndirectNV(VULKAN_HPP_NAMESPACE::DeviceAddress copyBufferAddress,uint32_t copyCount,uint32_t stride,VULKAN_HPP_NAMESPACE::Image dstImage,VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,const VULKAN_HPP_NAMESPACE::ImageSubresourceLayers * pImageSubresources,Dispatch const & d) const27690 VULKAN_HPP_INLINE void CommandBuffer::copyMemoryToImageIndirectNV( VULKAN_HPP_NAMESPACE::DeviceAddress copyBufferAddress, 27691 uint32_t copyCount, 27692 uint32_t stride, 27693 VULKAN_HPP_NAMESPACE::Image dstImage, 27694 VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout, 27695 const VULKAN_HPP_NAMESPACE::ImageSubresourceLayers * pImageSubresources, 27696 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27697 { 27698 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27699 d.vkCmdCopyMemoryToImageIndirectNV( static_cast<VkCommandBuffer>( m_commandBuffer ), 27700 static_cast<VkDeviceAddress>( copyBufferAddress ), 27701 copyCount, 27702 stride, 27703 static_cast<VkImage>( dstImage ), 27704 static_cast<VkImageLayout>( dstImageLayout ), 27705 reinterpret_cast<const VkImageSubresourceLayers *>( pImageSubresources ) ); 27706 } 27707 27708 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 27709 // wrapper function for command vkCmdCopyMemoryToImageIndirectNV, see 27710 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToImageIndirectNV.html 27711 template <typename Dispatch> 27712 VULKAN_HPP_INLINE void copyMemoryToImageIndirectNV(VULKAN_HPP_NAMESPACE::DeviceAddress copyBufferAddress,uint32_t stride,VULKAN_HPP_NAMESPACE::Image dstImage,VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceLayers> const & imageSubresources,Dispatch const & d) const27713 CommandBuffer::copyMemoryToImageIndirectNV( VULKAN_HPP_NAMESPACE::DeviceAddress copyBufferAddress, 27714 uint32_t stride, 27715 VULKAN_HPP_NAMESPACE::Image dstImage, 27716 VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout, 27717 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceLayers> const & imageSubresources, 27718 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27719 { 27720 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27721 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27722 VULKAN_HPP_ASSERT( d.vkCmdCopyMemoryToImageIndirectNV && "Function <vkCmdCopyMemoryToImageIndirectNV> requires <VK_NV_copy_memory_indirect>" ); 27723 # endif 27724 27725 d.vkCmdCopyMemoryToImageIndirectNV( m_commandBuffer, 27726 static_cast<VkDeviceAddress>( copyBufferAddress ), 27727 imageSubresources.size(), 27728 stride, 27729 static_cast<VkImage>( dstImage ), 27730 static_cast<VkImageLayout>( dstImageLayout ), 27731 reinterpret_cast<const VkImageSubresourceLayers *>( imageSubresources.data() ) ); 27732 } 27733 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 27734 27735 //=== VK_NV_memory_decompression === 27736 27737 // wrapper function for command vkCmdDecompressMemoryNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecompressMemoryNV.html 27738 template <typename Dispatch> decompressMemoryNV(uint32_t decompressRegionCount,const VULKAN_HPP_NAMESPACE::DecompressMemoryRegionNV * pDecompressMemoryRegions,Dispatch const & d) const27739 VULKAN_HPP_INLINE void CommandBuffer::decompressMemoryNV( uint32_t decompressRegionCount, 27740 const VULKAN_HPP_NAMESPACE::DecompressMemoryRegionNV * pDecompressMemoryRegions, 27741 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27742 { 27743 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27744 d.vkCmdDecompressMemoryNV( static_cast<VkCommandBuffer>( m_commandBuffer ), 27745 decompressRegionCount, 27746 reinterpret_cast<const VkDecompressMemoryRegionNV *>( pDecompressMemoryRegions ) ); 27747 } 27748 27749 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 27750 // wrapper function for command vkCmdDecompressMemoryNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecompressMemoryNV.html 27751 template <typename Dispatch> 27752 VULKAN_HPP_INLINE void decompressMemoryNV(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DecompressMemoryRegionNV> const & decompressMemoryRegions,Dispatch const & d) const27753 CommandBuffer::decompressMemoryNV( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DecompressMemoryRegionNV> const & decompressMemoryRegions, 27754 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27755 { 27756 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27757 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27758 VULKAN_HPP_ASSERT( d.vkCmdDecompressMemoryNV && "Function <vkCmdDecompressMemoryNV> requires <VK_NV_memory_decompression>" ); 27759 # endif 27760 27761 d.vkCmdDecompressMemoryNV( 27762 m_commandBuffer, decompressMemoryRegions.size(), reinterpret_cast<const VkDecompressMemoryRegionNV *>( decompressMemoryRegions.data() ) ); 27763 } 27764 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 27765 27766 // wrapper function for command vkCmdDecompressMemoryIndirectCountNV, see 27767 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecompressMemoryIndirectCountNV.html 27768 template <typename Dispatch> decompressMemoryIndirectCountNV(VULKAN_HPP_NAMESPACE::DeviceAddress indirectCommandsAddress,VULKAN_HPP_NAMESPACE::DeviceAddress indirectCommandsCountAddress,uint32_t stride,Dispatch const & d) const27769 VULKAN_HPP_INLINE void CommandBuffer::decompressMemoryIndirectCountNV( VULKAN_HPP_NAMESPACE::DeviceAddress indirectCommandsAddress, 27770 VULKAN_HPP_NAMESPACE::DeviceAddress indirectCommandsCountAddress, 27771 uint32_t stride, 27772 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27773 { 27774 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27775 d.vkCmdDecompressMemoryIndirectCountNV( static_cast<VkCommandBuffer>( m_commandBuffer ), 27776 static_cast<VkDeviceAddress>( indirectCommandsAddress ), 27777 static_cast<VkDeviceAddress>( indirectCommandsCountAddress ), 27778 stride ); 27779 } 27780 27781 //=== VK_NV_device_generated_commands_compute === 27782 27783 // wrapper function for command vkGetPipelineIndirectMemoryRequirementsNV, see 27784 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineIndirectMemoryRequirementsNV.html 27785 template <typename Dispatch> getPipelineIndirectMemoryRequirementsNV(const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo * pCreateInfo,VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements,Dispatch const & d) const27786 VULKAN_HPP_INLINE void Device::getPipelineIndirectMemoryRequirementsNV( const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo * pCreateInfo, 27787 VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements, 27788 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27789 { 27790 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27791 d.vkGetPipelineIndirectMemoryRequirementsNV( static_cast<VkDevice>( m_device ), 27792 reinterpret_cast<const VkComputePipelineCreateInfo *>( pCreateInfo ), 27793 reinterpret_cast<VkMemoryRequirements2 *>( pMemoryRequirements ) ); 27794 } 27795 27796 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 27797 // wrapper function for command vkGetPipelineIndirectMemoryRequirementsNV, see 27798 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineIndirectMemoryRequirementsNV.html 27799 template <typename Dispatch> 27800 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2 getPipelineIndirectMemoryRequirementsNV(const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo & createInfo,Dispatch const & d) const27801 Device::getPipelineIndirectMemoryRequirementsNV( const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo & createInfo, 27802 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27803 { 27804 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27805 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27806 VULKAN_HPP_ASSERT( d.vkGetPipelineIndirectMemoryRequirementsNV && 27807 "Function <vkGetPipelineIndirectMemoryRequirementsNV> requires <VK_NV_device_generated_commands_compute>" ); 27808 # endif 27809 27810 VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements; 27811 d.vkGetPipelineIndirectMemoryRequirementsNV( 27812 m_device, reinterpret_cast<const VkComputePipelineCreateInfo *>( &createInfo ), reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 27813 27814 return memoryRequirements; 27815 } 27816 27817 // wrapper function for command vkGetPipelineIndirectMemoryRequirementsNV, see 27818 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineIndirectMemoryRequirementsNV.html 27819 template <typename X, typename Y, typename... Z, typename Dispatch> 27820 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> getPipelineIndirectMemoryRequirementsNV(const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo & createInfo,Dispatch const & d) const27821 Device::getPipelineIndirectMemoryRequirementsNV( const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo & createInfo, 27822 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27823 { 27824 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27825 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27826 VULKAN_HPP_ASSERT( d.vkGetPipelineIndirectMemoryRequirementsNV && 27827 "Function <vkGetPipelineIndirectMemoryRequirementsNV> requires <VK_NV_device_generated_commands_compute>" ); 27828 # endif 27829 27830 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 27831 VULKAN_HPP_NAMESPACE::MemoryRequirements2 & memoryRequirements = structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>(); 27832 d.vkGetPipelineIndirectMemoryRequirementsNV( 27833 m_device, reinterpret_cast<const VkComputePipelineCreateInfo *>( &createInfo ), reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 27834 27835 return structureChain; 27836 } 27837 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 27838 27839 // wrapper function for command vkCmdUpdatePipelineIndirectBufferNV, see 27840 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdUpdatePipelineIndirectBufferNV.html 27841 template <typename Dispatch> updatePipelineIndirectBufferNV(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,VULKAN_HPP_NAMESPACE::Pipeline pipeline,Dispatch const & d) const27842 VULKAN_HPP_INLINE void CommandBuffer::updatePipelineIndirectBufferNV( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint, 27843 VULKAN_HPP_NAMESPACE::Pipeline pipeline, 27844 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27845 { 27846 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27847 d.vkCmdUpdatePipelineIndirectBufferNV( 27848 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkPipelineBindPoint>( pipelineBindPoint ), static_cast<VkPipeline>( pipeline ) ); 27849 } 27850 27851 // wrapper function for command vkGetPipelineIndirectDeviceAddressNV, see 27852 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineIndirectDeviceAddressNV.html 27853 template <typename Dispatch> getPipelineIndirectAddressNV(const VULKAN_HPP_NAMESPACE::PipelineIndirectDeviceAddressInfoNV * pInfo,Dispatch const & d) const27854 VULKAN_HPP_INLINE DeviceAddress Device::getPipelineIndirectAddressNV( const VULKAN_HPP_NAMESPACE::PipelineIndirectDeviceAddressInfoNV * pInfo, 27855 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27856 { 27857 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27858 return static_cast<DeviceAddress>( 27859 d.vkGetPipelineIndirectDeviceAddressNV( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkPipelineIndirectDeviceAddressInfoNV *>( pInfo ) ) ); 27860 } 27861 27862 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 27863 // wrapper function for command vkGetPipelineIndirectDeviceAddressNV, see 27864 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineIndirectDeviceAddressNV.html 27865 template <typename Dispatch> 27866 VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceAddress getPipelineIndirectAddressNV(const VULKAN_HPP_NAMESPACE::PipelineIndirectDeviceAddressInfoNV & info,Dispatch const & d) const27867 Device::getPipelineIndirectAddressNV( const VULKAN_HPP_NAMESPACE::PipelineIndirectDeviceAddressInfoNV & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27868 { 27869 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27870 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27871 VULKAN_HPP_ASSERT( d.vkGetPipelineIndirectDeviceAddressNV && 27872 "Function <vkGetPipelineIndirectDeviceAddressNV> requires <VK_NV_device_generated_commands_compute>" ); 27873 # endif 27874 27875 VkDeviceAddress result = d.vkGetPipelineIndirectDeviceAddressNV( m_device, reinterpret_cast<const VkPipelineIndirectDeviceAddressInfoNV *>( &info ) ); 27876 27877 return static_cast<VULKAN_HPP_NAMESPACE::DeviceAddress>( result ); 27878 } 27879 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 27880 27881 //=== VK_EXT_extended_dynamic_state3 === 27882 27883 // wrapper function for command vkCmdSetDepthClampEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthClampEnableEXT.html 27884 template <typename Dispatch> setDepthClampEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 depthClampEnable,Dispatch const & d) const27885 VULKAN_HPP_INLINE void CommandBuffer::setDepthClampEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthClampEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27886 { 27887 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27888 d.vkCmdSetDepthClampEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( depthClampEnable ) ); 27889 } 27890 27891 // wrapper function for command vkCmdSetPolygonModeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPolygonModeEXT.html 27892 template <typename Dispatch> setPolygonModeEXT(VULKAN_HPP_NAMESPACE::PolygonMode polygonMode,Dispatch const & d) const27893 VULKAN_HPP_INLINE void CommandBuffer::setPolygonModeEXT( VULKAN_HPP_NAMESPACE::PolygonMode polygonMode, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27894 { 27895 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27896 d.vkCmdSetPolygonModeEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkPolygonMode>( polygonMode ) ); 27897 } 27898 27899 // wrapper function for command vkCmdSetRasterizationSamplesEXT, see 27900 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRasterizationSamplesEXT.html 27901 template <typename Dispatch> setRasterizationSamplesEXT(VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples,Dispatch const & d) const27902 VULKAN_HPP_INLINE void CommandBuffer::setRasterizationSamplesEXT( VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples, 27903 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27904 { 27905 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27906 d.vkCmdSetRasterizationSamplesEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkSampleCountFlagBits>( rasterizationSamples ) ); 27907 } 27908 27909 // wrapper function for command vkCmdSetSampleMaskEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetSampleMaskEXT.html 27910 template <typename Dispatch> setSampleMaskEXT(VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,const VULKAN_HPP_NAMESPACE::SampleMask * pSampleMask,Dispatch const & d) const27911 VULKAN_HPP_INLINE void CommandBuffer::setSampleMaskEXT( VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples, 27912 const VULKAN_HPP_NAMESPACE::SampleMask * pSampleMask, 27913 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27914 { 27915 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27916 d.vkCmdSetSampleMaskEXT( 27917 static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkSampleCountFlagBits>( samples ), reinterpret_cast<const VkSampleMask *>( pSampleMask ) ); 27918 } 27919 27920 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 27921 // wrapper function for command vkCmdSetSampleMaskEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetSampleMaskEXT.html 27922 template <typename Dispatch> setSampleMaskEXT(VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SampleMask> const & sampleMask,Dispatch const & d) const27923 VULKAN_HPP_INLINE void CommandBuffer::setSampleMaskEXT( VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples, 27924 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SampleMask> const & sampleMask, 27925 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS 27926 { 27927 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27928 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27929 VULKAN_HPP_ASSERT( d.vkCmdSetSampleMaskEXT && "Function <vkCmdSetSampleMaskEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); 27930 # endif 27931 # ifdef VULKAN_HPP_NO_EXCEPTIONS 27932 VULKAN_HPP_ASSERT( sampleMask.size() == ( static_cast<uint32_t>( samples ) + 31 ) / 32 ); 27933 # else 27934 if ( sampleMask.size() != ( static_cast<uint32_t>( samples ) + 31 ) / 32 ) 27935 { 27936 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::setSampleMaskEXT: sampleMask.size() != ( static_cast<uint32_t>( samples ) + 31 ) / 32" ); 27937 } 27938 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ 27939 27940 d.vkCmdSetSampleMaskEXT( m_commandBuffer, static_cast<VkSampleCountFlagBits>( samples ), reinterpret_cast<const VkSampleMask *>( sampleMask.data() ) ); 27941 } 27942 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 27943 27944 // wrapper function for command vkCmdSetAlphaToCoverageEnableEXT, see 27945 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetAlphaToCoverageEnableEXT.html 27946 template <typename Dispatch> setAlphaToCoverageEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 alphaToCoverageEnable,Dispatch const & d) const27947 VULKAN_HPP_INLINE void CommandBuffer::setAlphaToCoverageEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 alphaToCoverageEnable, 27948 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27949 { 27950 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27951 d.vkCmdSetAlphaToCoverageEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( alphaToCoverageEnable ) ); 27952 } 27953 27954 // wrapper function for command vkCmdSetAlphaToOneEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetAlphaToOneEnableEXT.html 27955 template <typename Dispatch> setAlphaToOneEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 alphaToOneEnable,Dispatch const & d) const27956 VULKAN_HPP_INLINE void CommandBuffer::setAlphaToOneEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 alphaToOneEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27957 { 27958 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27959 d.vkCmdSetAlphaToOneEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( alphaToOneEnable ) ); 27960 } 27961 27962 // wrapper function for command vkCmdSetLogicOpEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLogicOpEnableEXT.html 27963 template <typename Dispatch> setLogicOpEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 logicOpEnable,Dispatch const & d) const27964 VULKAN_HPP_INLINE void CommandBuffer::setLogicOpEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 logicOpEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27965 { 27966 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27967 d.vkCmdSetLogicOpEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( logicOpEnable ) ); 27968 } 27969 27970 // wrapper function for command vkCmdSetColorBlendEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorBlendEnableEXT.html 27971 template <typename Dispatch> setColorBlendEnableEXT(uint32_t firstAttachment,uint32_t attachmentCount,const VULKAN_HPP_NAMESPACE::Bool32 * pColorBlendEnables,Dispatch const & d) const27972 VULKAN_HPP_INLINE void CommandBuffer::setColorBlendEnableEXT( uint32_t firstAttachment, 27973 uint32_t attachmentCount, 27974 const VULKAN_HPP_NAMESPACE::Bool32 * pColorBlendEnables, 27975 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27976 { 27977 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27978 d.vkCmdSetColorBlendEnableEXT( 27979 static_cast<VkCommandBuffer>( m_commandBuffer ), firstAttachment, attachmentCount, reinterpret_cast<const VkBool32 *>( pColorBlendEnables ) ); 27980 } 27981 27982 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 27983 // wrapper function for command vkCmdSetColorBlendEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorBlendEnableEXT.html 27984 template <typename Dispatch> setColorBlendEnableEXT(uint32_t firstAttachment,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Bool32> const & colorBlendEnables,Dispatch const & d) const27985 VULKAN_HPP_INLINE void CommandBuffer::setColorBlendEnableEXT( uint32_t firstAttachment, 27986 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Bool32> const & colorBlendEnables, 27987 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 27988 { 27989 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 27990 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 27991 VULKAN_HPP_ASSERT( d.vkCmdSetColorBlendEnableEXT && 27992 "Function <vkCmdSetColorBlendEnableEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); 27993 # endif 27994 27995 d.vkCmdSetColorBlendEnableEXT( m_commandBuffer, firstAttachment, colorBlendEnables.size(), reinterpret_cast<const VkBool32 *>( colorBlendEnables.data() ) ); 27996 } 27997 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 27998 27999 // wrapper function for command vkCmdSetColorBlendEquationEXT, see 28000 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorBlendEquationEXT.html 28001 template <typename Dispatch> setColorBlendEquationEXT(uint32_t firstAttachment,uint32_t attachmentCount,const VULKAN_HPP_NAMESPACE::ColorBlendEquationEXT * pColorBlendEquations,Dispatch const & d) const28002 VULKAN_HPP_INLINE void CommandBuffer::setColorBlendEquationEXT( uint32_t firstAttachment, 28003 uint32_t attachmentCount, 28004 const VULKAN_HPP_NAMESPACE::ColorBlendEquationEXT * pColorBlendEquations, 28005 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28006 { 28007 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28008 d.vkCmdSetColorBlendEquationEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 28009 firstAttachment, 28010 attachmentCount, 28011 reinterpret_cast<const VkColorBlendEquationEXT *>( pColorBlendEquations ) ); 28012 } 28013 28014 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 28015 // wrapper function for command vkCmdSetColorBlendEquationEXT, see 28016 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorBlendEquationEXT.html 28017 template <typename Dispatch> 28018 VULKAN_HPP_INLINE void setColorBlendEquationEXT(uint32_t firstAttachment,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ColorBlendEquationEXT> const & colorBlendEquations,Dispatch const & d) const28019 CommandBuffer::setColorBlendEquationEXT( uint32_t firstAttachment, 28020 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ColorBlendEquationEXT> const & colorBlendEquations, 28021 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28022 { 28023 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28024 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 28025 VULKAN_HPP_ASSERT( d.vkCmdSetColorBlendEquationEXT && 28026 "Function <vkCmdSetColorBlendEquationEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); 28027 # endif 28028 28029 d.vkCmdSetColorBlendEquationEXT( 28030 m_commandBuffer, firstAttachment, colorBlendEquations.size(), reinterpret_cast<const VkColorBlendEquationEXT *>( colorBlendEquations.data() ) ); 28031 } 28032 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 28033 28034 // wrapper function for command vkCmdSetColorWriteMaskEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorWriteMaskEXT.html 28035 template <typename Dispatch> setColorWriteMaskEXT(uint32_t firstAttachment,uint32_t attachmentCount,const VULKAN_HPP_NAMESPACE::ColorComponentFlags * pColorWriteMasks,Dispatch const & d) const28036 VULKAN_HPP_INLINE void CommandBuffer::setColorWriteMaskEXT( uint32_t firstAttachment, 28037 uint32_t attachmentCount, 28038 const VULKAN_HPP_NAMESPACE::ColorComponentFlags * pColorWriteMasks, 28039 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28040 { 28041 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28042 d.vkCmdSetColorWriteMaskEXT( 28043 static_cast<VkCommandBuffer>( m_commandBuffer ), firstAttachment, attachmentCount, reinterpret_cast<const VkColorComponentFlags *>( pColorWriteMasks ) ); 28044 } 28045 28046 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 28047 // wrapper function for command vkCmdSetColorWriteMaskEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorWriteMaskEXT.html 28048 template <typename Dispatch> 28049 VULKAN_HPP_INLINE void setColorWriteMaskEXT(uint32_t firstAttachment,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ColorComponentFlags> const & colorWriteMasks,Dispatch const & d) const28050 CommandBuffer::setColorWriteMaskEXT( uint32_t firstAttachment, 28051 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ColorComponentFlags> const & colorWriteMasks, 28052 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28053 { 28054 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28055 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 28056 VULKAN_HPP_ASSERT( d.vkCmdSetColorWriteMaskEXT && 28057 "Function <vkCmdSetColorWriteMaskEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); 28058 # endif 28059 28060 d.vkCmdSetColorWriteMaskEXT( 28061 m_commandBuffer, firstAttachment, colorWriteMasks.size(), reinterpret_cast<const VkColorComponentFlags *>( colorWriteMasks.data() ) ); 28062 } 28063 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 28064 28065 // wrapper function for command vkCmdSetTessellationDomainOriginEXT, see 28066 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetTessellationDomainOriginEXT.html 28067 template <typename Dispatch> setTessellationDomainOriginEXT(VULKAN_HPP_NAMESPACE::TessellationDomainOrigin domainOrigin,Dispatch const & d) const28068 VULKAN_HPP_INLINE void CommandBuffer::setTessellationDomainOriginEXT( VULKAN_HPP_NAMESPACE::TessellationDomainOrigin domainOrigin, 28069 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28070 { 28071 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28072 d.vkCmdSetTessellationDomainOriginEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkTessellationDomainOrigin>( domainOrigin ) ); 28073 } 28074 28075 // wrapper function for command vkCmdSetRasterizationStreamEXT, see 28076 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRasterizationStreamEXT.html 28077 template <typename Dispatch> setRasterizationStreamEXT(uint32_t rasterizationStream,Dispatch const & d) const28078 VULKAN_HPP_INLINE void CommandBuffer::setRasterizationStreamEXT( uint32_t rasterizationStream, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28079 { 28080 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28081 d.vkCmdSetRasterizationStreamEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), rasterizationStream ); 28082 } 28083 28084 // wrapper function for command vkCmdSetConservativeRasterizationModeEXT, see 28085 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetConservativeRasterizationModeEXT.html 28086 template <typename Dispatch> 28087 VULKAN_HPP_INLINE void setConservativeRasterizationModeEXT(VULKAN_HPP_NAMESPACE::ConservativeRasterizationModeEXT conservativeRasterizationMode,Dispatch const & d) const28088 CommandBuffer::setConservativeRasterizationModeEXT( VULKAN_HPP_NAMESPACE::ConservativeRasterizationModeEXT conservativeRasterizationMode, 28089 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28090 { 28091 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28092 d.vkCmdSetConservativeRasterizationModeEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 28093 static_cast<VkConservativeRasterizationModeEXT>( conservativeRasterizationMode ) ); 28094 } 28095 28096 // wrapper function for command vkCmdSetExtraPrimitiveOverestimationSizeEXT, see 28097 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetExtraPrimitiveOverestimationSizeEXT.html 28098 template <typename Dispatch> setExtraPrimitiveOverestimationSizeEXT(float extraPrimitiveOverestimationSize,Dispatch const & d) const28099 VULKAN_HPP_INLINE void CommandBuffer::setExtraPrimitiveOverestimationSizeEXT( float extraPrimitiveOverestimationSize, 28100 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28101 { 28102 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28103 d.vkCmdSetExtraPrimitiveOverestimationSizeEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), extraPrimitiveOverestimationSize ); 28104 } 28105 28106 // wrapper function for command vkCmdSetDepthClipEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthClipEnableEXT.html 28107 template <typename Dispatch> setDepthClipEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 depthClipEnable,Dispatch const & d) const28108 VULKAN_HPP_INLINE void CommandBuffer::setDepthClipEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 depthClipEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28109 { 28110 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28111 d.vkCmdSetDepthClipEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( depthClipEnable ) ); 28112 } 28113 28114 // wrapper function for command vkCmdSetSampleLocationsEnableEXT, see 28115 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetSampleLocationsEnableEXT.html 28116 template <typename Dispatch> setSampleLocationsEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 sampleLocationsEnable,Dispatch const & d) const28117 VULKAN_HPP_INLINE void CommandBuffer::setSampleLocationsEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 sampleLocationsEnable, 28118 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28119 { 28120 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28121 d.vkCmdSetSampleLocationsEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( sampleLocationsEnable ) ); 28122 } 28123 28124 // wrapper function for command vkCmdSetColorBlendAdvancedEXT, see 28125 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorBlendAdvancedEXT.html 28126 template <typename Dispatch> setColorBlendAdvancedEXT(uint32_t firstAttachment,uint32_t attachmentCount,const VULKAN_HPP_NAMESPACE::ColorBlendAdvancedEXT * pColorBlendAdvanced,Dispatch const & d) const28127 VULKAN_HPP_INLINE void CommandBuffer::setColorBlendAdvancedEXT( uint32_t firstAttachment, 28128 uint32_t attachmentCount, 28129 const VULKAN_HPP_NAMESPACE::ColorBlendAdvancedEXT * pColorBlendAdvanced, 28130 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28131 { 28132 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28133 d.vkCmdSetColorBlendAdvancedEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 28134 firstAttachment, 28135 attachmentCount, 28136 reinterpret_cast<const VkColorBlendAdvancedEXT *>( pColorBlendAdvanced ) ); 28137 } 28138 28139 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 28140 // wrapper function for command vkCmdSetColorBlendAdvancedEXT, see 28141 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorBlendAdvancedEXT.html 28142 template <typename Dispatch> 28143 VULKAN_HPP_INLINE void setColorBlendAdvancedEXT(uint32_t firstAttachment,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ColorBlendAdvancedEXT> const & colorBlendAdvanced,Dispatch const & d) const28144 CommandBuffer::setColorBlendAdvancedEXT( uint32_t firstAttachment, 28145 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ColorBlendAdvancedEXT> const & colorBlendAdvanced, 28146 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28147 { 28148 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28149 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 28150 VULKAN_HPP_ASSERT( d.vkCmdSetColorBlendAdvancedEXT && 28151 "Function <vkCmdSetColorBlendAdvancedEXT> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); 28152 # endif 28153 28154 d.vkCmdSetColorBlendAdvancedEXT( 28155 m_commandBuffer, firstAttachment, colorBlendAdvanced.size(), reinterpret_cast<const VkColorBlendAdvancedEXT *>( colorBlendAdvanced.data() ) ); 28156 } 28157 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 28158 28159 // wrapper function for command vkCmdSetProvokingVertexModeEXT, see 28160 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetProvokingVertexModeEXT.html 28161 template <typename Dispatch> setProvokingVertexModeEXT(VULKAN_HPP_NAMESPACE::ProvokingVertexModeEXT provokingVertexMode,Dispatch const & d) const28162 VULKAN_HPP_INLINE void CommandBuffer::setProvokingVertexModeEXT( VULKAN_HPP_NAMESPACE::ProvokingVertexModeEXT provokingVertexMode, 28163 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28164 { 28165 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28166 d.vkCmdSetProvokingVertexModeEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkProvokingVertexModeEXT>( provokingVertexMode ) ); 28167 } 28168 28169 // wrapper function for command vkCmdSetLineRasterizationModeEXT, see 28170 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineRasterizationModeEXT.html 28171 template <typename Dispatch> setLineRasterizationModeEXT(VULKAN_HPP_NAMESPACE::LineRasterizationModeEXT lineRasterizationMode,Dispatch const & d) const28172 VULKAN_HPP_INLINE void CommandBuffer::setLineRasterizationModeEXT( VULKAN_HPP_NAMESPACE::LineRasterizationModeEXT lineRasterizationMode, 28173 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28174 { 28175 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28176 d.vkCmdSetLineRasterizationModeEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkLineRasterizationModeEXT>( lineRasterizationMode ) ); 28177 } 28178 28179 // wrapper function for command vkCmdSetLineStippleEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineStippleEnableEXT.html 28180 template <typename Dispatch> setLineStippleEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 stippledLineEnable,Dispatch const & d) const28181 VULKAN_HPP_INLINE void CommandBuffer::setLineStippleEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 stippledLineEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28182 { 28183 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28184 d.vkCmdSetLineStippleEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( stippledLineEnable ) ); 28185 } 28186 28187 // wrapper function for command vkCmdSetDepthClipNegativeOneToOneEXT, see 28188 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthClipNegativeOneToOneEXT.html 28189 template <typename Dispatch> setDepthClipNegativeOneToOneEXT(VULKAN_HPP_NAMESPACE::Bool32 negativeOneToOne,Dispatch const & d) const28190 VULKAN_HPP_INLINE void CommandBuffer::setDepthClipNegativeOneToOneEXT( VULKAN_HPP_NAMESPACE::Bool32 negativeOneToOne, 28191 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28192 { 28193 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28194 d.vkCmdSetDepthClipNegativeOneToOneEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( negativeOneToOne ) ); 28195 } 28196 28197 // wrapper function for command vkCmdSetViewportWScalingEnableNV, see 28198 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWScalingEnableNV.html 28199 template <typename Dispatch> setViewportWScalingEnableNV(VULKAN_HPP_NAMESPACE::Bool32 viewportWScalingEnable,Dispatch const & d) const28200 VULKAN_HPP_INLINE void CommandBuffer::setViewportWScalingEnableNV( VULKAN_HPP_NAMESPACE::Bool32 viewportWScalingEnable, 28201 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28202 { 28203 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28204 d.vkCmdSetViewportWScalingEnableNV( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( viewportWScalingEnable ) ); 28205 } 28206 28207 // wrapper function for command vkCmdSetViewportSwizzleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportSwizzleNV.html 28208 template <typename Dispatch> setViewportSwizzleNV(uint32_t firstViewport,uint32_t viewportCount,const VULKAN_HPP_NAMESPACE::ViewportSwizzleNV * pViewportSwizzles,Dispatch const & d) const28209 VULKAN_HPP_INLINE void CommandBuffer::setViewportSwizzleNV( uint32_t firstViewport, 28210 uint32_t viewportCount, 28211 const VULKAN_HPP_NAMESPACE::ViewportSwizzleNV * pViewportSwizzles, 28212 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28213 { 28214 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28215 d.vkCmdSetViewportSwizzleNV( 28216 static_cast<VkCommandBuffer>( m_commandBuffer ), firstViewport, viewportCount, reinterpret_cast<const VkViewportSwizzleNV *>( pViewportSwizzles ) ); 28217 } 28218 28219 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 28220 // wrapper function for command vkCmdSetViewportSwizzleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportSwizzleNV.html 28221 template <typename Dispatch> 28222 VULKAN_HPP_INLINE void setViewportSwizzleNV(uint32_t firstViewport,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ViewportSwizzleNV> const & viewportSwizzles,Dispatch const & d) const28223 CommandBuffer::setViewportSwizzleNV( uint32_t firstViewport, 28224 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ViewportSwizzleNV> const & viewportSwizzles, 28225 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28226 { 28227 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28228 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 28229 VULKAN_HPP_ASSERT( d.vkCmdSetViewportSwizzleNV && 28230 "Function <vkCmdSetViewportSwizzleNV> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); 28231 # endif 28232 28233 d.vkCmdSetViewportSwizzleNV( 28234 m_commandBuffer, firstViewport, viewportSwizzles.size(), reinterpret_cast<const VkViewportSwizzleNV *>( viewportSwizzles.data() ) ); 28235 } 28236 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 28237 28238 // wrapper function for command vkCmdSetCoverageToColorEnableNV, see 28239 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageToColorEnableNV.html 28240 template <typename Dispatch> setCoverageToColorEnableNV(VULKAN_HPP_NAMESPACE::Bool32 coverageToColorEnable,Dispatch const & d) const28241 VULKAN_HPP_INLINE void CommandBuffer::setCoverageToColorEnableNV( VULKAN_HPP_NAMESPACE::Bool32 coverageToColorEnable, 28242 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28243 { 28244 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28245 d.vkCmdSetCoverageToColorEnableNV( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( coverageToColorEnable ) ); 28246 } 28247 28248 // wrapper function for command vkCmdSetCoverageToColorLocationNV, see 28249 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageToColorLocationNV.html 28250 template <typename Dispatch> setCoverageToColorLocationNV(uint32_t coverageToColorLocation,Dispatch const & d) const28251 VULKAN_HPP_INLINE void CommandBuffer::setCoverageToColorLocationNV( uint32_t coverageToColorLocation, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28252 { 28253 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28254 d.vkCmdSetCoverageToColorLocationNV( static_cast<VkCommandBuffer>( m_commandBuffer ), coverageToColorLocation ); 28255 } 28256 28257 // wrapper function for command vkCmdSetCoverageModulationModeNV, see 28258 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageModulationModeNV.html 28259 template <typename Dispatch> setCoverageModulationModeNV(VULKAN_HPP_NAMESPACE::CoverageModulationModeNV coverageModulationMode,Dispatch const & d) const28260 VULKAN_HPP_INLINE void CommandBuffer::setCoverageModulationModeNV( VULKAN_HPP_NAMESPACE::CoverageModulationModeNV coverageModulationMode, 28261 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28262 { 28263 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28264 d.vkCmdSetCoverageModulationModeNV( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkCoverageModulationModeNV>( coverageModulationMode ) ); 28265 } 28266 28267 // wrapper function for command vkCmdSetCoverageModulationTableEnableNV, see 28268 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageModulationTableEnableNV.html 28269 template <typename Dispatch> setCoverageModulationTableEnableNV(VULKAN_HPP_NAMESPACE::Bool32 coverageModulationTableEnable,Dispatch const & d) const28270 VULKAN_HPP_INLINE void CommandBuffer::setCoverageModulationTableEnableNV( VULKAN_HPP_NAMESPACE::Bool32 coverageModulationTableEnable, 28271 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28272 { 28273 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28274 d.vkCmdSetCoverageModulationTableEnableNV( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( coverageModulationTableEnable ) ); 28275 } 28276 28277 // wrapper function for command vkCmdSetCoverageModulationTableNV, see 28278 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageModulationTableNV.html 28279 template <typename Dispatch> setCoverageModulationTableNV(uint32_t coverageModulationTableCount,const float * pCoverageModulationTable,Dispatch const & d) const28280 VULKAN_HPP_INLINE void CommandBuffer::setCoverageModulationTableNV( uint32_t coverageModulationTableCount, 28281 const float * pCoverageModulationTable, 28282 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28283 { 28284 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28285 d.vkCmdSetCoverageModulationTableNV( static_cast<VkCommandBuffer>( m_commandBuffer ), coverageModulationTableCount, pCoverageModulationTable ); 28286 } 28287 28288 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 28289 // wrapper function for command vkCmdSetCoverageModulationTableNV, see 28290 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageModulationTableNV.html 28291 template <typename Dispatch> setCoverageModulationTableNV(VULKAN_HPP_NAMESPACE::ArrayProxy<const float> const & coverageModulationTable,Dispatch const & d) const28292 VULKAN_HPP_INLINE void CommandBuffer::setCoverageModulationTableNV( VULKAN_HPP_NAMESPACE::ArrayProxy<const float> const & coverageModulationTable, 28293 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28294 { 28295 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28296 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 28297 VULKAN_HPP_ASSERT( d.vkCmdSetCoverageModulationTableNV && 28298 "Function <vkCmdSetCoverageModulationTableNV> requires <VK_EXT_extended_dynamic_state3> or <VK_EXT_shader_object>" ); 28299 # endif 28300 28301 d.vkCmdSetCoverageModulationTableNV( m_commandBuffer, coverageModulationTable.size(), coverageModulationTable.data() ); 28302 } 28303 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 28304 28305 // wrapper function for command vkCmdSetShadingRateImageEnableNV, see 28306 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetShadingRateImageEnableNV.html 28307 template <typename Dispatch> setShadingRateImageEnableNV(VULKAN_HPP_NAMESPACE::Bool32 shadingRateImageEnable,Dispatch const & d) const28308 VULKAN_HPP_INLINE void CommandBuffer::setShadingRateImageEnableNV( VULKAN_HPP_NAMESPACE::Bool32 shadingRateImageEnable, 28309 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28310 { 28311 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28312 d.vkCmdSetShadingRateImageEnableNV( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( shadingRateImageEnable ) ); 28313 } 28314 28315 // wrapper function for command vkCmdSetRepresentativeFragmentTestEnableNV, see 28316 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRepresentativeFragmentTestEnableNV.html 28317 template <typename Dispatch> setRepresentativeFragmentTestEnableNV(VULKAN_HPP_NAMESPACE::Bool32 representativeFragmentTestEnable,Dispatch const & d) const28318 VULKAN_HPP_INLINE void CommandBuffer::setRepresentativeFragmentTestEnableNV( VULKAN_HPP_NAMESPACE::Bool32 representativeFragmentTestEnable, 28319 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28320 { 28321 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28322 d.vkCmdSetRepresentativeFragmentTestEnableNV( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( representativeFragmentTestEnable ) ); 28323 } 28324 28325 // wrapper function for command vkCmdSetCoverageReductionModeNV, see 28326 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageReductionModeNV.html 28327 template <typename Dispatch> setCoverageReductionModeNV(VULKAN_HPP_NAMESPACE::CoverageReductionModeNV coverageReductionMode,Dispatch const & d) const28328 VULKAN_HPP_INLINE void CommandBuffer::setCoverageReductionModeNV( VULKAN_HPP_NAMESPACE::CoverageReductionModeNV coverageReductionMode, 28329 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28330 { 28331 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28332 d.vkCmdSetCoverageReductionModeNV( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkCoverageReductionModeNV>( coverageReductionMode ) ); 28333 } 28334 28335 //=== VK_EXT_shader_module_identifier === 28336 28337 // wrapper function for command vkGetShaderModuleIdentifierEXT, see 28338 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderModuleIdentifierEXT.html 28339 template <typename Dispatch> getShaderModuleIdentifierEXT(VULKAN_HPP_NAMESPACE::ShaderModule shaderModule,VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT * pIdentifier,Dispatch const & d) const28340 VULKAN_HPP_INLINE void Device::getShaderModuleIdentifierEXT( VULKAN_HPP_NAMESPACE::ShaderModule shaderModule, 28341 VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT * pIdentifier, 28342 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28343 { 28344 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28345 d.vkGetShaderModuleIdentifierEXT( 28346 static_cast<VkDevice>( m_device ), static_cast<VkShaderModule>( shaderModule ), reinterpret_cast<VkShaderModuleIdentifierEXT *>( pIdentifier ) ); 28347 } 28348 28349 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 28350 // wrapper function for command vkGetShaderModuleIdentifierEXT, see 28351 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderModuleIdentifierEXT.html 28352 template <typename Dispatch> 28353 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT getShaderModuleIdentifierEXT(VULKAN_HPP_NAMESPACE::ShaderModule shaderModule,Dispatch const & d) const28354 Device::getShaderModuleIdentifierEXT( VULKAN_HPP_NAMESPACE::ShaderModule shaderModule, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28355 { 28356 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28357 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 28358 VULKAN_HPP_ASSERT( d.vkGetShaderModuleIdentifierEXT && "Function <vkGetShaderModuleIdentifierEXT> requires <VK_EXT_shader_module_identifier>" ); 28359 # endif 28360 28361 VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT identifier; 28362 d.vkGetShaderModuleIdentifierEXT( m_device, static_cast<VkShaderModule>( shaderModule ), reinterpret_cast<VkShaderModuleIdentifierEXT *>( &identifier ) ); 28363 28364 return identifier; 28365 } 28366 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 28367 28368 // wrapper function for command vkGetShaderModuleCreateInfoIdentifierEXT, see 28369 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderModuleCreateInfoIdentifierEXT.html 28370 template <typename Dispatch> getShaderModuleCreateInfoIdentifierEXT(const VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo * pCreateInfo,VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT * pIdentifier,Dispatch const & d) const28371 VULKAN_HPP_INLINE void Device::getShaderModuleCreateInfoIdentifierEXT( const VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo * pCreateInfo, 28372 VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT * pIdentifier, 28373 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28374 { 28375 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28376 d.vkGetShaderModuleCreateInfoIdentifierEXT( static_cast<VkDevice>( m_device ), 28377 reinterpret_cast<const VkShaderModuleCreateInfo *>( pCreateInfo ), 28378 reinterpret_cast<VkShaderModuleIdentifierEXT *>( pIdentifier ) ); 28379 } 28380 28381 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 28382 // wrapper function for command vkGetShaderModuleCreateInfoIdentifierEXT, see 28383 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderModuleCreateInfoIdentifierEXT.html 28384 template <typename Dispatch> 28385 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT getShaderModuleCreateInfoIdentifierEXT(const VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo & createInfo,Dispatch const & d) const28386 Device::getShaderModuleCreateInfoIdentifierEXT( const VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo & createInfo, 28387 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28388 { 28389 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28390 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 28391 VULKAN_HPP_ASSERT( d.vkGetShaderModuleCreateInfoIdentifierEXT && 28392 "Function <vkGetShaderModuleCreateInfoIdentifierEXT> requires <VK_EXT_shader_module_identifier>" ); 28393 # endif 28394 28395 VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT identifier; 28396 d.vkGetShaderModuleCreateInfoIdentifierEXT( 28397 m_device, reinterpret_cast<const VkShaderModuleCreateInfo *>( &createInfo ), reinterpret_cast<VkShaderModuleIdentifierEXT *>( &identifier ) ); 28398 28399 return identifier; 28400 } 28401 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 28402 28403 //=== VK_NV_optical_flow === 28404 28405 // wrapper function for command vkGetPhysicalDeviceOpticalFlowImageFormatsNV, see 28406 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceOpticalFlowImageFormatsNV.html 28407 template <typename Dispatch> 28408 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getOpticalFlowImageFormatsNV(const VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatInfoNV * pOpticalFlowImageFormatInfo,uint32_t * pFormatCount,VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatPropertiesNV * pImageFormatProperties,Dispatch const & d) const28409 PhysicalDevice::getOpticalFlowImageFormatsNV( const VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatInfoNV * pOpticalFlowImageFormatInfo, 28410 uint32_t * pFormatCount, 28411 VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatPropertiesNV * pImageFormatProperties, 28412 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28413 { 28414 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28415 return static_cast<Result>( 28416 d.vkGetPhysicalDeviceOpticalFlowImageFormatsNV( static_cast<VkPhysicalDevice>( m_physicalDevice ), 28417 reinterpret_cast<const VkOpticalFlowImageFormatInfoNV *>( pOpticalFlowImageFormatInfo ), 28418 pFormatCount, 28419 reinterpret_cast<VkOpticalFlowImageFormatPropertiesNV *>( pImageFormatProperties ) ) ); 28420 } 28421 28422 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 28423 // wrapper function for command vkGetPhysicalDeviceOpticalFlowImageFormatsNV, see 28424 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceOpticalFlowImageFormatsNV.html 28425 template <typename OpticalFlowImageFormatPropertiesNVAllocator, 28426 typename Dispatch, 28427 typename std::enable_if< 28428 std::is_same<typename OpticalFlowImageFormatPropertiesNVAllocator::value_type, VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatPropertiesNV>::value, 28429 int>::type> 28430 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 28431 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatPropertiesNV, OpticalFlowImageFormatPropertiesNVAllocator>>::type getOpticalFlowImageFormatsNV(const VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatInfoNV & opticalFlowImageFormatInfo,Dispatch const & d) const28432 PhysicalDevice::getOpticalFlowImageFormatsNV( const VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatInfoNV & opticalFlowImageFormatInfo, 28433 Dispatch const & d ) const 28434 { 28435 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28436 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 28437 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceOpticalFlowImageFormatsNV && 28438 "Function <vkGetPhysicalDeviceOpticalFlowImageFormatsNV> requires <VK_NV_optical_flow>" ); 28439 # endif 28440 28441 std::vector<VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatPropertiesNV, OpticalFlowImageFormatPropertiesNVAllocator> imageFormatProperties; 28442 uint32_t formatCount; 28443 VULKAN_HPP_NAMESPACE::Result result; 28444 do 28445 { 28446 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceOpticalFlowImageFormatsNV( 28447 m_physicalDevice, reinterpret_cast<const VkOpticalFlowImageFormatInfoNV *>( &opticalFlowImageFormatInfo ), &formatCount, nullptr ) ); 28448 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && formatCount ) 28449 { 28450 imageFormatProperties.resize( formatCount ); 28451 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 28452 d.vkGetPhysicalDeviceOpticalFlowImageFormatsNV( m_physicalDevice, 28453 reinterpret_cast<const VkOpticalFlowImageFormatInfoNV *>( &opticalFlowImageFormatInfo ), 28454 &formatCount, 28455 reinterpret_cast<VkOpticalFlowImageFormatPropertiesNV *>( imageFormatProperties.data() ) ) ); 28456 } 28457 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 28458 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getOpticalFlowImageFormatsNV" ); 28459 VULKAN_HPP_ASSERT( formatCount <= imageFormatProperties.size() ); 28460 if ( formatCount < imageFormatProperties.size() ) 28461 { 28462 imageFormatProperties.resize( formatCount ); 28463 } 28464 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( imageFormatProperties ) ); 28465 } 28466 28467 // wrapper function for command vkGetPhysicalDeviceOpticalFlowImageFormatsNV, see 28468 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceOpticalFlowImageFormatsNV.html 28469 template <typename OpticalFlowImageFormatPropertiesNVAllocator, 28470 typename Dispatch, 28471 typename std::enable_if< 28472 std::is_same<typename OpticalFlowImageFormatPropertiesNVAllocator::value_type, VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatPropertiesNV>::value, 28473 int>::type> 28474 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 28475 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatPropertiesNV, OpticalFlowImageFormatPropertiesNVAllocator>>::type getOpticalFlowImageFormatsNV(const VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatInfoNV & opticalFlowImageFormatInfo,OpticalFlowImageFormatPropertiesNVAllocator & opticalFlowImageFormatPropertiesNVAllocator,Dispatch const & d) const28476 PhysicalDevice::getOpticalFlowImageFormatsNV( const VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatInfoNV & opticalFlowImageFormatInfo, 28477 OpticalFlowImageFormatPropertiesNVAllocator & opticalFlowImageFormatPropertiesNVAllocator, 28478 Dispatch const & d ) const 28479 { 28480 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28481 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 28482 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceOpticalFlowImageFormatsNV && 28483 "Function <vkGetPhysicalDeviceOpticalFlowImageFormatsNV> requires <VK_NV_optical_flow>" ); 28484 # endif 28485 28486 std::vector<VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatPropertiesNV, OpticalFlowImageFormatPropertiesNVAllocator> imageFormatProperties( 28487 opticalFlowImageFormatPropertiesNVAllocator ); 28488 uint32_t formatCount; 28489 VULKAN_HPP_NAMESPACE::Result result; 28490 do 28491 { 28492 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceOpticalFlowImageFormatsNV( 28493 m_physicalDevice, reinterpret_cast<const VkOpticalFlowImageFormatInfoNV *>( &opticalFlowImageFormatInfo ), &formatCount, nullptr ) ); 28494 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && formatCount ) 28495 { 28496 imageFormatProperties.resize( formatCount ); 28497 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 28498 d.vkGetPhysicalDeviceOpticalFlowImageFormatsNV( m_physicalDevice, 28499 reinterpret_cast<const VkOpticalFlowImageFormatInfoNV *>( &opticalFlowImageFormatInfo ), 28500 &formatCount, 28501 reinterpret_cast<VkOpticalFlowImageFormatPropertiesNV *>( imageFormatProperties.data() ) ) ); 28502 } 28503 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 28504 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getOpticalFlowImageFormatsNV" ); 28505 VULKAN_HPP_ASSERT( formatCount <= imageFormatProperties.size() ); 28506 if ( formatCount < imageFormatProperties.size() ) 28507 { 28508 imageFormatProperties.resize( formatCount ); 28509 } 28510 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( imageFormatProperties ) ); 28511 } 28512 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 28513 28514 // wrapper function for command vkCreateOpticalFlowSessionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateOpticalFlowSessionNV.html 28515 template <typename Dispatch> createOpticalFlowSessionNV(const VULKAN_HPP_NAMESPACE::OpticalFlowSessionCreateInfoNV * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV * pSession,Dispatch const & d) const28516 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createOpticalFlowSessionNV( const VULKAN_HPP_NAMESPACE::OpticalFlowSessionCreateInfoNV * pCreateInfo, 28517 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 28518 VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV * pSession, 28519 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28520 { 28521 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28522 return static_cast<Result>( d.vkCreateOpticalFlowSessionNV( static_cast<VkDevice>( m_device ), 28523 reinterpret_cast<const VkOpticalFlowSessionCreateInfoNV *>( pCreateInfo ), 28524 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 28525 reinterpret_cast<VkOpticalFlowSessionNV *>( pSession ) ) ); 28526 } 28527 28528 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 28529 // wrapper function for command vkCreateOpticalFlowSessionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateOpticalFlowSessionNV.html 28530 template <typename Dispatch> 28531 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV>::type createOpticalFlowSessionNV(const VULKAN_HPP_NAMESPACE::OpticalFlowSessionCreateInfoNV & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const28532 Device::createOpticalFlowSessionNV( const VULKAN_HPP_NAMESPACE::OpticalFlowSessionCreateInfoNV & createInfo, 28533 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 28534 Dispatch const & d ) const 28535 { 28536 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28537 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 28538 VULKAN_HPP_ASSERT( d.vkCreateOpticalFlowSessionNV && "Function <vkCreateOpticalFlowSessionNV> requires <VK_NV_optical_flow>" ); 28539 # endif 28540 28541 VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session; 28542 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateOpticalFlowSessionNV( 28543 m_device, 28544 reinterpret_cast<const VkOpticalFlowSessionCreateInfoNV *>( &createInfo ), 28545 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 28546 reinterpret_cast<VkOpticalFlowSessionNV *>( &session ) ) ); 28547 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createOpticalFlowSessionNV" ); 28548 28549 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( session ) ); 28550 } 28551 28552 # ifndef VULKAN_HPP_NO_SMART_HANDLE 28553 // wrapper function for command vkCreateOpticalFlowSessionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateOpticalFlowSessionNV.html 28554 template <typename Dispatch> 28555 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV, Dispatch>>::type createOpticalFlowSessionNVUnique(const VULKAN_HPP_NAMESPACE::OpticalFlowSessionCreateInfoNV & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const28556 Device::createOpticalFlowSessionNVUnique( const VULKAN_HPP_NAMESPACE::OpticalFlowSessionCreateInfoNV & createInfo, 28557 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 28558 Dispatch const & d ) const 28559 { 28560 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28561 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 28562 VULKAN_HPP_ASSERT( d.vkCreateOpticalFlowSessionNV && "Function <vkCreateOpticalFlowSessionNV> requires <VK_NV_optical_flow>" ); 28563 # endif 28564 28565 VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session; 28566 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateOpticalFlowSessionNV( 28567 m_device, 28568 reinterpret_cast<const VkOpticalFlowSessionCreateInfoNV *>( &createInfo ), 28569 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 28570 reinterpret_cast<VkOpticalFlowSessionNV *>( &session ) ) ); 28571 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createOpticalFlowSessionNVUnique" ); 28572 28573 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( 28574 result, UniqueHandle<VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV, Dispatch>( session, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 28575 } 28576 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 28577 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 28578 28579 // wrapper function for command vkDestroyOpticalFlowSessionNV, see 28580 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyOpticalFlowSessionNV.html 28581 template <typename Dispatch> destroyOpticalFlowSessionNV(VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const28582 VULKAN_HPP_INLINE void Device::destroyOpticalFlowSessionNV( VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session, 28583 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 28584 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28585 { 28586 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28587 d.vkDestroyOpticalFlowSessionNV( 28588 static_cast<VkDevice>( m_device ), static_cast<VkOpticalFlowSessionNV>( session ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 28589 } 28590 28591 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 28592 // wrapper function for command vkDestroyOpticalFlowSessionNV, see 28593 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyOpticalFlowSessionNV.html 28594 template <typename Dispatch> destroyOpticalFlowSessionNV(VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const28595 VULKAN_HPP_INLINE void Device::destroyOpticalFlowSessionNV( VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session, 28596 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 28597 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28598 { 28599 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28600 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 28601 VULKAN_HPP_ASSERT( d.vkDestroyOpticalFlowSessionNV && "Function <vkDestroyOpticalFlowSessionNV> requires <VK_NV_optical_flow>" ); 28602 # endif 28603 28604 d.vkDestroyOpticalFlowSessionNV( 28605 m_device, 28606 static_cast<VkOpticalFlowSessionNV>( session ), 28607 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 28608 } 28609 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 28610 28611 // wrapper function for command vkDestroyOpticalFlowSessionNV, see 28612 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyOpticalFlowSessionNV.html 28613 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const28614 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session, 28615 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 28616 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28617 { 28618 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28619 d.vkDestroyOpticalFlowSessionNV( 28620 static_cast<VkDevice>( m_device ), static_cast<VkOpticalFlowSessionNV>( session ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 28621 } 28622 28623 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 28624 // wrapper function for command vkDestroyOpticalFlowSessionNV, see 28625 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyOpticalFlowSessionNV.html 28626 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const28627 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session, 28628 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 28629 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28630 { 28631 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28632 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 28633 VULKAN_HPP_ASSERT( d.vkDestroyOpticalFlowSessionNV && "Function <vkDestroyOpticalFlowSessionNV> requires <VK_NV_optical_flow>" ); 28634 # endif 28635 28636 d.vkDestroyOpticalFlowSessionNV( 28637 m_device, 28638 static_cast<VkOpticalFlowSessionNV>( session ), 28639 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 28640 } 28641 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 28642 28643 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE 28644 // wrapper function for command vkBindOpticalFlowSessionImageNV, see 28645 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindOpticalFlowSessionImageNV.html 28646 template <typename Dispatch> bindOpticalFlowSessionImageNV(VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session,VULKAN_HPP_NAMESPACE::OpticalFlowSessionBindingPointNV bindingPoint,VULKAN_HPP_NAMESPACE::ImageView view,VULKAN_HPP_NAMESPACE::ImageLayout layout,Dispatch const & d) const28647 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::bindOpticalFlowSessionImageNV( VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session, 28648 VULKAN_HPP_NAMESPACE::OpticalFlowSessionBindingPointNV bindingPoint, 28649 VULKAN_HPP_NAMESPACE::ImageView view, 28650 VULKAN_HPP_NAMESPACE::ImageLayout layout, 28651 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28652 { 28653 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28654 return static_cast<Result>( d.vkBindOpticalFlowSessionImageNV( static_cast<VkDevice>( m_device ), 28655 static_cast<VkOpticalFlowSessionNV>( session ), 28656 static_cast<VkOpticalFlowSessionBindingPointNV>( bindingPoint ), 28657 static_cast<VkImageView>( view ), 28658 static_cast<VkImageLayout>( layout ) ) ); 28659 } 28660 #else 28661 // wrapper function for command vkBindOpticalFlowSessionImageNV, see 28662 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindOpticalFlowSessionImageNV.html 28663 template <typename Dispatch> 28664 VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type bindOpticalFlowSessionImageNV(VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session,VULKAN_HPP_NAMESPACE::OpticalFlowSessionBindingPointNV bindingPoint,VULKAN_HPP_NAMESPACE::ImageView view,VULKAN_HPP_NAMESPACE::ImageLayout layout,Dispatch const & d) const28665 Device::bindOpticalFlowSessionImageNV( VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session, 28666 VULKAN_HPP_NAMESPACE::OpticalFlowSessionBindingPointNV bindingPoint, 28667 VULKAN_HPP_NAMESPACE::ImageView view, 28668 VULKAN_HPP_NAMESPACE::ImageLayout layout, 28669 Dispatch const & d ) const 28670 { 28671 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28672 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 28673 VULKAN_HPP_ASSERT( d.vkBindOpticalFlowSessionImageNV && "Function <vkBindOpticalFlowSessionImageNV> requires <VK_NV_optical_flow>" ); 28674 # endif 28675 28676 VULKAN_HPP_NAMESPACE::Result result = 28677 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkBindOpticalFlowSessionImageNV( m_device, 28678 static_cast<VkOpticalFlowSessionNV>( session ), 28679 static_cast<VkOpticalFlowSessionBindingPointNV>( bindingPoint ), 28680 static_cast<VkImageView>( view ), 28681 static_cast<VkImageLayout>( layout ) ) ); 28682 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindOpticalFlowSessionImageNV" ); 28683 28684 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 28685 } 28686 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ 28687 28688 // wrapper function for command vkCmdOpticalFlowExecuteNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdOpticalFlowExecuteNV.html 28689 template <typename Dispatch> opticalFlowExecuteNV(VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session,const VULKAN_HPP_NAMESPACE::OpticalFlowExecuteInfoNV * pExecuteInfo,Dispatch const & d) const28690 VULKAN_HPP_INLINE void CommandBuffer::opticalFlowExecuteNV( VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session, 28691 const VULKAN_HPP_NAMESPACE::OpticalFlowExecuteInfoNV * pExecuteInfo, 28692 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28693 { 28694 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28695 d.vkCmdOpticalFlowExecuteNV( static_cast<VkCommandBuffer>( m_commandBuffer ), 28696 static_cast<VkOpticalFlowSessionNV>( session ), 28697 reinterpret_cast<const VkOpticalFlowExecuteInfoNV *>( pExecuteInfo ) ); 28698 } 28699 28700 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 28701 // wrapper function for command vkCmdOpticalFlowExecuteNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdOpticalFlowExecuteNV.html 28702 template <typename Dispatch> opticalFlowExecuteNV(VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session,const VULKAN_HPP_NAMESPACE::OpticalFlowExecuteInfoNV & executeInfo,Dispatch const & d) const28703 VULKAN_HPP_INLINE void CommandBuffer::opticalFlowExecuteNV( VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session, 28704 const VULKAN_HPP_NAMESPACE::OpticalFlowExecuteInfoNV & executeInfo, 28705 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28706 { 28707 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28708 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 28709 VULKAN_HPP_ASSERT( d.vkCmdOpticalFlowExecuteNV && "Function <vkCmdOpticalFlowExecuteNV> requires <VK_NV_optical_flow>" ); 28710 # endif 28711 28712 d.vkCmdOpticalFlowExecuteNV( 28713 m_commandBuffer, static_cast<VkOpticalFlowSessionNV>( session ), reinterpret_cast<const VkOpticalFlowExecuteInfoNV *>( &executeInfo ) ); 28714 } 28715 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 28716 28717 //=== VK_KHR_maintenance5 === 28718 28719 // wrapper function for command vkCmdBindIndexBuffer2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindIndexBuffer2KHR.html 28720 template <typename Dispatch> bindIndexBuffer2KHR(VULKAN_HPP_NAMESPACE::Buffer buffer,VULKAN_HPP_NAMESPACE::DeviceSize offset,VULKAN_HPP_NAMESPACE::DeviceSize size,VULKAN_HPP_NAMESPACE::IndexType indexType,Dispatch const & d) const28721 VULKAN_HPP_INLINE void CommandBuffer::bindIndexBuffer2KHR( VULKAN_HPP_NAMESPACE::Buffer buffer, 28722 VULKAN_HPP_NAMESPACE::DeviceSize offset, 28723 VULKAN_HPP_NAMESPACE::DeviceSize size, 28724 VULKAN_HPP_NAMESPACE::IndexType indexType, 28725 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28726 { 28727 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28728 d.vkCmdBindIndexBuffer2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 28729 static_cast<VkBuffer>( buffer ), 28730 static_cast<VkDeviceSize>( offset ), 28731 static_cast<VkDeviceSize>( size ), 28732 static_cast<VkIndexType>( indexType ) ); 28733 } 28734 28735 // wrapper function for command vkGetRenderingAreaGranularityKHR, see 28736 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRenderingAreaGranularityKHR.html 28737 template <typename Dispatch> getRenderingAreaGranularityKHR(const VULKAN_HPP_NAMESPACE::RenderingAreaInfo * pRenderingAreaInfo,VULKAN_HPP_NAMESPACE::Extent2D * pGranularity,Dispatch const & d) const28738 VULKAN_HPP_INLINE void Device::getRenderingAreaGranularityKHR( const VULKAN_HPP_NAMESPACE::RenderingAreaInfo * pRenderingAreaInfo, 28739 VULKAN_HPP_NAMESPACE::Extent2D * pGranularity, 28740 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28741 { 28742 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28743 d.vkGetRenderingAreaGranularityKHR( 28744 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkRenderingAreaInfo *>( pRenderingAreaInfo ), reinterpret_cast<VkExtent2D *>( pGranularity ) ); 28745 } 28746 28747 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 28748 // wrapper function for command vkGetRenderingAreaGranularityKHR, see 28749 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRenderingAreaGranularityKHR.html 28750 template <typename Dispatch> 28751 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Extent2D getRenderingAreaGranularityKHR(const VULKAN_HPP_NAMESPACE::RenderingAreaInfo & renderingAreaInfo,Dispatch const & d) const28752 Device::getRenderingAreaGranularityKHR( const VULKAN_HPP_NAMESPACE::RenderingAreaInfo & renderingAreaInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28753 { 28754 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28755 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 28756 VULKAN_HPP_ASSERT( d.vkGetRenderingAreaGranularityKHR && "Function <vkGetRenderingAreaGranularityKHR> requires <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); 28757 # endif 28758 28759 VULKAN_HPP_NAMESPACE::Extent2D granularity; 28760 d.vkGetRenderingAreaGranularityKHR( 28761 m_device, reinterpret_cast<const VkRenderingAreaInfo *>( &renderingAreaInfo ), reinterpret_cast<VkExtent2D *>( &granularity ) ); 28762 28763 return granularity; 28764 } 28765 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 28766 28767 // wrapper function for command vkGetDeviceImageSubresourceLayoutKHR, see 28768 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayoutKHR.html 28769 template <typename Dispatch> getImageSubresourceLayoutKHR(const VULKAN_HPP_NAMESPACE::DeviceImageSubresourceInfo * pInfo,VULKAN_HPP_NAMESPACE::SubresourceLayout2 * pLayout,Dispatch const & d) const28770 VULKAN_HPP_INLINE void Device::getImageSubresourceLayoutKHR( const VULKAN_HPP_NAMESPACE::DeviceImageSubresourceInfo * pInfo, 28771 VULKAN_HPP_NAMESPACE::SubresourceLayout2 * pLayout, 28772 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28773 { 28774 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28775 d.vkGetDeviceImageSubresourceLayoutKHR( 28776 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDeviceImageSubresourceInfo *>( pInfo ), reinterpret_cast<VkSubresourceLayout2 *>( pLayout ) ); 28777 } 28778 28779 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 28780 // wrapper function for command vkGetDeviceImageSubresourceLayoutKHR, see 28781 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayoutKHR.html 28782 template <typename Dispatch> 28783 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::SubresourceLayout2 getImageSubresourceLayoutKHR(const VULKAN_HPP_NAMESPACE::DeviceImageSubresourceInfo & info,Dispatch const & d) const28784 Device::getImageSubresourceLayoutKHR( const VULKAN_HPP_NAMESPACE::DeviceImageSubresourceInfo & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28785 { 28786 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28787 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 28788 VULKAN_HPP_ASSERT( d.vkGetDeviceImageSubresourceLayoutKHR && 28789 "Function <vkGetDeviceImageSubresourceLayoutKHR> requires <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); 28790 # endif 28791 28792 VULKAN_HPP_NAMESPACE::SubresourceLayout2 layout; 28793 d.vkGetDeviceImageSubresourceLayoutKHR( 28794 m_device, reinterpret_cast<const VkDeviceImageSubresourceInfo *>( &info ), reinterpret_cast<VkSubresourceLayout2 *>( &layout ) ); 28795 28796 return layout; 28797 } 28798 28799 // wrapper function for command vkGetDeviceImageSubresourceLayoutKHR, see 28800 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayoutKHR.html 28801 template <typename X, typename Y, typename... Z, typename Dispatch> 28802 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> getImageSubresourceLayoutKHR(const VULKAN_HPP_NAMESPACE::DeviceImageSubresourceInfo & info,Dispatch const & d) const28803 Device::getImageSubresourceLayoutKHR( const VULKAN_HPP_NAMESPACE::DeviceImageSubresourceInfo & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28804 { 28805 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28806 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 28807 VULKAN_HPP_ASSERT( d.vkGetDeviceImageSubresourceLayoutKHR && 28808 "Function <vkGetDeviceImageSubresourceLayoutKHR> requires <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); 28809 # endif 28810 28811 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 28812 VULKAN_HPP_NAMESPACE::SubresourceLayout2 & layout = structureChain.template get<VULKAN_HPP_NAMESPACE::SubresourceLayout2>(); 28813 d.vkGetDeviceImageSubresourceLayoutKHR( 28814 m_device, reinterpret_cast<const VkDeviceImageSubresourceInfo *>( &info ), reinterpret_cast<VkSubresourceLayout2 *>( &layout ) ); 28815 28816 return structureChain; 28817 } 28818 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 28819 28820 // wrapper function for command vkGetImageSubresourceLayout2KHR, see 28821 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2KHR.html 28822 template <typename Dispatch> getImageSubresourceLayout2KHR(VULKAN_HPP_NAMESPACE::Image image,const VULKAN_HPP_NAMESPACE::ImageSubresource2 * pSubresource,VULKAN_HPP_NAMESPACE::SubresourceLayout2 * pLayout,Dispatch const & d) const28823 VULKAN_HPP_INLINE void Device::getImageSubresourceLayout2KHR( VULKAN_HPP_NAMESPACE::Image image, 28824 const VULKAN_HPP_NAMESPACE::ImageSubresource2 * pSubresource, 28825 VULKAN_HPP_NAMESPACE::SubresourceLayout2 * pLayout, 28826 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28827 { 28828 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28829 d.vkGetImageSubresourceLayout2KHR( static_cast<VkDevice>( m_device ), 28830 static_cast<VkImage>( image ), 28831 reinterpret_cast<const VkImageSubresource2 *>( pSubresource ), 28832 reinterpret_cast<VkSubresourceLayout2 *>( pLayout ) ); 28833 } 28834 28835 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 28836 // wrapper function for command vkGetImageSubresourceLayout2KHR, see 28837 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2KHR.html 28838 template <typename Dispatch> getImageSubresourceLayout2KHR(VULKAN_HPP_NAMESPACE::Image image,const VULKAN_HPP_NAMESPACE::ImageSubresource2 & subresource,Dispatch const & d) const28839 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::SubresourceLayout2 Device::getImageSubresourceLayout2KHR( 28840 VULKAN_HPP_NAMESPACE::Image image, const VULKAN_HPP_NAMESPACE::ImageSubresource2 & subresource, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28841 { 28842 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28843 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 28844 VULKAN_HPP_ASSERT( 28845 d.vkGetImageSubresourceLayout2KHR && 28846 "Function <vkGetImageSubresourceLayout2KHR> requires <VK_EXT_host_image_copy> or <VK_EXT_image_compression_control> or <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); 28847 # endif 28848 28849 VULKAN_HPP_NAMESPACE::SubresourceLayout2 layout; 28850 d.vkGetImageSubresourceLayout2KHR( m_device, 28851 static_cast<VkImage>( image ), 28852 reinterpret_cast<const VkImageSubresource2 *>( &subresource ), 28853 reinterpret_cast<VkSubresourceLayout2 *>( &layout ) ); 28854 28855 return layout; 28856 } 28857 28858 // wrapper function for command vkGetImageSubresourceLayout2KHR, see 28859 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2KHR.html 28860 template <typename X, typename Y, typename... Z, typename Dispatch> getImageSubresourceLayout2KHR(VULKAN_HPP_NAMESPACE::Image image,const VULKAN_HPP_NAMESPACE::ImageSubresource2 & subresource,Dispatch const & d) const28861 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> Device::getImageSubresourceLayout2KHR( 28862 VULKAN_HPP_NAMESPACE::Image image, const VULKAN_HPP_NAMESPACE::ImageSubresource2 & subresource, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28863 { 28864 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28865 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 28866 VULKAN_HPP_ASSERT( 28867 d.vkGetImageSubresourceLayout2KHR && 28868 "Function <vkGetImageSubresourceLayout2KHR> requires <VK_EXT_host_image_copy> or <VK_EXT_image_compression_control> or <VK_KHR_maintenance5> or <VK_VERSION_1_4>" ); 28869 # endif 28870 28871 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 28872 VULKAN_HPP_NAMESPACE::SubresourceLayout2 & layout = structureChain.template get<VULKAN_HPP_NAMESPACE::SubresourceLayout2>(); 28873 d.vkGetImageSubresourceLayout2KHR( m_device, 28874 static_cast<VkImage>( image ), 28875 reinterpret_cast<const VkImageSubresource2 *>( &subresource ), 28876 reinterpret_cast<VkSubresourceLayout2 *>( &layout ) ); 28877 28878 return structureChain; 28879 } 28880 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 28881 28882 //=== VK_AMD_anti_lag === 28883 28884 // wrapper function for command vkAntiLagUpdateAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAntiLagUpdateAMD.html 28885 template <typename Dispatch> antiLagUpdateAMD(const VULKAN_HPP_NAMESPACE::AntiLagDataAMD * pData,Dispatch const & d) const28886 VULKAN_HPP_INLINE void Device::antiLagUpdateAMD( const VULKAN_HPP_NAMESPACE::AntiLagDataAMD * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28887 { 28888 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28889 d.vkAntiLagUpdateAMD( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkAntiLagDataAMD *>( pData ) ); 28890 } 28891 28892 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 28893 // wrapper function for command vkAntiLagUpdateAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAntiLagUpdateAMD.html 28894 template <typename Dispatch> antiLagUpdateAMD(const VULKAN_HPP_NAMESPACE::AntiLagDataAMD & data,Dispatch const & d) const28895 VULKAN_HPP_INLINE void Device::antiLagUpdateAMD( const VULKAN_HPP_NAMESPACE::AntiLagDataAMD & data, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28896 { 28897 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28898 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 28899 VULKAN_HPP_ASSERT( d.vkAntiLagUpdateAMD && "Function <vkAntiLagUpdateAMD> requires <VK_AMD_anti_lag>" ); 28900 # endif 28901 28902 d.vkAntiLagUpdateAMD( m_device, reinterpret_cast<const VkAntiLagDataAMD *>( &data ) ); 28903 } 28904 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 28905 28906 //=== VK_EXT_shader_object === 28907 28908 // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html 28909 template <typename Dispatch> createShadersEXT(uint32_t createInfoCount,const VULKAN_HPP_NAMESPACE::ShaderCreateInfoEXT * pCreateInfos,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::ShaderEXT * pShaders,Dispatch const & d) const28910 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createShadersEXT( uint32_t createInfoCount, 28911 const VULKAN_HPP_NAMESPACE::ShaderCreateInfoEXT * pCreateInfos, 28912 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 28913 VULKAN_HPP_NAMESPACE::ShaderEXT * pShaders, 28914 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 28915 { 28916 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28917 return static_cast<Result>( d.vkCreateShadersEXT( static_cast<VkDevice>( m_device ), 28918 createInfoCount, 28919 reinterpret_cast<const VkShaderCreateInfoEXT *>( pCreateInfos ), 28920 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 28921 reinterpret_cast<VkShaderEXT *>( pShaders ) ) ); 28922 } 28923 28924 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 28925 // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html 28926 template <typename ShaderEXTAllocator, 28927 typename Dispatch, 28928 typename std::enable_if<std::is_same<typename ShaderEXTAllocator::value_type, VULKAN_HPP_NAMESPACE::ShaderEXT>::value, int>::type> 28929 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<VULKAN_HPP_NAMESPACE::ShaderEXT, ShaderEXTAllocator>> createShadersEXT(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ShaderCreateInfoEXT> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const28930 Device::createShadersEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ShaderCreateInfoEXT> const & createInfos, 28931 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 28932 Dispatch const & d ) const 28933 { 28934 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28935 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 28936 VULKAN_HPP_ASSERT( d.vkCreateShadersEXT && "Function <vkCreateShadersEXT> requires <VK_EXT_shader_object>" ); 28937 # endif 28938 28939 std::vector<VULKAN_HPP_NAMESPACE::ShaderEXT, ShaderEXTAllocator> shaders( createInfos.size() ); 28940 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 28941 d.vkCreateShadersEXT( m_device, 28942 createInfos.size(), 28943 reinterpret_cast<const VkShaderCreateInfoEXT *>( createInfos.data() ), 28944 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 28945 reinterpret_cast<VkShaderEXT *>( shaders.data() ) ) ); 28946 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 28947 VULKAN_HPP_NAMESPACE_STRING "::Device::createShadersEXT", 28948 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eIncompatibleShaderBinaryEXT } ); 28949 28950 return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::ShaderEXT, ShaderEXTAllocator>>( result, std::move( shaders ) ); 28951 } 28952 28953 // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html 28954 template <typename ShaderEXTAllocator, 28955 typename Dispatch, 28956 typename std::enable_if<std::is_same<typename ShaderEXTAllocator::value_type, VULKAN_HPP_NAMESPACE::ShaderEXT>::value, int>::type> 28957 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<VULKAN_HPP_NAMESPACE::ShaderEXT, ShaderEXTAllocator>> createShadersEXT(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ShaderCreateInfoEXT> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,ShaderEXTAllocator & shaderEXTAllocator,Dispatch const & d) const28958 Device::createShadersEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ShaderCreateInfoEXT> const & createInfos, 28959 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 28960 ShaderEXTAllocator & shaderEXTAllocator, 28961 Dispatch const & d ) const 28962 { 28963 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28964 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 28965 VULKAN_HPP_ASSERT( d.vkCreateShadersEXT && "Function <vkCreateShadersEXT> requires <VK_EXT_shader_object>" ); 28966 # endif 28967 28968 std::vector<VULKAN_HPP_NAMESPACE::ShaderEXT, ShaderEXTAllocator> shaders( createInfos.size(), shaderEXTAllocator ); 28969 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 28970 d.vkCreateShadersEXT( m_device, 28971 createInfos.size(), 28972 reinterpret_cast<const VkShaderCreateInfoEXT *>( createInfos.data() ), 28973 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 28974 reinterpret_cast<VkShaderEXT *>( shaders.data() ) ) ); 28975 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 28976 VULKAN_HPP_NAMESPACE_STRING "::Device::createShadersEXT", 28977 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eIncompatibleShaderBinaryEXT } ); 28978 28979 return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::ShaderEXT, ShaderEXTAllocator>>( result, std::move( shaders ) ); 28980 } 28981 28982 // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html 28983 template <typename Dispatch> 28984 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<VULKAN_HPP_NAMESPACE::ShaderEXT> createShaderEXT(const VULKAN_HPP_NAMESPACE::ShaderCreateInfoEXT & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const28985 Device::createShaderEXT( const VULKAN_HPP_NAMESPACE::ShaderCreateInfoEXT & createInfo, 28986 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 28987 Dispatch const & d ) const 28988 { 28989 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 28990 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 28991 VULKAN_HPP_ASSERT( d.vkCreateShadersEXT && "Function <vkCreateShadersEXT> requires <VK_EXT_shader_object>" ); 28992 # endif 28993 28994 VULKAN_HPP_NAMESPACE::ShaderEXT shader; 28995 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 28996 d.vkCreateShadersEXT( m_device, 28997 1, 28998 reinterpret_cast<const VkShaderCreateInfoEXT *>( &createInfo ), 28999 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 29000 reinterpret_cast<VkShaderEXT *>( &shader ) ) ); 29001 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 29002 VULKAN_HPP_NAMESPACE_STRING "::Device::createShaderEXT", 29003 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eIncompatibleShaderBinaryEXT } ); 29004 29005 return ResultValue<VULKAN_HPP_NAMESPACE::ShaderEXT>( result, std::move( shader ) ); 29006 } 29007 29008 # ifndef VULKAN_HPP_NO_SMART_HANDLE 29009 // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html 29010 template < 29011 typename Dispatch, 29012 typename ShaderEXTAllocator, 29013 typename std::enable_if<std::is_same<typename ShaderEXTAllocator::value_type, UniqueHandle<VULKAN_HPP_NAMESPACE::ShaderEXT, Dispatch>>::value, int>::type> 29014 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::ShaderEXT, Dispatch>, ShaderEXTAllocator>> createShadersEXTUnique(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ShaderCreateInfoEXT> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const29015 Device::createShadersEXTUnique( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ShaderCreateInfoEXT> const & createInfos, 29016 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 29017 Dispatch const & d ) const 29018 { 29019 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29020 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 29021 VULKAN_HPP_ASSERT( d.vkCreateShadersEXT && "Function <vkCreateShadersEXT> requires <VK_EXT_shader_object>" ); 29022 # endif 29023 29024 std::vector<VULKAN_HPP_NAMESPACE::ShaderEXT> shaders( createInfos.size() ); 29025 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 29026 d.vkCreateShadersEXT( m_device, 29027 createInfos.size(), 29028 reinterpret_cast<const VkShaderCreateInfoEXT *>( createInfos.data() ), 29029 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 29030 reinterpret_cast<VkShaderEXT *>( shaders.data() ) ) ); 29031 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 29032 VULKAN_HPP_NAMESPACE_STRING "::Device::createShadersEXTUnique", 29033 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eIncompatibleShaderBinaryEXT } ); 29034 std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::ShaderEXT, Dispatch>, ShaderEXTAllocator> uniqueShaders; 29035 uniqueShaders.reserve( createInfos.size() ); 29036 detail::ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d ); 29037 for ( auto const & shader : shaders ) 29038 { 29039 uniqueShaders.push_back( UniqueHandle<ShaderEXT, Dispatch>( shader, deleter ) ); 29040 } 29041 return ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::ShaderEXT, Dispatch>, ShaderEXTAllocator>>( result, std::move( uniqueShaders ) ); 29042 } 29043 29044 // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html 29045 template < 29046 typename Dispatch, 29047 typename ShaderEXTAllocator, 29048 typename std::enable_if<std::is_same<typename ShaderEXTAllocator::value_type, UniqueHandle<VULKAN_HPP_NAMESPACE::ShaderEXT, Dispatch>>::value, int>::type> 29049 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::ShaderEXT, Dispatch>, ShaderEXTAllocator>> createShadersEXTUnique(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ShaderCreateInfoEXT> const & createInfos,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,ShaderEXTAllocator & shaderEXTAllocator,Dispatch const & d) const29050 Device::createShadersEXTUnique( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ShaderCreateInfoEXT> const & createInfos, 29051 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 29052 ShaderEXTAllocator & shaderEXTAllocator, 29053 Dispatch const & d ) const 29054 { 29055 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29056 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 29057 VULKAN_HPP_ASSERT( d.vkCreateShadersEXT && "Function <vkCreateShadersEXT> requires <VK_EXT_shader_object>" ); 29058 # endif 29059 29060 std::vector<VULKAN_HPP_NAMESPACE::ShaderEXT> shaders( createInfos.size() ); 29061 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 29062 d.vkCreateShadersEXT( m_device, 29063 createInfos.size(), 29064 reinterpret_cast<const VkShaderCreateInfoEXT *>( createInfos.data() ), 29065 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 29066 reinterpret_cast<VkShaderEXT *>( shaders.data() ) ) ); 29067 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 29068 VULKAN_HPP_NAMESPACE_STRING "::Device::createShadersEXTUnique", 29069 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eIncompatibleShaderBinaryEXT } ); 29070 std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::ShaderEXT, Dispatch>, ShaderEXTAllocator> uniqueShaders( shaderEXTAllocator ); 29071 uniqueShaders.reserve( createInfos.size() ); 29072 detail::ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d ); 29073 for ( auto const & shader : shaders ) 29074 { 29075 uniqueShaders.push_back( UniqueHandle<ShaderEXT, Dispatch>( shader, deleter ) ); 29076 } 29077 return ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::ShaderEXT, Dispatch>, ShaderEXTAllocator>>( result, std::move( uniqueShaders ) ); 29078 } 29079 29080 // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html 29081 template <typename Dispatch> 29082 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<UniqueHandle<VULKAN_HPP_NAMESPACE::ShaderEXT, Dispatch>> createShaderEXTUnique(const VULKAN_HPP_NAMESPACE::ShaderCreateInfoEXT & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const29083 Device::createShaderEXTUnique( const VULKAN_HPP_NAMESPACE::ShaderCreateInfoEXT & createInfo, 29084 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 29085 Dispatch const & d ) const 29086 { 29087 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29088 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 29089 VULKAN_HPP_ASSERT( d.vkCreateShadersEXT && "Function <vkCreateShadersEXT> requires <VK_EXT_shader_object>" ); 29090 # endif 29091 29092 VULKAN_HPP_NAMESPACE::ShaderEXT shader; 29093 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 29094 d.vkCreateShadersEXT( m_device, 29095 1, 29096 reinterpret_cast<const VkShaderCreateInfoEXT *>( &createInfo ), 29097 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 29098 reinterpret_cast<VkShaderEXT *>( &shader ) ) ); 29099 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 29100 VULKAN_HPP_NAMESPACE_STRING "::Device::createShaderEXTUnique", 29101 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eIncompatibleShaderBinaryEXT } ); 29102 29103 return ResultValue<UniqueHandle<VULKAN_HPP_NAMESPACE::ShaderEXT, Dispatch>>( 29104 result, UniqueHandle<VULKAN_HPP_NAMESPACE::ShaderEXT, Dispatch>( shader, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 29105 } 29106 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 29107 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 29108 29109 // wrapper function for command vkDestroyShaderEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderEXT.html 29110 template <typename Dispatch> destroyShaderEXT(VULKAN_HPP_NAMESPACE::ShaderEXT shader,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const29111 VULKAN_HPP_INLINE void Device::destroyShaderEXT( VULKAN_HPP_NAMESPACE::ShaderEXT shader, 29112 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 29113 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 29114 { 29115 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29116 d.vkDestroyShaderEXT( 29117 static_cast<VkDevice>( m_device ), static_cast<VkShaderEXT>( shader ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 29118 } 29119 29120 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 29121 // wrapper function for command vkDestroyShaderEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderEXT.html 29122 template <typename Dispatch> destroyShaderEXT(VULKAN_HPP_NAMESPACE::ShaderEXT shader,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const29123 VULKAN_HPP_INLINE void Device::destroyShaderEXT( VULKAN_HPP_NAMESPACE::ShaderEXT shader, 29124 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 29125 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 29126 { 29127 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29128 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 29129 VULKAN_HPP_ASSERT( d.vkDestroyShaderEXT && "Function <vkDestroyShaderEXT> requires <VK_EXT_shader_object>" ); 29130 # endif 29131 29132 d.vkDestroyShaderEXT( m_device, 29133 static_cast<VkShaderEXT>( shader ), 29134 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 29135 } 29136 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 29137 29138 // wrapper function for command vkDestroyShaderEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderEXT.html 29139 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::ShaderEXT shader,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const29140 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::ShaderEXT shader, 29141 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 29142 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 29143 { 29144 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29145 d.vkDestroyShaderEXT( 29146 static_cast<VkDevice>( m_device ), static_cast<VkShaderEXT>( shader ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 29147 } 29148 29149 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 29150 // wrapper function for command vkDestroyShaderEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderEXT.html 29151 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::ShaderEXT shader,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const29152 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::ShaderEXT shader, 29153 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 29154 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 29155 { 29156 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29157 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 29158 VULKAN_HPP_ASSERT( d.vkDestroyShaderEXT && "Function <vkDestroyShaderEXT> requires <VK_EXT_shader_object>" ); 29159 # endif 29160 29161 d.vkDestroyShaderEXT( m_device, 29162 static_cast<VkShaderEXT>( shader ), 29163 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 29164 } 29165 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 29166 29167 // wrapper function for command vkGetShaderBinaryDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderBinaryDataEXT.html 29168 template <typename Dispatch> 29169 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getShaderBinaryDataEXT(VULKAN_HPP_NAMESPACE::ShaderEXT shader,size_t * pDataSize,void * pData,Dispatch const & d) const29170 Device::getShaderBinaryDataEXT( VULKAN_HPP_NAMESPACE::ShaderEXT shader, size_t * pDataSize, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 29171 { 29172 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29173 return static_cast<Result>( d.vkGetShaderBinaryDataEXT( static_cast<VkDevice>( m_device ), static_cast<VkShaderEXT>( shader ), pDataSize, pData ) ); 29174 } 29175 29176 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 29177 // wrapper function for command vkGetShaderBinaryDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderBinaryDataEXT.html 29178 template <typename Uint8_tAllocator, 29179 typename Dispatch, 29180 typename std::enable_if<std::is_same<typename Uint8_tAllocator::value_type, uint8_t>::value, int>::type> 29181 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type getShaderBinaryDataEXT(VULKAN_HPP_NAMESPACE::ShaderEXT shader,Dispatch const & d) const29182 Device::getShaderBinaryDataEXT( VULKAN_HPP_NAMESPACE::ShaderEXT shader, Dispatch const & d ) const 29183 { 29184 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29185 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 29186 VULKAN_HPP_ASSERT( d.vkGetShaderBinaryDataEXT && "Function <vkGetShaderBinaryDataEXT> requires <VK_EXT_shader_object>" ); 29187 # endif 29188 29189 std::vector<uint8_t, Uint8_tAllocator> data; 29190 size_t dataSize; 29191 VULKAN_HPP_NAMESPACE::Result result; 29192 do 29193 { 29194 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetShaderBinaryDataEXT( m_device, static_cast<VkShaderEXT>( shader ), &dataSize, nullptr ) ); 29195 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && dataSize ) 29196 { 29197 data.resize( dataSize ); 29198 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 29199 d.vkGetShaderBinaryDataEXT( m_device, static_cast<VkShaderEXT>( shader ), &dataSize, reinterpret_cast<void *>( data.data() ) ) ); 29200 } 29201 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 29202 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getShaderBinaryDataEXT" ); 29203 VULKAN_HPP_ASSERT( dataSize <= data.size() ); 29204 if ( dataSize < data.size() ) 29205 { 29206 data.resize( dataSize ); 29207 } 29208 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); 29209 } 29210 29211 // wrapper function for command vkGetShaderBinaryDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderBinaryDataEXT.html 29212 template <typename Uint8_tAllocator, 29213 typename Dispatch, 29214 typename std::enable_if<std::is_same<typename Uint8_tAllocator::value_type, uint8_t>::value, int>::type> 29215 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type getShaderBinaryDataEXT(VULKAN_HPP_NAMESPACE::ShaderEXT shader,Uint8_tAllocator & uint8_tAllocator,Dispatch const & d) const29216 Device::getShaderBinaryDataEXT( VULKAN_HPP_NAMESPACE::ShaderEXT shader, Uint8_tAllocator & uint8_tAllocator, Dispatch const & d ) const 29217 { 29218 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29219 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 29220 VULKAN_HPP_ASSERT( d.vkGetShaderBinaryDataEXT && "Function <vkGetShaderBinaryDataEXT> requires <VK_EXT_shader_object>" ); 29221 # endif 29222 29223 std::vector<uint8_t, Uint8_tAllocator> data( uint8_tAllocator ); 29224 size_t dataSize; 29225 VULKAN_HPP_NAMESPACE::Result result; 29226 do 29227 { 29228 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetShaderBinaryDataEXT( m_device, static_cast<VkShaderEXT>( shader ), &dataSize, nullptr ) ); 29229 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && dataSize ) 29230 { 29231 data.resize( dataSize ); 29232 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 29233 d.vkGetShaderBinaryDataEXT( m_device, static_cast<VkShaderEXT>( shader ), &dataSize, reinterpret_cast<void *>( data.data() ) ) ); 29234 } 29235 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 29236 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getShaderBinaryDataEXT" ); 29237 VULKAN_HPP_ASSERT( dataSize <= data.size() ); 29238 if ( dataSize < data.size() ) 29239 { 29240 data.resize( dataSize ); 29241 } 29242 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); 29243 } 29244 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 29245 29246 // wrapper function for command vkCmdBindShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindShadersEXT.html 29247 template <typename Dispatch> bindShadersEXT(uint32_t stageCount,const VULKAN_HPP_NAMESPACE::ShaderStageFlagBits * pStages,const VULKAN_HPP_NAMESPACE::ShaderEXT * pShaders,Dispatch const & d) const29248 VULKAN_HPP_INLINE void CommandBuffer::bindShadersEXT( uint32_t stageCount, 29249 const VULKAN_HPP_NAMESPACE::ShaderStageFlagBits * pStages, 29250 const VULKAN_HPP_NAMESPACE::ShaderEXT * pShaders, 29251 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 29252 { 29253 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29254 d.vkCmdBindShadersEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 29255 stageCount, 29256 reinterpret_cast<const VkShaderStageFlagBits *>( pStages ), 29257 reinterpret_cast<const VkShaderEXT *>( pShaders ) ); 29258 } 29259 29260 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 29261 // wrapper function for command vkCmdBindShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindShadersEXT.html 29262 template <typename Dispatch> bindShadersEXT(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ShaderStageFlagBits> const & stages,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ShaderEXT> const & shaders,Dispatch const & d) const29263 VULKAN_HPP_INLINE void CommandBuffer::bindShadersEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ShaderStageFlagBits> const & stages, 29264 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ShaderEXT> const & shaders, 29265 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS 29266 { 29267 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29268 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 29269 VULKAN_HPP_ASSERT( d.vkCmdBindShadersEXT && "Function <vkCmdBindShadersEXT> requires <VK_EXT_shader_object>" ); 29270 # endif 29271 # ifdef VULKAN_HPP_NO_EXCEPTIONS 29272 VULKAN_HPP_ASSERT( stages.size() == shaders.size() ); 29273 # else 29274 if ( stages.size() != shaders.size() ) 29275 { 29276 throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindShadersEXT: stages.size() != shaders.size()" ); 29277 } 29278 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ 29279 29280 d.vkCmdBindShadersEXT( m_commandBuffer, 29281 stages.size(), 29282 reinterpret_cast<const VkShaderStageFlagBits *>( stages.data() ), 29283 reinterpret_cast<const VkShaderEXT *>( shaders.data() ) ); 29284 } 29285 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 29286 29287 // wrapper function for command vkCmdSetDepthClampRangeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthClampRangeEXT.html 29288 template <typename Dispatch> setDepthClampRangeEXT(VULKAN_HPP_NAMESPACE::DepthClampModeEXT depthClampMode,const VULKAN_HPP_NAMESPACE::DepthClampRangeEXT * pDepthClampRange,Dispatch const & d) const29289 VULKAN_HPP_INLINE void CommandBuffer::setDepthClampRangeEXT( VULKAN_HPP_NAMESPACE::DepthClampModeEXT depthClampMode, 29290 const VULKAN_HPP_NAMESPACE::DepthClampRangeEXT * pDepthClampRange, 29291 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 29292 { 29293 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29294 d.vkCmdSetDepthClampRangeEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 29295 static_cast<VkDepthClampModeEXT>( depthClampMode ), 29296 reinterpret_cast<const VkDepthClampRangeEXT *>( pDepthClampRange ) ); 29297 } 29298 29299 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 29300 // wrapper function for command vkCmdSetDepthClampRangeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthClampRangeEXT.html 29301 template <typename Dispatch> setDepthClampRangeEXT(VULKAN_HPP_NAMESPACE::DepthClampModeEXT depthClampMode,Optional<const VULKAN_HPP_NAMESPACE::DepthClampRangeEXT> depthClampRange,Dispatch const & d) const29302 VULKAN_HPP_INLINE void CommandBuffer::setDepthClampRangeEXT( VULKAN_HPP_NAMESPACE::DepthClampModeEXT depthClampMode, 29303 Optional<const VULKAN_HPP_NAMESPACE::DepthClampRangeEXT> depthClampRange, 29304 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 29305 { 29306 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29307 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 29308 VULKAN_HPP_ASSERT( d.vkCmdSetDepthClampRangeEXT && 29309 "Function <vkCmdSetDepthClampRangeEXT> requires <VK_EXT_depth_clamp_control> or <VK_EXT_shader_object>" ); 29310 # endif 29311 29312 d.vkCmdSetDepthClampRangeEXT( 29313 m_commandBuffer, 29314 static_cast<VkDepthClampModeEXT>( depthClampMode ), 29315 reinterpret_cast<const VkDepthClampRangeEXT *>( static_cast<const VULKAN_HPP_NAMESPACE::DepthClampRangeEXT *>( depthClampRange ) ) ); 29316 } 29317 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 29318 29319 //=== VK_KHR_pipeline_binary === 29320 29321 // wrapper function for command vkCreatePipelineBinariesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineBinariesKHR.html 29322 template <typename Dispatch> createPipelineBinariesKHR(const VULKAN_HPP_NAMESPACE::PipelineBinaryCreateInfoKHR * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::PipelineBinaryHandlesInfoKHR * pBinaries,Dispatch const & d) const29323 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createPipelineBinariesKHR( const VULKAN_HPP_NAMESPACE::PipelineBinaryCreateInfoKHR * pCreateInfo, 29324 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 29325 VULKAN_HPP_NAMESPACE::PipelineBinaryHandlesInfoKHR * pBinaries, 29326 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 29327 { 29328 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29329 return static_cast<Result>( d.vkCreatePipelineBinariesKHR( static_cast<VkDevice>( m_device ), 29330 reinterpret_cast<const VkPipelineBinaryCreateInfoKHR *>( pCreateInfo ), 29331 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 29332 reinterpret_cast<VkPipelineBinaryHandlesInfoKHR *>( pBinaries ) ) ); 29333 } 29334 29335 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 29336 // wrapper function for command vkCreatePipelineBinariesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineBinariesKHR.html 29337 template <typename PipelineBinaryKHRAllocator, 29338 typename Dispatch, 29339 typename std::enable_if<std::is_same<typename PipelineBinaryKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::PipelineBinaryKHR>::value, int>::type> 29340 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<VULKAN_HPP_NAMESPACE::PipelineBinaryKHR, PipelineBinaryKHRAllocator>> createPipelineBinariesKHR(const VULKAN_HPP_NAMESPACE::PipelineBinaryCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const29341 Device::createPipelineBinariesKHR( const VULKAN_HPP_NAMESPACE::PipelineBinaryCreateInfoKHR & createInfo, 29342 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 29343 Dispatch const & d ) const 29344 { 29345 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29346 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 29347 VULKAN_HPP_ASSERT( d.vkCreatePipelineBinariesKHR && "Function <vkCreatePipelineBinariesKHR> requires <VK_KHR_pipeline_binary>" ); 29348 # endif 29349 29350 std::vector<VULKAN_HPP_NAMESPACE::PipelineBinaryKHR, PipelineBinaryKHRAllocator> pipelineBinaries; 29351 VULKAN_HPP_NAMESPACE::PipelineBinaryHandlesInfoKHR binaries; 29352 VULKAN_HPP_NAMESPACE::Result result; 29353 if ( createInfo.pKeysAndDataInfo ) 29354 { 29355 VULKAN_HPP_ASSERT( !createInfo.pipeline && !createInfo.pPipelineCreateInfo ); 29356 pipelineBinaries.resize( createInfo.pKeysAndDataInfo->binaryCount ); 29357 binaries.pipelineBinaryCount = createInfo.pKeysAndDataInfo->binaryCount; 29358 binaries.pPipelineBinaries = pipelineBinaries.data(); 29359 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreatePipelineBinariesKHR( 29360 m_device, 29361 reinterpret_cast<const VkPipelineBinaryCreateInfoKHR *>( &createInfo ), 29362 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 29363 reinterpret_cast<VkPipelineBinaryHandlesInfoKHR *>( &binaries ) ) ); 29364 } 29365 else 29366 { 29367 VULKAN_HPP_ASSERT( !createInfo.pipeline ^ !createInfo.pPipelineCreateInfo ); 29368 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreatePipelineBinariesKHR( 29369 m_device, 29370 reinterpret_cast<const VkPipelineBinaryCreateInfoKHR *>( &createInfo ), 29371 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 29372 reinterpret_cast<VkPipelineBinaryHandlesInfoKHR *>( &binaries ) ) ); 29373 if ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) 29374 { 29375 pipelineBinaries.resize( binaries.pipelineBinaryCount ); 29376 binaries.pPipelineBinaries = pipelineBinaries.data(); 29377 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreatePipelineBinariesKHR( 29378 m_device, 29379 reinterpret_cast<const VkPipelineBinaryCreateInfoKHR *>( &createInfo ), 29380 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 29381 reinterpret_cast<VkPipelineBinaryHandlesInfoKHR *>( &binaries ) ) ); 29382 } 29383 } 29384 29385 VULKAN_HPP_NAMESPACE::detail::resultCheck( 29386 result, 29387 VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineBinariesKHR", 29388 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eIncomplete, VULKAN_HPP_NAMESPACE::Result::ePipelineBinaryMissingKHR } ); 29389 29390 return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::PipelineBinaryKHR, PipelineBinaryKHRAllocator>>( result, std::move( pipelineBinaries ) ); 29391 } 29392 29393 // wrapper function for command vkCreatePipelineBinariesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineBinariesKHR.html 29394 template <typename PipelineBinaryKHRAllocator, 29395 typename Dispatch, 29396 typename std::enable_if<std::is_same<typename PipelineBinaryKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::PipelineBinaryKHR>::value, int>::type> 29397 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<VULKAN_HPP_NAMESPACE::PipelineBinaryKHR, PipelineBinaryKHRAllocator>> createPipelineBinariesKHR(const VULKAN_HPP_NAMESPACE::PipelineBinaryCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,PipelineBinaryKHRAllocator & pipelineBinaryKHRAllocator,Dispatch const & d) const29398 Device::createPipelineBinariesKHR( const VULKAN_HPP_NAMESPACE::PipelineBinaryCreateInfoKHR & createInfo, 29399 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 29400 PipelineBinaryKHRAllocator & pipelineBinaryKHRAllocator, 29401 Dispatch const & d ) const 29402 { 29403 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29404 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 29405 VULKAN_HPP_ASSERT( d.vkCreatePipelineBinariesKHR && "Function <vkCreatePipelineBinariesKHR> requires <VK_KHR_pipeline_binary>" ); 29406 # endif 29407 29408 std::vector<VULKAN_HPP_NAMESPACE::PipelineBinaryKHR, PipelineBinaryKHRAllocator> pipelineBinaries( pipelineBinaryKHRAllocator ); 29409 VULKAN_HPP_NAMESPACE::PipelineBinaryHandlesInfoKHR binaries; 29410 VULKAN_HPP_NAMESPACE::Result result; 29411 if ( createInfo.pKeysAndDataInfo ) 29412 { 29413 VULKAN_HPP_ASSERT( !createInfo.pipeline && !createInfo.pPipelineCreateInfo ); 29414 pipelineBinaries.resize( createInfo.pKeysAndDataInfo->binaryCount ); 29415 binaries.pipelineBinaryCount = createInfo.pKeysAndDataInfo->binaryCount; 29416 binaries.pPipelineBinaries = pipelineBinaries.data(); 29417 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreatePipelineBinariesKHR( 29418 m_device, 29419 reinterpret_cast<const VkPipelineBinaryCreateInfoKHR *>( &createInfo ), 29420 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 29421 reinterpret_cast<VkPipelineBinaryHandlesInfoKHR *>( &binaries ) ) ); 29422 } 29423 else 29424 { 29425 VULKAN_HPP_ASSERT( !createInfo.pipeline ^ !createInfo.pPipelineCreateInfo ); 29426 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreatePipelineBinariesKHR( 29427 m_device, 29428 reinterpret_cast<const VkPipelineBinaryCreateInfoKHR *>( &createInfo ), 29429 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 29430 reinterpret_cast<VkPipelineBinaryHandlesInfoKHR *>( &binaries ) ) ); 29431 if ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) 29432 { 29433 pipelineBinaries.resize( binaries.pipelineBinaryCount ); 29434 binaries.pPipelineBinaries = pipelineBinaries.data(); 29435 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreatePipelineBinariesKHR( 29436 m_device, 29437 reinterpret_cast<const VkPipelineBinaryCreateInfoKHR *>( &createInfo ), 29438 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 29439 reinterpret_cast<VkPipelineBinaryHandlesInfoKHR *>( &binaries ) ) ); 29440 } 29441 } 29442 29443 VULKAN_HPP_NAMESPACE::detail::resultCheck( 29444 result, 29445 VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineBinariesKHR", 29446 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eIncomplete, VULKAN_HPP_NAMESPACE::Result::ePipelineBinaryMissingKHR } ); 29447 29448 return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::PipelineBinaryKHR, PipelineBinaryKHRAllocator>>( result, std::move( pipelineBinaries ) ); 29449 } 29450 29451 # ifndef VULKAN_HPP_NO_SMART_HANDLE 29452 // wrapper function for command vkCreatePipelineBinariesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineBinariesKHR.html 29453 template <typename Dispatch, 29454 typename PipelineBinaryKHRAllocator, 29455 typename std::enable_if< 29456 std::is_same<typename PipelineBinaryKHRAllocator::value_type, UniqueHandle<VULKAN_HPP_NAMESPACE::PipelineBinaryKHR, Dispatch>>::value, 29457 int>::type> 29458 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::PipelineBinaryKHR, Dispatch>, PipelineBinaryKHRAllocator>> createPipelineBinariesKHRUnique(const VULKAN_HPP_NAMESPACE::PipelineBinaryCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const29459 Device::createPipelineBinariesKHRUnique( const VULKAN_HPP_NAMESPACE::PipelineBinaryCreateInfoKHR & createInfo, 29460 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 29461 Dispatch const & d ) const 29462 { 29463 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29464 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 29465 VULKAN_HPP_ASSERT( d.vkCreatePipelineBinariesKHR && "Function <vkCreatePipelineBinariesKHR> requires <VK_KHR_pipeline_binary>" ); 29466 # endif 29467 29468 std::vector<VULKAN_HPP_NAMESPACE::PipelineBinaryKHR> pipelineBinaries; 29469 VULKAN_HPP_NAMESPACE::PipelineBinaryHandlesInfoKHR binaries; 29470 VULKAN_HPP_NAMESPACE::Result result; 29471 if ( createInfo.pKeysAndDataInfo ) 29472 { 29473 VULKAN_HPP_ASSERT( !createInfo.pipeline && !createInfo.pPipelineCreateInfo ); 29474 pipelineBinaries.resize( createInfo.pKeysAndDataInfo->binaryCount ); 29475 binaries.pipelineBinaryCount = createInfo.pKeysAndDataInfo->binaryCount; 29476 binaries.pPipelineBinaries = pipelineBinaries.data(); 29477 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreatePipelineBinariesKHR( 29478 m_device, 29479 reinterpret_cast<const VkPipelineBinaryCreateInfoKHR *>( &createInfo ), 29480 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 29481 reinterpret_cast<VkPipelineBinaryHandlesInfoKHR *>( &binaries ) ) ); 29482 } 29483 else 29484 { 29485 VULKAN_HPP_ASSERT( !createInfo.pipeline ^ !createInfo.pPipelineCreateInfo ); 29486 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreatePipelineBinariesKHR( 29487 m_device, 29488 reinterpret_cast<const VkPipelineBinaryCreateInfoKHR *>( &createInfo ), 29489 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 29490 reinterpret_cast<VkPipelineBinaryHandlesInfoKHR *>( &binaries ) ) ); 29491 if ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) 29492 { 29493 pipelineBinaries.resize( binaries.pipelineBinaryCount ); 29494 binaries.pPipelineBinaries = pipelineBinaries.data(); 29495 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreatePipelineBinariesKHR( 29496 m_device, 29497 reinterpret_cast<const VkPipelineBinaryCreateInfoKHR *>( &createInfo ), 29498 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 29499 reinterpret_cast<VkPipelineBinaryHandlesInfoKHR *>( &binaries ) ) ); 29500 } 29501 } 29502 29503 VULKAN_HPP_NAMESPACE::detail::resultCheck( 29504 result, 29505 VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineBinariesKHRUnique", 29506 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eIncomplete, VULKAN_HPP_NAMESPACE::Result::ePipelineBinaryMissingKHR } ); 29507 std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::PipelineBinaryKHR, Dispatch>, PipelineBinaryKHRAllocator> uniquePipelineBinaries; 29508 uniquePipelineBinaries.reserve( pipelineBinaries.size() ); 29509 detail::ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d ); 29510 for ( auto const & pipelineBinary : pipelineBinaries ) 29511 { 29512 uniquePipelineBinaries.push_back( UniqueHandle<PipelineBinaryKHR, Dispatch>( pipelineBinary, deleter ) ); 29513 } 29514 return ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::PipelineBinaryKHR, Dispatch>, PipelineBinaryKHRAllocator>>( 29515 result, std::move( uniquePipelineBinaries ) ); 29516 } 29517 29518 // wrapper function for command vkCreatePipelineBinariesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineBinariesKHR.html 29519 template <typename Dispatch, 29520 typename PipelineBinaryKHRAllocator, 29521 typename std::enable_if< 29522 std::is_same<typename PipelineBinaryKHRAllocator::value_type, UniqueHandle<VULKAN_HPP_NAMESPACE::PipelineBinaryKHR, Dispatch>>::value, 29523 int>::type> 29524 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::PipelineBinaryKHR, Dispatch>, PipelineBinaryKHRAllocator>> createPipelineBinariesKHRUnique(const VULKAN_HPP_NAMESPACE::PipelineBinaryCreateInfoKHR & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,PipelineBinaryKHRAllocator & pipelineBinaryKHRAllocator,Dispatch const & d) const29525 Device::createPipelineBinariesKHRUnique( const VULKAN_HPP_NAMESPACE::PipelineBinaryCreateInfoKHR & createInfo, 29526 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 29527 PipelineBinaryKHRAllocator & pipelineBinaryKHRAllocator, 29528 Dispatch const & d ) const 29529 { 29530 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29531 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 29532 VULKAN_HPP_ASSERT( d.vkCreatePipelineBinariesKHR && "Function <vkCreatePipelineBinariesKHR> requires <VK_KHR_pipeline_binary>" ); 29533 # endif 29534 29535 std::vector<VULKAN_HPP_NAMESPACE::PipelineBinaryKHR> pipelineBinaries; 29536 VULKAN_HPP_NAMESPACE::PipelineBinaryHandlesInfoKHR binaries; 29537 VULKAN_HPP_NAMESPACE::Result result; 29538 if ( createInfo.pKeysAndDataInfo ) 29539 { 29540 VULKAN_HPP_ASSERT( !createInfo.pipeline && !createInfo.pPipelineCreateInfo ); 29541 pipelineBinaries.resize( createInfo.pKeysAndDataInfo->binaryCount ); 29542 binaries.pipelineBinaryCount = createInfo.pKeysAndDataInfo->binaryCount; 29543 binaries.pPipelineBinaries = pipelineBinaries.data(); 29544 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreatePipelineBinariesKHR( 29545 m_device, 29546 reinterpret_cast<const VkPipelineBinaryCreateInfoKHR *>( &createInfo ), 29547 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 29548 reinterpret_cast<VkPipelineBinaryHandlesInfoKHR *>( &binaries ) ) ); 29549 } 29550 else 29551 { 29552 VULKAN_HPP_ASSERT( !createInfo.pipeline ^ !createInfo.pPipelineCreateInfo ); 29553 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreatePipelineBinariesKHR( 29554 m_device, 29555 reinterpret_cast<const VkPipelineBinaryCreateInfoKHR *>( &createInfo ), 29556 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 29557 reinterpret_cast<VkPipelineBinaryHandlesInfoKHR *>( &binaries ) ) ); 29558 if ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) 29559 { 29560 pipelineBinaries.resize( binaries.pipelineBinaryCount ); 29561 binaries.pPipelineBinaries = pipelineBinaries.data(); 29562 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreatePipelineBinariesKHR( 29563 m_device, 29564 reinterpret_cast<const VkPipelineBinaryCreateInfoKHR *>( &createInfo ), 29565 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 29566 reinterpret_cast<VkPipelineBinaryHandlesInfoKHR *>( &binaries ) ) ); 29567 } 29568 } 29569 29570 VULKAN_HPP_NAMESPACE::detail::resultCheck( 29571 result, 29572 VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineBinariesKHRUnique", 29573 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eIncomplete, VULKAN_HPP_NAMESPACE::Result::ePipelineBinaryMissingKHR } ); 29574 std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::PipelineBinaryKHR, Dispatch>, PipelineBinaryKHRAllocator> uniquePipelineBinaries( 29575 pipelineBinaryKHRAllocator ); 29576 uniquePipelineBinaries.reserve( pipelineBinaries.size() ); 29577 detail::ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d ); 29578 for ( auto const & pipelineBinary : pipelineBinaries ) 29579 { 29580 uniquePipelineBinaries.push_back( UniqueHandle<PipelineBinaryKHR, Dispatch>( pipelineBinary, deleter ) ); 29581 } 29582 return ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::PipelineBinaryKHR, Dispatch>, PipelineBinaryKHRAllocator>>( 29583 result, std::move( uniquePipelineBinaries ) ); 29584 } 29585 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 29586 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 29587 29588 // wrapper function for command vkDestroyPipelineBinaryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineBinaryKHR.html 29589 template <typename Dispatch> destroyPipelineBinaryKHR(VULKAN_HPP_NAMESPACE::PipelineBinaryKHR pipelineBinary,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const29590 VULKAN_HPP_INLINE void Device::destroyPipelineBinaryKHR( VULKAN_HPP_NAMESPACE::PipelineBinaryKHR pipelineBinary, 29591 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 29592 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 29593 { 29594 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29595 d.vkDestroyPipelineBinaryKHR( 29596 static_cast<VkDevice>( m_device ), static_cast<VkPipelineBinaryKHR>( pipelineBinary ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 29597 } 29598 29599 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 29600 // wrapper function for command vkDestroyPipelineBinaryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineBinaryKHR.html 29601 template <typename Dispatch> destroyPipelineBinaryKHR(VULKAN_HPP_NAMESPACE::PipelineBinaryKHR pipelineBinary,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const29602 VULKAN_HPP_INLINE void Device::destroyPipelineBinaryKHR( VULKAN_HPP_NAMESPACE::PipelineBinaryKHR pipelineBinary, 29603 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 29604 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 29605 { 29606 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29607 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 29608 VULKAN_HPP_ASSERT( d.vkDestroyPipelineBinaryKHR && "Function <vkDestroyPipelineBinaryKHR> requires <VK_KHR_pipeline_binary>" ); 29609 # endif 29610 29611 d.vkDestroyPipelineBinaryKHR( 29612 m_device, 29613 static_cast<VkPipelineBinaryKHR>( pipelineBinary ), 29614 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 29615 } 29616 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 29617 29618 // wrapper function for command vkDestroyPipelineBinaryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineBinaryKHR.html 29619 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::PipelineBinaryKHR pipelineBinary,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const29620 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::PipelineBinaryKHR pipelineBinary, 29621 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 29622 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 29623 { 29624 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29625 d.vkDestroyPipelineBinaryKHR( 29626 static_cast<VkDevice>( m_device ), static_cast<VkPipelineBinaryKHR>( pipelineBinary ), reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 29627 } 29628 29629 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 29630 // wrapper function for command vkDestroyPipelineBinaryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineBinaryKHR.html 29631 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::PipelineBinaryKHR pipelineBinary,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const29632 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::PipelineBinaryKHR pipelineBinary, 29633 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 29634 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 29635 { 29636 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29637 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 29638 VULKAN_HPP_ASSERT( d.vkDestroyPipelineBinaryKHR && "Function <vkDestroyPipelineBinaryKHR> requires <VK_KHR_pipeline_binary>" ); 29639 # endif 29640 29641 d.vkDestroyPipelineBinaryKHR( 29642 m_device, 29643 static_cast<VkPipelineBinaryKHR>( pipelineBinary ), 29644 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 29645 } 29646 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 29647 29648 // wrapper function for command vkGetPipelineKeyKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineKeyKHR.html 29649 template <typename Dispatch> getPipelineKeyKHR(const VULKAN_HPP_NAMESPACE::PipelineCreateInfoKHR * pPipelineCreateInfo,VULKAN_HPP_NAMESPACE::PipelineBinaryKeyKHR * pPipelineKey,Dispatch const & d) const29650 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getPipelineKeyKHR( const VULKAN_HPP_NAMESPACE::PipelineCreateInfoKHR * pPipelineCreateInfo, 29651 VULKAN_HPP_NAMESPACE::PipelineBinaryKeyKHR * pPipelineKey, 29652 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 29653 { 29654 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29655 return static_cast<Result>( d.vkGetPipelineKeyKHR( static_cast<VkDevice>( m_device ), 29656 reinterpret_cast<const VkPipelineCreateInfoKHR *>( pPipelineCreateInfo ), 29657 reinterpret_cast<VkPipelineBinaryKeyKHR *>( pPipelineKey ) ) ); 29658 } 29659 29660 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 29661 // wrapper function for command vkGetPipelineKeyKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineKeyKHR.html 29662 template <typename Dispatch> 29663 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::PipelineBinaryKeyKHR>::type getPipelineKeyKHR(Optional<const VULKAN_HPP_NAMESPACE::PipelineCreateInfoKHR> pipelineCreateInfo,Dispatch const & d) const29664 Device::getPipelineKeyKHR( Optional<const VULKAN_HPP_NAMESPACE::PipelineCreateInfoKHR> pipelineCreateInfo, Dispatch const & d ) const 29665 { 29666 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29667 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 29668 VULKAN_HPP_ASSERT( d.vkGetPipelineKeyKHR && "Function <vkGetPipelineKeyKHR> requires <VK_KHR_pipeline_binary>" ); 29669 # endif 29670 29671 VULKAN_HPP_NAMESPACE::PipelineBinaryKeyKHR pipelineKey; 29672 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPipelineKeyKHR( 29673 m_device, 29674 reinterpret_cast<const VkPipelineCreateInfoKHR *>( static_cast<const VULKAN_HPP_NAMESPACE::PipelineCreateInfoKHR *>( pipelineCreateInfo ) ), 29675 reinterpret_cast<VkPipelineBinaryKeyKHR *>( &pipelineKey ) ) ); 29676 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineKeyKHR" ); 29677 29678 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pipelineKey ) ); 29679 } 29680 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 29681 29682 // wrapper function for command vkGetPipelineBinaryDataKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineBinaryDataKHR.html 29683 template <typename Dispatch> getPipelineBinaryDataKHR(const VULKAN_HPP_NAMESPACE::PipelineBinaryDataInfoKHR * pInfo,VULKAN_HPP_NAMESPACE::PipelineBinaryKeyKHR * pPipelineBinaryKey,size_t * pPipelineBinaryDataSize,void * pPipelineBinaryData,Dispatch const & d) const29684 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getPipelineBinaryDataKHR( const VULKAN_HPP_NAMESPACE::PipelineBinaryDataInfoKHR * pInfo, 29685 VULKAN_HPP_NAMESPACE::PipelineBinaryKeyKHR * pPipelineBinaryKey, 29686 size_t * pPipelineBinaryDataSize, 29687 void * pPipelineBinaryData, 29688 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 29689 { 29690 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29691 return static_cast<Result>( d.vkGetPipelineBinaryDataKHR( static_cast<VkDevice>( m_device ), 29692 reinterpret_cast<const VkPipelineBinaryDataInfoKHR *>( pInfo ), 29693 reinterpret_cast<VkPipelineBinaryKeyKHR *>( pPipelineBinaryKey ), 29694 pPipelineBinaryDataSize, 29695 pPipelineBinaryData ) ); 29696 } 29697 29698 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 29699 // wrapper function for command vkGetPipelineBinaryDataKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineBinaryDataKHR.html 29700 template <typename Uint8_tAllocator, 29701 typename Dispatch, 29702 typename std::enable_if<std::is_same<typename Uint8_tAllocator::value_type, uint8_t>::value, int>::type> 29703 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 29704 typename ResultValueType<std::pair<VULKAN_HPP_NAMESPACE::PipelineBinaryKeyKHR, std::vector<uint8_t, Uint8_tAllocator>>>::type getPipelineBinaryDataKHR(const VULKAN_HPP_NAMESPACE::PipelineBinaryDataInfoKHR & info,Dispatch const & d) const29705 Device::getPipelineBinaryDataKHR( const VULKAN_HPP_NAMESPACE::PipelineBinaryDataInfoKHR & info, Dispatch const & d ) const 29706 { 29707 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29708 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 29709 VULKAN_HPP_ASSERT( d.vkGetPipelineBinaryDataKHR && "Function <vkGetPipelineBinaryDataKHR> requires <VK_KHR_pipeline_binary>" ); 29710 # endif 29711 29712 std::pair<VULKAN_HPP_NAMESPACE::PipelineBinaryKeyKHR, std::vector<uint8_t, Uint8_tAllocator>> data_; 29713 VULKAN_HPP_NAMESPACE::PipelineBinaryKeyKHR & pipelineBinaryKey = data_.first; 29714 std::vector<uint8_t, Uint8_tAllocator> & pipelineBinaryData = data_.second; 29715 size_t pipelineBinaryDataSize; 29716 VULKAN_HPP_NAMESPACE::Result result = 29717 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPipelineBinaryDataKHR( m_device, 29718 reinterpret_cast<const VkPipelineBinaryDataInfoKHR *>( &info ), 29719 reinterpret_cast<VkPipelineBinaryKeyKHR *>( &pipelineBinaryKey ), 29720 &pipelineBinaryDataSize, 29721 nullptr ) ); 29722 if ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) 29723 { 29724 pipelineBinaryData.resize( pipelineBinaryDataSize ); 29725 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPipelineBinaryDataKHR( m_device, 29726 reinterpret_cast<const VkPipelineBinaryDataInfoKHR *>( &info ), 29727 reinterpret_cast<VkPipelineBinaryKeyKHR *>( &pipelineBinaryKey ), 29728 &pipelineBinaryDataSize, 29729 reinterpret_cast<void *>( pipelineBinaryData.data() ) ) ); 29730 } 29731 29732 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineBinaryDataKHR" ); 29733 29734 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); 29735 } 29736 29737 // wrapper function for command vkGetPipelineBinaryDataKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineBinaryDataKHR.html 29738 template <typename Uint8_tAllocator, 29739 typename Dispatch, 29740 typename std::enable_if<std::is_same<typename Uint8_tAllocator::value_type, uint8_t>::value, int>::type> 29741 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 29742 typename ResultValueType<std::pair<VULKAN_HPP_NAMESPACE::PipelineBinaryKeyKHR, std::vector<uint8_t, Uint8_tAllocator>>>::type getPipelineBinaryDataKHR(const VULKAN_HPP_NAMESPACE::PipelineBinaryDataInfoKHR & info,Uint8_tAllocator & uint8_tAllocator,Dispatch const & d) const29743 Device::getPipelineBinaryDataKHR( const VULKAN_HPP_NAMESPACE::PipelineBinaryDataInfoKHR & info, 29744 Uint8_tAllocator & uint8_tAllocator, 29745 Dispatch const & d ) const 29746 { 29747 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29748 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 29749 VULKAN_HPP_ASSERT( d.vkGetPipelineBinaryDataKHR && "Function <vkGetPipelineBinaryDataKHR> requires <VK_KHR_pipeline_binary>" ); 29750 # endif 29751 29752 std::pair<VULKAN_HPP_NAMESPACE::PipelineBinaryKeyKHR, std::vector<uint8_t, Uint8_tAllocator>> data_( 29753 std::piecewise_construct, std::forward_as_tuple(), std::forward_as_tuple( uint8_tAllocator ) ); 29754 VULKAN_HPP_NAMESPACE::PipelineBinaryKeyKHR & pipelineBinaryKey = data_.first; 29755 std::vector<uint8_t, Uint8_tAllocator> & pipelineBinaryData = data_.second; 29756 size_t pipelineBinaryDataSize; 29757 VULKAN_HPP_NAMESPACE::Result result = 29758 static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPipelineBinaryDataKHR( m_device, 29759 reinterpret_cast<const VkPipelineBinaryDataInfoKHR *>( &info ), 29760 reinterpret_cast<VkPipelineBinaryKeyKHR *>( &pipelineBinaryKey ), 29761 &pipelineBinaryDataSize, 29762 nullptr ) ); 29763 if ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) 29764 { 29765 pipelineBinaryData.resize( pipelineBinaryDataSize ); 29766 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPipelineBinaryDataKHR( m_device, 29767 reinterpret_cast<const VkPipelineBinaryDataInfoKHR *>( &info ), 29768 reinterpret_cast<VkPipelineBinaryKeyKHR *>( &pipelineBinaryKey ), 29769 &pipelineBinaryDataSize, 29770 reinterpret_cast<void *>( pipelineBinaryData.data() ) ) ); 29771 } 29772 29773 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineBinaryDataKHR" ); 29774 29775 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); 29776 } 29777 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 29778 29779 // wrapper function for command vkReleaseCapturedPipelineDataKHR, see 29780 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseCapturedPipelineDataKHR.html 29781 template <typename Dispatch> releaseCapturedPipelineDataKHR(const VULKAN_HPP_NAMESPACE::ReleaseCapturedPipelineDataInfoKHR * pInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const29782 VULKAN_HPP_INLINE Result Device::releaseCapturedPipelineDataKHR( const VULKAN_HPP_NAMESPACE::ReleaseCapturedPipelineDataInfoKHR * pInfo, 29783 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 29784 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 29785 { 29786 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29787 return static_cast<Result>( d.vkReleaseCapturedPipelineDataKHR( static_cast<VkDevice>( m_device ), 29788 reinterpret_cast<const VkReleaseCapturedPipelineDataInfoKHR *>( pInfo ), 29789 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ) ); 29790 } 29791 29792 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 29793 // wrapper function for command vkReleaseCapturedPipelineDataKHR, see 29794 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseCapturedPipelineDataKHR.html 29795 template <typename Dispatch> releaseCapturedPipelineDataKHR(const VULKAN_HPP_NAMESPACE::ReleaseCapturedPipelineDataInfoKHR & info,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const29796 VULKAN_HPP_INLINE void Device::releaseCapturedPipelineDataKHR( const VULKAN_HPP_NAMESPACE::ReleaseCapturedPipelineDataInfoKHR & info, 29797 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 29798 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 29799 { 29800 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29801 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 29802 VULKAN_HPP_ASSERT( d.vkReleaseCapturedPipelineDataKHR && "Function <vkReleaseCapturedPipelineDataKHR> requires <VK_KHR_pipeline_binary>" ); 29803 # endif 29804 29805 d.vkReleaseCapturedPipelineDataKHR( 29806 m_device, 29807 reinterpret_cast<const VkReleaseCapturedPipelineDataInfoKHR *>( &info ), 29808 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 29809 } 29810 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 29811 29812 //=== VK_QCOM_tile_properties === 29813 29814 // wrapper function for command vkGetFramebufferTilePropertiesQCOM, see 29815 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFramebufferTilePropertiesQCOM.html 29816 template <typename Dispatch> getFramebufferTilePropertiesQCOM(VULKAN_HPP_NAMESPACE::Framebuffer framebuffer,uint32_t * pPropertiesCount,VULKAN_HPP_NAMESPACE::TilePropertiesQCOM * pProperties,Dispatch const & d) const29817 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getFramebufferTilePropertiesQCOM( VULKAN_HPP_NAMESPACE::Framebuffer framebuffer, 29818 uint32_t * pPropertiesCount, 29819 VULKAN_HPP_NAMESPACE::TilePropertiesQCOM * pProperties, 29820 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 29821 { 29822 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29823 return static_cast<Result>( d.vkGetFramebufferTilePropertiesQCOM( static_cast<VkDevice>( m_device ), 29824 static_cast<VkFramebuffer>( framebuffer ), 29825 pPropertiesCount, 29826 reinterpret_cast<VkTilePropertiesQCOM *>( pProperties ) ) ); 29827 } 29828 29829 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 29830 // wrapper function for command vkGetFramebufferTilePropertiesQCOM, see 29831 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFramebufferTilePropertiesQCOM.html 29832 template <typename TilePropertiesQCOMAllocator, 29833 typename Dispatch, 29834 typename std::enable_if<std::is_same<typename TilePropertiesQCOMAllocator::value_type, VULKAN_HPP_NAMESPACE::TilePropertiesQCOM>::value, int>::type> 29835 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::TilePropertiesQCOM, TilePropertiesQCOMAllocator>>::type getFramebufferTilePropertiesQCOM(VULKAN_HPP_NAMESPACE::Framebuffer framebuffer,Dispatch const & d) const29836 Device::getFramebufferTilePropertiesQCOM( VULKAN_HPP_NAMESPACE::Framebuffer framebuffer, Dispatch const & d ) const 29837 { 29838 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29839 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 29840 VULKAN_HPP_ASSERT( d.vkGetFramebufferTilePropertiesQCOM && "Function <vkGetFramebufferTilePropertiesQCOM> requires <VK_QCOM_tile_properties>" ); 29841 # endif 29842 29843 std::vector<VULKAN_HPP_NAMESPACE::TilePropertiesQCOM, TilePropertiesQCOMAllocator> properties; 29844 uint32_t propertiesCount; 29845 VULKAN_HPP_NAMESPACE::Result result; 29846 do 29847 { 29848 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 29849 d.vkGetFramebufferTilePropertiesQCOM( m_device, static_cast<VkFramebuffer>( framebuffer ), &propertiesCount, nullptr ) ); 29850 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertiesCount ) 29851 { 29852 properties.resize( propertiesCount ); 29853 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetFramebufferTilePropertiesQCOM( 29854 m_device, static_cast<VkFramebuffer>( framebuffer ), &propertiesCount, reinterpret_cast<VkTilePropertiesQCOM *>( properties.data() ) ) ); 29855 } 29856 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 29857 29858 VULKAN_HPP_ASSERT( propertiesCount <= properties.size() ); 29859 if ( propertiesCount < properties.size() ) 29860 { 29861 properties.resize( propertiesCount ); 29862 } 29863 return properties; 29864 } 29865 29866 // wrapper function for command vkGetFramebufferTilePropertiesQCOM, see 29867 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFramebufferTilePropertiesQCOM.html 29868 template <typename TilePropertiesQCOMAllocator, 29869 typename Dispatch, 29870 typename std::enable_if<std::is_same<typename TilePropertiesQCOMAllocator::value_type, VULKAN_HPP_NAMESPACE::TilePropertiesQCOM>::value, int>::type> 29871 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::TilePropertiesQCOM, TilePropertiesQCOMAllocator>>::type getFramebufferTilePropertiesQCOM(VULKAN_HPP_NAMESPACE::Framebuffer framebuffer,TilePropertiesQCOMAllocator & tilePropertiesQCOMAllocator,Dispatch const & d) const29872 Device::getFramebufferTilePropertiesQCOM( VULKAN_HPP_NAMESPACE::Framebuffer framebuffer, 29873 TilePropertiesQCOMAllocator & tilePropertiesQCOMAllocator, 29874 Dispatch const & d ) const 29875 { 29876 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29877 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 29878 VULKAN_HPP_ASSERT( d.vkGetFramebufferTilePropertiesQCOM && "Function <vkGetFramebufferTilePropertiesQCOM> requires <VK_QCOM_tile_properties>" ); 29879 # endif 29880 29881 std::vector<VULKAN_HPP_NAMESPACE::TilePropertiesQCOM, TilePropertiesQCOMAllocator> properties( tilePropertiesQCOMAllocator ); 29882 uint32_t propertiesCount; 29883 VULKAN_HPP_NAMESPACE::Result result; 29884 do 29885 { 29886 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 29887 d.vkGetFramebufferTilePropertiesQCOM( m_device, static_cast<VkFramebuffer>( framebuffer ), &propertiesCount, nullptr ) ); 29888 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertiesCount ) 29889 { 29890 properties.resize( propertiesCount ); 29891 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetFramebufferTilePropertiesQCOM( 29892 m_device, static_cast<VkFramebuffer>( framebuffer ), &propertiesCount, reinterpret_cast<VkTilePropertiesQCOM *>( properties.data() ) ) ); 29893 } 29894 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 29895 29896 VULKAN_HPP_ASSERT( propertiesCount <= properties.size() ); 29897 if ( propertiesCount < properties.size() ) 29898 { 29899 properties.resize( propertiesCount ); 29900 } 29901 return properties; 29902 } 29903 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 29904 29905 // wrapper function for command vkGetDynamicRenderingTilePropertiesQCOM, see 29906 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDynamicRenderingTilePropertiesQCOM.html 29907 template <typename Dispatch> getDynamicRenderingTilePropertiesQCOM(const VULKAN_HPP_NAMESPACE::RenderingInfo * pRenderingInfo,VULKAN_HPP_NAMESPACE::TilePropertiesQCOM * pProperties,Dispatch const & d) const29908 VULKAN_HPP_INLINE Result Device::getDynamicRenderingTilePropertiesQCOM( const VULKAN_HPP_NAMESPACE::RenderingInfo * pRenderingInfo, 29909 VULKAN_HPP_NAMESPACE::TilePropertiesQCOM * pProperties, 29910 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 29911 { 29912 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29913 return static_cast<Result>( d.vkGetDynamicRenderingTilePropertiesQCOM( static_cast<VkDevice>( m_device ), 29914 reinterpret_cast<const VkRenderingInfo *>( pRenderingInfo ), 29915 reinterpret_cast<VkTilePropertiesQCOM *>( pProperties ) ) ); 29916 } 29917 29918 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 29919 // wrapper function for command vkGetDynamicRenderingTilePropertiesQCOM, see 29920 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDynamicRenderingTilePropertiesQCOM.html 29921 template <typename Dispatch> 29922 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::TilePropertiesQCOM getDynamicRenderingTilePropertiesQCOM(const VULKAN_HPP_NAMESPACE::RenderingInfo & renderingInfo,Dispatch const & d) const29923 Device::getDynamicRenderingTilePropertiesQCOM( const VULKAN_HPP_NAMESPACE::RenderingInfo & renderingInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 29924 { 29925 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29926 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 29927 VULKAN_HPP_ASSERT( d.vkGetDynamicRenderingTilePropertiesQCOM && "Function <vkGetDynamicRenderingTilePropertiesQCOM> requires <VK_QCOM_tile_properties>" ); 29928 # endif 29929 29930 VULKAN_HPP_NAMESPACE::TilePropertiesQCOM properties; 29931 d.vkGetDynamicRenderingTilePropertiesQCOM( 29932 m_device, reinterpret_cast<const VkRenderingInfo *>( &renderingInfo ), reinterpret_cast<VkTilePropertiesQCOM *>( &properties ) ); 29933 29934 return properties; 29935 } 29936 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 29937 29938 //=== VK_NV_cooperative_vector === 29939 29940 // wrapper function for command vkGetPhysicalDeviceCooperativeVectorPropertiesNV, see 29941 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeVectorPropertiesNV.html 29942 template <typename Dispatch> getCooperativeVectorPropertiesNV(uint32_t * pPropertyCount,VULKAN_HPP_NAMESPACE::CooperativeVectorPropertiesNV * pProperties,Dispatch const & d) const29943 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getCooperativeVectorPropertiesNV( 29944 uint32_t * pPropertyCount, VULKAN_HPP_NAMESPACE::CooperativeVectorPropertiesNV * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 29945 { 29946 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29947 return static_cast<Result>( d.vkGetPhysicalDeviceCooperativeVectorPropertiesNV( 29948 static_cast<VkPhysicalDevice>( m_physicalDevice ), pPropertyCount, reinterpret_cast<VkCooperativeVectorPropertiesNV *>( pProperties ) ) ); 29949 } 29950 29951 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 29952 // wrapper function for command vkGetPhysicalDeviceCooperativeVectorPropertiesNV, see 29953 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeVectorPropertiesNV.html 29954 template <typename CooperativeVectorPropertiesNVAllocator, 29955 typename Dispatch, 29956 typename std::enable_if< 29957 std::is_same<typename CooperativeVectorPropertiesNVAllocator::value_type, VULKAN_HPP_NAMESPACE::CooperativeVectorPropertiesNV>::value, 29958 int>::type> 29959 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 29960 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::CooperativeVectorPropertiesNV, CooperativeVectorPropertiesNVAllocator>>::type getCooperativeVectorPropertiesNV(Dispatch const & d) const29961 PhysicalDevice::getCooperativeVectorPropertiesNV( Dispatch const & d ) const 29962 { 29963 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 29964 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 29965 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceCooperativeVectorPropertiesNV && 29966 "Function <vkGetPhysicalDeviceCooperativeVectorPropertiesNV> requires <VK_NV_cooperative_vector>" ); 29967 # endif 29968 29969 std::vector<VULKAN_HPP_NAMESPACE::CooperativeVectorPropertiesNV, CooperativeVectorPropertiesNVAllocator> properties; 29970 uint32_t propertyCount; 29971 VULKAN_HPP_NAMESPACE::Result result; 29972 do 29973 { 29974 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceCooperativeVectorPropertiesNV( m_physicalDevice, &propertyCount, nullptr ) ); 29975 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 29976 { 29977 properties.resize( propertyCount ); 29978 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceCooperativeVectorPropertiesNV( 29979 m_physicalDevice, &propertyCount, reinterpret_cast<VkCooperativeVectorPropertiesNV *>( properties.data() ) ) ); 29980 } 29981 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 29982 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeVectorPropertiesNV" ); 29983 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 29984 if ( propertyCount < properties.size() ) 29985 { 29986 properties.resize( propertyCount ); 29987 } 29988 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 29989 } 29990 29991 // wrapper function for command vkGetPhysicalDeviceCooperativeVectorPropertiesNV, see 29992 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeVectorPropertiesNV.html 29993 template <typename CooperativeVectorPropertiesNVAllocator, 29994 typename Dispatch, 29995 typename std::enable_if< 29996 std::is_same<typename CooperativeVectorPropertiesNVAllocator::value_type, VULKAN_HPP_NAMESPACE::CooperativeVectorPropertiesNV>::value, 29997 int>::type> 29998 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 29999 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::CooperativeVectorPropertiesNV, CooperativeVectorPropertiesNVAllocator>>::type getCooperativeVectorPropertiesNV(CooperativeVectorPropertiesNVAllocator & cooperativeVectorPropertiesNVAllocator,Dispatch const & d) const30000 PhysicalDevice::getCooperativeVectorPropertiesNV( CooperativeVectorPropertiesNVAllocator & cooperativeVectorPropertiesNVAllocator, 30001 Dispatch const & d ) const 30002 { 30003 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30004 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30005 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceCooperativeVectorPropertiesNV && 30006 "Function <vkGetPhysicalDeviceCooperativeVectorPropertiesNV> requires <VK_NV_cooperative_vector>" ); 30007 # endif 30008 30009 std::vector<VULKAN_HPP_NAMESPACE::CooperativeVectorPropertiesNV, CooperativeVectorPropertiesNVAllocator> properties( 30010 cooperativeVectorPropertiesNVAllocator ); 30011 uint32_t propertyCount; 30012 VULKAN_HPP_NAMESPACE::Result result; 30013 do 30014 { 30015 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceCooperativeVectorPropertiesNV( m_physicalDevice, &propertyCount, nullptr ) ); 30016 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 30017 { 30018 properties.resize( propertyCount ); 30019 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceCooperativeVectorPropertiesNV( 30020 m_physicalDevice, &propertyCount, reinterpret_cast<VkCooperativeVectorPropertiesNV *>( properties.data() ) ) ); 30021 } 30022 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 30023 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeVectorPropertiesNV" ); 30024 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 30025 if ( propertyCount < properties.size() ) 30026 { 30027 properties.resize( propertyCount ); 30028 } 30029 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 30030 } 30031 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 30032 30033 // wrapper function for command vkConvertCooperativeVectorMatrixNV, see 30034 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkConvertCooperativeVectorMatrixNV.html 30035 template <typename Dispatch> convertCooperativeVectorMatrixNV(const VULKAN_HPP_NAMESPACE::ConvertCooperativeVectorMatrixInfoNV * pInfo,Dispatch const & d) const30036 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::convertCooperativeVectorMatrixNV( 30037 const VULKAN_HPP_NAMESPACE::ConvertCooperativeVectorMatrixInfoNV * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30038 { 30039 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30040 return static_cast<Result>( 30041 d.vkConvertCooperativeVectorMatrixNV( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkConvertCooperativeVectorMatrixInfoNV *>( pInfo ) ) ); 30042 } 30043 30044 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 30045 // wrapper function for command vkConvertCooperativeVectorMatrixNV, see 30046 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkConvertCooperativeVectorMatrixNV.html 30047 template <typename Dispatch> 30048 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result convertCooperativeVectorMatrixNV(const VULKAN_HPP_NAMESPACE::ConvertCooperativeVectorMatrixInfoNV & info,Dispatch const & d) const30049 Device::convertCooperativeVectorMatrixNV( const VULKAN_HPP_NAMESPACE::ConvertCooperativeVectorMatrixInfoNV & info, Dispatch const & d ) const 30050 { 30051 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30052 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30053 VULKAN_HPP_ASSERT( d.vkConvertCooperativeVectorMatrixNV && "Function <vkConvertCooperativeVectorMatrixNV> requires <VK_NV_cooperative_vector>" ); 30054 # endif 30055 30056 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 30057 d.vkConvertCooperativeVectorMatrixNV( m_device, reinterpret_cast<const VkConvertCooperativeVectorMatrixInfoNV *>( &info ) ) ); 30058 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, 30059 VULKAN_HPP_NAMESPACE_STRING "::Device::convertCooperativeVectorMatrixNV", 30060 { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eIncomplete } ); 30061 30062 return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); 30063 } 30064 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 30065 30066 // wrapper function for command vkCmdConvertCooperativeVectorMatrixNV, see 30067 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdConvertCooperativeVectorMatrixNV.html 30068 template <typename Dispatch> convertCooperativeVectorMatrixNV(uint32_t infoCount,const VULKAN_HPP_NAMESPACE::ConvertCooperativeVectorMatrixInfoNV * pInfos,Dispatch const & d) const30069 VULKAN_HPP_INLINE void CommandBuffer::convertCooperativeVectorMatrixNV( uint32_t infoCount, 30070 const VULKAN_HPP_NAMESPACE::ConvertCooperativeVectorMatrixInfoNV * pInfos, 30071 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30072 { 30073 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30074 d.vkCmdConvertCooperativeVectorMatrixNV( 30075 static_cast<VkCommandBuffer>( m_commandBuffer ), infoCount, reinterpret_cast<const VkConvertCooperativeVectorMatrixInfoNV *>( pInfos ) ); 30076 } 30077 30078 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 30079 // wrapper function for command vkCmdConvertCooperativeVectorMatrixNV, see 30080 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdConvertCooperativeVectorMatrixNV.html 30081 template <typename Dispatch> convertCooperativeVectorMatrixNV(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ConvertCooperativeVectorMatrixInfoNV> const & infos,Dispatch const & d) const30082 VULKAN_HPP_INLINE void CommandBuffer::convertCooperativeVectorMatrixNV( 30083 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::ConvertCooperativeVectorMatrixInfoNV> const & infos, 30084 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30085 { 30086 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30087 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30088 VULKAN_HPP_ASSERT( d.vkCmdConvertCooperativeVectorMatrixNV && "Function <vkCmdConvertCooperativeVectorMatrixNV> requires <VK_NV_cooperative_vector>" ); 30089 # endif 30090 30091 d.vkCmdConvertCooperativeVectorMatrixNV( m_commandBuffer, infos.size(), reinterpret_cast<const VkConvertCooperativeVectorMatrixInfoNV *>( infos.data() ) ); 30092 } 30093 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 30094 30095 //=== VK_NV_low_latency2 === 30096 30097 // wrapper function for command vkSetLatencySleepModeNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLatencySleepModeNV.html 30098 template <typename Dispatch> setLatencySleepModeNV(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,const VULKAN_HPP_NAMESPACE::LatencySleepModeInfoNV * pSleepModeInfo,Dispatch const & d) const30099 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::setLatencySleepModeNV( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, 30100 const VULKAN_HPP_NAMESPACE::LatencySleepModeInfoNV * pSleepModeInfo, 30101 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30102 { 30103 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30104 return static_cast<Result>( d.vkSetLatencySleepModeNV( 30105 static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( swapchain ), reinterpret_cast<const VkLatencySleepModeInfoNV *>( pSleepModeInfo ) ) ); 30106 } 30107 30108 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 30109 // wrapper function for command vkSetLatencySleepModeNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLatencySleepModeNV.html 30110 template <typename Dispatch> setLatencySleepModeNV(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,const VULKAN_HPP_NAMESPACE::LatencySleepModeInfoNV & sleepModeInfo,Dispatch const & d) const30111 VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::setLatencySleepModeNV( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, 30112 const VULKAN_HPP_NAMESPACE::LatencySleepModeInfoNV & sleepModeInfo, 30113 Dispatch const & d ) const 30114 { 30115 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30116 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30117 VULKAN_HPP_ASSERT( d.vkSetLatencySleepModeNV && "Function <vkSetLatencySleepModeNV> requires <VK_NV_low_latency2>" ); 30118 # endif 30119 30120 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 30121 d.vkSetLatencySleepModeNV( m_device, static_cast<VkSwapchainKHR>( swapchain ), reinterpret_cast<const VkLatencySleepModeInfoNV *>( &sleepModeInfo ) ) ); 30122 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setLatencySleepModeNV" ); 30123 30124 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); 30125 } 30126 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 30127 30128 // wrapper function for command vkLatencySleepNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkLatencySleepNV.html 30129 template <typename Dispatch> latencySleepNV(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,const VULKAN_HPP_NAMESPACE::LatencySleepInfoNV * pSleepInfo,Dispatch const & d) const30130 VULKAN_HPP_INLINE Result Device::latencySleepNV( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, 30131 const VULKAN_HPP_NAMESPACE::LatencySleepInfoNV * pSleepInfo, 30132 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30133 { 30134 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30135 return static_cast<Result>( d.vkLatencySleepNV( 30136 static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( swapchain ), reinterpret_cast<const VkLatencySleepInfoNV *>( pSleepInfo ) ) ); 30137 } 30138 30139 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 30140 // wrapper function for command vkLatencySleepNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkLatencySleepNV.html 30141 template <typename Dispatch> latencySleepNV(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,const VULKAN_HPP_NAMESPACE::LatencySleepInfoNV & sleepInfo,Dispatch const & d) const30142 VULKAN_HPP_INLINE void Device::latencySleepNV( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, 30143 const VULKAN_HPP_NAMESPACE::LatencySleepInfoNV & sleepInfo, 30144 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30145 { 30146 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30147 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30148 VULKAN_HPP_ASSERT( d.vkLatencySleepNV && "Function <vkLatencySleepNV> requires <VK_NV_low_latency2>" ); 30149 # endif 30150 30151 d.vkLatencySleepNV( m_device, static_cast<VkSwapchainKHR>( swapchain ), reinterpret_cast<const VkLatencySleepInfoNV *>( &sleepInfo ) ); 30152 } 30153 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 30154 30155 // wrapper function for command vkSetLatencyMarkerNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLatencyMarkerNV.html 30156 template <typename Dispatch> setLatencyMarkerNV(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,const VULKAN_HPP_NAMESPACE::SetLatencyMarkerInfoNV * pLatencyMarkerInfo,Dispatch const & d) const30157 VULKAN_HPP_INLINE void Device::setLatencyMarkerNV( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, 30158 const VULKAN_HPP_NAMESPACE::SetLatencyMarkerInfoNV * pLatencyMarkerInfo, 30159 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30160 { 30161 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30162 d.vkSetLatencyMarkerNV( 30163 static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( swapchain ), reinterpret_cast<const VkSetLatencyMarkerInfoNV *>( pLatencyMarkerInfo ) ); 30164 } 30165 30166 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 30167 // wrapper function for command vkSetLatencyMarkerNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLatencyMarkerNV.html 30168 template <typename Dispatch> setLatencyMarkerNV(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,const VULKAN_HPP_NAMESPACE::SetLatencyMarkerInfoNV & latencyMarkerInfo,Dispatch const & d) const30169 VULKAN_HPP_INLINE void Device::setLatencyMarkerNV( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, 30170 const VULKAN_HPP_NAMESPACE::SetLatencyMarkerInfoNV & latencyMarkerInfo, 30171 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30172 { 30173 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30174 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30175 VULKAN_HPP_ASSERT( d.vkSetLatencyMarkerNV && "Function <vkSetLatencyMarkerNV> requires <VK_NV_low_latency2>" ); 30176 # endif 30177 30178 d.vkSetLatencyMarkerNV( m_device, static_cast<VkSwapchainKHR>( swapchain ), reinterpret_cast<const VkSetLatencyMarkerInfoNV *>( &latencyMarkerInfo ) ); 30179 } 30180 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 30181 30182 // wrapper function for command vkGetLatencyTimingsNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetLatencyTimingsNV.html 30183 template <typename Dispatch> getLatencyTimingsNV(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,VULKAN_HPP_NAMESPACE::GetLatencyMarkerInfoNV * pLatencyMarkerInfo,Dispatch const & d) const30184 VULKAN_HPP_INLINE void Device::getLatencyTimingsNV( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, 30185 VULKAN_HPP_NAMESPACE::GetLatencyMarkerInfoNV * pLatencyMarkerInfo, 30186 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30187 { 30188 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30189 d.vkGetLatencyTimingsNV( 30190 static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( swapchain ), reinterpret_cast<VkGetLatencyMarkerInfoNV *>( pLatencyMarkerInfo ) ); 30191 } 30192 30193 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 30194 // wrapper function for command vkGetLatencyTimingsNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetLatencyTimingsNV.html 30195 template < 30196 typename LatencyTimingsFrameReportNVAllocator, 30197 typename Dispatch, 30198 typename std::enable_if<std::is_same<typename LatencyTimingsFrameReportNVAllocator::value_type, VULKAN_HPP_NAMESPACE::LatencyTimingsFrameReportNV>::value, 30199 int>::type> 30200 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::LatencyTimingsFrameReportNV, LatencyTimingsFrameReportNVAllocator> getLatencyTimingsNV(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,Dispatch const & d) const30201 Device::getLatencyTimingsNV( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, Dispatch const & d ) const 30202 { 30203 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30204 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30205 VULKAN_HPP_ASSERT( d.vkGetLatencyTimingsNV && "Function <vkGetLatencyTimingsNV> requires <VK_NV_low_latency2>" ); 30206 # endif 30207 30208 std::vector<VULKAN_HPP_NAMESPACE::LatencyTimingsFrameReportNV, LatencyTimingsFrameReportNVAllocator> timings; 30209 VULKAN_HPP_NAMESPACE::GetLatencyMarkerInfoNV latencyMarkerInfo; 30210 d.vkGetLatencyTimingsNV( m_device, static_cast<VkSwapchainKHR>( swapchain ), reinterpret_cast<VkGetLatencyMarkerInfoNV *>( &latencyMarkerInfo ) ); 30211 timings.resize( latencyMarkerInfo.timingCount ); 30212 latencyMarkerInfo.pTimings = timings.data(); 30213 d.vkGetLatencyTimingsNV( m_device, static_cast<VkSwapchainKHR>( swapchain ), reinterpret_cast<VkGetLatencyMarkerInfoNV *>( &latencyMarkerInfo ) ); 30214 30215 return timings; 30216 } 30217 30218 // wrapper function for command vkGetLatencyTimingsNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetLatencyTimingsNV.html 30219 template < 30220 typename LatencyTimingsFrameReportNVAllocator, 30221 typename Dispatch, 30222 typename std::enable_if<std::is_same<typename LatencyTimingsFrameReportNVAllocator::value_type, VULKAN_HPP_NAMESPACE::LatencyTimingsFrameReportNV>::value, 30223 int>::type> 30224 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::LatencyTimingsFrameReportNV, LatencyTimingsFrameReportNVAllocator> getLatencyTimingsNV(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain,LatencyTimingsFrameReportNVAllocator & latencyTimingsFrameReportNVAllocator,Dispatch const & d) const30225 Device::getLatencyTimingsNV( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, 30226 LatencyTimingsFrameReportNVAllocator & latencyTimingsFrameReportNVAllocator, 30227 Dispatch const & d ) const 30228 { 30229 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30230 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30231 VULKAN_HPP_ASSERT( d.vkGetLatencyTimingsNV && "Function <vkGetLatencyTimingsNV> requires <VK_NV_low_latency2>" ); 30232 # endif 30233 30234 std::vector<VULKAN_HPP_NAMESPACE::LatencyTimingsFrameReportNV, LatencyTimingsFrameReportNVAllocator> timings( latencyTimingsFrameReportNVAllocator ); 30235 VULKAN_HPP_NAMESPACE::GetLatencyMarkerInfoNV latencyMarkerInfo; 30236 d.vkGetLatencyTimingsNV( m_device, static_cast<VkSwapchainKHR>( swapchain ), reinterpret_cast<VkGetLatencyMarkerInfoNV *>( &latencyMarkerInfo ) ); 30237 timings.resize( latencyMarkerInfo.timingCount ); 30238 latencyMarkerInfo.pTimings = timings.data(); 30239 d.vkGetLatencyTimingsNV( m_device, static_cast<VkSwapchainKHR>( swapchain ), reinterpret_cast<VkGetLatencyMarkerInfoNV *>( &latencyMarkerInfo ) ); 30240 30241 return timings; 30242 } 30243 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 30244 30245 // wrapper function for command vkQueueNotifyOutOfBandNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueNotifyOutOfBandNV.html 30246 template <typename Dispatch> notifyOutOfBandNV(const VULKAN_HPP_NAMESPACE::OutOfBandQueueTypeInfoNV * pQueueTypeInfo,Dispatch const & d) const30247 VULKAN_HPP_INLINE void Queue::notifyOutOfBandNV( const VULKAN_HPP_NAMESPACE::OutOfBandQueueTypeInfoNV * pQueueTypeInfo, 30248 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30249 { 30250 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30251 d.vkQueueNotifyOutOfBandNV( static_cast<VkQueue>( m_queue ), reinterpret_cast<const VkOutOfBandQueueTypeInfoNV *>( pQueueTypeInfo ) ); 30252 } 30253 30254 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 30255 // wrapper function for command vkQueueNotifyOutOfBandNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueNotifyOutOfBandNV.html 30256 template <typename Dispatch> notifyOutOfBandNV(const VULKAN_HPP_NAMESPACE::OutOfBandQueueTypeInfoNV & queueTypeInfo,Dispatch const & d) const30257 VULKAN_HPP_INLINE void Queue::notifyOutOfBandNV( const VULKAN_HPP_NAMESPACE::OutOfBandQueueTypeInfoNV & queueTypeInfo, 30258 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30259 { 30260 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30261 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30262 VULKAN_HPP_ASSERT( d.vkQueueNotifyOutOfBandNV && "Function <vkQueueNotifyOutOfBandNV> requires <VK_NV_low_latency2>" ); 30263 # endif 30264 30265 d.vkQueueNotifyOutOfBandNV( m_queue, reinterpret_cast<const VkOutOfBandQueueTypeInfoNV *>( &queueTypeInfo ) ); 30266 } 30267 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 30268 30269 //=== VK_KHR_cooperative_matrix === 30270 30271 // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR, see 30272 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR.html 30273 template <typename Dispatch> getCooperativeMatrixPropertiesKHR(uint32_t * pPropertyCount,VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesKHR * pProperties,Dispatch const & d) const30274 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getCooperativeMatrixPropertiesKHR( 30275 uint32_t * pPropertyCount, VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesKHR * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30276 { 30277 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30278 return static_cast<Result>( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( 30279 static_cast<VkPhysicalDevice>( m_physicalDevice ), pPropertyCount, reinterpret_cast<VkCooperativeMatrixPropertiesKHR *>( pProperties ) ) ); 30280 } 30281 30282 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 30283 // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR, see 30284 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR.html 30285 template <typename CooperativeMatrixPropertiesKHRAllocator, 30286 typename Dispatch, 30287 typename std::enable_if< 30288 std::is_same<typename CooperativeMatrixPropertiesKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesKHR>::value, 30289 int>::type> 30290 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 30291 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesKHR, CooperativeMatrixPropertiesKHRAllocator>>::type getCooperativeMatrixPropertiesKHR(Dispatch const & d) const30292 PhysicalDevice::getCooperativeMatrixPropertiesKHR( Dispatch const & d ) const 30293 { 30294 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30295 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30296 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR && 30297 "Function <vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR> requires <VK_KHR_cooperative_matrix>" ); 30298 # endif 30299 30300 std::vector<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesKHR, CooperativeMatrixPropertiesKHRAllocator> properties; 30301 uint32_t propertyCount; 30302 VULKAN_HPP_NAMESPACE::Result result; 30303 do 30304 { 30305 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( m_physicalDevice, &propertyCount, nullptr ) ); 30306 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 30307 { 30308 properties.resize( propertyCount ); 30309 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( 30310 m_physicalDevice, &propertyCount, reinterpret_cast<VkCooperativeMatrixPropertiesKHR *>( properties.data() ) ) ); 30311 } 30312 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 30313 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixPropertiesKHR" ); 30314 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 30315 if ( propertyCount < properties.size() ) 30316 { 30317 properties.resize( propertyCount ); 30318 } 30319 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 30320 } 30321 30322 // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR, see 30323 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR.html 30324 template <typename CooperativeMatrixPropertiesKHRAllocator, 30325 typename Dispatch, 30326 typename std::enable_if< 30327 std::is_same<typename CooperativeMatrixPropertiesKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesKHR>::value, 30328 int>::type> 30329 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE 30330 typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesKHR, CooperativeMatrixPropertiesKHRAllocator>>::type getCooperativeMatrixPropertiesKHR(CooperativeMatrixPropertiesKHRAllocator & cooperativeMatrixPropertiesKHRAllocator,Dispatch const & d) const30331 PhysicalDevice::getCooperativeMatrixPropertiesKHR( CooperativeMatrixPropertiesKHRAllocator & cooperativeMatrixPropertiesKHRAllocator, 30332 Dispatch const & d ) const 30333 { 30334 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30335 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30336 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR && 30337 "Function <vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR> requires <VK_KHR_cooperative_matrix>" ); 30338 # endif 30339 30340 std::vector<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesKHR, CooperativeMatrixPropertiesKHRAllocator> properties( 30341 cooperativeMatrixPropertiesKHRAllocator ); 30342 uint32_t propertyCount; 30343 VULKAN_HPP_NAMESPACE::Result result; 30344 do 30345 { 30346 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( m_physicalDevice, &propertyCount, nullptr ) ); 30347 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 30348 { 30349 properties.resize( propertyCount ); 30350 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( 30351 m_physicalDevice, &propertyCount, reinterpret_cast<VkCooperativeMatrixPropertiesKHR *>( properties.data() ) ) ); 30352 } 30353 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 30354 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixPropertiesKHR" ); 30355 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 30356 if ( propertyCount < properties.size() ) 30357 { 30358 properties.resize( propertyCount ); 30359 } 30360 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 30361 } 30362 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 30363 30364 //=== VK_EXT_attachment_feedback_loop_dynamic_state === 30365 30366 // wrapper function for command vkCmdSetAttachmentFeedbackLoopEnableEXT, see 30367 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetAttachmentFeedbackLoopEnableEXT.html 30368 template <typename Dispatch> setAttachmentFeedbackLoopEnableEXT(VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask,Dispatch const & d) const30369 VULKAN_HPP_INLINE void CommandBuffer::setAttachmentFeedbackLoopEnableEXT( VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask, 30370 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30371 { 30372 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30373 d.vkCmdSetAttachmentFeedbackLoopEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkImageAspectFlags>( aspectMask ) ); 30374 } 30375 30376 #if defined( VK_USE_PLATFORM_SCREEN_QNX ) 30377 //=== VK_QNX_external_memory_screen_buffer === 30378 30379 // wrapper function for command vkGetScreenBufferPropertiesQNX, see 30380 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetScreenBufferPropertiesQNX.html 30381 template <typename Dispatch> getScreenBufferPropertiesQNX(const struct _screen_buffer * buffer,VULKAN_HPP_NAMESPACE::ScreenBufferPropertiesQNX * pProperties,Dispatch const & d) const30382 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getScreenBufferPropertiesQNX( const struct _screen_buffer * buffer, 30383 VULKAN_HPP_NAMESPACE::ScreenBufferPropertiesQNX * pProperties, 30384 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30385 { 30386 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30387 return static_cast<Result>( 30388 d.vkGetScreenBufferPropertiesQNX( static_cast<VkDevice>( m_device ), buffer, reinterpret_cast<VkScreenBufferPropertiesQNX *>( pProperties ) ) ); 30389 } 30390 30391 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 30392 // wrapper function for command vkGetScreenBufferPropertiesQNX, see 30393 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetScreenBufferPropertiesQNX.html 30394 template <typename Dispatch> 30395 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::ScreenBufferPropertiesQNX>::type getScreenBufferPropertiesQNX(const struct _screen_buffer & buffer,Dispatch const & d) const30396 Device::getScreenBufferPropertiesQNX( const struct _screen_buffer & buffer, Dispatch const & d ) const 30397 { 30398 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30399 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30400 VULKAN_HPP_ASSERT( d.vkGetScreenBufferPropertiesQNX && "Function <vkGetScreenBufferPropertiesQNX> requires <VK_QNX_external_memory_screen_buffer>" ); 30401 # endif 30402 30403 VULKAN_HPP_NAMESPACE::ScreenBufferPropertiesQNX properties; 30404 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 30405 d.vkGetScreenBufferPropertiesQNX( m_device, &buffer, reinterpret_cast<VkScreenBufferPropertiesQNX *>( &properties ) ) ); 30406 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getScreenBufferPropertiesQNX" ); 30407 30408 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 30409 } 30410 30411 // wrapper function for command vkGetScreenBufferPropertiesQNX, see 30412 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetScreenBufferPropertiesQNX.html 30413 template <typename X, typename Y, typename... Z, typename Dispatch> 30414 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...>>::type getScreenBufferPropertiesQNX(const struct _screen_buffer & buffer,Dispatch const & d) const30415 Device::getScreenBufferPropertiesQNX( const struct _screen_buffer & buffer, Dispatch const & d ) const 30416 { 30417 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30418 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30419 VULKAN_HPP_ASSERT( d.vkGetScreenBufferPropertiesQNX && "Function <vkGetScreenBufferPropertiesQNX> requires <VK_QNX_external_memory_screen_buffer>" ); 30420 # endif 30421 30422 StructureChain<X, Y, Z...> structureChain; 30423 VULKAN_HPP_NAMESPACE::ScreenBufferPropertiesQNX & properties = structureChain.template get<VULKAN_HPP_NAMESPACE::ScreenBufferPropertiesQNX>(); 30424 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 30425 d.vkGetScreenBufferPropertiesQNX( m_device, &buffer, reinterpret_cast<VkScreenBufferPropertiesQNX *>( &properties ) ) ); 30426 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getScreenBufferPropertiesQNX" ); 30427 30428 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChain ) ); 30429 } 30430 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 30431 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/ 30432 30433 //=== VK_KHR_line_rasterization === 30434 30435 // wrapper function for command vkCmdSetLineStippleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineStippleKHR.html 30436 template <typename Dispatch> 30437 VULKAN_HPP_INLINE void setLineStippleKHR(uint32_t lineStippleFactor,uint16_t lineStipplePattern,Dispatch const & d) const30438 CommandBuffer::setLineStippleKHR( uint32_t lineStippleFactor, uint16_t lineStipplePattern, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30439 { 30440 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30441 d.vkCmdSetLineStippleKHR( static_cast<VkCommandBuffer>( m_commandBuffer ), lineStippleFactor, lineStipplePattern ); 30442 } 30443 30444 //=== VK_KHR_calibrated_timestamps === 30445 30446 // wrapper function for command vkGetPhysicalDeviceCalibrateableTimeDomainsKHR, see 30447 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCalibrateableTimeDomainsKHR.html 30448 template <typename Dispatch> getCalibrateableTimeDomainsKHR(uint32_t * pTimeDomainCount,VULKAN_HPP_NAMESPACE::TimeDomainKHR * pTimeDomains,Dispatch const & d) const30449 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getCalibrateableTimeDomainsKHR( uint32_t * pTimeDomainCount, 30450 VULKAN_HPP_NAMESPACE::TimeDomainKHR * pTimeDomains, 30451 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30452 { 30453 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30454 return static_cast<Result>( d.vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( 30455 static_cast<VkPhysicalDevice>( m_physicalDevice ), pTimeDomainCount, reinterpret_cast<VkTimeDomainKHR *>( pTimeDomains ) ) ); 30456 } 30457 30458 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 30459 // wrapper function for command vkGetPhysicalDeviceCalibrateableTimeDomainsKHR, see 30460 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCalibrateableTimeDomainsKHR.html 30461 template <typename TimeDomainKHRAllocator, 30462 typename Dispatch, 30463 typename std::enable_if<std::is_same<typename TimeDomainKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::TimeDomainKHR>::value, int>::type> 30464 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::TimeDomainKHR, TimeDomainKHRAllocator>>::type getCalibrateableTimeDomainsKHR(Dispatch const & d) const30465 PhysicalDevice::getCalibrateableTimeDomainsKHR( Dispatch const & d ) const 30466 { 30467 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30468 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30469 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceCalibrateableTimeDomainsKHR && 30470 "Function <vkGetPhysicalDeviceCalibrateableTimeDomainsKHR> requires <VK_EXT_calibrated_timestamps> or <VK_KHR_calibrated_timestamps>" ); 30471 # endif 30472 30473 std::vector<VULKAN_HPP_NAMESPACE::TimeDomainKHR, TimeDomainKHRAllocator> timeDomains; 30474 uint32_t timeDomainCount; 30475 VULKAN_HPP_NAMESPACE::Result result; 30476 do 30477 { 30478 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( m_physicalDevice, &timeDomainCount, nullptr ) ); 30479 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && timeDomainCount ) 30480 { 30481 timeDomains.resize( timeDomainCount ); 30482 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 30483 d.vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( m_physicalDevice, &timeDomainCount, reinterpret_cast<VkTimeDomainKHR *>( timeDomains.data() ) ) ); 30484 } 30485 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 30486 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCalibrateableTimeDomainsKHR" ); 30487 VULKAN_HPP_ASSERT( timeDomainCount <= timeDomains.size() ); 30488 if ( timeDomainCount < timeDomains.size() ) 30489 { 30490 timeDomains.resize( timeDomainCount ); 30491 } 30492 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( timeDomains ) ); 30493 } 30494 30495 // wrapper function for command vkGetPhysicalDeviceCalibrateableTimeDomainsKHR, see 30496 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCalibrateableTimeDomainsKHR.html 30497 template <typename TimeDomainKHRAllocator, 30498 typename Dispatch, 30499 typename std::enable_if<std::is_same<typename TimeDomainKHRAllocator::value_type, VULKAN_HPP_NAMESPACE::TimeDomainKHR>::value, int>::type> 30500 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::TimeDomainKHR, TimeDomainKHRAllocator>>::type getCalibrateableTimeDomainsKHR(TimeDomainKHRAllocator & timeDomainKHRAllocator,Dispatch const & d) const30501 PhysicalDevice::getCalibrateableTimeDomainsKHR( TimeDomainKHRAllocator & timeDomainKHRAllocator, Dispatch const & d ) const 30502 { 30503 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30504 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30505 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceCalibrateableTimeDomainsKHR && 30506 "Function <vkGetPhysicalDeviceCalibrateableTimeDomainsKHR> requires <VK_EXT_calibrated_timestamps> or <VK_KHR_calibrated_timestamps>" ); 30507 # endif 30508 30509 std::vector<VULKAN_HPP_NAMESPACE::TimeDomainKHR, TimeDomainKHRAllocator> timeDomains( timeDomainKHRAllocator ); 30510 uint32_t timeDomainCount; 30511 VULKAN_HPP_NAMESPACE::Result result; 30512 do 30513 { 30514 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( m_physicalDevice, &timeDomainCount, nullptr ) ); 30515 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && timeDomainCount ) 30516 { 30517 timeDomains.resize( timeDomainCount ); 30518 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 30519 d.vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( m_physicalDevice, &timeDomainCount, reinterpret_cast<VkTimeDomainKHR *>( timeDomains.data() ) ) ); 30520 } 30521 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 30522 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCalibrateableTimeDomainsKHR" ); 30523 VULKAN_HPP_ASSERT( timeDomainCount <= timeDomains.size() ); 30524 if ( timeDomainCount < timeDomains.size() ) 30525 { 30526 timeDomains.resize( timeDomainCount ); 30527 } 30528 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( timeDomains ) ); 30529 } 30530 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 30531 30532 // wrapper function for command vkGetCalibratedTimestampsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsKHR.html 30533 template <typename Dispatch> getCalibratedTimestampsKHR(uint32_t timestampCount,const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoKHR * pTimestampInfos,uint64_t * pTimestamps,uint64_t * pMaxDeviation,Dispatch const & d) const30534 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getCalibratedTimestampsKHR( uint32_t timestampCount, 30535 const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoKHR * pTimestampInfos, 30536 uint64_t * pTimestamps, 30537 uint64_t * pMaxDeviation, 30538 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30539 { 30540 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30541 return static_cast<Result>( d.vkGetCalibratedTimestampsKHR( static_cast<VkDevice>( m_device ), 30542 timestampCount, 30543 reinterpret_cast<const VkCalibratedTimestampInfoKHR *>( pTimestampInfos ), 30544 pTimestamps, 30545 pMaxDeviation ) ); 30546 } 30547 30548 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 30549 // wrapper function for command vkGetCalibratedTimestampsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsKHR.html 30550 template <typename Uint64_tAllocator, 30551 typename Dispatch, 30552 typename std::enable_if<std::is_same<typename Uint64_tAllocator::value_type, uint64_t>::value, int>::type> 30553 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::pair<std::vector<uint64_t, Uint64_tAllocator>, uint64_t>>::type getCalibratedTimestampsKHR(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoKHR> const & timestampInfos,Dispatch const & d) const30554 Device::getCalibratedTimestampsKHR( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoKHR> const & timestampInfos, 30555 Dispatch const & d ) const 30556 { 30557 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30558 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30559 VULKAN_HPP_ASSERT( d.vkGetCalibratedTimestampsKHR && 30560 "Function <vkGetCalibratedTimestampsKHR> requires <VK_EXT_calibrated_timestamps> or <VK_KHR_calibrated_timestamps>" ); 30561 # endif 30562 30563 std::pair<std::vector<uint64_t, Uint64_tAllocator>, uint64_t> data_( 30564 std::piecewise_construct, std::forward_as_tuple( timestampInfos.size() ), std::forward_as_tuple( 0 ) ); 30565 std::vector<uint64_t, Uint64_tAllocator> & timestamps = data_.first; 30566 uint64_t & maxDeviation = data_.second; 30567 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetCalibratedTimestampsKHR( 30568 m_device, timestampInfos.size(), reinterpret_cast<const VkCalibratedTimestampInfoKHR *>( timestampInfos.data() ), timestamps.data(), &maxDeviation ) ); 30569 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getCalibratedTimestampsKHR" ); 30570 30571 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); 30572 } 30573 30574 // wrapper function for command vkGetCalibratedTimestampsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsKHR.html 30575 template <typename Uint64_tAllocator, 30576 typename Dispatch, 30577 typename std::enable_if<std::is_same<typename Uint64_tAllocator::value_type, uint64_t>::value, int>::type> 30578 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::pair<std::vector<uint64_t, Uint64_tAllocator>, uint64_t>>::type getCalibratedTimestampsKHR(VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoKHR> const & timestampInfos,Uint64_tAllocator & uint64_tAllocator,Dispatch const & d) const30579 Device::getCalibratedTimestampsKHR( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoKHR> const & timestampInfos, 30580 Uint64_tAllocator & uint64_tAllocator, 30581 Dispatch const & d ) const 30582 { 30583 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30584 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30585 VULKAN_HPP_ASSERT( d.vkGetCalibratedTimestampsKHR && 30586 "Function <vkGetCalibratedTimestampsKHR> requires <VK_EXT_calibrated_timestamps> or <VK_KHR_calibrated_timestamps>" ); 30587 # endif 30588 30589 std::pair<std::vector<uint64_t, Uint64_tAllocator>, uint64_t> data_( 30590 std::piecewise_construct, std::forward_as_tuple( timestampInfos.size(), uint64_tAllocator ), std::forward_as_tuple( 0 ) ); 30591 std::vector<uint64_t, Uint64_tAllocator> & timestamps = data_.first; 30592 uint64_t & maxDeviation = data_.second; 30593 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetCalibratedTimestampsKHR( 30594 m_device, timestampInfos.size(), reinterpret_cast<const VkCalibratedTimestampInfoKHR *>( timestampInfos.data() ), timestamps.data(), &maxDeviation ) ); 30595 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getCalibratedTimestampsKHR" ); 30596 30597 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); 30598 } 30599 30600 // wrapper function for command vkGetCalibratedTimestampsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsKHR.html 30601 template <typename Dispatch> 30602 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::pair<uint64_t, uint64_t>>::type getCalibratedTimestampKHR(const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoKHR & timestampInfo,Dispatch const & d) const30603 Device::getCalibratedTimestampKHR( const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoKHR & timestampInfo, Dispatch const & d ) const 30604 { 30605 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30606 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30607 VULKAN_HPP_ASSERT( d.vkGetCalibratedTimestampsKHR && 30608 "Function <vkGetCalibratedTimestampsKHR> requires <VK_EXT_calibrated_timestamps> or <VK_KHR_calibrated_timestamps>" ); 30609 # endif 30610 30611 std::pair<uint64_t, uint64_t> data_; 30612 uint64_t & timestamp = data_.first; 30613 uint64_t & maxDeviation = data_.second; 30614 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 30615 d.vkGetCalibratedTimestampsKHR( m_device, 1, reinterpret_cast<const VkCalibratedTimestampInfoKHR *>( ×tampInfo ), ×tamp, &maxDeviation ) ); 30616 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getCalibratedTimestampKHR" ); 30617 30618 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); 30619 } 30620 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 30621 30622 //=== VK_KHR_maintenance6 === 30623 30624 // wrapper function for command vkCmdBindDescriptorSets2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorSets2KHR.html 30625 template <typename Dispatch> bindDescriptorSets2KHR(const VULKAN_HPP_NAMESPACE::BindDescriptorSetsInfo * pBindDescriptorSetsInfo,Dispatch const & d) const30626 VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorSets2KHR( const VULKAN_HPP_NAMESPACE::BindDescriptorSetsInfo * pBindDescriptorSetsInfo, 30627 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30628 { 30629 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30630 d.vkCmdBindDescriptorSets2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 30631 reinterpret_cast<const VkBindDescriptorSetsInfo *>( pBindDescriptorSetsInfo ) ); 30632 } 30633 30634 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 30635 // wrapper function for command vkCmdBindDescriptorSets2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorSets2KHR.html 30636 template <typename Dispatch> bindDescriptorSets2KHR(const VULKAN_HPP_NAMESPACE::BindDescriptorSetsInfo & bindDescriptorSetsInfo,Dispatch const & d) const30637 VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorSets2KHR( const VULKAN_HPP_NAMESPACE::BindDescriptorSetsInfo & bindDescriptorSetsInfo, 30638 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30639 { 30640 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30641 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30642 VULKAN_HPP_ASSERT( d.vkCmdBindDescriptorSets2KHR && "Function <vkCmdBindDescriptorSets2KHR> requires <VK_KHR_maintenance6> or <VK_VERSION_1_4>" ); 30643 # endif 30644 30645 d.vkCmdBindDescriptorSets2KHR( m_commandBuffer, reinterpret_cast<const VkBindDescriptorSetsInfo *>( &bindDescriptorSetsInfo ) ); 30646 } 30647 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 30648 30649 // wrapper function for command vkCmdPushConstants2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushConstants2KHR.html 30650 template <typename Dispatch> pushConstants2KHR(const VULKAN_HPP_NAMESPACE::PushConstantsInfo * pPushConstantsInfo,Dispatch const & d) const30651 VULKAN_HPP_INLINE void CommandBuffer::pushConstants2KHR( const VULKAN_HPP_NAMESPACE::PushConstantsInfo * pPushConstantsInfo, 30652 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30653 { 30654 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30655 d.vkCmdPushConstants2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), reinterpret_cast<const VkPushConstantsInfo *>( pPushConstantsInfo ) ); 30656 } 30657 30658 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 30659 // wrapper function for command vkCmdPushConstants2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushConstants2KHR.html 30660 template <typename Dispatch> pushConstants2KHR(const VULKAN_HPP_NAMESPACE::PushConstantsInfo & pushConstantsInfo,Dispatch const & d) const30661 VULKAN_HPP_INLINE void CommandBuffer::pushConstants2KHR( const VULKAN_HPP_NAMESPACE::PushConstantsInfo & pushConstantsInfo, 30662 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30663 { 30664 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30665 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30666 VULKAN_HPP_ASSERT( d.vkCmdPushConstants2KHR && "Function <vkCmdPushConstants2KHR> requires <VK_KHR_maintenance6> or <VK_VERSION_1_4>" ); 30667 # endif 30668 30669 d.vkCmdPushConstants2KHR( m_commandBuffer, reinterpret_cast<const VkPushConstantsInfo *>( &pushConstantsInfo ) ); 30670 } 30671 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 30672 30673 // wrapper function for command vkCmdPushDescriptorSet2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSet2KHR.html 30674 template <typename Dispatch> pushDescriptorSet2KHR(const VULKAN_HPP_NAMESPACE::PushDescriptorSetInfo * pPushDescriptorSetInfo,Dispatch const & d) const30675 VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSet2KHR( const VULKAN_HPP_NAMESPACE::PushDescriptorSetInfo * pPushDescriptorSetInfo, 30676 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30677 { 30678 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30679 d.vkCmdPushDescriptorSet2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 30680 reinterpret_cast<const VkPushDescriptorSetInfo *>( pPushDescriptorSetInfo ) ); 30681 } 30682 30683 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 30684 // wrapper function for command vkCmdPushDescriptorSet2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSet2KHR.html 30685 template <typename Dispatch> pushDescriptorSet2KHR(const VULKAN_HPP_NAMESPACE::PushDescriptorSetInfo & pushDescriptorSetInfo,Dispatch const & d) const30686 VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSet2KHR( const VULKAN_HPP_NAMESPACE::PushDescriptorSetInfo & pushDescriptorSetInfo, 30687 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30688 { 30689 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30690 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30691 VULKAN_HPP_ASSERT( d.vkCmdPushDescriptorSet2KHR && "Function <vkCmdPushDescriptorSet2KHR> requires <VK_KHR_maintenance6> or <VK_VERSION_1_4>" ); 30692 # endif 30693 30694 d.vkCmdPushDescriptorSet2KHR( m_commandBuffer, reinterpret_cast<const VkPushDescriptorSetInfo *>( &pushDescriptorSetInfo ) ); 30695 } 30696 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 30697 30698 // wrapper function for command vkCmdPushDescriptorSetWithTemplate2KHR, see 30699 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplate2KHR.html 30700 template <typename Dispatch> 30701 VULKAN_HPP_INLINE void pushDescriptorSetWithTemplate2KHR(const VULKAN_HPP_NAMESPACE::PushDescriptorSetWithTemplateInfo * pPushDescriptorSetWithTemplateInfo,Dispatch const & d) const30702 CommandBuffer::pushDescriptorSetWithTemplate2KHR( const VULKAN_HPP_NAMESPACE::PushDescriptorSetWithTemplateInfo * pPushDescriptorSetWithTemplateInfo, 30703 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30704 { 30705 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30706 d.vkCmdPushDescriptorSetWithTemplate2KHR( static_cast<VkCommandBuffer>( m_commandBuffer ), 30707 reinterpret_cast<const VkPushDescriptorSetWithTemplateInfo *>( pPushDescriptorSetWithTemplateInfo ) ); 30708 } 30709 30710 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 30711 // wrapper function for command vkCmdPushDescriptorSetWithTemplate2KHR, see 30712 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplate2KHR.html 30713 template <typename Dispatch> 30714 VULKAN_HPP_INLINE void pushDescriptorSetWithTemplate2KHR(const VULKAN_HPP_NAMESPACE::PushDescriptorSetWithTemplateInfo & pushDescriptorSetWithTemplateInfo,Dispatch const & d) const30715 CommandBuffer::pushDescriptorSetWithTemplate2KHR( const VULKAN_HPP_NAMESPACE::PushDescriptorSetWithTemplateInfo & pushDescriptorSetWithTemplateInfo, 30716 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30717 { 30718 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30719 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30720 VULKAN_HPP_ASSERT( d.vkCmdPushDescriptorSetWithTemplate2KHR && 30721 "Function <vkCmdPushDescriptorSetWithTemplate2KHR> requires <VK_KHR_maintenance6> or <VK_VERSION_1_4>" ); 30722 # endif 30723 30724 d.vkCmdPushDescriptorSetWithTemplate2KHR( m_commandBuffer, 30725 reinterpret_cast<const VkPushDescriptorSetWithTemplateInfo *>( &pushDescriptorSetWithTemplateInfo ) ); 30726 } 30727 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 30728 30729 // wrapper function for command vkCmdSetDescriptorBufferOffsets2EXT, see 30730 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDescriptorBufferOffsets2EXT.html 30731 template <typename Dispatch> 30732 VULKAN_HPP_INLINE void setDescriptorBufferOffsets2EXT(const VULKAN_HPP_NAMESPACE::SetDescriptorBufferOffsetsInfoEXT * pSetDescriptorBufferOffsetsInfo,Dispatch const & d) const30733 CommandBuffer::setDescriptorBufferOffsets2EXT( const VULKAN_HPP_NAMESPACE::SetDescriptorBufferOffsetsInfoEXT * pSetDescriptorBufferOffsetsInfo, 30734 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30735 { 30736 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30737 d.vkCmdSetDescriptorBufferOffsets2EXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 30738 reinterpret_cast<const VkSetDescriptorBufferOffsetsInfoEXT *>( pSetDescriptorBufferOffsetsInfo ) ); 30739 } 30740 30741 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 30742 // wrapper function for command vkCmdSetDescriptorBufferOffsets2EXT, see 30743 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDescriptorBufferOffsets2EXT.html 30744 template <typename Dispatch> 30745 VULKAN_HPP_INLINE void setDescriptorBufferOffsets2EXT(const VULKAN_HPP_NAMESPACE::SetDescriptorBufferOffsetsInfoEXT & setDescriptorBufferOffsetsInfo,Dispatch const & d) const30746 CommandBuffer::setDescriptorBufferOffsets2EXT( const VULKAN_HPP_NAMESPACE::SetDescriptorBufferOffsetsInfoEXT & setDescriptorBufferOffsetsInfo, 30747 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30748 { 30749 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30750 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30751 VULKAN_HPP_ASSERT( d.vkCmdSetDescriptorBufferOffsets2EXT && "Function <vkCmdSetDescriptorBufferOffsets2EXT> requires <VK_KHR_maintenance6>" ); 30752 # endif 30753 30754 d.vkCmdSetDescriptorBufferOffsets2EXT( m_commandBuffer, reinterpret_cast<const VkSetDescriptorBufferOffsetsInfoEXT *>( &setDescriptorBufferOffsetsInfo ) ); 30755 } 30756 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 30757 30758 // wrapper function for command vkCmdBindDescriptorBufferEmbeddedSamplers2EXT, see 30759 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorBufferEmbeddedSamplers2EXT.html 30760 template <typename Dispatch> bindDescriptorBufferEmbeddedSamplers2EXT(const VULKAN_HPP_NAMESPACE::BindDescriptorBufferEmbeddedSamplersInfoEXT * pBindDescriptorBufferEmbeddedSamplersInfo,Dispatch const & d) const30761 VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorBufferEmbeddedSamplers2EXT( 30762 const VULKAN_HPP_NAMESPACE::BindDescriptorBufferEmbeddedSamplersInfoEXT * pBindDescriptorBufferEmbeddedSamplersInfo, 30763 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30764 { 30765 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30766 d.vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( 30767 static_cast<VkCommandBuffer>( m_commandBuffer ), 30768 reinterpret_cast<const VkBindDescriptorBufferEmbeddedSamplersInfoEXT *>( pBindDescriptorBufferEmbeddedSamplersInfo ) ); 30769 } 30770 30771 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 30772 // wrapper function for command vkCmdBindDescriptorBufferEmbeddedSamplers2EXT, see 30773 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorBufferEmbeddedSamplers2EXT.html 30774 template <typename Dispatch> bindDescriptorBufferEmbeddedSamplers2EXT(const VULKAN_HPP_NAMESPACE::BindDescriptorBufferEmbeddedSamplersInfoEXT & bindDescriptorBufferEmbeddedSamplersInfo,Dispatch const & d) const30775 VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorBufferEmbeddedSamplers2EXT( 30776 const VULKAN_HPP_NAMESPACE::BindDescriptorBufferEmbeddedSamplersInfoEXT & bindDescriptorBufferEmbeddedSamplersInfo, 30777 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30778 { 30779 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30780 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30781 VULKAN_HPP_ASSERT( d.vkCmdBindDescriptorBufferEmbeddedSamplers2EXT && 30782 "Function <vkCmdBindDescriptorBufferEmbeddedSamplers2EXT> requires <VK_KHR_maintenance6>" ); 30783 # endif 30784 30785 d.vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( 30786 m_commandBuffer, reinterpret_cast<const VkBindDescriptorBufferEmbeddedSamplersInfoEXT *>( &bindDescriptorBufferEmbeddedSamplersInfo ) ); 30787 } 30788 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 30789 30790 //=== VK_NV_cluster_acceleration_structure === 30791 30792 // wrapper function for command vkGetClusterAccelerationStructureBuildSizesNV, see 30793 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetClusterAccelerationStructureBuildSizesNV.html 30794 template <typename Dispatch> getClusterAccelerationStructureBuildSizesNV(const VULKAN_HPP_NAMESPACE::ClusterAccelerationStructureInputInfoNV * pInfo,VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR * pSizeInfo,Dispatch const & d) const30795 VULKAN_HPP_INLINE void Device::getClusterAccelerationStructureBuildSizesNV( const VULKAN_HPP_NAMESPACE::ClusterAccelerationStructureInputInfoNV * pInfo, 30796 VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR * pSizeInfo, 30797 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30798 { 30799 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30800 d.vkGetClusterAccelerationStructureBuildSizesNV( static_cast<VkDevice>( m_device ), 30801 reinterpret_cast<const VkClusterAccelerationStructureInputInfoNV *>( pInfo ), 30802 reinterpret_cast<VkAccelerationStructureBuildSizesInfoKHR *>( pSizeInfo ) ); 30803 } 30804 30805 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 30806 // wrapper function for command vkGetClusterAccelerationStructureBuildSizesNV, see 30807 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetClusterAccelerationStructureBuildSizesNV.html 30808 template <typename Dispatch> 30809 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR getClusterAccelerationStructureBuildSizesNV(const VULKAN_HPP_NAMESPACE::ClusterAccelerationStructureInputInfoNV & info,Dispatch const & d) const30810 Device::getClusterAccelerationStructureBuildSizesNV( const VULKAN_HPP_NAMESPACE::ClusterAccelerationStructureInputInfoNV & info, 30811 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30812 { 30813 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30814 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30815 VULKAN_HPP_ASSERT( d.vkGetClusterAccelerationStructureBuildSizesNV && 30816 "Function <vkGetClusterAccelerationStructureBuildSizesNV> requires <VK_NV_cluster_acceleration_structure>" ); 30817 # endif 30818 30819 VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR sizeInfo; 30820 d.vkGetClusterAccelerationStructureBuildSizesNV( m_device, 30821 reinterpret_cast<const VkClusterAccelerationStructureInputInfoNV *>( &info ), 30822 reinterpret_cast<VkAccelerationStructureBuildSizesInfoKHR *>( &sizeInfo ) ); 30823 30824 return sizeInfo; 30825 } 30826 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 30827 30828 // wrapper function for command vkCmdBuildClusterAccelerationStructureIndirectNV, see 30829 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildClusterAccelerationStructureIndirectNV.html 30830 template <typename Dispatch> 30831 VULKAN_HPP_INLINE void buildClusterAccelerationStructureIndirectNV(const VULKAN_HPP_NAMESPACE::ClusterAccelerationStructureCommandsInfoNV * pCommandInfos,Dispatch const & d) const30832 CommandBuffer::buildClusterAccelerationStructureIndirectNV( const VULKAN_HPP_NAMESPACE::ClusterAccelerationStructureCommandsInfoNV * pCommandInfos, 30833 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30834 { 30835 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30836 d.vkCmdBuildClusterAccelerationStructureIndirectNV( static_cast<VkCommandBuffer>( m_commandBuffer ), 30837 reinterpret_cast<const VkClusterAccelerationStructureCommandsInfoNV *>( pCommandInfos ) ); 30838 } 30839 30840 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 30841 // wrapper function for command vkCmdBuildClusterAccelerationStructureIndirectNV, see 30842 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildClusterAccelerationStructureIndirectNV.html 30843 template <typename Dispatch> 30844 VULKAN_HPP_INLINE void buildClusterAccelerationStructureIndirectNV(const VULKAN_HPP_NAMESPACE::ClusterAccelerationStructureCommandsInfoNV & commandInfos,Dispatch const & d) const30845 CommandBuffer::buildClusterAccelerationStructureIndirectNV( const VULKAN_HPP_NAMESPACE::ClusterAccelerationStructureCommandsInfoNV & commandInfos, 30846 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30847 { 30848 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30849 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30850 VULKAN_HPP_ASSERT( d.vkCmdBuildClusterAccelerationStructureIndirectNV && 30851 "Function <vkCmdBuildClusterAccelerationStructureIndirectNV> requires <VK_NV_cluster_acceleration_structure>" ); 30852 # endif 30853 30854 d.vkCmdBuildClusterAccelerationStructureIndirectNV( m_commandBuffer, 30855 reinterpret_cast<const VkClusterAccelerationStructureCommandsInfoNV *>( &commandInfos ) ); 30856 } 30857 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 30858 30859 //=== VK_NV_partitioned_acceleration_structure === 30860 30861 // wrapper function for command vkGetPartitionedAccelerationStructuresBuildSizesNV, see 30862 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPartitionedAccelerationStructuresBuildSizesNV.html 30863 template <typename Dispatch> 30864 VULKAN_HPP_INLINE void getPartitionedAccelerationStructuresBuildSizesNV(const VULKAN_HPP_NAMESPACE::PartitionedAccelerationStructureInstancesInputNV * pInfo,VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR * pSizeInfo,Dispatch const & d) const30865 Device::getPartitionedAccelerationStructuresBuildSizesNV( const VULKAN_HPP_NAMESPACE::PartitionedAccelerationStructureInstancesInputNV * pInfo, 30866 VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR * pSizeInfo, 30867 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30868 { 30869 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30870 d.vkGetPartitionedAccelerationStructuresBuildSizesNV( static_cast<VkDevice>( m_device ), 30871 reinterpret_cast<const VkPartitionedAccelerationStructureInstancesInputNV *>( pInfo ), 30872 reinterpret_cast<VkAccelerationStructureBuildSizesInfoKHR *>( pSizeInfo ) ); 30873 } 30874 30875 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 30876 // wrapper function for command vkGetPartitionedAccelerationStructuresBuildSizesNV, see 30877 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPartitionedAccelerationStructuresBuildSizesNV.html 30878 template <typename Dispatch> 30879 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR getPartitionedAccelerationStructuresBuildSizesNV(const VULKAN_HPP_NAMESPACE::PartitionedAccelerationStructureInstancesInputNV & info,Dispatch const & d) const30880 Device::getPartitionedAccelerationStructuresBuildSizesNV( const VULKAN_HPP_NAMESPACE::PartitionedAccelerationStructureInstancesInputNV & info, 30881 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30882 { 30883 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30884 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30885 VULKAN_HPP_ASSERT( d.vkGetPartitionedAccelerationStructuresBuildSizesNV && 30886 "Function <vkGetPartitionedAccelerationStructuresBuildSizesNV> requires <VK_NV_partitioned_acceleration_structure>" ); 30887 # endif 30888 30889 VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR sizeInfo; 30890 d.vkGetPartitionedAccelerationStructuresBuildSizesNV( m_device, 30891 reinterpret_cast<const VkPartitionedAccelerationStructureInstancesInputNV *>( &info ), 30892 reinterpret_cast<VkAccelerationStructureBuildSizesInfoKHR *>( &sizeInfo ) ); 30893 30894 return sizeInfo; 30895 } 30896 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 30897 30898 // wrapper function for command vkCmdBuildPartitionedAccelerationStructuresNV, see 30899 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildPartitionedAccelerationStructuresNV.html 30900 template <typename Dispatch> 30901 VULKAN_HPP_INLINE void buildPartitionedAccelerationStructuresNV(const VULKAN_HPP_NAMESPACE::BuildPartitionedAccelerationStructureInfoNV * pBuildInfo,Dispatch const & d) const30902 CommandBuffer::buildPartitionedAccelerationStructuresNV( const VULKAN_HPP_NAMESPACE::BuildPartitionedAccelerationStructureInfoNV * pBuildInfo, 30903 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30904 { 30905 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30906 d.vkCmdBuildPartitionedAccelerationStructuresNV( static_cast<VkCommandBuffer>( m_commandBuffer ), 30907 reinterpret_cast<const VkBuildPartitionedAccelerationStructureInfoNV *>( pBuildInfo ) ); 30908 } 30909 30910 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 30911 // wrapper function for command vkCmdBuildPartitionedAccelerationStructuresNV, see 30912 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildPartitionedAccelerationStructuresNV.html 30913 template <typename Dispatch> 30914 VULKAN_HPP_INLINE void buildPartitionedAccelerationStructuresNV(const VULKAN_HPP_NAMESPACE::BuildPartitionedAccelerationStructureInfoNV & buildInfo,Dispatch const & d) const30915 CommandBuffer::buildPartitionedAccelerationStructuresNV( const VULKAN_HPP_NAMESPACE::BuildPartitionedAccelerationStructureInfoNV & buildInfo, 30916 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30917 { 30918 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30919 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30920 VULKAN_HPP_ASSERT( d.vkCmdBuildPartitionedAccelerationStructuresNV && 30921 "Function <vkCmdBuildPartitionedAccelerationStructuresNV> requires <VK_NV_partitioned_acceleration_structure>" ); 30922 # endif 30923 30924 d.vkCmdBuildPartitionedAccelerationStructuresNV( m_commandBuffer, reinterpret_cast<const VkBuildPartitionedAccelerationStructureInfoNV *>( &buildInfo ) ); 30925 } 30926 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 30927 30928 //=== VK_EXT_device_generated_commands === 30929 30930 // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsEXT, see 30931 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsEXT.html 30932 template <typename Dispatch> getGeneratedCommandsMemoryRequirementsEXT(const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoEXT * pInfo,VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements,Dispatch const & d) const30933 VULKAN_HPP_INLINE void Device::getGeneratedCommandsMemoryRequirementsEXT( const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoEXT * pInfo, 30934 VULKAN_HPP_NAMESPACE::MemoryRequirements2 * pMemoryRequirements, 30935 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30936 { 30937 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30938 d.vkGetGeneratedCommandsMemoryRequirementsEXT( static_cast<VkDevice>( m_device ), 30939 reinterpret_cast<const VkGeneratedCommandsMemoryRequirementsInfoEXT *>( pInfo ), 30940 reinterpret_cast<VkMemoryRequirements2 *>( pMemoryRequirements ) ); 30941 } 30942 30943 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 30944 // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsEXT, see 30945 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsEXT.html 30946 template <typename Dispatch> 30947 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2 getGeneratedCommandsMemoryRequirementsEXT(const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoEXT & info,Dispatch const & d) const30948 Device::getGeneratedCommandsMemoryRequirementsEXT( const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoEXT & info, 30949 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30950 { 30951 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30952 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30953 VULKAN_HPP_ASSERT( d.vkGetGeneratedCommandsMemoryRequirementsEXT && 30954 "Function <vkGetGeneratedCommandsMemoryRequirementsEXT> requires <VK_EXT_device_generated_commands>" ); 30955 # endif 30956 30957 VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements; 30958 d.vkGetGeneratedCommandsMemoryRequirementsEXT( m_device, 30959 reinterpret_cast<const VkGeneratedCommandsMemoryRequirementsInfoEXT *>( &info ), 30960 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 30961 30962 return memoryRequirements; 30963 } 30964 30965 // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsEXT, see 30966 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsEXT.html 30967 template <typename X, typename Y, typename... Z, typename Dispatch> 30968 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> getGeneratedCommandsMemoryRequirementsEXT(const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoEXT & info,Dispatch const & d) const30969 Device::getGeneratedCommandsMemoryRequirementsEXT( const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoEXT & info, 30970 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30971 { 30972 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30973 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 30974 VULKAN_HPP_ASSERT( d.vkGetGeneratedCommandsMemoryRequirementsEXT && 30975 "Function <vkGetGeneratedCommandsMemoryRequirementsEXT> requires <VK_EXT_device_generated_commands>" ); 30976 # endif 30977 30978 VULKAN_HPP_NAMESPACE::StructureChain<X, Y, Z...> structureChain; 30979 VULKAN_HPP_NAMESPACE::MemoryRequirements2 & memoryRequirements = structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>(); 30980 d.vkGetGeneratedCommandsMemoryRequirementsEXT( m_device, 30981 reinterpret_cast<const VkGeneratedCommandsMemoryRequirementsInfoEXT *>( &info ), 30982 reinterpret_cast<VkMemoryRequirements2 *>( &memoryRequirements ) ); 30983 30984 return structureChain; 30985 } 30986 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 30987 30988 // wrapper function for command vkCmdPreprocessGeneratedCommandsEXT, see 30989 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPreprocessGeneratedCommandsEXT.html 30990 template <typename Dispatch> preprocessGeneratedCommandsEXT(const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoEXT * pGeneratedCommandsInfo,VULKAN_HPP_NAMESPACE::CommandBuffer stateCommandBuffer,Dispatch const & d) const30991 VULKAN_HPP_INLINE void CommandBuffer::preprocessGeneratedCommandsEXT( const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoEXT * pGeneratedCommandsInfo, 30992 VULKAN_HPP_NAMESPACE::CommandBuffer stateCommandBuffer, 30993 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 30994 { 30995 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 30996 d.vkCmdPreprocessGeneratedCommandsEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 30997 reinterpret_cast<const VkGeneratedCommandsInfoEXT *>( pGeneratedCommandsInfo ), 30998 static_cast<VkCommandBuffer>( stateCommandBuffer ) ); 30999 } 31000 31001 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 31002 // wrapper function for command vkCmdPreprocessGeneratedCommandsEXT, see 31003 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPreprocessGeneratedCommandsEXT.html 31004 template <typename Dispatch> preprocessGeneratedCommandsEXT(const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoEXT & generatedCommandsInfo,VULKAN_HPP_NAMESPACE::CommandBuffer stateCommandBuffer,Dispatch const & d) const31005 VULKAN_HPP_INLINE void CommandBuffer::preprocessGeneratedCommandsEXT( const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoEXT & generatedCommandsInfo, 31006 VULKAN_HPP_NAMESPACE::CommandBuffer stateCommandBuffer, 31007 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 31008 { 31009 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31010 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 31011 VULKAN_HPP_ASSERT( d.vkCmdPreprocessGeneratedCommandsEXT && "Function <vkCmdPreprocessGeneratedCommandsEXT> requires <VK_EXT_device_generated_commands>" ); 31012 # endif 31013 31014 d.vkCmdPreprocessGeneratedCommandsEXT( 31015 m_commandBuffer, reinterpret_cast<const VkGeneratedCommandsInfoEXT *>( &generatedCommandsInfo ), static_cast<VkCommandBuffer>( stateCommandBuffer ) ); 31016 } 31017 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 31018 31019 // wrapper function for command vkCmdExecuteGeneratedCommandsEXT, see 31020 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdExecuteGeneratedCommandsEXT.html 31021 template <typename Dispatch> executeGeneratedCommandsEXT(VULKAN_HPP_NAMESPACE::Bool32 isPreprocessed,const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoEXT * pGeneratedCommandsInfo,Dispatch const & d) const31022 VULKAN_HPP_INLINE void CommandBuffer::executeGeneratedCommandsEXT( VULKAN_HPP_NAMESPACE::Bool32 isPreprocessed, 31023 const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoEXT * pGeneratedCommandsInfo, 31024 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 31025 { 31026 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31027 d.vkCmdExecuteGeneratedCommandsEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), 31028 static_cast<VkBool32>( isPreprocessed ), 31029 reinterpret_cast<const VkGeneratedCommandsInfoEXT *>( pGeneratedCommandsInfo ) ); 31030 } 31031 31032 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 31033 // wrapper function for command vkCmdExecuteGeneratedCommandsEXT, see 31034 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdExecuteGeneratedCommandsEXT.html 31035 template <typename Dispatch> executeGeneratedCommandsEXT(VULKAN_HPP_NAMESPACE::Bool32 isPreprocessed,const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoEXT & generatedCommandsInfo,Dispatch const & d) const31036 VULKAN_HPP_INLINE void CommandBuffer::executeGeneratedCommandsEXT( VULKAN_HPP_NAMESPACE::Bool32 isPreprocessed, 31037 const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoEXT & generatedCommandsInfo, 31038 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 31039 { 31040 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31041 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 31042 VULKAN_HPP_ASSERT( d.vkCmdExecuteGeneratedCommandsEXT && "Function <vkCmdExecuteGeneratedCommandsEXT> requires <VK_EXT_device_generated_commands>" ); 31043 # endif 31044 31045 d.vkCmdExecuteGeneratedCommandsEXT( 31046 m_commandBuffer, static_cast<VkBool32>( isPreprocessed ), reinterpret_cast<const VkGeneratedCommandsInfoEXT *>( &generatedCommandsInfo ) ); 31047 } 31048 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 31049 31050 // wrapper function for command vkCreateIndirectCommandsLayoutEXT, see 31051 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectCommandsLayoutEXT.html 31052 template <typename Dispatch> 31053 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result createIndirectCommandsLayoutEXT(const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoEXT * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT * pIndirectCommandsLayout,Dispatch const & d) const31054 Device::createIndirectCommandsLayoutEXT( const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoEXT * pCreateInfo, 31055 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 31056 VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT * pIndirectCommandsLayout, 31057 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 31058 { 31059 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31060 return static_cast<Result>( d.vkCreateIndirectCommandsLayoutEXT( static_cast<VkDevice>( m_device ), 31061 reinterpret_cast<const VkIndirectCommandsLayoutCreateInfoEXT *>( pCreateInfo ), 31062 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 31063 reinterpret_cast<VkIndirectCommandsLayoutEXT *>( pIndirectCommandsLayout ) ) ); 31064 } 31065 31066 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 31067 // wrapper function for command vkCreateIndirectCommandsLayoutEXT, see 31068 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectCommandsLayoutEXT.html 31069 template <typename Dispatch> 31070 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT>::type createIndirectCommandsLayoutEXT(const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoEXT & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const31071 Device::createIndirectCommandsLayoutEXT( const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoEXT & createInfo, 31072 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 31073 Dispatch const & d ) const 31074 { 31075 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31076 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 31077 VULKAN_HPP_ASSERT( d.vkCreateIndirectCommandsLayoutEXT && "Function <vkCreateIndirectCommandsLayoutEXT> requires <VK_EXT_device_generated_commands>" ); 31078 # endif 31079 31080 VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT indirectCommandsLayout; 31081 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateIndirectCommandsLayoutEXT( 31082 m_device, 31083 reinterpret_cast<const VkIndirectCommandsLayoutCreateInfoEXT *>( &createInfo ), 31084 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 31085 reinterpret_cast<VkIndirectCommandsLayoutEXT *>( &indirectCommandsLayout ) ) ); 31086 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createIndirectCommandsLayoutEXT" ); 31087 31088 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( indirectCommandsLayout ) ); 31089 } 31090 31091 # ifndef VULKAN_HPP_NO_SMART_HANDLE 31092 // wrapper function for command vkCreateIndirectCommandsLayoutEXT, see 31093 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectCommandsLayoutEXT.html 31094 template <typename Dispatch> 31095 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT, Dispatch>>::type createIndirectCommandsLayoutEXTUnique(const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoEXT & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const31096 Device::createIndirectCommandsLayoutEXTUnique( const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoEXT & createInfo, 31097 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 31098 Dispatch const & d ) const 31099 { 31100 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31101 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 31102 VULKAN_HPP_ASSERT( d.vkCreateIndirectCommandsLayoutEXT && "Function <vkCreateIndirectCommandsLayoutEXT> requires <VK_EXT_device_generated_commands>" ); 31103 # endif 31104 31105 VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT indirectCommandsLayout; 31106 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateIndirectCommandsLayoutEXT( 31107 m_device, 31108 reinterpret_cast<const VkIndirectCommandsLayoutCreateInfoEXT *>( &createInfo ), 31109 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 31110 reinterpret_cast<VkIndirectCommandsLayoutEXT *>( &indirectCommandsLayout ) ) ); 31111 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createIndirectCommandsLayoutEXTUnique" ); 31112 31113 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, 31114 UniqueHandle<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT, Dispatch>( 31115 indirectCommandsLayout, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 31116 } 31117 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 31118 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 31119 31120 // wrapper function for command vkDestroyIndirectCommandsLayoutEXT, see 31121 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectCommandsLayoutEXT.html 31122 template <typename Dispatch> destroyIndirectCommandsLayoutEXT(VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT indirectCommandsLayout,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const31123 VULKAN_HPP_INLINE void Device::destroyIndirectCommandsLayoutEXT( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT indirectCommandsLayout, 31124 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 31125 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 31126 { 31127 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31128 d.vkDestroyIndirectCommandsLayoutEXT( static_cast<VkDevice>( m_device ), 31129 static_cast<VkIndirectCommandsLayoutEXT>( indirectCommandsLayout ), 31130 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 31131 } 31132 31133 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 31134 // wrapper function for command vkDestroyIndirectCommandsLayoutEXT, see 31135 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectCommandsLayoutEXT.html 31136 template <typename Dispatch> destroyIndirectCommandsLayoutEXT(VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT indirectCommandsLayout,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const31137 VULKAN_HPP_INLINE void Device::destroyIndirectCommandsLayoutEXT( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT indirectCommandsLayout, 31138 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 31139 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 31140 { 31141 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31142 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 31143 VULKAN_HPP_ASSERT( d.vkDestroyIndirectCommandsLayoutEXT && "Function <vkDestroyIndirectCommandsLayoutEXT> requires <VK_EXT_device_generated_commands>" ); 31144 # endif 31145 31146 d.vkDestroyIndirectCommandsLayoutEXT( 31147 m_device, 31148 static_cast<VkIndirectCommandsLayoutEXT>( indirectCommandsLayout ), 31149 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 31150 } 31151 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 31152 31153 // wrapper function for command vkDestroyIndirectCommandsLayoutEXT, see 31154 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectCommandsLayoutEXT.html 31155 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT indirectCommandsLayout,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const31156 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT indirectCommandsLayout, 31157 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 31158 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 31159 { 31160 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31161 d.vkDestroyIndirectCommandsLayoutEXT( static_cast<VkDevice>( m_device ), 31162 static_cast<VkIndirectCommandsLayoutEXT>( indirectCommandsLayout ), 31163 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 31164 } 31165 31166 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 31167 // wrapper function for command vkDestroyIndirectCommandsLayoutEXT, see 31168 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectCommandsLayoutEXT.html 31169 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT indirectCommandsLayout,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const31170 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT indirectCommandsLayout, 31171 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 31172 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 31173 { 31174 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31175 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 31176 VULKAN_HPP_ASSERT( d.vkDestroyIndirectCommandsLayoutEXT && "Function <vkDestroyIndirectCommandsLayoutEXT> requires <VK_EXT_device_generated_commands>" ); 31177 # endif 31178 31179 d.vkDestroyIndirectCommandsLayoutEXT( 31180 m_device, 31181 static_cast<VkIndirectCommandsLayoutEXT>( indirectCommandsLayout ), 31182 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 31183 } 31184 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 31185 31186 // wrapper function for command vkCreateIndirectExecutionSetEXT, see 31187 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectExecutionSetEXT.html 31188 template <typename Dispatch> 31189 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result createIndirectExecutionSetEXT(const VULKAN_HPP_NAMESPACE::IndirectExecutionSetCreateInfoEXT * pCreateInfo,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT * pIndirectExecutionSet,Dispatch const & d) const31190 Device::createIndirectExecutionSetEXT( const VULKAN_HPP_NAMESPACE::IndirectExecutionSetCreateInfoEXT * pCreateInfo, 31191 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 31192 VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT * pIndirectExecutionSet, 31193 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 31194 { 31195 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31196 return static_cast<Result>( d.vkCreateIndirectExecutionSetEXT( static_cast<VkDevice>( m_device ), 31197 reinterpret_cast<const VkIndirectExecutionSetCreateInfoEXT *>( pCreateInfo ), 31198 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ), 31199 reinterpret_cast<VkIndirectExecutionSetEXT *>( pIndirectExecutionSet ) ) ); 31200 } 31201 31202 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 31203 // wrapper function for command vkCreateIndirectExecutionSetEXT, see 31204 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectExecutionSetEXT.html 31205 template <typename Dispatch> 31206 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT>::type createIndirectExecutionSetEXT(const VULKAN_HPP_NAMESPACE::IndirectExecutionSetCreateInfoEXT & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const31207 Device::createIndirectExecutionSetEXT( const VULKAN_HPP_NAMESPACE::IndirectExecutionSetCreateInfoEXT & createInfo, 31208 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 31209 Dispatch const & d ) const 31210 { 31211 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31212 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 31213 VULKAN_HPP_ASSERT( d.vkCreateIndirectExecutionSetEXT && "Function <vkCreateIndirectExecutionSetEXT> requires <VK_EXT_device_generated_commands>" ); 31214 # endif 31215 31216 VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT indirectExecutionSet; 31217 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateIndirectExecutionSetEXT( 31218 m_device, 31219 reinterpret_cast<const VkIndirectExecutionSetCreateInfoEXT *>( &createInfo ), 31220 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 31221 reinterpret_cast<VkIndirectExecutionSetEXT *>( &indirectExecutionSet ) ) ); 31222 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createIndirectExecutionSetEXT" ); 31223 31224 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( indirectExecutionSet ) ); 31225 } 31226 31227 # ifndef VULKAN_HPP_NO_SMART_HANDLE 31228 // wrapper function for command vkCreateIndirectExecutionSetEXT, see 31229 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectExecutionSetEXT.html 31230 template <typename Dispatch> 31231 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT, Dispatch>>::type createIndirectExecutionSetEXTUnique(const VULKAN_HPP_NAMESPACE::IndirectExecutionSetCreateInfoEXT & createInfo,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const31232 Device::createIndirectExecutionSetEXTUnique( const VULKAN_HPP_NAMESPACE::IndirectExecutionSetCreateInfoEXT & createInfo, 31233 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 31234 Dispatch const & d ) const 31235 { 31236 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31237 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 31238 VULKAN_HPP_ASSERT( d.vkCreateIndirectExecutionSetEXT && "Function <vkCreateIndirectExecutionSetEXT> requires <VK_EXT_device_generated_commands>" ); 31239 # endif 31240 31241 VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT indirectExecutionSet; 31242 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkCreateIndirectExecutionSetEXT( 31243 m_device, 31244 reinterpret_cast<const VkIndirectExecutionSetCreateInfoEXT *>( &createInfo ), 31245 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), 31246 reinterpret_cast<VkIndirectExecutionSetEXT *>( &indirectExecutionSet ) ) ); 31247 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createIndirectExecutionSetEXTUnique" ); 31248 31249 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, 31250 UniqueHandle<VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT, Dispatch>( 31251 indirectExecutionSet, detail::ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) ); 31252 } 31253 # endif /* VULKAN_HPP_NO_SMART_HANDLE */ 31254 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 31255 31256 // wrapper function for command vkDestroyIndirectExecutionSetEXT, see 31257 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectExecutionSetEXT.html 31258 template <typename Dispatch> destroyIndirectExecutionSetEXT(VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT indirectExecutionSet,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const31259 VULKAN_HPP_INLINE void Device::destroyIndirectExecutionSetEXT( VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT indirectExecutionSet, 31260 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 31261 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 31262 { 31263 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31264 d.vkDestroyIndirectExecutionSetEXT( static_cast<VkDevice>( m_device ), 31265 static_cast<VkIndirectExecutionSetEXT>( indirectExecutionSet ), 31266 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 31267 } 31268 31269 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 31270 // wrapper function for command vkDestroyIndirectExecutionSetEXT, see 31271 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectExecutionSetEXT.html 31272 template <typename Dispatch> destroyIndirectExecutionSetEXT(VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT indirectExecutionSet,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const31273 VULKAN_HPP_INLINE void Device::destroyIndirectExecutionSetEXT( VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT indirectExecutionSet, 31274 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 31275 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 31276 { 31277 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31278 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 31279 VULKAN_HPP_ASSERT( d.vkDestroyIndirectExecutionSetEXT && "Function <vkDestroyIndirectExecutionSetEXT> requires <VK_EXT_device_generated_commands>" ); 31280 # endif 31281 31282 d.vkDestroyIndirectExecutionSetEXT( 31283 m_device, 31284 static_cast<VkIndirectExecutionSetEXT>( indirectExecutionSet ), 31285 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 31286 } 31287 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 31288 31289 // wrapper function for command vkDestroyIndirectExecutionSetEXT, see 31290 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectExecutionSetEXT.html 31291 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT indirectExecutionSet,const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,Dispatch const & d) const31292 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT indirectExecutionSet, 31293 const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, 31294 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 31295 { 31296 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31297 d.vkDestroyIndirectExecutionSetEXT( static_cast<VkDevice>( m_device ), 31298 static_cast<VkIndirectExecutionSetEXT>( indirectExecutionSet ), 31299 reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) ); 31300 } 31301 31302 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 31303 // wrapper function for command vkDestroyIndirectExecutionSetEXT, see 31304 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectExecutionSetEXT.html 31305 template <typename Dispatch> destroy(VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT indirectExecutionSet,Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,Dispatch const & d) const31306 VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT indirectExecutionSet, 31307 Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator, 31308 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 31309 { 31310 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31311 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 31312 VULKAN_HPP_ASSERT( d.vkDestroyIndirectExecutionSetEXT && "Function <vkDestroyIndirectExecutionSetEXT> requires <VK_EXT_device_generated_commands>" ); 31313 # endif 31314 31315 d.vkDestroyIndirectExecutionSetEXT( 31316 m_device, 31317 static_cast<VkIndirectExecutionSetEXT>( indirectExecutionSet ), 31318 reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) ); 31319 } 31320 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 31321 31322 // wrapper function for command vkUpdateIndirectExecutionSetPipelineEXT, see 31323 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateIndirectExecutionSetPipelineEXT.html 31324 template <typename Dispatch> updateIndirectExecutionSetPipelineEXT(VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT indirectExecutionSet,uint32_t executionSetWriteCount,const VULKAN_HPP_NAMESPACE::WriteIndirectExecutionSetPipelineEXT * pExecutionSetWrites,Dispatch const & d) const31325 VULKAN_HPP_INLINE void Device::updateIndirectExecutionSetPipelineEXT( VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT indirectExecutionSet, 31326 uint32_t executionSetWriteCount, 31327 const VULKAN_HPP_NAMESPACE::WriteIndirectExecutionSetPipelineEXT * pExecutionSetWrites, 31328 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 31329 { 31330 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31331 d.vkUpdateIndirectExecutionSetPipelineEXT( static_cast<VkDevice>( m_device ), 31332 static_cast<VkIndirectExecutionSetEXT>( indirectExecutionSet ), 31333 executionSetWriteCount, 31334 reinterpret_cast<const VkWriteIndirectExecutionSetPipelineEXT *>( pExecutionSetWrites ) ); 31335 } 31336 31337 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 31338 // wrapper function for command vkUpdateIndirectExecutionSetPipelineEXT, see 31339 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateIndirectExecutionSetPipelineEXT.html 31340 template <typename Dispatch> updateIndirectExecutionSetPipelineEXT(VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT indirectExecutionSet,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteIndirectExecutionSetPipelineEXT> const & executionSetWrites,Dispatch const & d) const31341 VULKAN_HPP_INLINE void Device::updateIndirectExecutionSetPipelineEXT( 31342 VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT indirectExecutionSet, 31343 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteIndirectExecutionSetPipelineEXT> const & executionSetWrites, 31344 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 31345 { 31346 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31347 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 31348 VULKAN_HPP_ASSERT( d.vkUpdateIndirectExecutionSetPipelineEXT && 31349 "Function <vkUpdateIndirectExecutionSetPipelineEXT> requires <VK_EXT_device_generated_commands>" ); 31350 # endif 31351 31352 d.vkUpdateIndirectExecutionSetPipelineEXT( m_device, 31353 static_cast<VkIndirectExecutionSetEXT>( indirectExecutionSet ), 31354 executionSetWrites.size(), 31355 reinterpret_cast<const VkWriteIndirectExecutionSetPipelineEXT *>( executionSetWrites.data() ) ); 31356 } 31357 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 31358 31359 // wrapper function for command vkUpdateIndirectExecutionSetShaderEXT, see 31360 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateIndirectExecutionSetShaderEXT.html 31361 template <typename Dispatch> updateIndirectExecutionSetShaderEXT(VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT indirectExecutionSet,uint32_t executionSetWriteCount,const VULKAN_HPP_NAMESPACE::WriteIndirectExecutionSetShaderEXT * pExecutionSetWrites,Dispatch const & d) const31362 VULKAN_HPP_INLINE void Device::updateIndirectExecutionSetShaderEXT( VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT indirectExecutionSet, 31363 uint32_t executionSetWriteCount, 31364 const VULKAN_HPP_NAMESPACE::WriteIndirectExecutionSetShaderEXT * pExecutionSetWrites, 31365 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 31366 { 31367 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31368 d.vkUpdateIndirectExecutionSetShaderEXT( static_cast<VkDevice>( m_device ), 31369 static_cast<VkIndirectExecutionSetEXT>( indirectExecutionSet ), 31370 executionSetWriteCount, 31371 reinterpret_cast<const VkWriteIndirectExecutionSetShaderEXT *>( pExecutionSetWrites ) ); 31372 } 31373 31374 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 31375 // wrapper function for command vkUpdateIndirectExecutionSetShaderEXT, see 31376 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateIndirectExecutionSetShaderEXT.html 31377 template <typename Dispatch> updateIndirectExecutionSetShaderEXT(VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT indirectExecutionSet,VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteIndirectExecutionSetShaderEXT> const & executionSetWrites,Dispatch const & d) const31378 VULKAN_HPP_INLINE void Device::updateIndirectExecutionSetShaderEXT( 31379 VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT indirectExecutionSet, 31380 VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteIndirectExecutionSetShaderEXT> const & executionSetWrites, 31381 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 31382 { 31383 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31384 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 31385 VULKAN_HPP_ASSERT( d.vkUpdateIndirectExecutionSetShaderEXT && 31386 "Function <vkUpdateIndirectExecutionSetShaderEXT> requires <VK_EXT_device_generated_commands>" ); 31387 # endif 31388 31389 d.vkUpdateIndirectExecutionSetShaderEXT( m_device, 31390 static_cast<VkIndirectExecutionSetEXT>( indirectExecutionSet ), 31391 executionSetWrites.size(), 31392 reinterpret_cast<const VkWriteIndirectExecutionSetShaderEXT *>( executionSetWrites.data() ) ); 31393 } 31394 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 31395 31396 //=== VK_NV_cooperative_matrix2 === 31397 31398 // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV, see 31399 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV.html 31400 template <typename Dispatch> 31401 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getCooperativeMatrixFlexibleDimensionsPropertiesNV(uint32_t * pPropertyCount,VULKAN_HPP_NAMESPACE::CooperativeMatrixFlexibleDimensionsPropertiesNV * pProperties,Dispatch const & d) const31402 PhysicalDevice::getCooperativeMatrixFlexibleDimensionsPropertiesNV( uint32_t * pPropertyCount, 31403 VULKAN_HPP_NAMESPACE::CooperativeMatrixFlexibleDimensionsPropertiesNV * pProperties, 31404 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 31405 { 31406 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31407 return static_cast<Result>( d.vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV( 31408 static_cast<VkPhysicalDevice>( m_physicalDevice ), 31409 pPropertyCount, 31410 reinterpret_cast<VkCooperativeMatrixFlexibleDimensionsPropertiesNV *>( pProperties ) ) ); 31411 } 31412 31413 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 31414 // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV, see 31415 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV.html 31416 template <typename CooperativeMatrixFlexibleDimensionsPropertiesNVAllocator, 31417 typename Dispatch, 31418 typename std::enable_if<std::is_same<typename CooperativeMatrixFlexibleDimensionsPropertiesNVAllocator::value_type, 31419 VULKAN_HPP_NAMESPACE::CooperativeMatrixFlexibleDimensionsPropertiesNV>::value, 31420 int>::type> 31421 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType< 31422 std::vector<VULKAN_HPP_NAMESPACE::CooperativeMatrixFlexibleDimensionsPropertiesNV, CooperativeMatrixFlexibleDimensionsPropertiesNVAllocator>>::type getCooperativeMatrixFlexibleDimensionsPropertiesNV(Dispatch const & d) const31423 PhysicalDevice::getCooperativeMatrixFlexibleDimensionsPropertiesNV( Dispatch const & d ) const 31424 { 31425 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31426 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 31427 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV && 31428 "Function <vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV> requires <VK_NV_cooperative_matrix2>" ); 31429 # endif 31430 31431 std::vector<VULKAN_HPP_NAMESPACE::CooperativeMatrixFlexibleDimensionsPropertiesNV, CooperativeMatrixFlexibleDimensionsPropertiesNVAllocator> properties; 31432 uint32_t propertyCount; 31433 VULKAN_HPP_NAMESPACE::Result result; 31434 do 31435 { 31436 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 31437 d.vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV( m_physicalDevice, &propertyCount, nullptr ) ); 31438 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 31439 { 31440 properties.resize( propertyCount ); 31441 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV( 31442 m_physicalDevice, &propertyCount, reinterpret_cast<VkCooperativeMatrixFlexibleDimensionsPropertiesNV *>( properties.data() ) ) ); 31443 } 31444 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 31445 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixFlexibleDimensionsPropertiesNV" ); 31446 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 31447 if ( propertyCount < properties.size() ) 31448 { 31449 properties.resize( propertyCount ); 31450 } 31451 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 31452 } 31453 31454 // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV, see 31455 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV.html 31456 template <typename CooperativeMatrixFlexibleDimensionsPropertiesNVAllocator, 31457 typename Dispatch, 31458 typename std::enable_if<std::is_same<typename CooperativeMatrixFlexibleDimensionsPropertiesNVAllocator::value_type, 31459 VULKAN_HPP_NAMESPACE::CooperativeMatrixFlexibleDimensionsPropertiesNV>::value, 31460 int>::type> 31461 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType< 31462 std::vector<VULKAN_HPP_NAMESPACE::CooperativeMatrixFlexibleDimensionsPropertiesNV, CooperativeMatrixFlexibleDimensionsPropertiesNVAllocator>>::type getCooperativeMatrixFlexibleDimensionsPropertiesNV(CooperativeMatrixFlexibleDimensionsPropertiesNVAllocator & cooperativeMatrixFlexibleDimensionsPropertiesNVAllocator,Dispatch const & d) const31463 PhysicalDevice::getCooperativeMatrixFlexibleDimensionsPropertiesNV( 31464 CooperativeMatrixFlexibleDimensionsPropertiesNVAllocator & cooperativeMatrixFlexibleDimensionsPropertiesNVAllocator, Dispatch const & d ) const 31465 { 31466 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31467 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 31468 VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV && 31469 "Function <vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV> requires <VK_NV_cooperative_matrix2>" ); 31470 # endif 31471 31472 std::vector<VULKAN_HPP_NAMESPACE::CooperativeMatrixFlexibleDimensionsPropertiesNV, CooperativeMatrixFlexibleDimensionsPropertiesNVAllocator> properties( 31473 cooperativeMatrixFlexibleDimensionsPropertiesNVAllocator ); 31474 uint32_t propertyCount; 31475 VULKAN_HPP_NAMESPACE::Result result; 31476 do 31477 { 31478 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 31479 d.vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV( m_physicalDevice, &propertyCount, nullptr ) ); 31480 if ( ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess ) && propertyCount ) 31481 { 31482 properties.resize( propertyCount ); 31483 result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV( 31484 m_physicalDevice, &propertyCount, reinterpret_cast<VkCooperativeMatrixFlexibleDimensionsPropertiesNV *>( properties.data() ) ) ); 31485 } 31486 } while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete ); 31487 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixFlexibleDimensionsPropertiesNV" ); 31488 VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); 31489 if ( propertyCount < properties.size() ) 31490 { 31491 properties.resize( propertyCount ); 31492 } 31493 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); 31494 } 31495 #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 31496 31497 #if defined( VK_USE_PLATFORM_METAL_EXT ) 31498 //=== VK_EXT_external_memory_metal === 31499 31500 // wrapper function for command vkGetMemoryMetalHandleEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryMetalHandleEXT.html 31501 template <typename Dispatch> getMemoryMetalHandleEXT(const VULKAN_HPP_NAMESPACE::MemoryGetMetalHandleInfoEXT * pGetMetalHandleInfo,void ** pHandle,Dispatch const & d) const31502 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getMemoryMetalHandleEXT( const VULKAN_HPP_NAMESPACE::MemoryGetMetalHandleInfoEXT * pGetMetalHandleInfo, 31503 void ** pHandle, 31504 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 31505 { 31506 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31507 return static_cast<Result>( d.vkGetMemoryMetalHandleEXT( 31508 static_cast<VkDevice>( m_device ), reinterpret_cast<const VkMemoryGetMetalHandleInfoEXT *>( pGetMetalHandleInfo ), pHandle ) ); 31509 } 31510 31511 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 31512 // wrapper function for command vkGetMemoryMetalHandleEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryMetalHandleEXT.html 31513 template <typename Dispatch> 31514 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<void *>::type getMemoryMetalHandleEXT(const VULKAN_HPP_NAMESPACE::MemoryGetMetalHandleInfoEXT & getMetalHandleInfo,Dispatch const & d) const31515 Device::getMemoryMetalHandleEXT( const VULKAN_HPP_NAMESPACE::MemoryGetMetalHandleInfoEXT & getMetalHandleInfo, Dispatch const & d ) const 31516 { 31517 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31518 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 31519 VULKAN_HPP_ASSERT( d.vkGetMemoryMetalHandleEXT && "Function <vkGetMemoryMetalHandleEXT> requires <VK_EXT_external_memory_metal>" ); 31520 # endif 31521 31522 void * handle; 31523 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 31524 d.vkGetMemoryMetalHandleEXT( m_device, reinterpret_cast<const VkMemoryGetMetalHandleInfoEXT *>( &getMetalHandleInfo ), &handle ) ); 31525 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryMetalHandleEXT" ); 31526 31527 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( handle ) ); 31528 } 31529 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 31530 31531 // wrapper function for command vkGetMemoryMetalHandlePropertiesEXT, see 31532 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryMetalHandlePropertiesEXT.html 31533 template <typename Dispatch> 31534 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result getMemoryMetalHandlePropertiesEXT(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,const void * pHandle,VULKAN_HPP_NAMESPACE::MemoryMetalHandlePropertiesEXT * pMemoryMetalHandleProperties,Dispatch const & d) const31535 Device::getMemoryMetalHandlePropertiesEXT( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, 31536 const void * pHandle, 31537 VULKAN_HPP_NAMESPACE::MemoryMetalHandlePropertiesEXT * pMemoryMetalHandleProperties, 31538 Dispatch const & d ) const VULKAN_HPP_NOEXCEPT 31539 { 31540 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31541 return static_cast<Result>( d.vkGetMemoryMetalHandlePropertiesEXT( static_cast<VkDevice>( m_device ), 31542 static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ), 31543 pHandle, 31544 reinterpret_cast<VkMemoryMetalHandlePropertiesEXT *>( pMemoryMetalHandleProperties ) ) ); 31545 } 31546 31547 # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE 31548 // wrapper function for command vkGetMemoryMetalHandlePropertiesEXT, see 31549 // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryMetalHandlePropertiesEXT.html 31550 template <typename HandleType, typename Dispatch> 31551 VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::MemoryMetalHandlePropertiesEXT>::type getMemoryMetalHandlePropertiesEXT(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,HandleType const & handle,Dispatch const & d) const31552 Device::getMemoryMetalHandlePropertiesEXT( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, 31553 HandleType const & handle, 31554 Dispatch const & d ) const 31555 { 31556 VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); 31557 # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) 31558 VULKAN_HPP_ASSERT( d.vkGetMemoryMetalHandlePropertiesEXT && "Function <vkGetMemoryMetalHandlePropertiesEXT> requires <VK_EXT_external_memory_metal>" ); 31559 # endif 31560 31561 VULKAN_HPP_NAMESPACE::MemoryMetalHandlePropertiesEXT memoryMetalHandleProperties; 31562 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( 31563 d.vkGetMemoryMetalHandlePropertiesEXT( m_device, 31564 static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ), 31565 reinterpret_cast<const void *>( &handle ), 31566 reinterpret_cast<VkMemoryMetalHandlePropertiesEXT *>( &memoryMetalHandleProperties ) ) ); 31567 VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryMetalHandlePropertiesEXT" ); 31568 31569 return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( memoryMetalHandleProperties ) ); 31570 } 31571 # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ 31572 #endif /*VK_USE_PLATFORM_METAL_EXT*/ 31573 31574 } // namespace VULKAN_HPP_NAMESPACE 31575 #endif 31576